diff --git a/Packages-react/ohif-viewer/.babelrc b/.babelrc similarity index 100% rename from Packages-react/ohif-viewer/.babelrc rename to .babelrc diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 430c241b7..000000000 --- a/.dockerignore +++ /dev/null @@ -1,17 +0,0 @@ -.idea/ -.meteor/local -.meteor/meteorite -.meteor/dev_bundle -*/.meteor/dev_bundle -node_modules -.npm -npm-debug.log -Packages/active-entry/helloworld/ -LesionTracker/tests/nightwatch/reports/ -package-lock.json -docs/_book -docs/ -img/ -test/ -LesionTracker/ -StandaloneViewer/ \ No newline at end of file diff --git a/.eslintignore b/.eslintignore index ae680f423..3f1cb5da3 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,4 +1,3 @@ config/** docs/** img/** -StandaloneViewer/** diff --git a/Packages-react/ohif-viewer/.eslintrc b/.eslintrc similarity index 100% rename from Packages-react/ohif-viewer/.eslintrc rename to .eslintrc diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index ac63643c5..000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,16 +0,0 @@ -module.exports = { - 'env': { - 'browser': true, - 'es6': true, - 'jquery': true, - 'node': true, - 'mocha': true - }, - 'extends': 'eslint:recommended', - 'parserOptions': { - 'sourceType': 'module' - }, - 'rules': { - 'no-undef': 'error', - } -}; diff --git a/.gitignore b/.gitignore index 8a8fe5bb6..346fcc832 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,20 @@ -.idea/ -.meteor/local -.meteor/meteorite -.meteor/dev_bundle -*/.meteor/dev_bundle +# Packages node_modules + +# Output +build +dist +docs/_book +src/sha.js +src/version.js + +# YALC (for Erik) +.yalc +yalc.lock + +# Logging, System files, misc. +.idea/ .npm npm-debug.log -Packages/active-entry/helloworld/ -LesionTracker/tests/nightwatch/reports/ -docs/_book -.DS_Store -**/.history/* +yarn-error.log +.DS_Store \ No newline at end of file diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 36e6b0800..000000000 --- a/.gitmodules +++ /dev/null @@ -1,12 +0,0 @@ -[submodule "Packages-react/ohif-core"] - path = Packages-react/ohif-core - url = https://github.com/OHIF/ohif-core.git -[submodule "Packages-react/react-viewerbase"] - path = Packages-react/react-viewerbase - url = https://github.com/OHIF/react-viewerbase.git -[submodule "Packages-react/react-cornerstone-viewport"] - path = Packages-react/react-cornerstone-viewport - url = https://github.com/cornerstonejs/react-cornerstone-viewport.git -[submodule "Packages-react/react-vtkjs-viewport"] - path = Packages-react/react-vtkjs-viewport - url = https://github.com/OHIF/react-vtkjs-viewport.git diff --git a/OHIFViewer/.gitignore b/OHIFViewer/.gitignore deleted file mode 100644 index 5bfa94c88..000000000 --- a/OHIFViewer/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -.idea -.meteor/local -.meteor/meteorite -node_modules -client/sha.js -client/version.js \ No newline at end of file diff --git a/OHIFViewer/.meteor/.finished-upgraders b/OHIFViewer/.meteor/.finished-upgraders deleted file mode 100644 index 8f397c7da..000000000 --- a/OHIFViewer/.meteor/.finished-upgraders +++ /dev/null @@ -1,19 +0,0 @@ -# This file contains information which helps Meteor properly upgrade your -# app when you run 'meteor update'. You should check it into version control -# with your project. - -notices-for-0.9.0 -notices-for-0.9.1 -0.9.4-platform-file -notices-for-facebook-graph-api-2 -1.2.0-standard-minifiers-package -1.2.0-meteor-platform-split -1.2.0-cordova-changes -1.2.0-breaking-changes -1.3.0-split-minifiers-package -1.3.5-remove-old-dev-bundle-link -1.4.0-remove-old-dev-bundle-link -1.4.1-add-shell-server-package -1.4.3-split-account-service-packages -1.5-add-dynamic-import-package -1.7-split-underscore-from-meteor-base diff --git a/OHIFViewer/.meteor/.gitignore b/OHIFViewer/.meteor/.gitignore deleted file mode 100644 index 501f92e4b..000000000 --- a/OHIFViewer/.meteor/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -dev_bundle -local diff --git a/OHIFViewer/.meteor/.id b/OHIFViewer/.meteor/.id deleted file mode 100644 index c1706e8d0..000000000 --- a/OHIFViewer/.meteor/.id +++ /dev/null @@ -1,7 +0,0 @@ -# This file contains a token that is unique to your project. -# Check it into your repository along with the rest of this directory. -# It can be used for purposes such as: -# - ensuring you don't accidentally deploy one app on top of another -# - providing package authors with aggregated statistics - -1jfkhvr1ljfqodmpn32m diff --git a/OHIFViewer/.meteor/packages b/OHIFViewer/.meteor/packages deleted file mode 100644 index 14bcec316..000000000 --- a/OHIFViewer/.meteor/packages +++ /dev/null @@ -1,38 +0,0 @@ -# Meteor packages used by this project, one per line. -# Check this file (and the other files in this directory) into your repository. -# -# 'meteor add' and 'meteor remove' will edit this file for you, -# but you can also edit it by hand. - -http@1.4.2 -promise@0.11.1 -stylus@2.513.13 -meteor-base@1.4.0 -mobile-experience@1.0.5 -mongo@1.6.0 -blaze-html-templates@1.0.4 -session@1.2.0-beta181.7 -tracker@1.2.0 -logging@1.1.20 -reload@1.2.0 -ejson@1.1.0 -spacebars@1.0.12 -check@1.3.1 -ecmascript@0.12.3 -reactive-var@1.0.11 -reactive-dict@1.3.0-beta181.7 -standard-minifier-css@1.5.2 -standard-minifier-js@2.4.0 -shell-server@0.4.0 - -# OHIF Packages -ohif:cornerstone -ohif:viewerbase -ohif:study-list -ohif:hanging-protocols - -fortawesome:fontawesome -aldeed:simple-schema # Third party package to deal with schemas -aldeed:template-extension -react-template-helper -gadicc:blaze-react-component diff --git a/OHIFViewer/.meteor/platforms b/OHIFViewer/.meteor/platforms deleted file mode 100644 index efeba1b50..000000000 --- a/OHIFViewer/.meteor/platforms +++ /dev/null @@ -1,2 +0,0 @@ -server -browser diff --git a/OHIFViewer/.meteor/release b/OHIFViewer/.meteor/release deleted file mode 100644 index 9dd1c7aee..000000000 --- a/OHIFViewer/.meteor/release +++ /dev/null @@ -1 +0,0 @@ -METEOR@1.8.1-beta.7 diff --git a/OHIFViewer/.meteor/versions b/OHIFViewer/.meteor/versions deleted file mode 100644 index 52f12788e..000000000 --- a/OHIFViewer/.meteor/versions +++ /dev/null @@ -1,100 +0,0 @@ -aldeed:collection2@2.10.0 -aldeed:collection2-core@1.2.0 -aldeed:schema-deny@1.1.0 -aldeed:schema-index@1.1.1 -aldeed:simple-schema@1.5.4 -aldeed:template-extension@4.1.0 -allow-deny@1.1.0 -autoupdate@1.6.0-beta181.7 -babel-compiler@7.2.4 -babel-runtime@1.3.0 -base64@1.0.11 -binary-heap@1.0.11 -blaze@2.3.3 -blaze-html-templates@1.1.2 -blaze-tools@1.0.10 -boilerplate-generator@1.6.0 -caching-compiler@1.2.1 -caching-html-compiler@1.1.3 -callback-hook@1.1.0 -check@1.3.1 -ddp@1.4.0 -ddp-client@2.3.3 -ddp-common@1.4.0 -ddp-server@2.3.0-beta181.7 -deps@1.0.12 -diff-sequence@1.1.1 -dynamic-import@0.5.1 -ecmascript@0.12.4 -ecmascript-runtime@0.7.0 -ecmascript-runtime-client@0.8.0 -ecmascript-runtime-server@0.7.1 -ejson@1.1.0 -es5-shim@4.8.0 -fetch@0.1.0 -fortawesome:fontawesome@4.7.0 -gadicc:blaze-react-component@1.4.1 -geojson-utils@1.0.10 -hot-code-push@1.0.4 -html-tools@1.0.11 -htmljs@1.0.11 -http@1.4.2 -id-map@1.1.0 -inter-process-messaging@0.1.0 -jquery@1.11.11 -launch-screen@1.1.1 -livedata@1.0.18 -logging@1.1.20 -mdg:validation-error@0.5.1 -meteor@1.9.2 -meteor-base@1.4.0 -minifier-css@1.4.1 -minifier-js@2.4.0 -minimongo@1.4.5 -mobile-experience@1.0.5 -mobile-status-bar@1.0.14 -modern-browsers@0.1.4-beta181.7 -modules@0.13.0 -modules-runtime@0.10.3 -mongo@1.6.0 -mongo-decimal@0.1.0 -mongo-dev-server@1.1.0 -mongo-id@1.0.7 -natestrauser:select2@4.0.3 -npm-mongo@3.1.2-beta181.7 -observe-sequence@1.0.16 -ohif:cornerstone@0.0.1 -ohif:hanging-protocols@0.0.1 -ohif:study-list@0.0.1 -ohif:themes@0.0.1 -ohif:themes-common@0.0.1 -ohif:viewerbase@0.0.1 -ordered-dict@1.1.0 -promise@0.11.2 -raix:eventemitter@0.1.3 -random@1.1.0 -react-template-helper@0.2.11 -reactive-dict@1.3.0-beta181.7 -reactive-var@1.0.11 -reload@1.2.0 -retry@1.1.0 -routepolicy@1.1.0 -session@1.2.0 -shell-server@0.4.0 -socket-stream-client@0.2.2 -spacebars@1.0.15 -spacebars-compiler@1.1.3 -standard-minifier-css@1.5.2 -standard-minifier-js@2.4.0 -stylus@2.513.14 -templating@1.3.2 -templating-compiler@1.3.3 -templating-runtime@1.3.2 -templating-tools@1.1.2 -tmeasday:check-npm-versions@0.3.2 -tracker@1.2.0 -ui@1.0.13 -underscore@1.0.10 -url@1.2.0 -webapp@1.7.2 -webapp-hashing@1.0.9 diff --git a/OHIFViewer/bin/medkenOrthanc.bat b/OHIFViewer/bin/medkenOrthanc.bat deleted file mode 100644 index b581129a8..000000000 --- a/OHIFViewer/bin/medkenOrthanc.bat +++ /dev/null @@ -1,2 +0,0 @@ -set METEOR_PACKAGE_DIRS=..\Packages -meteor --settings ../config/medkenOrthanc.json diff --git a/OHIFViewer/bin/medkenOrthanc.sh b/OHIFViewer/bin/medkenOrthanc.sh deleted file mode 100755 index c7f2471bc..000000000 --- a/OHIFViewer/bin/medkenOrthanc.sh +++ /dev/null @@ -1 +0,0 @@ -METEOR_PACKAGE_DIRS="../Packages" meteor --settings ../config/medkenOrthanc.json diff --git a/OHIFViewer/bin/orthanc.sh b/OHIFViewer/bin/orthanc.sh deleted file mode 100755 index 47bea2d95..000000000 --- a/OHIFViewer/bin/orthanc.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -declare config='../config/orthancDICOMWeb.json' - -if [ $# -gt 0 ]; then - if [ "$1" = '--dimse' ]; then - config="${config%/*}/orthancDIMSE.json" - [ -f "$config" ] && echo "DIMSE config file selected: $config" - fi -fi - -echo 'Starting Meteor server...' -METEOR_PACKAGE_DIRS="../Packages" meteor --settings "$config" diff --git a/OHIFViewer/bin/orthancDICOMWeb.bat b/OHIFViewer/bin/orthancDICOMWeb.bat deleted file mode 100644 index c8bc65d11..000000000 --- a/OHIFViewer/bin/orthancDICOMWeb.bat +++ /dev/null @@ -1,2 +0,0 @@ -set METEOR_PACKAGE_DIRS=..\Packages -meteor --settings ../config/orthancDICOMWeb.json diff --git a/OHIFViewer/bin/orthancDICOMWeb.sh b/OHIFViewer/bin/orthancDICOMWeb.sh deleted file mode 100755 index 91f4af5bf..000000000 --- a/OHIFViewer/bin/orthancDICOMWeb.sh +++ /dev/null @@ -1,2 +0,0 @@ -echo "Starting Meteor server..." -METEOR_PACKAGE_DIRS="../Packages" meteor --settings ../config/orthancDICOMWeb.json \ No newline at end of file diff --git a/OHIFViewer/bin/orthancDIMSE.sh b/OHIFViewer/bin/orthancDIMSE.sh deleted file mode 100755 index b1341c93f..000000000 --- a/OHIFViewer/bin/orthancDIMSE.sh +++ /dev/null @@ -1,2 +0,0 @@ -echo "Starting Meteor server..." -METEOR_PACKAGE_DIRS="../Packages" meteor --settings ../config/orthancDIMSE.json \ No newline at end of file diff --git a/OHIFViewer/bin/publicOrthancDICOMWeb.sh b/OHIFViewer/bin/publicOrthancDICOMWeb.sh deleted file mode 100755 index 06fe05602..000000000 --- a/OHIFViewer/bin/publicOrthancDICOMWeb.sh +++ /dev/null @@ -1,2 +0,0 @@ -echo "Starting Meteor server..." -METEOR_PACKAGE_DIRS="../Packages" meteor --settings ../config/publicOrthancDICOMWeb.json diff --git a/OHIFViewer/bin/testPackages.sh b/OHIFViewer/bin/testPackages.sh deleted file mode 100644 index b75ff6309..000000000 --- a/OHIFViewer/bin/testPackages.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -################################################## -# Runs the packages tests -################################################## - -# check execution arguments -while [ "$1" != "" ]; do - PARAM=`echo $1 | awk -F= '{print $1}'` - case $PARAM in - -c | --coverage) - export RUN_COVERAGE=1 - ;; - -v | --verbose) - export COVERAGE_VERBOSE=1 - ;; - -s | --spacejam) - export RUN_SPACEJAM=1 - ;; - *) - esac - shift -done - -if [ "$RUN_COVERAGE" == 1 ]; -then - # Setting coverage variables - app_folder=$(pwd) - app_folder+="/packages/ohif-viewerbase/" - export COVERAGE_APP_FOLDER=$app_folder - export COVERAGE=1 - echo 'Running meteor-coverage' -fi - -if [ "$RUN_SPACEJAM" == 1 ]; -then - spacejam-mocha ./packages/ohif-viewerbase/ -else - meteor test-packages --driver-package='cultofcoders:mocha' ./packages/ohif-viewerbase/ -fi diff --git a/OHIFViewer/client/components/App.css b/OHIFViewer/client/components/App.css deleted file mode 100644 index de919d2ba..000000000 --- a/OHIFViewer/client/components/App.css +++ /dev/null @@ -1,16 +0,0 @@ -html, -body, -#root { - background-color: black; - height: 100%; - width: 100%; - margin: 0; -} - -body { - box-sizing: border-box; - margin: 0; - padding: 0; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} \ No newline at end of file diff --git a/OHIFViewer/client/components/App.js b/OHIFViewer/client/components/App.js deleted file mode 100644 index 15d490f91..000000000 --- a/OHIFViewer/client/components/App.js +++ /dev/null @@ -1,83 +0,0 @@ -import React, { Component } from 'react'; -import { withRouter } from 'react-router'; -import { Route, Switch } from 'react-router-dom'; -import { OHIF } from 'ohif-core'; -import ViewerRouting from "./ViewerRouting.js"; -import IHEInvokeImageDisplay from './IHEInvokeImageDisplay.js'; -import './App.css'; - -const reload = () => window.location.reload(); -const Studylist = OHIF.studylist.components.StudyList; - -function setContext(context) { - /*Rollbar.configure({ - payload: { - context - } - });*/ - console.log(context); -} - -class App extends Component { - componentDidMount() { - // Temporary until the rest of the UI is in React - window.router = { - history: this.props.history - }; - - this.unlisten = this.props.history.listen((location, action) => { - setContext(window.location.pathname); - }); - } - - componentWillUnmount() { - this.unlisten(); - } - - render() { - return ( - - - - - - - - {/* - */} - -
Sorry, this page does not exist.
} - /> -
- ); - } -} - -export default withRouter(App); diff --git a/OHIFViewer/client/components/IHEInvokeImageDisplay.js b/OHIFViewer/client/components/IHEInvokeImageDisplay.js deleted file mode 100644 index 010ba3c11..000000000 --- a/OHIFViewer/client/components/IHEInvokeImageDisplay.js +++ /dev/null @@ -1,32 +0,0 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; -import Viewer from "./viewer/viewer.js"; - -function IHEInvokeImageDisplay({ match }) { - const requestType = match.params.query.requestType; - - let studyInstanceUids; - let displayStudyList = false; - if (requestType === "STUDY") { - studyInstanceUids = match.params.query.studyUID.split(';'); - } else if (requestType === "STUDYBASE64") { - const uids = this.params.query.studyUID; - const decodedData = window.atob(uids); - studyInstanceUids = decodedData.split(';'); - } else if (requestType === "PATIENT") { - const patientUids = this.params.query.patientID.split(';'); - displayStudyList = true - } else { - displayStudyList = true - } - - if (displayStudyList) { - return (); - } - - return ( - - ); -} - -export default IHEInvokeImageDisplay; diff --git a/OHIFViewer/client/components/ViewerFromStudyData.js b/OHIFViewer/client/components/ViewerFromStudyData.js deleted file mode 100644 index a077656ec..000000000 --- a/OHIFViewer/client/components/ViewerFromStudyData.js +++ /dev/null @@ -1,99 +0,0 @@ -import React, {Component} from "react"; -import PropTypes from "prop-types"; -import Viewer from "./viewer/viewer.js"; -import { OHIF } from 'ohif-core'; - -function createDisplaySets(studies) { - // Define the OHIF.viewer.data global object - OHIF.viewer.data = OHIF.viewer.data || {}; - - // @TypeSafeStudies - // Clears OHIF.viewer.Studies collection - OHIF.viewer.Studies.removeAll(); - - // @TypeSafeStudies - // Clears OHIF.viewer.StudyMetadataList collection - OHIF.viewer.StudyMetadataList.removeAll(); - - OHIF.viewer.data.studyInstanceUids = []; - - const updatedStudies = studies.map(study => { - const studyMetadata = new OHIF.metadata.OHIFStudyMetadata(study, study.studyInstanceUid); - let displaySets = study.displaySets; - - if (!study.displaySets) { - displaySets = OHIF.viewerbase.sortingManager.getDisplaySets(studyMetadata); - study.displaySets = displaySets; - } - - studyMetadata.setDisplaySets(displaySets); - - study.selected = true; - OHIF.viewer.Studies.insert(study); - OHIF.viewer.StudyMetadataList.insert(studyMetadata); - OHIF.viewer.data.studyInstanceUids.push(study.studyInstanceUid); - - // Updates WADO-RS metaDataManager - OHIF.viewerbase.updateMetaDataManager(study); - - return study; - }); - - return updatedStudies; -} - -class ViewerFromStudyData extends Component { - constructor(props) { - super(props); - - this.state = { - studies: null, - error: null - }; - } - - componentDidMount() { - // TODO: Avoid using timepoints here - //const params = { studyInstanceUids, seriesInstanceUids, timepointId, timepointsFilter={} }; - const params = { - studyInstanceUids: this.props.studyInstanceUids, - seriesInstanceUids: this.props.seriesInstanceUids, - } - const promise = OHIF.viewerbase.prepareViewerData(params); - - // Render the viewer when the data is ready - promise.then(({ studies, viewerData }) => { - OHIF.viewer.data = viewerData; - - const updatedStudies = createDisplaySets(studies); - - this.setState({ - studies: updatedStudies, - }); - }).catch(error => { - this.setState({ - error, - }); - }); - - } - - render() { - if (this.state.error) { - return (
Error: {JSON.stringify(this.state.error)}
); - } else if (!this.state.studies) { - return (
Loading...
); - } - - return ( - - ); - } -} - -ViewerFromStudyData.propTypes = { - studyInstanceUids: PropTypes.array.isRequired, - seriesInstanceUids: PropTypes.array -}; - -export default ViewerFromStudyData; diff --git a/OHIFViewer/client/components/ViewerRouting.js b/OHIFViewer/client/components/ViewerRouting.js deleted file mode 100644 index 2d5f42059..000000000 --- a/OHIFViewer/client/components/ViewerRouting.js +++ /dev/null @@ -1,32 +0,0 @@ -import React, {Component} from "react"; -import PropTypes from "prop-types"; -import ViewerFromStudyData from "./ViewerFromStudyData.js"; - -function ViewerRouting({ match }) { - const { studyInstanceUids, seriesInstanceUids } = match.params; - - let studyUIDs; - let seriesUIDs; - - if (studyInstanceUids && !seriesInstanceUids) { - studyUIDs = studyInstanceUids.split(';'); - } else if (studyInstanceUids && seriesInstanceUids) { - studyUIDs = [match.params.studyInstanceUid]; - seriesUIDs = match.params.seriesInstanceUids.split(';'); - } - - return ( - - ); -} - -ViewerRouting.propTypes = { - match: PropTypes.shape({ - params: PropTypes.shape({ - studyInstanceUids: PropTypes.string.isRequired, - seriesInstanceUids: PropTypes.string - }) - }) -}; - -export default ViewerRouting; diff --git a/OHIFViewer/client/components/flexboxLayout/flexboxLayout.js b/OHIFViewer/client/components/flexboxLayout/flexboxLayout.js deleted file mode 100644 index 4f40cfbe1..000000000 --- a/OHIFViewer/client/components/flexboxLayout/flexboxLayout.js +++ /dev/null @@ -1,171 +0,0 @@ -import React, { Component } from 'react'; -import PropTypes from 'prop-types'; -import { OHIF } from 'ohif-core'; -import { Viewerbase } from 'meteor/ohif:viewerbase'; -import { StudyBrowser } from 'react-viewerbase'; - -/** - * Asynchronous wrapper around Cornerstone's renderToCanvas method. - * - * @param {HTMLElement} canvasElement An HTML element - * @param {Image} image A Cornerstone Image - * - * @return {Promise} A promise tracking the progress of the rendering. Resolves empty. - */ -function renderAsync(canvasElement, image) { - return new Promise((resolve, reject) => { - try { - cornerstone.renderToCanvas(canvasElement, image); - resolve(); - } catch(error) { - reject(error); - } - }); -} - -// Define a handler for success on image load -const loadSuccess = function(image, studyInstanceUid, displaySetInstanceUid) { - // This is an off-screen canvas. It's used to get dataURL images by using - // cornerstone.renderToCanvas function. - const canvasElement = document.createElement('canvas'); - canvasElement.width = 193; - canvasElement.height = 123; - - // Render the image to canvas to be able to get its dataURL - renderAsync(canvasElement, image).then(() => { - const studies = this.state.studiesForBrowser; - const study = studies.find(study => study.studyInstanceUid === studyInstanceUid); - const thumbnail = study.thumbnails.find(t => t.displaySetInstanceUid === displaySetInstanceUid); - - thumbnail.imageSrc = canvasElement.toDataURL('image/jpeg', 1); - - this.setState({ - studiesForBrowser: studies - }); - }); -}; - -// Define a handler for error on image load -const loadError = function(error, studyInstanceUid, displaySetInstanceUid) { - const studies = this.state.studiesForBrowser; - const study = studies.find(study => study.studyInstanceUid === studyInstanceUid); - const thumbnail = study.thumbnails.find(t => t.displaySetInstanceUid === displaySetInstanceUid); - - thumbnail.error = error; - - this.setState({ - studiesForBrowser: studies - }); -}; - -const ViewerMain = Viewerbase.components.viewer.ViewerMain; - -class FlexboxLayout extends Component { - constructor(props) { - super(props); - - this.state = { - leftSidebarOpen: true, - rightSidebarOpen: false, - studiesForBrowser: this.getStudiesForBrowser(), - }; - - this.getStudiesForBrowser = this.getStudiesForBrowser.bind(this); - this.getThumbnailsFromImageIds = this.getThumbnailsFromImageIds.bind(this); - } - - componentDidMount() { - this.getThumbnailsFromImageIds(); - } - - getThumbnailsFromImageIds() { - const studyThumbnails = this.state.studiesForBrowser.forEach(function (study) { - const { studyInstanceUid } = study; - - study.thumbnails.forEach(function (displaySet) { - const imageId = displaySet.imageId; - const {displaySetInstanceUid, seriesDescription, seriesNumber, instanceNumber, numImageFrames} = displaySet; - - cornerstone.loadAndCacheImage(imageId).then((image) => { - loadSuccess.call(this, image, studyInstanceUid, displaySetInstanceUid); - }, error => { - loadError.call(this, error, studyInstanceUid, displaySetInstanceUid); - }); - }, this); - }, this); - - } - - getStudiesForBrowser() { - // @TypeSafeStudies - const studies = OHIF.viewer.Studies.findAllBy({ - selected: true - }); - - - // TODO[react]: - // - Add sorting of display sets - // - Pass in which display set is active from Redux - // - Pass in errors and stack loading progress from Redux - // - Add useMiddleSeriesInstanceAsThumbnail - // - Add showStackLoadingProgressBar option - return studies.map((study) => { - const { studyInstanceUid } = study; - - const thumbnails = study.displaySets.map((displaySet) => { - const active = false; - const stackPercentComplete = 0; - const { displaySetInstanceUid, seriesDescription, seriesNumber, instanceNumber, numImageFrames } = displaySet; - const imageId = displaySet.images[0].getImageId(); - return { - imageSrc: '', - imageId, - displaySetInstanceUid, - seriesDescription, - seriesNumber, - instanceNumber, - numImageFrames, - active, - stackPercentComplete - }; - }); - - return { - studyInstanceUid, - thumbnails - }; - }); - } - - render() { - let mainContentClassName = "mainContent" - if (this.state.leftSidebarOpen) { - mainContentClassName += ' sidebar-left-open'; - } - - if (this.state.rightSidebarOpen) { - mainContentClassName += ' sidebar-right-open'; - } - - // TODO[react]: Add measurementLightTable - return ( -
-
- -
-
- -
-
- {/*{{> measurementLightTable (clone this)}}*/} -
-
- ); - } -} - -FlexboxLayout.propTypes = { - studies: PropTypes.array.isRequired -}; - -export default FlexboxLayout; diff --git a/OHIFViewer/client/components/flexboxLayout/flexboxLayout.styl b/OHIFViewer/client/components/flexboxLayout/flexboxLayout.styl deleted file mode 100644 index caa2691ae..000000000 --- a/OHIFViewer/client/components/flexboxLayout/flexboxLayout.styl +++ /dev/null @@ -1,67 +0,0 @@ -@require '{ohif:viewerbase}/app' - -.viewerSection - display: flex - flex: 1 - flex-flow: row nowrap - align-items: stretch - height: 'calc(100% - %s)' % ($toolbarHeight) - width: 100% - - .sidebarMenu - height: 100% - // required transformation to make inner fixed elements relative to this one - transform(scale(1)) - transition($sidebarTransition) - - .sidebar-option - height: 100% - max-width: inherit - position: absolute - transform(translateX(100%)) - transition($sidebarTransition) - width: 100% - - &.active - transform(translateX(0%)) - - .sidebar-left - theme('border-right', '%s solid $uiBorderColor' % $uiBorderThickness) - flex: 1 - margin-left: - $studiesSidebarMenuWidth - max-width: $studiesSidebarMenuWidth - order: 1 - - &.sidebar-open - margin-left: 0 - - .mainContent - flex: 1 - height: 100% - order: 2 - overflow: hidden - transition($sidebarTransition) - width: 100% - - .sidebar-right - flex: 1 - margin-right: - $rightSidebarMenuWidth - max-width: $rightSidebarMenuWidth - order: 3 - position: relative - - &[data-timepoints="3"] - margin-right: - ($rightSidebarMenuWidth + 135.5px) - max-width: $rightSidebarMenuWidth + 135.5px - - &[data-timepoints="4"] - margin-right: - ($rightSidebarMenuWidth + 270px) - max-width: $rightSidebarMenuWidth + 270px - - &.sidebar-open - margin-right: 0 - - .studiesListedChanger - theme('border-bottom', '%s solid $uiBorderColor' % $uiBorderThickness) - padding: 20px 10px - text-align: center diff --git a/OHIFViewer/client/components/index.js b/OHIFViewer/client/components/index.js deleted file mode 100644 index 2d857e7ff..000000000 --- a/OHIFViewer/client/components/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import { BrowserRouter } from 'react-router-dom'; -import { Provider } from 'react-redux'; -import { createStore } from 'redux'; -import App from './App.js'; -import { OHIF } from 'ohif-core'; - -const store = createStore(OHIF.redux.combinedReducer); - -// TODO[react] Use a provider when the whole tree is React -window.store = store; - -Meteor.startup(() => { - ReactDOM.render( - - - - - , - document.getElementById('root') - ); -}); diff --git a/OHIFViewer/client/components/ohifViewer/ohifViewer.html b/OHIFViewer/client/components/ohifViewer/ohifViewer.html deleted file mode 100644 index e7d9b1490..000000000 --- a/OHIFViewer/client/components/ohifViewer/ohifViewer.html +++ /dev/null @@ -1,34 +0,0 @@ - diff --git a/OHIFViewer/client/components/ohifViewer/ohifViewer.js b/OHIFViewer/client/components/ohifViewer/ohifViewer.js deleted file mode 100644 index bc6ed73c9..000000000 --- a/OHIFViewer/client/components/ohifViewer/ohifViewer.js +++ /dev/null @@ -1,88 +0,0 @@ -import { Template } from 'meteor/templating'; -import { Session } from 'meteor/session'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { OHIF } from 'ohif-core'; - -import Viewer from '../viewer/viewer.js'; - -Template.ohifViewer.onCreated(() => { - const instance = Template.instance(); - instance.headerClasses = new ReactiveVar(''); - - const headerItems = [{ - action: () => OHIF.ui.showDialog('serverInformationModal'), - text: 'Server Information', - icon: 'fa fa-server fa-lg', - separatorAfter: true - }, { - action: () => OHIF.ui.showDialog('themeSelectorModal'), - text: 'Themes', - iconClasses: 'theme', - iconSvgUse: 'packages/ohif_viewerbase/assets/icons.svg#theme', - separatorAfter: false - }, { - action: () => OHIF.ui.showDialog('userPreferencesDialog'), - text: 'Preferences', - icon: 'fa fa-user', - separatorAfter: true - }, { - action: () => OHIF.ui.showDialog('aboutModal'), - text: 'About', - icon: 'fa fa-info' - }]; - - if (OHIF.user.userLoggedIn() === true) { - headerItems.push({ - action: OHIF.user.logout, - text: 'Logout', - iconClasses: 'logout', - iconSvgUse: 'packages/ohif_viewerbase/assets/user-menu-icons.svg#logout' - }); - } - - OHIF.header.dropdown.setItems(headerItems); - - /*instance.autorun(() => { - const currentRoute = Router.current(); - if (!currentRoute) return; - const routeName = currentRoute.route.getName(); - const isViewer = routeName.indexOf('viewer') === 0; - - // Add or remove the strech class from body - $(document.body)[isViewer ? 'addClass' : 'removeClass']('stretch'); - - // Set the header on its bigger version if the viewer is not opened - instance.headerClasses.set(isViewer ? '' : 'header-big'); - - // Set the viewer open state on session - Session.set('ViewerOpened', isViewer); - });*/ -}); - -Template.ohifViewer.events({ - 'click .js-toggle-studyList'(event) { - event.preventDefault(); - } -}); - -Template.ohifViewer.helpers({ - studyListToggleText() { - const instance = Template.instance(); - const isViewer = Session.get('ViewerOpened'); - - if (isViewer) { - instance.hasViewerData = true; - return 'Study list'; - } - - return instance.hasViewerData ? 'Back to viewer' : ''; - }, - - Viewer() { - return Viewer; - }, - - studies() { - return Template.instance().data.studies; - } -}); diff --git a/OHIFViewer/client/components/ohifViewer/ohifViewer.styl b/OHIFViewer/client/components/ohifViewer/ohifViewer.styl deleted file mode 100644 index 64122c55e..000000000 --- a/OHIFViewer/client/components/ohifViewer/ohifViewer.styl +++ /dev/null @@ -1,80 +0,0 @@ -@import "{ohif:viewerbase}/app" - -body>.header - - .brand - height: 30px - display: inline-block - text-decoration: none - - .logo-image - display: inline-block - fill: transparent - float: left - height: 100% - margin: 0 8px 0 0 - width: 30px - - .logo-text - display: inline-block - font-family: $logoFontFamily - font-size: 14px - font-weight: $logoFontWeight - theme('color', '$textPrimaryColor') - line-height: 30px - - a.header-menu - theme('color', '$textPrimaryColor') - - .header-options - font-size: 13px - - .menu-toggle - display: inline-block - height: 18px - - .research-use - font-size: 13px - theme('color', '$textSecondaryColor') - font-weight: bold - - .btn - theme('color', '$textSecondaryColor') - cursor: pointer - font-size: 13px - font-weight: 500 - line-height: 26px - - &:hover - theme('color', '$hoverColor') - - &:active - theme('color', '$activeColor') - - .studyListLinkSection - theme('border-left', '%s solid $uiBorderColor' % $uiBorderThickness) - margin: 3px 0 0 10px - padding: 0 0 0 10px - - &.header-big - padding-left: $studyListPadding - padding-right: $studyListPadding - - .brand - height: 100% - line-height: $topBarExpandedHeight - 10px - - .logo-image - margin: 0 20px 0 0 - width: 50px - - .logo-text - font-size: 30px - - .studyListLinkSection - border: none - left: 0 - margin: 0 - padding: 0 - position: absolute - top: 0 diff --git a/OHIFViewer/client/components/toolbarSection/toolbarSection.html b/OHIFViewer/client/components/toolbarSection/toolbarSection.html deleted file mode 100644 index 067a9f914..000000000 --- a/OHIFViewer/client/components/toolbarSection/toolbarSection.html +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/OHIFViewer/client/components/toolbarSection/toolbarSection.js b/OHIFViewer/client/components/toolbarSection/toolbarSection.js deleted file mode 100644 index 3ba04b054..000000000 --- a/OHIFViewer/client/components/toolbarSection/toolbarSection.js +++ /dev/null @@ -1,322 +0,0 @@ -import { Template } from 'meteor/templating'; -import $ from 'jquery'; - -import { OHIF } from 'ohif-core'; -import 'meteor/ohif:viewerbase'; - -function isThereSeries(studies) { - if (studies.length === 1) { - const study = studies[0]; - - if (study.seriesList && study.seriesList.length > 1) { - return true; - } - - if (study.displaySets && study.displaySets.length > 1) { - return true; - } - } - - return false; -} - -Template.toolbarSection.onCreated(() => { - const instance = Template.instance(); - - if (OHIF.uiSettings.leftSidebarOpen && isThereSeries(instance.data.studies)) { - instance.data.state.set('leftSidebar', 'studies'); - } -}); - -Template.toolbarSection.helpers({ - leftSidebarToggleButtonData() { - const instance = Template.instance(); - return { - toggleable: true, - key: 'leftSidebar', - value: instance.data.state, - options: [{ - value: 'studies', - svgLink: '/packages/ohif_viewerbase/assets/icons.svg#icon-studies', - svgWidth: 15, - svgHeight: 13, - bottomLabel: 'Series' - }] - }; - }, - - rightSidebarToggleButtonData() { - const instance = Template.instance(); - - // TODO: Figured out a way to handle both right panel contents - // return { - // toggleable: true, - // key: 'rightSidebar', - // value: instance.data.state, - // options: [{ - // value: 'hangingprotocols', - // iconClasses: 'fa fa-cog', - // bottomLabel: 'Hanging' - // }] - // }; - - return { - toggleable: true, - key: 'rightSidebar', - value: instance.data.state, - options: [{ - value: 'measurements', - svgLink: '/packages/ohif_viewerbase/assets/icons.svg#icon-measurements-lesions', - svgWidth: 18, - svgHeight: 10, - bottomLabel: 'Measurements' - }] - }; - }, - - toolbarButtons() { - const extraTools = []; - - extraTools.push({ - id: 'crosshairs', - title: 'Crosshairs', - classes: 'imageViewerTool', - iconClasses: 'fa fa-crosshairs' - }); - - extraTools.push({ - id: 'magnify', - title: 'Magnify', - classes: 'imageViewerTool toolbarSectionButton', - iconClasses: 'fa fa-circle' - }); - - extraTools.push({ - id: 'wwwcRegion', - title: 'ROI Window', - classes: 'imageViewerTool', - iconClasses: 'fa fa-square' - }); - - extraTools.push({ - id: 'dragProbe', - title: 'Probe', - classes: 'imageViewerTool', - iconClasses: 'fa fa-dot-circle-o' - }); - - extraTools.push({ - id: 'ellipticalRoi', - title: 'Ellipse', - classes: 'imageViewerTool', - iconClasses: 'fa fa-circle-o' - }); - - extraTools.push({ - id: 'rectangleRoi', - title: 'Rectangle', - classes: 'imageViewerTool', - iconClasses: 'fa fa-square-o' - }); - - extraTools.push({ - id: 'toggleDownloadDialog', - title: 'Download', - classes: 'imageViewerCommand', - iconClasses: 'fa fa-camera', - active: () => $('#downloadDialog').is(':visible') - }); - - extraTools.push({ - id: 'invert', - title: 'Invert', - classes: 'imageViewerCommand', - iconClasses: 'fa fa-adjust' - }); - - extraTools.push({ - id: 'rotateR', - title: 'Rotate Right', - classes: 'imageViewerCommand', - svgLink: '/packages/ohif_viewerbase/assets/icons.svg#icon-tools-rotate-right' - }); - - extraTools.push({ - id: 'flipH', - title: 'Flip H', - classes: 'imageViewerCommand', - svgLink: '/packages/ohif_viewerbase/assets/icons.svg#icon-tools-flip-horizontal' - }); - - extraTools.push({ - id: 'flipV', - title: 'Flip V', - classes: 'imageViewerCommand', - svgLink: '/packages/ohif_viewerbase/assets/icons.svg#icon-tools-flip-vertical' - }); - - extraTools.push({ - id: 'clearTools', - title: 'Clear', - classes: 'imageViewerCommand', - iconClasses: 'fa fa-trash' - }); - - const buttonData = []; - - buttonData.push({ - id: 'stackScroll', - title: 'Stack Scroll', - classes: 'imageViewerTool', - iconClasses: 'fa fa-bars' - }); - - buttonData.push({ - id: 'zoom', - title: 'Zoom', - classes: 'imageViewerTool', - svgLink: '/packages/ohif_viewerbase/assets/icons.svg#icon-tools-zoom' - }); - - buttonData.push({ - id: 'wwwc', - title: 'Levels', - classes: 'imageViewerTool', - svgLink: '/packages/ohif_viewerbase/assets/icons.svg#icon-tools-levels' - }); - - buttonData.push({ - id: 'pan', - title: 'Pan', - classes: 'imageViewerTool', - svgLink: '/packages/ohif_viewerbase/assets/icons.svg#icon-tools-pan' - }); - - buttonData.push({ - id: 'length', - title: 'Length', - classes: 'imageViewerTool toolbarSectionButton', - svgLink: '/packages/ohif_viewerbase/assets/icons.svg#icon-tools-measure-temp' - }); - - buttonData.push({ - id: 'annotate', - title: 'Annotate', - classes: 'imageViewerTool', - svgLink: '/packages/ohif_viewerbase/assets/icons.svg#icon-tools-measure-non-target' - }); - - buttonData.push({ - id: 'angle', - title: 'Angle', - classes: 'imageViewerTool', - iconClasses: 'fa fa-angle-left' - }); - - buttonData.push({ - id: 'resetViewport', - title: 'Reset', - classes: 'imageViewerCommand', - iconClasses: 'fa fa-undo' - }); - - if (!OHIF.uiSettings.displayEchoUltrasoundWorkflow) { - - buttonData.push({ - id: 'previousDisplaySet', - title: 'Previous', - classes: 'imageViewerCommand', - iconClasses: 'fa fa-toggle-up fa-fw' - }); - - buttonData.push({ - id: 'nextDisplaySet', - title: 'Next', - classes: 'imageViewerCommand', - iconClasses: 'fa fa-toggle-down fa-fw' - }); - - const { isPlaying } = OHIF.viewerbase.viewportUtils; - buttonData.push({ - id: 'toggleCinePlay', - title: () => isPlaying() ? 'Stop' : 'Play', - classes: 'imageViewerCommand', - iconClasses: () => ('fa fa-fw ' + (isPlaying() ? 'fa-stop' : 'fa-play')), - active: isPlaying - }); - - buttonData.push({ - id: 'toggleCineDialog', - title: 'CINE', - classes: 'imageViewerCommand', - iconClasses: 'fa fa-youtube-play', - active: () => $('#cineDialog').is(':visible') - }); - } - - buttonData.push({ - id: 'layout', - title: 'Layout', - iconClasses: 'fa fa-th-large', - buttonTemplateName: 'layoutButton' - }); - - buttonData.push({ - id: 'toggleMore', - title: 'More', - classes: 'rp-x-1 rm-l-3', - svgLink: '/packages/ohif_viewerbase/assets/icons.svg#icon-tools-more', - subTools: extraTools - }); - - return buttonData; - }, - - hangingProtocolButtons() { - let buttonData = []; - - buttonData.push({ - id: 'previousPresentationGroup', - title: 'Prev. Stage', - iconClasses: 'fa fa-step-backward', - buttonTemplateName: 'previousPresentationGroupButton' - }); - - buttonData.push({ - id: 'nextPresentationGroup', - title: 'Next Stage', - iconClasses: 'fa fa-step-forward', - buttonTemplateName: 'nextPresentationGroupButton' - }); - - return buttonData; - } - -}); - -Template.toolbarSection.onRendered(function() { - const instance = Template.instance(); - - instance.$('#layout').dropdown(); - - if (OHIF.uiSettings.displayEchoUltrasoundWorkflow) { - OHIF.viewerbase.viewportUtils.toggleCineDialog(); - } - - // TODO: Figure out a way to disable/enable the buttons with each status from New API - // // Set disabled/enabled tool buttons that are set in toolManager - // const states = OHIF.viewerbase.toolManager.getToolDefaultStates(); - // const disabledToolButtons = states.disabledToolButtons; - // const allToolbarButtons = $('#toolbar').find('button'); - // if (disabledToolButtons && disabledToolButtons.length > 0) { - // for (let i = 0; i < allToolbarButtons.length; i++) { - // const toolbarButton = allToolbarButtons[i]; - // $(toolbarButton).prop('disabled', false); - // - // const index = disabledToolButtons.indexOf($(toolbarButton).attr('id')); - // if (index !== -1) { - // $(toolbarButton).prop('disabled', true); - // } - // } - // } -}); diff --git a/OHIFViewer/client/components/toolbarSection/toolbarSection.styl b/OHIFViewer/client/components/toolbarSection/toolbarSection.styl deleted file mode 100644 index 598294600..000000000 --- a/OHIFViewer/client/components/toolbarSection/toolbarSection.styl +++ /dev/null @@ -1,13 +0,0 @@ -@require '{ohif:viewerbase}/app' - -.toolbarSection - theme('border-bottom', '%s solid $uiBorderColor' % $uiBorderThickness) - flex: 0 0 auto - height: $toolbarHeight - padding-top: 6px - position: relative - transition(height 300ms ease) - width: 100% - - &.expanded - height: $toolbarHeight + $toolbarDrawerHeight diff --git a/OHIFViewer/client/components/viewer/viewer.js b/OHIFViewer/client/components/viewer/viewer.js deleted file mode 100644 index b87952eb8..000000000 --- a/OHIFViewer/client/components/viewer/viewer.js +++ /dev/null @@ -1,107 +0,0 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; - -import { OHIF } from 'ohif-core'; -import { MeasurementTable } from 'meteor/ohif:measurement-table'; - -import { CineDialog } from 'react-viewerbase'; -import FlexboxLayout from '../flexboxLayout/flexboxLayout.js'; - -import 'meteor/ohif:cornerstone'; -import 'meteor/ohif:viewerbase'; - - -/** - * Inits OHIF Hanging Protocol's onReady. - * It waits for OHIF Hanging Protocol to be ready to instantiate the ProtocolEngine - * Hanging Protocol will use OHIF LayoutManager to render viewports properly - */ -const initHangingProtocol = () => { - // When Hanging Protocol is ready - HP.ProtocolStore.onReady(() => { - - // Gets all StudyMetadata objects: necessary for Hanging Protocol to access study metadata - const studyMetadataList = OHIF.viewer.StudyMetadataList.all(); - - // Caches Layout Manager: Hanging Protocol uses it for layout management according to current protocol - const layoutManager = OHIF.viewerbase.layoutManager; - - // Instantiate StudyMetadataSource: necessary for Hanging Protocol to get study metadata - const studyMetadataSource = new OHIF.studies.classes.OHIFStudyMetadataSource(); - - // Get prior studies map - const studyPriorsMap = OHIF.studylist.functions.getStudyPriorsMap(studyMetadataList); - - // Creates Protocol Engine object with required arguments - const ProtocolEngine = new HP.ProtocolEngine(layoutManager, studyMetadataList, studyPriorsMap, studyMetadataSource); - - // Sets up Hanging Protocol engine - HP.setEngine(ProtocolEngine); - }); -}; - - -OHIF.viewer.defaultTool = { - left: 'wwwc', - right: 'zoom', - middle: 'pan' -}; - -OHIF.viewer.refLinesEnabled = true; -OHIF.viewer.cine = { - framesPerSecond: 24, - loop: true -}; - -const viewportUtils = OHIF.viewerbase.viewportUtils; - -OHIF.viewer.functionList = { - toggleCineDialog: viewportUtils.toggleCineDialog, - toggleCinePlay: viewportUtils.toggleCinePlay, - clearTools: viewportUtils.clearTools, - resetViewport: viewportUtils.resetViewport, - invert: viewportUtils.invert -}; - -// Create the synchronizer used to update reference lines -OHIF.viewer.updateImageSynchronizer = new cornerstoneTools.Synchronizer('cornerstonenewimage', cornerstoneTools.updateImageSynchronizer); - -OHIF.viewer.metadataProvider = new OHIF.cornerstone.MetadataProvider(); - -// Metadata configuration -const metadataProvider = OHIF.viewer.metadataProvider; -cornerstone.metaData.addProvider(metadataProvider.provider.bind(metadataProvider)); - -// Instantiate viewer plugins -OHIF.viewer.measurementTable = new MeasurementTable(); - -class Viewer extends Component { - constructor(props) { - super(props); - - this.state = { - leftSidebar: 'studies', - rightSidebar: 'measurements', - studies: this.props.studies - }; - } - - render() { - return (<> -
- {/**/} -
-
- {/**/} - -
- - ); - } -} - -Viewer.propTypes = { - studies: PropTypes.array -}; - -export default Viewer; diff --git a/OHIFViewer/client/components/viewer/viewer.styl b/OHIFViewer/client/components/viewer/viewer.styl deleted file mode 100644 index e10fe6eb8..000000000 --- a/OHIFViewer/client/components/viewer/viewer.styl +++ /dev/null @@ -1,13 +0,0 @@ -@import "{ohif:viewerbase}/app" - -body - background-color: black - -#viewer - background-color: black - height: 100% - width: 100% - -.loadingTextDiv - theme('color', '$textSecondaryColor') - font-size: 30px diff --git a/OHIFViewer/client/config.js b/OHIFViewer/client/config.js deleted file mode 100644 index 4891a161a..000000000 --- a/OHIFViewer/client/config.js +++ /dev/null @@ -1,45 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { OHIF } from 'ohif-core'; -import { cornerstoneWADOImageLoader } from 'meteor/ohif:cornerstone'; -import sha from './sha.js'; -import version from './version.js'; - -OHIF.info = { - sha, - version -}; - -Meteor.startup(function() { - const maxWebWorkers = Math.max(navigator.hardwareConcurrency - 1, 1); - const config = { - maxWebWorkers: maxWebWorkers, - startWebWorkersOnDemand: true, - webWorkerPath: OHIF.utils.absoluteUrl('packages/ohif_cornerstone/public/js/cornerstoneWADOImageLoaderWebWorker.es5.js'), - taskConfiguration: { - decodeTask: { - loadCodecsOnStartup: true, - initializeCodecsOnStartup: false, - codecsPath: OHIF.utils.absoluteUrl('packages/ohif_cornerstone/public/js/cornerstoneWADOImageLoaderCodecs.es5.js'), - usePDFJS: false - } - } - }; - - cornerstoneWADOImageLoader.webWorkerManager.initialize(config); - - cornerstoneWADOImageLoader.configure({ - beforeSend: function(xhr) { - const headers = OHIF.DICOMWeb.getAuthorizationHeader(); - - if (headers.Authorization) { - xhr.setRequestHeader("Authorization", headers.Authorization); - } - } - }); -}); - -if (Meteor.settings && - Meteor.settings.public && - Meteor.settings.public.clientOnly === true) { - Meteor.disconnect(); -} diff --git a/OHIFViewer/client/log.js b/OHIFViewer/client/log.js deleted file mode 100644 index 5f3ef93a3..000000000 --- a/OHIFViewer/client/log.js +++ /dev/null @@ -1,3 +0,0 @@ -import loglevel from 'loglevel'; -log = loglevel.getLogger('OHIFViewer'); -log.setLevel('info'); diff --git a/OHIFViewer/package-lock.json b/OHIFViewer/package-lock.json deleted file mode 100644 index 6c319263e..000000000 --- a/OHIFViewer/package-lock.json +++ /dev/null @@ -1,5797 +0,0 @@ -{ - "name": "ohifviewer", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/runtime": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", - "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", - "requires": { - "regenerator-runtime": "^0.12.0" - } - }, - "@compone/class": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@compone/class/-/class-1.1.1.tgz", - "integrity": "sha512-pbODcJi0TdyKQ/PTHSHLwO4h/r5EgMdkPQLdBSaZBUiBuWdGil+0PEhpfhAWDuFrwVPKiCHYQOfs8WyGe9ABWA==" - }, - "@compone/define": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@compone/define/-/define-1.2.4.tgz", - "integrity": "sha512-w0ZDiYMIppvb1epoNY64pkEACwn9693cc7qM1ZSKWUVZczx5vlR4iZM7by129IYUdCq0SsbxQbbPZjnzj/0Qew==", - "requires": { - "@compone/class": "^1.1.1", - "@compone/event": "^1.1.2" - } - }, - "@compone/event": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@compone/event/-/event-1.1.2.tgz", - "integrity": "sha512-baJDnAr8pWefqfltNS33HieD+s23YO+w2/RD6lPxIEzlOuM1R5RT5vpUUTcrzn0Er3oj62PlfMUyS0SwnVw67Q==", - "requires": { - "utilise": "^2.3.5" - } - }, - "@types/node": { - "version": "8.10.38", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.38.tgz", - "integrity": "sha512-EibsnbJerd0hBFaDjJStFrVbVBAtOy4dgL8zZFw0uOvPqzBAX59Ci8cgjg3+RgJIWhsB5A4c+pi+D4P9tQQh/A==", - "optional": true - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", - "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" - } - }, - "acorn": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz", - "integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==" - }, - "acorn-dynamic-import": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", - "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==" - }, - "acorn-jsx": { - "version": "3.0.1", - "resolved": "http://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", - "requires": { - "acorn": "^3.0.4" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "http://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" - } - } - }, - "acorn-node": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.6.2.tgz", - "integrity": "sha512-rIhNEZuNI8ibQcL7ANm/mGyPukIaZsRNX9psFNQURyJW0nu6k8wjSDld20z6v2mDBWqX13pIEnk9gGZJHIlEXg==", - "requires": { - "acorn": "^6.0.2", - "acorn-dynamic-import": "^4.0.0", - "acorn-walk": "^6.1.0", - "xtend": "^4.0.1" - } - }, - "acorn-object-spread": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/acorn-object-spread/-/acorn-object-spread-1.0.0.tgz", - "integrity": "sha1-SOrQ9KjrFplaF6Dbn/xqyq2kumg=", - "requires": { - "acorn": "^3.1.0" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "http://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" - } - } - }, - "acorn-walk": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", - "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==" - }, - "acorn5-object-spread": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/acorn5-object-spread/-/acorn5-object-spread-4.0.0.tgz", - "integrity": "sha1-1XWAge7ZcSGrC+R+Mcqu8qo5lpc=", - "requires": { - "acorn": "^5.1.2" - }, - "dependencies": { - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" - } - } - }, - "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "ajv": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz", - "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==", - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "archiver": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz", - "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=", - "requires": { - "archiver-utils": "^1.3.0", - "async": "^2.0.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.0.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0", - "tar-stream": "^1.5.0", - "zip-stream": "^1.2.0" - } - }, - "archiver-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", - "requires": { - "glob": "^7.0.0", - "graceful-fs": "^4.1.0", - "lazystream": "^1.0.0", - "lodash": "^4.8.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-filter": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", - "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "array-map": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", - "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" - }, - "array-reduce": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", - "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "assert": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.3.0.tgz", - "integrity": "sha1-A5OaYiWCqBLMICMgoLmlbJuBWEk=", - "requires": { - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - }, - "util": { - "version": "0.10.3", - "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "async": { - "version": "2.0.1", - "resolved": "http://registry.npmjs.org/async/-/async-2.0.1.tgz", - "integrity": "sha1-twnMAoCpw28J9FNr6CPIOKkEniU=", - "requires": { - "lodash": "^4.8.0" - } - }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" - }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "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.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base64-js": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", - "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "binary": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", - "optional": true, - "requires": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" - } - }, - "binary-extensions": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", - "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==" - }, - "bl": { - "version": "1.2.2", - "resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "bootstrap": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.1.3.tgz", - "integrity": "sha512-rDFIzgXcof0jDyjNosjv4Sno77X4KuPeFxG2XZZv1/Kc8DRVGVADdoQyyOVDwPqL36DDmtCQbrpMCqvpPLJQ0w==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "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.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browser-icons": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/browser-icons/-/browser-icons-0.0.1.tgz", - "integrity": "sha1-iI5fEHY2A3RfpxgOTNjbCitlSOw=", - "requires": { - "icon-android": "*", - "icon-chrome": "*", - "icon-firefox": "*", - "icon-ie": "*", - "icon-ios": "*", - "icon-linux": "*", - "icon-opera": "*", - "icon-osx": "*", - "icon-safari": "*", - "icon-windows": "*" - } - }, - "browser-pack": { - "version": "6.1.0", - "resolved": "http://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", - "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", - "requires": { - "JSONStream": "^1.0.3", - "combine-source-map": "~0.8.0", - "defined": "^1.0.0", - "safe-buffer": "^5.1.1", - "through2": "^2.0.0", - "umd": "^3.0.0" - } - }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", - "requires": { - "resolve": "1.1.7" - }, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "http://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" - } - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - }, - "browserify": { - "version": "12.0.2", - "resolved": "http://registry.npmjs.org/browserify/-/browserify-12.0.2.tgz", - "integrity": "sha1-V/IeXm4wj/WYfE2v1EhAsrmPehk=", - "requires": { - "JSONStream": "^1.0.3", - "assert": "~1.3.0", - "browser-pack": "^6.0.1", - "browser-resolve": "^1.11.0", - "browserify-zlib": "~0.1.2", - "buffer": "^3.4.3", - "concat-stream": "~1.5.1", - "console-browserify": "^1.1.0", - "constants-browserify": "~1.0.0", - "crypto-browserify": "^3.0.0", - "defined": "^1.0.0", - "deps-sort": "^2.0.0", - "domain-browser": "~1.1.0", - "duplexer2": "~0.1.2", - "events": "~1.1.0", - "glob": "^5.0.15", - "has": "^1.0.0", - "htmlescape": "^1.1.0", - "https-browserify": "~0.0.0", - "inherits": "~2.0.1", - "insert-module-globals": "^7.0.0", - "isarray": "0.0.1", - "labeled-stream-splicer": "^2.0.0", - "module-deps": "^4.0.2", - "os-browserify": "~0.1.1", - "parents": "^1.0.1", - "path-browserify": "~0.0.0", - "process": "~0.11.0", - "punycode": "^1.3.2", - "querystring-es3": "~0.2.0", - "read-only-stream": "^2.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.4", - "shasum": "^1.0.0", - "shell-quote": "^1.4.3", - "stream-browserify": "^2.0.0", - "stream-http": "^2.0.0", - "string_decoder": "~0.10.0", - "subarg": "^1.0.0", - "syntax-error": "^1.1.1", - "through2": "^2.0.0", - "timers-browserify": "^1.0.1", - "tty-browserify": "~0.0.0", - "url": "~0.11.0", - "util": "~0.10.1", - "vm-browserify": "~0.0.1", - "xtend": "^4.0.0" - }, - "dependencies": { - "concat-stream": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", - "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", - "requires": { - "inherits": "~2.0.1", - "readable-stream": "~2.0.0", - "typedarray": "~0.0.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - } - } - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "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.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "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.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "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": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" - } - }, - "browserify-zlib": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", - "requires": { - "pako": "~0.2.0" - } - }, - "buble": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/buble/-/buble-0.16.0.tgz", - "integrity": "sha512-Eb5vt1+IvXXPyYD1IIQIuaBwIuJOSWQ2kXzULlg5I83aLGF2qzcjRU2joYusnWFgAenvJ9xTOMvZvT0bb8BLbg==", - "requires": { - "acorn": "^3.3.0", - "acorn-jsx": "^3.0.1", - "acorn-object-spread": "^1.0.0", - "chalk": "^1.1.3", - "magic-string": "^0.14.0", - "minimist": "^1.2.0", - "os-homedir": "^1.0.1", - "vlq": "^0.2.2" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "http://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" - }, - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "buffer": { - "version": "3.6.0", - "resolved": "http://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", - "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", - "requires": { - "base64-js": "0.0.8", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" - }, - "buffer-from": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", - "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", - "optional": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "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" - } - }, - "cached-path-relative": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", - "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==" - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/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.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "2.0.0", - "resolved": "http://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.0", - "type-detect": "^4.0.5" - } - }, - "chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", - "optional": true, - "requires": { - "traverse": ">=0.3.0 <0.4" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "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" - } - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" - }, - "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" - } - }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "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.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" - }, - "combine-source-map": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", - "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", - "requires": { - "convert-source-map": "~1.1.0", - "inline-source-map": "~0.6.0", - "lodash.memoize": "~3.0.3", - "source-map": "~0.5.3" - } - }, - "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.15.1", - "resolved": "http://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" - }, - "compress-commons": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", - "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", - "requires": { - "buffer-crc32": "^0.2.1", - "crc32-stream": "^2.0.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" - } - }, - "compressible": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz", - "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==", - "requires": { - "mime-db": ">= 1.36.0 < 2" - } - }, - "compression": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", - "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.14", - "debug": "2.6.9", - "on-headers": "~1.0.1", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "requires": { - "date-now": "^0.1.4" - } - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "convert-source-map": { - "version": "1.1.3", - "resolved": "http://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", - "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=" - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" - }, - "cookie-parser": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.3.tgz", - "integrity": "sha1-D+MfoZ0AC5X0qt8fU/3CuKIDuqU=", - "requires": { - "cookie": "0.3.1", - "cookie-signature": "1.0.6" - } - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cosmiconfig": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", - "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.9.0", - "parse-json": "^4.0.0" - } - }, - "crc": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz", - "integrity": "sha1-naHpgOO9RPxck79as9ozeNheRms=" - }, - "crc32-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", - "requires": { - "crc": "^3.4.4", - "readable-stream": "^2.0.0" - } - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "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": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "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": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "cryonic": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cryonic/-/cryonic-1.0.0.tgz", - "integrity": "sha512-8wqWtdI+7IQVYCDS40H/H267zb2Lwn08Q7HT0hIqHNMkRPQdV355dPRu/hV02k2sBtZJ+KEnRVtaZWzT3hPVmQ==" - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "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" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "decompress-zip": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.3.1.tgz", - "integrity": "sha512-pNGzi0RIpLA/CqrMQoSuh/1+YiVGJSEhQeibgoZQEdPFQOhO5pvqim3sp1qMvio3+mkonUQ1Akjdw8RgvV/RsA==", - "optional": true, - "requires": { - "binary": "^0.3.0", - "graceful-fs": "^4.1.3", - "mkpath": "^0.1.0", - "nopt": "^3.0.1", - "q": "^1.1.2", - "readable-stream": "^1.1.8", - "touch": "0.0.3" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "optional": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "optional": true - } - } - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "requires": { - "type-detect": "^4.0.0" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "deps-sort": { - "version": "2.0.0", - "resolved": "http://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz", - "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=", - "requires": { - "JSONStream": "^1.0.3", - "shasum": "^1.0.0", - "subarg": "^1.0.0", - "through2": "^2.0.0" - } - }, - "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detective": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", - "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", - "requires": { - "acorn": "^5.2.1", - "defined": "^1.0.0" - }, - "dependencies": { - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" - } - } - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "djbx": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/djbx/-/djbx-1.0.3.tgz", - "integrity": "sha512-Y8ph/85fEChtSgSgw1asP4cGLNLxlbnDBnQMpX8+MOpaiYyOn8assnSpIrwHuoGZV/sE1DUbKh9aeKlWZdHKEg==" - }, - "domain-browser": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "requires": { - "readable-stream": "^2.0.2" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "requires": { - "once": "^1.4.0" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es6-promise": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", - "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "events": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "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" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "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": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "http://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "requires": { - "fill-range": "^2.1.0" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", - "requires": { - "accepts": "~1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", - "content-type": "~1.0.4", - "cookie": "0.3.1", - "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.1", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", - "qs": "6.5.2", - "range-parser": "~1.2.0", - "safe-buffer": "5.1.2", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - } - } - }, - "express-session": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.15.6.tgz", - "integrity": "sha512-r0nrHTCYtAMrFwZ0kBzZEXa1vtPVrw0dKvGSrKP4dahwBQ1BJpF2/y1Pp4sCD/0kvxV4zZeclyvfmw0B4RMJQA==", - "requires": { - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "crc": "3.4.4", - "debug": "2.6.9", - "depd": "~1.1.1", - "on-headers": "~1.0.1", - "parseurl": "~1.3.2", - "uid-safe": "~2.1.5", - "utils-merge": "1.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "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.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extract-zip": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", - "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", - "dev": true, - "requires": { - "concat-stream": "1.6.2", - "debug": "2.6.9", - "mkdirp": "0.5.1", - "yauzl": "2.4.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" - }, - "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "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.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "finalhandler": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "find-package-json": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-package-json/-/find-package-json-1.1.0.tgz", - "integrity": "sha512-ldihxiIFpewACALK0tUByf3GmOaTBjI5OcvwJ3mExgERUZBsSOBV8QM6vVb0/ZqylpzY6Od6SsP8bjFv7fKiTw==" - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "requires": { - "for-in": "^1.0.1" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "optional": true, - "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "bundled": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "optional": 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" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.21", - "bundled": true, - "optional": true, - "requires": { - "safer-buffer": "^2.1.0" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true - }, - "minipass": { - "version": "2.2.4", - "bundled": true, - "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "needle": { - "version": "2.2.0", - "bundled": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.0", - "bundled": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.3", - "bundled": true, - "optional": true - }, - "npm-packlist": { - "version": "1.1.10", - "bundled": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "rc": { - "version": "1.2.7", - "bundled": true, - "optional": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "optional": 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" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "optional": true, - "requires": { - "glob": "^7.0.5" - } - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "optional": true - }, - "semver": { - "version": "5.5.0", - "bundled": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "tar": { - "version": "4.4.1", - "bundled": true, - "optional": true, - "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "optional": true, - "requires": { - "string-width": "^1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-assigned-identifiers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", - "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==" - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" - }, - "get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "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-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" - }, - "history": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/history/-/history-4.7.2.tgz", - "integrity": "sha512-1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA==", - "requires": { - "invariant": "^2.2.1", - "loose-envify": "^1.2.0", - "resolve-pathname": "^2.2.0", - "value-equal": "^0.4.0", - "warning": "^3.0.0" - }, - "dependencies": { - "warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", - "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", - "requires": { - "loose-envify": "^1.0.0" - } - } - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoist-non-react-statics": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", - "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" - }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", - "dev": true - }, - "htmlescape": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=" - }, - "http-errors": { - "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=" - }, - "https-proxy-agent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", - "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", - "dev": true, - "requires": { - "agent-base": "^4.1.0", - "debug": "^3.1.0" - } - }, - "husky": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/husky/-/husky-1.2.0.tgz", - "integrity": "sha512-/ib3+iycykXC0tYIxsyqierikVa9DA2DrT32UEirqNEFVqOj1bFMTgP3jAz8HM7FgC/C8pc/BTUa9MV2GEkZaA==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.6", - "execa": "^1.0.0", - "find-up": "^3.0.0", - "get-stdin": "^6.0.0", - "is-ci": "^1.2.1", - "pkg-dir": "^3.0.0", - "please-upgrade-node": "^3.1.1", - "read-pkg": "^4.0.1", - "run-node": "^1.0.0", - "slash": "^2.0.0" - } - }, - "icon-android": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/icon-android/-/icon-android-0.0.1.tgz", - "integrity": "sha1-UGtOpgCQp5LsRe5oWps2GSqmysg=" - }, - "icon-chrome": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/icon-chrome/-/icon-chrome-0.0.1.tgz", - "integrity": "sha1-pyTLBEyeuqXglHIYgVJnlLcbPaQ=" - }, - "icon-firefox": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/icon-firefox/-/icon-firefox-0.0.1.tgz", - "integrity": "sha1-a5GneSa8kQcP+DlwVu/0t6oV+iQ=" - }, - "icon-ie": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/icon-ie/-/icon-ie-0.0.1.tgz", - "integrity": "sha1-At7nWwtd4+dd6+FoPsNq9tSpu9k=" - }, - "icon-ios": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/icon-ios/-/icon-ios-0.0.1.tgz", - "integrity": "sha1-Fsq8YSVb1Mo8Z5owxUWSJGoHP3k=" - }, - "icon-linux": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/icon-linux/-/icon-linux-0.0.1.tgz", - "integrity": "sha1-Ih7OHpsOJE/T7uj7weHSnNTbtrA=" - }, - "icon-opera": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/icon-opera/-/icon-opera-0.0.1.tgz", - "integrity": "sha1-zlpxU25lvvZpwPY4fYvMBxlNZA8=" - }, - "icon-osx": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/icon-osx/-/icon-osx-0.0.1.tgz", - "integrity": "sha1-Gpf94GZqyB+eW+/Kun8Z/UvVVtA=" - }, - "icon-safari": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/icon-safari/-/icon-safari-0.0.1.tgz", - "integrity": "sha1-h0r8wJPej3Dsxbalws2DifqlUiw=" - }, - "icon-windows": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/icon-windows/-/icon-windows-0.0.1.tgz", - "integrity": "sha1-q+Rj9Q8Q1t/DvqLV/9Shs1C1f80=" - }, - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "inline-source-map": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", - "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", - "requires": { - "source-map": "~0.5.3" - } - }, - "insert-module-globals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz", - "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", - "requires": { - "JSONStream": "^1.0.3", - "acorn-node": "^1.5.2", - "combine-source-map": "^0.8.0", - "concat-stream": "^1.6.1", - "is-buffer": "^1.1.0", - "path-is-absolute": "^1.0.1", - "process": "~0.11.0", - "through2": "^2.0.0", - "undeclared-identifiers": "^1.1.2", - "xtend": "^4.0.0" - } - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "^1.0.0" - } - }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "dev": true, - "requires": { - "ci-info": "^1.5.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "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.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "requires": { - "is-primitive": "^2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "jquery": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", - "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", - "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, - "labeled-stream-splicer": { - "version": "2.0.1", - "resolved": "http://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.1.tgz", - "integrity": "sha512-MC94mHZRvJ3LfykJlTUipBqenZz1pacOZEMhhQ8dMGcDHs0SBE5GbsavUXV7YtP3icBW17W0Zy1I0lfASmo9Pg==", - "requires": { - "inherits": "^2.0.1", - "isarray": "^2.0.4", - "stream-splicer": "^2.0.0" - }, - "dependencies": { - "isarray": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.4.tgz", - "integrity": "sha512-GMxXOiUirWg1xTKRipM0Ek07rX+ubx4nNVElTJdNLYmNO/2YrDkgJGw9CljXn+r4EWiDQg/8lsRdHyg2PJuUaA==" - } - } - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "requires": { - "readable-stream": "^2.0.5" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" - }, - "lodash.memoize": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", - "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=" - }, - "loglevel": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", - "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lru_map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" - }, - "magic-string": { - "version": "0.14.0", - "resolved": "http://registry.npmjs.org/magic-string/-/magic-string-0.14.0.tgz", - "integrity": "sha1-VyJK7xcByu7Sc7F6OalW5ysXJGI=", - "requires": { - "vlq": "^0.2.1" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, - "math-random": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", - "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "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" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", - "dev": true - }, - "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" - }, - "mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", - "requires": { - "mime-db": "~1.37.0" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } - }, - "mkpath": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz", - "integrity": "sha1-dVSm+Nhxg0zJe1RisSLEwSTW3pE=", - "optional": true - }, - "mocha": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", - "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", - "requires": { - "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.5", - "he": "1.1.1", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "supports-color": "5.4.0" - }, - "dependencies": { - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "module-deps": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-4.1.1.tgz", - "integrity": "sha1-IyFYM/HaE/1gbMuAh7RIUty4If0=", - "requires": { - "JSONStream": "^1.0.3", - "browser-resolve": "^1.7.0", - "cached-path-relative": "^1.0.0", - "concat-stream": "~1.5.0", - "defined": "^1.0.0", - "detective": "^4.0.0", - "duplexer2": "^0.1.2", - "inherits": "^2.0.1", - "parents": "^1.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.3", - "stream-combiner2": "^1.1.1", - "subarg": "^1.0.0", - "through2": "^2.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "concat-stream": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", - "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", - "requires": { - "inherits": "~2.0.1", - "readable-stream": "~2.0.0", - "typedarray": "~0.0.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - } - } - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "nan": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz", - "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==", - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "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" - } - }, - "nanosocket": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/nanosocket/-/nanosocket-1.1.0.tgz", - "integrity": "sha512-v2LsjYMRu3/JT/z8Qpkj1X5dgwCptC3D0NzeYlb7tb2qGJhlx0PSXZJraf1tRPKipj2iwB15GRzqUaOlN+LieQ==" - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" - }, - "ngrok": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ngrok/-/ngrok-3.1.0.tgz", - "integrity": "sha512-8eui7ZJkBaczrl8FS4m7G2qh8JJYUOeznE7UsJAbeGuktGtb6aWXiCGqbgngqK/l0S4jue1JIgIZbFtbMJMv6A==", - "optional": true, - "requires": { - "@types/node": "^8.10.30", - "decompress-zip": "^0.3.1", - "request": "^2.88.0", - "request-promise-native": "^1.0.5", - "uuid": "^3.3.2" - } - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "optional": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "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.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "os-browserify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz", - "integrity": "sha1-ScoCk+CxlZCl9d4Qx/JlphfY/lQ=" - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", - "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "pako": { - "version": "0.2.9", - "resolved": "http://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" - }, - "parents": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", - "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", - "requires": { - "path-platform": "~0.11.15" - } - }, - "parse-asn1": { - "version": "5.1.1", - "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", - "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3" - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-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.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "path-platform": { - "version": "0.11.15", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", - "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=" - }, - "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", - "requires": { - "isarray": "0.0.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - } - } - }, - "pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=" - }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", - "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" - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "platform": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.5.tgz", - "integrity": "sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==" - }, - "please-upgrade-node": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz", - "integrity": "sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==", - "dev": true, - "requires": { - "semver-compare": "^1.0.0" - } - }, - "popper": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/popper/-/popper-1.0.1.tgz", - "integrity": "sha512-i/6yRlY5+VomX0ScQ5TI4Ro8XlQbOj7NMRf0hSnUEVv/aAP6IbrxvNcRsrEG6VsKzvltfINPeD4p++6SKwOTSA==", - "requires": { - "browser-icons": "*", - "browserify": "^12.0.0", - "buble": "^0.16.0", - "chai": "*", - "chokidar": "*", - "colors": "^1.1.2", - "compression": "*", - "cryonic": "^1.0.0", - "express": "^4.12.4", - "js-yaml": "*", - "minimist": "*", - "mocha": "*", - "ngrok": "*", - "platform": "*", - "rijs": "*", - "rijs.core": "*", - "rijs.css": "*", - "rijs.data": "*", - "rijs.fn": "*", - "rijs.npm": "*", - "rijs.resdir": "*", - "rijs.sync": "*", - "serve-static": "*", - "utilise": "*", - "wd": "*" - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" - }, - "progress": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", - "dev": true - }, - "prop-types": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", - "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", - "requires": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - } - }, - "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" - } - }, - "proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", - "dev": true - }, - "psl": { - "version": "1.1.31", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", - "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "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" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "puppeteer": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.5.0.tgz", - "integrity": "sha512-eELwFtFxL+uhmg4jPZOZXzSrPEYy4CaYQNbcchBbfxY+KjMpnv6XGf/aYWaQG49OTpfi2/DMziXtDM8XuJgoUA==", - "dev": true, - "requires": { - "debug": "^3.1.0", - "extract-zip": "^1.6.6", - "https-proxy-agent": "^2.2.1", - "mime": "^2.0.3", - "progress": "^2.0.0", - "proxy-from-env": "^1.0.0", - "rimraf": "^2.6.1", - "ws": "^5.1.1" - } - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "optional": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" - }, - "random-bytes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", - "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" - }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" - } - } - }, - "randombytes": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" - }, - "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" - } - }, - "react": { - "version": "16.6.3", - "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz", - "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.11.2" - } - }, - "react-dom": { - "version": "16.6.3", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.6.3.tgz", - "integrity": "sha512-8ugJWRCWLGXy+7PmNh8WJz3g1TaTUt1XyoIcFN+x0Zbkoz+KKdUyx1AQLYJdbFXjuF41Nmjn5+j//rxvhFjgSQ==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.11.2" - } - }, - "react-is": { - "version": "16.6.3", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.6.3.tgz", - "integrity": "sha512-u7FDWtthB4rWibG/+mFbVd5FvdI20yde86qKGx4lVUTWmPlSWQ4QxbBIrrs+HnXGbxOUlUzTAP/VDmvCwaP2yA==" - }, - "react-redux": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-6.0.0.tgz", - "integrity": "sha512-EmbC3uLl60pw2VqSSkj6HpZ6jTk12RMrwXMBdYtM6niq0MdEaRq9KYCwpJflkOZj349BLGQm1MI/JO1W96kLWQ==", - "requires": { - "@babel/runtime": "^7.2.0", - "hoist-non-react-statics": "^3.2.1", - "invariant": "^2.2.4", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.3" - }, - "dependencies": { - "hoist-non-react-statics": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz", - "integrity": "sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==", - "requires": { - "react-is": "^16.3.2" - } - } - } - }, - "react-router": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.3.1.tgz", - "integrity": "sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==", - "requires": { - "history": "^4.7.2", - "hoist-non-react-statics": "^2.5.0", - "invariant": "^2.2.4", - "loose-envify": "^1.3.1", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.1", - "warning": "^4.0.1" - } - }, - "react-router-dom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.3.1.tgz", - "integrity": "sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==", - "requires": { - "history": "^4.7.2", - "invariant": "^2.2.4", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.1", - "react-router": "^4.3.1", - "warning": "^4.0.1" - } - }, - "react-viewerbase": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/react-viewerbase/-/react-viewerbase-0.1.2.tgz", - "integrity": "sha512-ibhnYNe6eVavzZGPN9s/gzRJ7cnkYz8nGMesjH6nigVDdkYgQTCnHzC1laJRFQBgeoNlsd9uKPyvOwjD9ftVuA==", - "requires": { - "classnames": "^2.2.6" - } - }, - "read-only-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", - "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", - "requires": { - "readable-stream": "^2.0.2" - } - }, - "read-pkg": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", - "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=", - "dev": true, - "requires": { - "normalize-package-data": "^2.3.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0" - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "redux": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.1.tgz", - "integrity": "sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg==", - "requires": { - "loose-envify": "^1.4.0", - "symbol-observable": "^1.2.0" - } - }, - "regenerator-runtime": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", - "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "requires": { - "is-equal-shallow": "^0.1.3" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "requires": { - "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.0", - "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.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "request-promise-core": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", - "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", - "optional": true, - "requires": { - "lodash": "^4.13.1" - } - }, - "request-promise-native": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz", - "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=", - "optional": true, - "requires": { - "request-promise-core": "1.1.1", - "stealthy-require": "^1.1.0", - "tough-cookie": ">=2.3.3" - } - }, - "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "requires": { - "path-parse": "^1.0.5" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-pathname": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.2.0.tgz", - "integrity": "sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg==" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "rijs": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/rijs/-/rijs-0.9.1.tgz", - "integrity": "sha512-Hl5yWFZUdVePXIOHRrFXGxQZ2+fzWucqqx/aQjkE0PxbmNyOY0WA/SWdDA1eKeqb7lh2a0vcchR9mZLiQ9rHFQ==", - "requires": { - "rijs.components": "*", - "rijs.core": "*", - "rijs.css": "*", - "rijs.data": "*", - "rijs.fn": "*", - "rijs.pages": "*", - "rijs.resdir": "*", - "rijs.serve": "*", - "rijs.sessions": "*", - "rijs.singleton": "*", - "rijs.sync": "*", - "utilise": "*" - } - }, - "rijs.components": { - "version": "3.1.16", - "resolved": "https://registry.npmjs.org/rijs.components/-/rijs.components-3.1.16.tgz", - "integrity": "sha512-7TneWZIILv20erfzKtU1xnwtFSxiB+/9rwdS/3WGkugUbaXZF811kNfvaOlE4+BEj08CV8o0Dkasih3p4NV/dw==", - "requires": { - "@compone/define": "^1.2.4", - "utilise": "^2.3.5" - } - }, - "rijs.core": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/rijs.core/-/rijs.core-1.2.6.tgz", - "integrity": "sha512-bB/tay726eZomQe91ciIuSGM1zDNyIuOkKdg6jRvYOGR8N30x5qHoADVgCEJgpgqlsPjmuBq6qPsJ3Pw4Nv6Uw==", - "requires": { - "colors": "^1.1.0", - "utilise": "^2.3.5" - } - }, - "rijs.css": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/rijs.css/-/rijs.css-1.2.4.tgz", - "integrity": "sha512-2VKq0iWFki9gZMntUCoOCJVxn/o7tOZu7L0MzD7srPKiynaTsk8A7PjTwFmds1vdJ995v8adg3ax0eS5i+Jbow==", - "requires": { - "djbx": "^1.0.3", - "utilise": "^2.3.3" - } - }, - "rijs.data": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/rijs.data/-/rijs.data-2.2.4.tgz", - "integrity": "sha512-zvR1GzRzcqZOeD7K+YVV7MmvLeLFbrLsrkxkEW570WiLQsnjTaZ6hLnftXlHLnPMWMIrGfs8gh6BJLWY3XcjXA==", - "requires": { - "utilise": "^2.3.5" - } - }, - "rijs.fn": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/rijs.fn/-/rijs.fn-1.2.6.tgz", - "integrity": "sha512-v/xM7OOzS8HXqGA0y9ey/D0YOyAjiujKJT17/4U0CqViVhMi+0AsJCSuJqSMS4CkzLpy3CqdgKkRD6hnet3i+w==", - "requires": { - "browser-resolve": "^1.11.2", - "utilise": "^2.3.5" - } - }, - "rijs.npm": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/rijs.npm/-/rijs.npm-2.0.0.tgz", - "integrity": "sha512-xRg5+MH0H5fDe9aMi68xZHq3E6AH1+fouGIJ+a7uFoirnbYdP9YqMK3QYFnvslF0Is08Rhx/R9P/7vwpI1N4rg==", - "requires": { - "browser-resolve": "^1.11.2", - "browserify": "^14.5.0", - "find-package-json": "^1.0.0", - "utilise": "*" - }, - "dependencies": { - "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "requires": { - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - }, - "util": { - "version": "0.10.3", - "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" - }, - "browserify": { - "version": "14.5.0", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-14.5.0.tgz", - "integrity": "sha512-gKfOsNQv/toWz+60nSPfYzuwSEdzvV2WdxrVPUbPD/qui44rAkB3t3muNtmmGYHqrG56FGwX9SUEQmzNLAeS7g==", - "requires": { - "JSONStream": "^1.0.3", - "assert": "^1.4.0", - "browser-pack": "^6.0.1", - "browser-resolve": "^1.11.0", - "browserify-zlib": "~0.2.0", - "buffer": "^5.0.2", - "cached-path-relative": "^1.0.0", - "concat-stream": "~1.5.1", - "console-browserify": "^1.1.0", - "constants-browserify": "~1.0.0", - "crypto-browserify": "^3.0.0", - "defined": "^1.0.0", - "deps-sort": "^2.0.0", - "domain-browser": "~1.1.0", - "duplexer2": "~0.1.2", - "events": "~1.1.0", - "glob": "^7.1.0", - "has": "^1.0.0", - "htmlescape": "^1.1.0", - "https-browserify": "^1.0.0", - "inherits": "~2.0.1", - "insert-module-globals": "^7.0.0", - "labeled-stream-splicer": "^2.0.0", - "module-deps": "^4.0.8", - "os-browserify": "~0.3.0", - "parents": "^1.0.1", - "path-browserify": "~0.0.0", - "process": "~0.11.0", - "punycode": "^1.3.2", - "querystring-es3": "~0.2.0", - "read-only-stream": "^2.0.0", - "readable-stream": "^2.0.2", - "resolve": "^1.1.4", - "shasum": "^1.0.0", - "shell-quote": "^1.6.1", - "stream-browserify": "^2.0.0", - "stream-http": "^2.0.0", - "string_decoder": "~1.0.0", - "subarg": "^1.0.0", - "syntax-error": "^1.1.1", - "through2": "^2.0.0", - "timers-browserify": "^1.0.1", - "tty-browserify": "~0.0.0", - "url": "~0.11.0", - "util": "~0.10.1", - "vm-browserify": "~0.0.1", - "xtend": "^4.0.0" - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "requires": { - "pako": "~1.0.5" - } - }, - "buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "concat-stream": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", - "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", - "requires": { - "inherits": "~2.0.1", - "readable-stream": "~2.0.0", - "typedarray": "~0.0.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" - }, - "pako": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.7.tgz", - "integrity": "sha512-3HNK5tW4x8o5mO8RuHZp3Ydw9icZXx0RANAOMzlMzx7LVXhMJ4mo3MOBpzyd7r/+RUu8BmndP47LXT+vzjtWcQ==" - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "rijs.pages": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rijs.pages/-/rijs.pages-1.3.0.tgz", - "integrity": "sha512-230MZ7oyDVPoTBQSHuA3vqawikFgRtvoVRaRq7utWPpbo7NpDO7TaOsJmzM66WPypMXStH5ijyFADXwrqYJvdg==", - "requires": { - "compression": "^1.6.2", - "express": "^4.16.2", - "serve-static": "^1.13.1", - "utilise": "*" - } - }, - "rijs.resdir": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/rijs.resdir/-/rijs.resdir-1.4.4.tgz", - "integrity": "sha512-l31HSXq13Rqaxr5wfY4d2MBFdTwmgG1A/FxGNrBc31E2WgBe4Hj86LhnRQage4SN8RjVZnf1JWWakbS7BVfoBw==", - "requires": { - "chokidar": "^1.0.5", - "glob": "^7.1.2", - "minimist": "^1.2.0", - "utilise": "^2.3.5" - }, - "dependencies": { - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "requires": { - "is-extglob": "^1.0.0" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "^1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "rijs.serve": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/rijs.serve/-/rijs.serve-1.1.1.tgz", - "integrity": "sha512-BZ4tNnMakHvfv0pLVLm1xtN7fncAnux5n57A1RsFOma1Y2wexM/ww8BHwQrsCkSYP+3ujfljthyb1J3HJGwXpA==", - "requires": { - "compression": "^1.7.2", - "express": "^4.16.3", - "utilise": "^2.3.5" - } - }, - "rijs.sessions": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/rijs.sessions/-/rijs.sessions-1.1.2.tgz", - "integrity": "sha512-vj9iV8ov5awAnDy5x28FEezafbMClO/1JhnBIIsQg9DQ5vQBysPlwyiSHtNelXmE9gFbaxnsPD1/mUc3hm3FsQ==", - "requires": { - "cookie-parser": "^1.3.5", - "express-session": "^1.15.3", - "utilise": "*" - } - }, - "rijs.singleton": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rijs.singleton/-/rijs.singleton-1.0.0.tgz", - "integrity": "sha512-QeVEkimxkU0v06NnMYkKsj7R2AzFewG2FH1wMuUtO88n7gY7C/zdbFkNbYeWxqL+tuK+eLYWGFuoburTNM7rXQ==", - "requires": { - "utilise": "*" - } - }, - "rijs.sync": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/rijs.sync/-/rijs.sync-2.3.5.tgz", - "integrity": "sha512-tcbhmjLyWb+2s2gdiSmROEoD/OQPFeKC9xBnKgs0H+umY8CaVrVPGFdr1y1qovm7HxUbdk/BKqi94GQDc5XB3A==", - "requires": { - "buble": "github:pemrouz/buble#4e639aeeb64712ac95dc30a52750d1ee4432c9c8", - "express": "^4.14.0", - "lru_map": "^0.3.3", - "platform": "^1.3.4", - "utilise": "^2.3.5", - "xrs": "^1.2.2" - }, - "dependencies": { - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "buble": { - "version": "github:pemrouz/buble#4e639aeeb64712ac95dc30a52750d1ee4432c9c8", - "from": "github:pemrouz/buble", - "requires": { - "acorn": "^5.1.2", - "acorn-jsx": "^3.0.1", - "acorn5-object-spread": "^4.0.0", - "chalk": "^2.1.0", - "magic-string": "^0.22.4", - "minimist": "^1.2.0", - "os-homedir": "^1.0.1", - "vlq": "^0.2.2" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "magic-string": { - "version": "0.22.5", - "resolved": "http://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", - "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", - "requires": { - "vlq": "^0.2.2" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, - "requires": { - "glob": "^7.0.5" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "run-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz", - "integrity": "sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "scheduler": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.2.tgz", - "integrity": "sha512-+WCP3s3wOaW4S7C1tl3TEXp4l9lJn0ZK8G3W3WKRWmw77Z2cIFUW2MiNTMHn5sCjxN+t7N43HAOOgMjyAg5hlg==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", - "dev": true - }, - "semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true - }, - "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", - "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.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" - } - } - }, - "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" - } - }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "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.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shasum": { - "version": "1.0.2", - "resolved": "http://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", - "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", - "requires": { - "json-stable-stringify": "~0.0.0", - "sha.js": "~2.4.4" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/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.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shell-quote": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", - "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", - "requires": { - "array-filter": "~0.0.0", - "array-map": "~0.0.0", - "array-reduce": "~0.0.0", - "jsonify": "~0.0.0" - } - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "simple-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", - "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "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": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "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.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", - "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "sshpk": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", - "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", - "requires": { - "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" - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "optional": true - }, - "stream-browserify": { - "version": "2.0.1", - "resolved": "http://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "requires": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "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-splicer": { - "version": "2.0.0", - "resolved": "http://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz", - "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "subarg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", - "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", - "requires": { - "minimist": "^1.1.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - }, - "syntax-error": { - "version": "1.4.0", - "resolved": "http://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", - "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", - "requires": { - "acorn-node": "^1.2.0" - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "through": { - "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "timers-browserify": { - "version": "1.4.2", - "resolved": "http://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", - "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", - "requires": { - "process": "~0.11.0" - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "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": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "touch": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/touch/-/touch-0.0.3.tgz", - "integrity": "sha1-Ua7z1ElXHU8oel2Hyci0kYGg2x0=", - "optional": true, - "requires": { - "nopt": "~1.0.10" - }, - "dependencies": { - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "optional": true, - "requires": { - "abbrev": "1" - } - } - } - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - } - }, - "traverse": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", - "optional": true - }, - "tty-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", - "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - }, - "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.18" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "uid-safe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", - "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", - "requires": { - "random-bytes": "~1.0.0" - } - }, - "umd": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", - "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==" - }, - "undeclared-identifiers": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.2.tgz", - "integrity": "sha512-13EaeocO4edF/3JKime9rD7oB6QI8llAGhgn5fKOPyfkJbRb6NFv9pYV6dFEmpa4uRjKeBqLZP8GpuzqHlKDMQ==", - "requires": { - "acorn-node": "^1.3.0", - "get-assigned-identifiers": "^1.2.0", - "simple-concat": "^1.0.0", - "xtend": "^4.0.1" - } - }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" - }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==" - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - } - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "requires": { - "inherits": "2.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utilise": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/utilise/-/utilise-2.3.8.tgz", - "integrity": "sha512-scuRvOkBODMEvS87Uz0Pe3f737JSszUAgB9pHHOHaHroA0MfFC+STXBIDT3x/uMQx/9sbREJnHUhs9xfRPT+gg==", - "requires": { - "colors": "^1.2.3", - "through": "^2.3.8" - } - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" - }, - "uws": { - "version": "9.148.0", - "resolved": "https://registry.npmjs.org/uws/-/uws-9.148.0.tgz", - "integrity": "sha512-vWt+e8dOdwLM4neb1xIeZuQ7ZUN3l7n0qTKrOUtU1EZrV4BpmrSnsEL30d062/ocqRMGtLpwzVFsLKFgXomA9g==" - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "value-equal": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-0.4.0.tgz", - "integrity": "sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw==" - }, - "vargs": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz", - "integrity": "sha1-a2GE2mUgzDIEzhtAfKwm2SYJ6/8=" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vlq": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" - }, - "vm-browserify": { - "version": "0.0.4", - "resolved": "http://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "requires": { - "indexof": "0.0.1" - } - }, - "warning": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.2.tgz", - "integrity": "sha512-wbTp09q/9C+jJn4KKJfJfoS6VleK/Dti0yqWSm6KMvJ4MRCXFQNapHuJXutJIrWV0Cf4AhTdeIe4qdKHR1+Hug==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "wd": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/wd/-/wd-1.11.1.tgz", - "integrity": "sha512-XNK6EbOrXF7cG8f3pbps6mb/+xPGZH2r1AL1zGJluGynA/Xt6ip1Tvqj2AkavyDFworreaGXoe+0AP/r7EX9pg==", - "requires": { - "archiver": "2.1.1", - "async": "2.0.1", - "lodash": "4.17.11", - "mkdirp": "^0.5.1", - "q": "1.4.1", - "request": "2.88.0", - "vargs": "0.1.0" - }, - "dependencies": { - "q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=" - } - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "xrs": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/xrs/-/xrs-1.2.2.tgz", - "integrity": "sha512-pLmxYQnG3Qm0xtZZMFr7W7ls9DYNtNe9D5KLQpniu3DeoHDMkFXrjo8OjCEyhQ3Pf4Jr/pYFDhuMrQVTfEqEOw==", - "requires": { - "colors": "^1.2.1", - "express": "^4.15.4", - "nanosocket": "*", - "utilise": "^2.3.5", - "uws": "^9.148.0" - } - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", - "dev": true, - "requires": { - "fd-slicer": "~1.0.1" - } - }, - "zip-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", - "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", - "requires": { - "archiver-utils": "^1.3.0", - "compress-commons": "^1.2.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0" - } - } - } -} diff --git a/OHIFViewer/package.json b/OHIFViewer/package.json deleted file mode 100644 index 4bcc4a4da..000000000 --- a/OHIFViewer/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "ohifviewer", - "version": "1.0.0", - "description": "", - "main": "index.js", - "dependencies": { - "@babel/runtime": "^7.2.0", - "bootstrap": "^4.1.3", - "jquery": "3.3.1", - "lodash.clonedeep": "^4.5.0", - "lodash.debounce": "^4.0.8", - "loglevel": "^1.6.1", - "popper": "^1.0.1", - "prop-types": "^15.6.2", - "react": "^16.6.3", - "react-dom": "^16.6.3", - "react-redux": "^6.0.0", - "react-router-dom": "^4.3.1", - "react-viewerbase": "^0.1.2", - "redux": "^4.0.1", - "underscore": "1.9.1" - }, - "devDependencies": { - "husky": "^1.2.0", - "puppeteer": "^1.5.0" - }, - "scripts": { - "version": "node -p -e \"'export default \\'' + require('./package.json').version + '\\';'\" > client/version.js", - "sha": "echo \"export default '\"$(git rev-parse HEAD)\"';\" > client/sha.js", - "details": "npm run version && npm run sha", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "MIT" -} diff --git a/OHIFViewer/public/images/logo.png b/OHIFViewer/public/images/logo.png deleted file mode 100644 index fc83b1354..000000000 Binary files a/OHIFViewer/public/images/logo.png and /dev/null differ diff --git a/Packages-react/extensions/ohif-dicom-html-extension/yalc.lock b/Packages-react/extensions/ohif-dicom-html-extension/yalc.lock deleted file mode 100644 index 21b9ada43..000000000 --- a/Packages-react/extensions/ohif-dicom-html-extension/yalc.lock +++ /dev/null @@ -1,4 +0,0 @@ -{ - "version": "v1", - "packages": {} -} \ No newline at end of file diff --git a/Packages-react/ohif-core b/Packages-react/ohif-core deleted file mode 160000 index a728166da..000000000 --- a/Packages-react/ohif-core +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a728166da104670b9d62ba4cd8ec4eef645ff29e diff --git a/Packages-react/ohif-viewer/.gitignore b/Packages-react/ohif-viewer/.gitignore deleted file mode 100644 index fb8808a89..000000000 --- a/Packages-react/ohif-viewer/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -build -dist -node_modules -yarn.lock -yarn-error.log -src/sha.js -src/version.js - -.yalc -yalc.lock \ No newline at end of file diff --git a/Packages-react/ohif-viewer/LICENSE b/Packages-react/ohif-viewer/LICENSE deleted file mode 100644 index 19e20dd35..000000000 --- a/Packages-react/ohif-viewer/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018 Open Health Imaging Foundation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/Packages-react/ohif-viewer/dockerfile b/Packages-react/ohif-viewer/dockerfile deleted file mode 100644 index 958e6277f..000000000 --- a/Packages-react/ohif-viewer/dockerfile +++ /dev/null @@ -1,29 +0,0 @@ -# Stage 1: Build the application -# docker build -t ohif/viewer:latest . -FROM node:11.2.0-slim as builder - -RUN apt-get update && apt-get install -y git yarn -RUN mkdir /usr/src/app - -WORKDIR /usr/src/app - -ENV PATH /usr/src/app/node_modules/.bin:$PATH -COPY package.json /usr/src/app/package.json -COPY yarn.lock /usr/src/app/yarn.lock - -ADD . /usr/src/app/ -RUN yarn install -RUN yarn run build -WORKDIR example -RUN yarn install -RUN yarn run prepare -ADD example /usr/src/app/build - -# Stage 2: Bundle the built application into a Docker container -# which runs Nginx using Alpine Linux -FROM nginx:1.15.5-alpine -RUN rm -rf /etc/nginx/conf.d -COPY conf /etc/nginx -COPY --from=builder /usr/src/app/build /usr/share/nginx/html -EXPOSE 80 -CMD ["nginx", "-g", "daemon off;"] diff --git a/Packages-react/ohif-viewer/example/.gitignore b/Packages-react/ohif-viewer/example/.gitignore deleted file mode 100644 index 0f9a70ae6..000000000 --- a/Packages-react/ohif-viewer/example/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -yarn.lock -yarn-error.log -deps \ No newline at end of file diff --git a/Packages-react/ohif-viewer/example/index.css b/Packages-react/ohif-viewer/example/index.css deleted file mode 100644 index b4cc7250b..000000000 --- a/Packages-react/ohif-viewer/example/index.css +++ /dev/null @@ -1,5 +0,0 @@ -body { - margin: 0; - padding: 0; - font-family: sans-serif; -} diff --git a/Packages-react/ohif-viewer/example/index.html b/Packages-react/ohif-viewer/example/index.html deleted file mode 100644 index 8a1b52ef9..000000000 --- a/Packages-react/ohif-viewer/example/index.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - OHIF Standalone Viewer - - - - - - -
- - - - - - - - - - - - - - - - - diff --git a/Packages-react/ohif-viewer/example/manifest.json b/Packages-react/ohif-viewer/example/manifest.json deleted file mode 100644 index 6881ab25b..000000000 --- a/Packages-react/ohif-viewer/example/manifest.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "short_name": "ohif-standalone-viewer-example", - "name": "ohif-standalone-viewer-example", - "start_url": "./index.html", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/Packages-react/ohif-viewer/example/package.json b/Packages-react/ohif-viewer/example/package.json deleted file mode 100644 index a58606f79..000000000 --- a/Packages-react/ohif-viewer/example/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "ohif-viewer-example", - "version": "0.0.0", - "license": "MIT", - "private": true, - "dependencies": { - "ohif-viewer": "link:../", - "serve": "^10.1.1" - }, - "scripts": { - "prepare": "mkdir -p deps && cp node_modules/ohif-viewer/dist/index.umd.* deps/", - "start": "yarn run prepare && serve -s ." - } -} diff --git a/Packages-react/ohif-viewer/package.json b/Packages-react/ohif-viewer/package.json deleted file mode 100644 index 3cdd01e1c..000000000 --- a/Packages-react/ohif-viewer/package.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "name": "ohif-viewer", - "version": "0.0.20", - "description": "OHIF Viewer", - "author": "OHIF Contributors", - "license": "MIT", - "repository": "OHIF/Viewers", - "main": "dist/index.umd.js", - "browser": "dist/index.umd.js", - "module": "dist/index.es.js", - "jsnext:main": "dist/index.es.js", - "homepage": "http://localhost:5000", - "engines": { - "node": ">=8", - "npm": ">=5" - }, - "scripts": { - "build": "node --max-old-space-size=8192 node_modules/rollup/bin/rollup -c", - "prepublishOnly": "npm run build", - "lint": "eslint -c .eslintrc --fix src && prettier --single-quote --write src/**/*.{js,jsx,json,css}", - "prepare": "npm run build", - "predeploy": "cd example && npm install && npm run build", - "deploy": "gh-pages -d example/build", - "generateStaticSite": "./generateStaticSite.sh", - "test:watch": "react-scripts test --env=jsdom", - "test": "cross-env CI=1 react-scripts test --env=jsdom", - "copy:webworkers": "cp node_modules/cornerstone-wado-image-loader/dist/*.min.js* public", - "version": "node -p -e \"'export default \\'' + require('./package.json').version + '\\';'\" > src/version.js", - "sha": "echo \"export default '\"$(git rev-parse HEAD)\"';\" > src/sha.js", - "details": "npm run version && npm run sha", - "prep": "npm run details && npm run copy:webworkers", - "start": "npm run prep && cross-env PORT=5000 react-scripts start", - "start:debug": "cross-env PORT=5000 react-scripts start" - }, - "peerDependencies": { - "react": "^15.0.0 || ^16.0.0", - "react-dom": "^15.0.0 || ^16.0.0" - }, - "devDependencies": { - "@babel/core": "^7.2.2", - "@babel/plugin-external-helpers": "^7.2.0", - "@babel/plugin-proposal-class-properties": "^7.2.3", - "@babel/plugin-transform-runtime": "^7.2.0", - "@babel/preset-env": "^7.2.3", - "@babel/preset-react": "^7.0.0", - "@svgr/rollup": "^4.1.0", - "babel-eslint": "^9.0.0", - "cross-env": "^5.2.0", - "eslint": "5.12.0", - "eslint-plugin-import": "^2.14.0", - "eslint-plugin-node": "^8.0.0", - "eslint-plugin-promise": "^4.0.1", - "eslint-plugin-react": "^7.11.1", - "gh-pages": "^2.0.1", - "husky": "^1.3.1", - "lint-staged": "^8.1.0", - "lodash.clonedeep": "^4.5.0", - "prettier": "^1.15.3", - "react": "^16.7.0", - "react-dom": "^16.7.0", - "react-scripts": "^2.1.5", - "rollup": "^1.1.2", - "rollup-plugin-babel": "^4.2.0", - "rollup-plugin-commonjs": "^9.2.0", - "rollup-plugin-json": "^3.1.0", - "rollup-plugin-node-builtins": "^2.1.2", - "rollup-plugin-node-resolve": "^4.0.0", - "rollup-plugin-peer-deps-external": "^2.2.0", - "rollup-plugin-postcss": "^2.0.3", - "rollup-plugin-url": "^2.1.0", - "stylelint": "^9.9.0", - "stylelint-config-recommended": "^2.1.0", - "stylus": "^0.54.5" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - }, - "lint-staged": { - "src/**/*.{js,jsx,json,css}": [ - "prettier --single-quote --write", - "git add" - ] - }, - "browserslist": [ - ">0.2%", - "not dead", - "not ie <= 11", - "not op_mini all" - ], - "files": [ - "dist" - ], - "dependencies": { - "@babel/polyfill": "^7.2.5", - "@babel/runtime": "^7.2.0", - "classnames": "^2.2.6", - "cornerstone-core": "^2.2.8", - "cornerstone-math": "^0.1.8", - "cornerstone-tools": "^3.2.4", - "cornerstone-wado-image-loader": "^2.2.3", - "dcmjs": "^0.3.8", - "dicom-parser": "^1.8.3", - "dicomweb-client": "^0.4.2", - "hammerjs": "^2.0.8", - "lodash.isequal": "^4.5.0", - "moment": "^2.24.0", - "ohif-core": "^0.3.5", - "ohif-cornerstone-extension": "^0.0.26", - "ohif-dicom-html-extension": "^0.0.2", - "ohif-dicom-microscopy-extension": "^0.0.5", - "ohif-dicom-pdf-extension": "^0.0.6", - "ohif-vtk-extension": "^0.0.1", - "oidc-client": "^1.6.1", - "prop-types": "^15.6.2", - "react-bootstrap-modal": "^4.2.0", - "react-dnd": "^7.0.2", - "react-dnd-html5-backend": "^7.0.2", - "react-redux": "^6.0.0", - "react-resize-detector": "^3.4.0", - "react-router": "^4.3.1", - "react-router-dom": "^4.3.1", - "react-viewerbase": "0.2.17", - "react-vtkjs-viewport": "^0.0.7", - "redux": "^4.0.1", - "redux-oidc": "^3.1.0" - } -} diff --git a/Packages-react/ohif-viewer/public/cornerstoneWADOImageLoader.min.js b/Packages-react/ohif-viewer/public/cornerstoneWADOImageLoader.min.js deleted file mode 100644 index 3551f40be..000000000 --- a/Packages-react/ohif-viewer/public/cornerstoneWADOImageLoader.min.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! cornerstone-wado-image-loader - 2.2.2 - 2018-12-05 | (c) 2016 Chris Hafey | https://github.com/cornerstonejs/cornerstoneWADOImageLoader */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("cornerstoneWADOImageLoader",[],t):"object"==typeof exports?exports.cornerstoneWADOImageLoader=t():e.cornerstoneWADOImageLoader=t()}(this,function(){return function(r){var a={};function n(e){if(a[e])return a[e].exports;var t=a[e]={i:e,l:!1,exports:{}};return r[e].call(t.exports,t,t.exports,n),t.l=!0,t.exports}return n.m=r,n.c=a,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)n.d(r,a,function(e){return t[e]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=6)}([function(e,t,r){"use strict";t.a=function(e){for(var t,r=e[0],a=e[0],n=e.length,o=1;o>8&255}else 8===e.bitsAllocated&&(e.pixelData=t);var i;return e};var d=function(e,t){if(8===e.bitsAllocated)return e.planarConfiguration?function(e,t){for(var r=t,a=e.rows*e.columns,n=new ArrayBuffer(a*e.samplesPerPixel),o=new DataView(r.buffer,r.byteOffset),i=new Int8Array(r.buffer,r.byteOffset),l=new Int8Array(n),s=0,u=o.getInt32(0,!0),c=0;c>l;var u=(new Date).getTime();return e.decodeTimeInMS=u-o,e}},function(e,t,r){"use strict";r.r(t);var a=function(e,t){if(void 0===e)throw new Error("decodeRGB: rgbBuffer must not be undefined");if(e.length%3!=0)throw new Error("decodeRGB: rgbBuffer length must be divisible by 3");for(var r=e.length/3,a=0,n=0,o=0;o>t;return a}var l=function(e,t){for(var r=e.columns*e.rows,a=e.pixelData,n=e.redPaletteColorLookupTableData,o=e.greenPaletteColorLookupTableData,i=e.bluePaletteColorLookupTableData,l=e.redPaletteColorLookupTableData.length,s=0,u=0,c=e.redPaletteColorLookupTableDescriptor[1],f=8===e.redPaletteColorLookupTableDescriptor[2]?0:8,d=x(n,f),p=x(o,f),m=x(i,f),g=0;gt.length)return!1;for(var a=r,n=0;n=E.maxWebWorkers)){var e=new Worker(E.webWorkerPath);R.push({worker:e,status:"initializing"}),e.addEventListener("message",F),e.postMessage({taskType:"initialize",workerIndex:R.length-1,config:E})}}function G(e){if(e=e||W,E)throw new Error("WebWorkerManager already initialized");if((E=e).maxWebWorkers=E.maxWebWorkers||navigator.hardwareConcurrency||1,!E.startWebWorkersOnDemand)for(var t=0;t=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,r,u)}if(16===n){if((r=s+t*u*2)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,r,2*u)}if(1===n){if((r=s+t*u*.125)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return Pe(e.byteArray,r,u)}if(32!==n)throw new Error("unsupported pixel format");if((r=s+t*u*4)>=e.byteArray.length)throw new Error("frame exceeds size of pixelData");return new Uint8Array(e.byteArray.buffer,r,4*u)};var Ie=function(e){var t=de(e),r=parseInt(t.url,10),a=be.get(r);return new Promise(function(r,e){var t=new FileReader;t.onload=function(e){var t=e.target.result;r(t)},t.onerror=e,t.readAsArrayBuffer(a)})};var Te=function(e){var t=11){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?function(x){dump(x)}:function(x){}}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=function(title){document.title=title}}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=function(){}}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:function(value){tempRet0=value},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(stackTop){STACKTOP=stackTop},getNativeTypeSize:function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}},getNativeFieldSize:function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr},getAlignSize:function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)},dynCall:function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}},functionPointers:[],addFunction:function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret},alignMemory:function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret},makeBigInt:function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret},stringToC:function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret}};var toC={string:JSfuncs["stringToC"],array:JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||4e8;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32};Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;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["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+59744;__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_jpegls_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});allocate([0,0,0,0,0,0,0,0,84,144,0,0,31,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,237,191,0,0,48,0,0,0,0,0,0,0,44,144,0,0,41,192,0,0,84,144,0,0,55,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,115,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,192,0,0,152,3,0,0,0,0,0,0,84,144,0,0,241,192,0,0,216,3,0,0,0,0,0,0,84,144,0,0,55,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,95,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,135,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,216,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,241,193,0,0,48,0,0,0,0,0,0,0,44,144,0,0,13,194,0,0,84,144,0,0,80,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,44,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,139,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,179,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,219,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,3,195,0,0,48,0,0,0,0,0,0,0,84,144,0,0,103,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,157,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,211,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,8,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,71,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,138,196,0,0,160,1,0,0,0,0,0,0,44,144,0,0,120,196,0,0,84,144,0,0,187,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,246,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,49,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,103,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,157,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,210,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,17,198,0,0,160,1,0,0,0,0,0,0,84,144,0,0,86,198,0,0,72,3,0,0,0,0,0,0,84,144,0,0,162,198,0,0,56,2,0,0,0,0,0,0,44,144,0,0,182,198,0,0,84,144,0,0,196,198,0,0,56,2,0,0,0,0,0,0,84,144,0,0,112,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,125,199,0,0,84,144,0,0,138,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,156,199,0,0,84,144,0,0,169,199,0,0,96,2,0,0,0,0,0,0,84,144,0,0,181,199,0,0,120,2,0,0,0,0,0,0,84,144,0,0,214,199,0,0,144,2,0,0,0,0,0,0,84,144,0,0,28,200,0,0,144,2,0,0,0,0,0,0,84,144,0,0,248,199,0,0,176,2,0,0,0,0,0,0,84,144,0,0,62,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,99,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,182,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,245,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,13,222,0,0,152,3,0,0,0,0,0,0,84,144,0,0,38,222,0,0,152,3,0,0,0,0,0,0,44,144,0,0,62,222,0,0,84,144,0,0,87,222,0,0,104,2,0,0,0,0,0,0,44,144,0,0,110,222,0,0,84,144,0,0,135,222,0,0,72,3,0,0,0,0,0,0,84,144,0,0,161,222,0,0,56,3,0,0,0,0,0,0,44,144,0,0,187,222,0,0,84,144,0,0,205,222,0,0,112,3,0,0,0,0,0,0,84,144,0,0,247,222,0,0,112,3,0,0,0,0,0,0,44,144,0,0,33,223,0,0,44,144,0,0,82,223,0,0,124,144,0,0,131,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,178,223,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,124,144,0,0,225,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,16,224,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,84,144,0,0,63,224,0,0,80,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,144,0,0,187,224,0,0,48,3,0,0,0,0,0,0,124,144,0,0,209,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,124,144,0,0,227,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,5,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,40,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,75,225,0,0,144,4,0,0,0,0,0,0,84,144,0,0,109,225,0,0,144,4,0,0,0,0,0,0,124,144,0,0,144,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,178,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,200,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,220,225,0,0,32,4,0,0,0,0,0,0,124,144,0,0,240,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,84,144,0,0,2,226,0,0,32,4,0,0,0,0,0,0,84,144,0,0,23,226,0,0,32,4,0,0,0,0,0,0,124,144,0,0,44,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,80,10,0,0,0,0,0,0,124,144,0,0,112,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,104,10,0,0,0,0,0,0,124,144,0,0,180,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,128,10,0,0,0,0,0,0,124,144,0,0,248,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,152,10,0,0,0,0,0,0,124,144,0,0,60,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,184,10,0,0,0,8,0,0,124,144,0,0,129,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,192,10,0,0,0,8,0,0,124,144,0,0,198,227,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,11,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,80,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,108,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,136,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,164,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,192,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,216,10,0,0,0,0,0,0,124,144,0,0,6,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,224,10,0,0,0,0,0,0,124,144,0,0,76,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,232,10,0,0,0,0,0,0,124,144,0,0,146,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,240,10,0,0,0,0,0,0,124,144,0,0,216,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,124,144,0,0,237,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,144,0,0,73,233,0,0,44,144,0,0,50,233,0,0,124,144,0,0,28,233,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,237,232,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,215,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,124,144,0,0,168,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,44,144,0,0,149,232,0,0,44,144,0,0,115,232,0,0,44,144,0,0,81,232,0,0,44,144,0,0,60,232,0,0,44,144,0,0,39,232,0,0,44,144,0,0,14,232,0,0,44,144,0,0,245,231,0,0,44,144,0,0,220,231,0,0,44,144,0,0,195,231,0,0,44,144,0,0,171,231,0,0,44,144,0,0,190,232,0,0,44,144,0,0,3,233],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([156,143,0,0,0,0,0,0,8,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,248,1,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,1,0,0,5,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,7,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,9,0,0,0,10,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,184,1,0,0,11,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,13,0,0,0,14,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,144,1,0,0,15,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,128,1,0,0,17,0,0,0,18,0,0,0,9,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,112,1,0,0,19,0,0,0,20,0,0,0,10,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,96,1,0,0,21,0,0,0,22,0,0,0,11,0,0,0,3,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,23,0,0,0,24,0,0,0,12,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,64,1,0,0,25,0,0,0,26,0,0,0,13,0,0,0,5,0,0,0,13,0,0,0,0,0,0,0,240,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,6,0,0,0,14,0,0,0,0,0,0,0,224,0,0,0,29,0,0,0,30,0,0,0,15,0,0,0,7,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,31,0,0,0,32,0,0,0,16,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,200,0,0,0,33,0,0,0,34,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,56,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,200,255,255,255,200,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,56,0,0,0,0,0,0,0,104,0,0,0,40,0,0,0,41,0,0,0,200,255,255,255,200,255,255,255,104,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,88,0,0,0,44,0,0,0,45,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,17,0,0,0,3,0,0,0,18,0,0,0,104,141,0,0,64,141,0,0,84,141,0,0,124,141,0,0,0,0,0,0,32,0,0,0,46,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,56,0,0,0,48,0,0,0,49,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,50,0,0,0,51,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,120,0,0,0,52,0,0,0,53,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,136,0,0,0,54,0,0,0,55,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,152,0,0,0,56,0,0,0,57,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,168,0,0,0,58,0,0,0,59,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,216,0,0,0,60,0,0,0,61,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,62,0,0,0,63,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,16,1,0,0,64,0,0,0,65,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,32,1,0,0,66,0,0,0,67,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,48,1,0,0,68,0,0,0,69,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,160,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,2,0,0,72,0,0,0,73,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,40,2,0,0,74,0,0,0,75,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,76,0,0,0,77,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,80,2,0,0,78,0,0,0,79,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,104,2,0,0,80,0,0,0,81,0,0,0,7,0,0,0,0,0,0,0,128,2,0,0,82,0,0,0,83,0,0,0,8,0,0,0,0,0,0,0,160,2,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,2,0,0,0,9,0,0,0,28,0,0,0,0,0,0,0,208,2,0,0,84,0,0,0,88,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,3,0,0,0,10,0,0,0,29,0,0,0,0,0,0,0,224,2,0,0,84,0,0,0,89,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,4,0,0,0,11,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,1,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,88,146,0,0,200,146,0,0,56,147,0,0,56,147,0,0,120,187,0,0,168,155,0,0,168,149,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,159,219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,9,0,0,0,151,215,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,143,211,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+35640);allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+39844);allocate([240,2,0,0,90,0,0,0,91,0,0,0,20,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,14,0,0,0,20,0,0,0,0,0,0,0,0,3,0,0,90,0,0,0,92,0,0,0,21,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,16,0,0,0,21,0,0,0,15,0,0,0,22,0,0,0,0,0,0,0,16,3,0,0,93,0,0,0,94,0,0,0,22,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,32,3,0,0,93,0,0,0,95,0,0,0,23,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,19,0,0,0,20,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,56,3,0,0,96,0,0,0,97,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,3,0,0,93,0,0,0,98,0,0,0,17,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,160,3,0,0,90,0,0,0,99,0,0,0,24,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,15,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,168,3,0,0,100,0,0,0,101,0,0,0,248,255,255,255,248,255,255,255,168,3,0,0,102,0,0,0,103,0,0,0,8,0,0,0,0,0,0,0,192,3,0,0,104,0,0,0,105,0,0,0,248,255,255,255,248,255,255,255,192,3,0,0,106,0,0,0,107,0,0,0,4,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,252,255,255,255,252,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,4,0,0,0,0,0,0,0,240,3,0,0,108,0,0,0,109,0,0,0,252,255,255,255,252,255,255,255,240,3,0,0,110,0,0,0,111,0,0,0,0,0,0,0,96,3,0,0,112,0,0,0,113,0,0,0,7,0,0,0,0,0,0,0,112,3,0,0,114,0,0,0,115,0,0,0,0,0,0,0,8,4,0,0,72,0,0,0,116,0,0,0,21,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,117,0,0,0,118,0,0,0,119,0,0,0,1,0,0,0,33,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,0,0,120,0,0,0,121,0,0,0,119,0,0,0,2,0,0,0,34,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,5,0,0,124,0,0,0,125,0,0,0,119,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,5,0,0,126,0,0,0,127,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,5,0,0,128,0,0,0,129,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,5,0,0,130,0,0,0,131,0,0,0,119,0,0,0,22,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,224,5,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,132,0,0,0,133,0,0,0,119,0,0,0,30,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,8,6,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,6,0,0,134,0,0,0,135,0,0,0,119,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,6,0,0,136,0,0,0,137,0,0,0,119,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,6,0,0,138,0,0,0,139,0,0,0,119,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,40,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,6,0,0,140,0,0,0,141,0,0,0,119,0,0,0,41,0,0,0,42,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,43,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,6,0,0,142,0,0,0,143,0,0,0,119,0,0,0,44,0,0,0,45,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,6,0,0,144,0,0,0,145,0,0,0,119,0,0,0,47,0,0,0,48,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,49,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,6,0,0,146,0,0,0,147,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,0,0,148,0,0,0,149,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,7,0,0,150,0,0,0,151,0,0,0,119,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,7,0,0,152,0,0,0,153,0,0,0,119,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,0,154,0,0,0,155,0,0,0,119,0,0,0,19,0,0,0,7,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,7,0,0,156,0,0,0,157,0,0,0,119,0,0,0,20,0,0,0,8,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,4,0,0,158,0,0,0,159,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,5,0,0,160,0,0,0,161,0,0,0,119,0,0,0,27,0,0,0,21,0,0,0,28,0,0,0,22,0,0,0,29,0,0,0,9,0,0,0,23,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,4,0,0,162,0,0,0,163,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,50,0,0,0,51,0,0,0,13,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,5,0,0,164,0,0,0,165,0,0,0,119,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,80,5,0,0,166,0,0,0,167,0,0,0,119,0,0,0,55,0,0,0,56,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,0,0,0,0,32,4,0,0,168,0,0,0,169,0,0,0,119,0,0,0,0,0,0,0,48,4,0,0,168,0,0,0,170,0,0,0,119,0,0,0,24,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,30,0,0,0,25,0,0,0,31,0,0,0,26,0,0,0,32,0,0,0,13,0,0,0,27,0,0,0,14,0,0,0,0,0,0,0,80,4,0,0,168,0,0,0,171,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,57,0,0,0,58,0,0,0,16,0,0,0,59,0,0,0,0,0,0,0,112,4,0,0,168,0,0,0,172,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,60,0,0,0,61,0,0,0,18,0,0,0,62,0,0,0,0,0,0,0,144,4,0,0,168,0,0,0,173,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,176,4,0,0,168,0,0,0,174,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,192,4,0,0,168,0,0,0,175,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,119,83,116,114,101,97,109,32,111,114,32,114,97,119,68,97,116,97,32,110,101,101,100,115,32,116,111,32,114,101,102,101,114,101,110,99,101,32,116,111,32,115,111,109,101,116,104,105,110,103,0,119,105,100,116,104,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,104,101,105,103,104,116,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,98,105,116,115,112,101,114,115,97,109,112,108,101,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,50,44,32,49,54,93,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,116,32,116,111,32,97,32,118,97,108,117,101,32,111,102,32,123,78,111,110,101,44,32,83,97,109,112,108,101,44,32,76,105,110,101,125,0,99,111,109,112,111,110,101,110,116,115,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,50,53,53,93,0,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,111,116,104,101,114,32,112,97,114,97,109,101,116,101,114,115,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,116,111,32,83,97,109,112,108,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,52,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,32,111,110,108,121,32,98,101,32,115,101,116,32,116,111,32,78,111,110,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,49,0,67,111,108,111,114,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,0,78,111,32,109,111,114,101,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,32,105,110,32,105,110,112,117,116,32,98,117,102,102,101,114,44,32,115,116,105,108,108,32,110,101,101,100,101,100,105,110,103,32,0,65,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,40,0,41,32,99,97,110,110,111,116,32,98,101,32,115,119,97,112,112,101,100,46,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,69,0,49,49,80,114,111,99,101,115,115,76,105,110,101,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,57,98,97,115,105,99,95,111,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,116,69,69,0,50,50,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,83,116,114,101,97,109,0,50,53,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,67,111,109,112,111,110,101,110,116,0,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,104,69,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,67,104,97,114,76,83,32,101,114,114,111,114,0,99,104,97,114,108,115,0,49,53,99,104,97,114,108,115,95,99,97,116,101,103,111,114,121,0,112,97,114,97,109,115,46,88,116,104,117,109,98,110,97,105,108,32,105,115,32,62,32,48,32,98,117,116,32,112,97,114,97,109,115,46,116,104,117,109,98,110,97,105,108,32,61,61,32,110,117,108,108,95,112,116,114,0,49,55,74,112,101,103,77,97,114,107,101,114,83,101,103,109,101,110,116,0,49,49,74,112,101,103,83,101,103,109,101,110,116,0,50,48,74,112,101,103,73,109,97,103,101,68,97,116,97,83,101,103,109,101,110,116,0,69,120,112,101,99,116,101,100,32,74,80,69,71,32,77,97,114,107,101,114,32,115,116,97,114,116,32,98,121,116,101,32,48,120,70,70,32,98,117,116,32,116,104,101,32,98,121,116,101,32,118,97,108,117,101,32,119,97,115,32,48,120,0,74,80,69,71,32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,109,97,114,107,101,114,32,0,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,0,85,110,107,110,111,119,110,32,74,80,69,71,32,109,97,114,107,101,114,32,0,32,101,110,99,111,117,110,116,101,114,101,100,46,0,109,114,102,120,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,83,116,57,116,121,112,101,95,105,110,102,111,0,83,116,56,98,97,100,95,99,97,115,116,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+42396);allocate([32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+52636);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,58,32,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,105,111,115,116,114,101,97,109,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+56215);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}Module["_memset"]=_memset;var _BDtoILow=true;var _emscripten_resume=true;function ___gxx_personality_v0(){}var _emscripten_landingpad=true;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){return leadingNulls(date.tm_hour<13?date.tm_hour:date.tm_hour-12,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>0&&date.tm_hour<13){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _abort(){Module["abort"]()}function _free(){}Module["_free"]=_free;function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown){___cxa_end_catch.rethrown=false;return}asm["setThrew"](0);var ptr=EXCEPTIONS.caught.pop();if(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr));EXCEPTIONS.last=0}}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}var _fabs=Math_abs;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}});if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||function(){};canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){Module["noExitRuntime"]=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){Module["noExitRuntime"]=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},xhrLoad:function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)},asyncLoad:function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(!noRunDep)addRunDependency("al "+url)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];return ret},getStr:function(){var ret=Pointer_stringify(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_i64Add"]=_i64Add;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push(function(){Runtime.dynCall("vi",routine,[arg])});_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _llvm_eh_typeid_for(type){return type}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_mutex_lock(){}var _emscripten_postinvoke=true;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")}}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_bitshift64Shl"]=_bitshift64Shl;function ___cxa_guard_abort(){}Module["_memmove"]=_memmove;var _emscripten_preinvoke=true;var _BItoD=true;function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=true;var ptr=EXCEPTIONS.caught.pop();EXCEPTIONS.last=ptr;throw ptr}function _pthread_mutex_unlock(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function $b(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ac(a){a=a|0;D=a}function bc(){return D|0}function cc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+128|0;p=w+44|0;s=w+8|0;l=w+4|0;n=w;q=e+4|0;r=e+8|0;o=0;Aa(35,c[e>>2]|0,c[q>>2]|0,c[r>>2]|0,f|0);m=o;o=0;if(!(m&1)){j=p;h=j+84|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(h|0));f=p+12|0;if((c[f>>2]|0)==0?(k=$(((c[p+8>>2]|0)+7|0)/8|0,c[p>>2]|0)|0,c[f>>2]=k,(c[p+24>>2]|0)!=0):0)c[f>>2]=$(c[p+16>>2]|0,k)|0;o=0;ha(176,s|0);m=o;o=0;if(!(m&1)){f=p+56|0;do{if(c[f>>2]|0){o=0;f=ka(66,f|0)|0;m=o;o=0;if(!(m&1)){c[l>>2]=f;h=s+28|0;j=c[h>>2]|0;if(j>>>0<(c[s+32>>2]|0)>>>0){c[j>>2]=f;c[h>>2]=j+4;c[l>>2]=0;t=19;break}o=0;ia(57,s+24|0,l|0);m=o;o=0;if(m&1){h=Na(824,0)|0;f=D;j=c[l>>2]|0;c[l>>2]=0;if(!j)break;Bb[c[(c[j>>2]|0)+4>>2]&255](j);break}else{f=c[l>>2]|0;c[l>>2]=0;if(!f){t=19;break}Bb[c[(c[f>>2]|0)+4>>2]&255](f);t=19;break}}else t=15}else t=19}while(0);a:do{if((t|0)==19){j=p+4|0;k=p+8|0;l=p+16|0;o=0;f=va(14,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;m=o;o=0;if(!(m&1)){c[n>>2]=f;m=s+28|0;h=c[m>>2]|0;do{if(h>>>0>=(c[s+32>>2]|0)>>>0){o=0;ia(57,s+24|0,n|0);h=o;o=0;if(h&1){h=Na(824,0)|0;f=D;j=c[n>>2]|0;c[n>>2]=0;if(!j)break a;Bb[c[(c[j>>2]|0)+4>>2]&255](j);break a}else{f=c[n>>2]|0;c[n>>2]=0;if(!f)break;Bb[c[(c[f>>2]|0)+4>>2]&255](f);break}}else{c[h>>2]=f;c[m>>2]=h+4;c[n>>2]=0}}while(0);f=c[p+28>>2]|0;if((f|0)!=0?(o=0,ia(58,s|0,f|0),t=o,o=0,t&1):0){t=15;break}b:do{if(!(c[p+24>>2]|0)){f=$(c[j>>2]|0,c[p>>2]|0)|0;f=$(f,((c[k>>2]|0)+7|0)/8|0)|0;if((c[l>>2]|0)>0){j=0;while(1){o=0;wa(4,s|0,e|0,p|0);t=o;o=0;if(t&1)break;h=c[q>>2]|0;if(h){c[q>>2]=h+f;c[r>>2]=(c[r>>2]|0)-f}j=j+1|0;if((j|0)>=(c[l>>2]|0))break b}h=Na(824,0)|0;f=D;t=16;break a}}else{o=0;wa(4,s|0,e|0,p|0);t=o;o=0;if(t&1){t=15;break a}}}while(0);o=0;ra(33,s|0,b|0)|0;t=o;o=0;if(!(t&1)){c[d>>2]=c[s+16>>2];if(g)a[g>>0]=0;j=s+24|0;f=c[j>>2]|0;if(f){h=c[m>>2]|0;if((h|0)!=(f|0)){do{g=h+-4|0;c[m>>2]=g;h=c[g>>2]|0;c[g>>2]=0;if(h)Bb[c[(c[h>>2]|0)+4>>2]&255](h);h=c[m>>2]|0}while((h|0)!=(f|0));f=c[j>>2]|0}cj(f)}g=0;i=w;return g|0}else t=15}else t=15}}while(0);if((t|0)==15){h=Na(824,0)|0;f=D;t=16}m=s+24|0;j=c[m>>2]|0;if(j){l=s+28|0;k=c[l>>2]|0;if((k|0)!=(j|0)){do{s=k+-4|0;c[l>>2]=s;k=c[s>>2]|0;c[s>>2]=0;if(k)Bb[c[(c[k>>2]|0)+4>>2]&255](k);k=c[l>>2]|0}while((k|0)!=(j|0));j=c[m>>2]|0}cj(j)}}else t=5}else t=5;if((t|0)==5){h=Na(824,0)|0;f=D}s=(f|0)==(Ta(824)|0);k=Va(h|0)|0;f=(g|0)==0;if(!s){if(!f)a[g>>0]=0;Xa();g=14;i=w;return g|0}j=k+12|0;do{if(!f){f=c[j>>2]|0;o=0;h=ua(1)|0;s=o;o=0;if(!(s&1))if((f|0)==(h|0)){ml(g,Eb[c[(c[k>>2]|0)+8>>2]&127](k)|0)|0;t=60;break}else{a[g>>0]=0;t=60;break}}else t=60}while(0);if((t|0)==60?(u=c[j>>2]|0,o=0,v=ua(1)|0,g=o,o=0,!(g&1)):0){g=(u|0)==(v|0)?c[k+8>>2]|0:13;Xa();i=w;return g|0}f=Na()|0;o=0;xa(3);w=o;o=0;if(w&1){w=Na(0)|0;ec(w)}else Ya(f|0);return 0}function dc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;l=i;i=i+112|0;g=l+96|0;k=l+84|0;m=l+72|0;n=l+60|0;p=l+48|0;q=l+36|0;r=l+24|0;s=l+12|0;t=l;j=(b|0)==0;if((a|0)==0&j){f=Ma(16)|0;o=0;wa(5,g|0,48504,52);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,g|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(g);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}h=c[e>>2]|0;if((h+-1|0)>>>0>65534){f=Ma(16)|0;o=0;wa(5,k|0,48557,41);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,k|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(k);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}g=c[e+4>>2]|0;if((g+-1|0)>>>0>65534){f=Ma(16)|0;o=0;wa(5,m|0,48599,42);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,m|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(m);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}f=c[e+8>>2]|0;if((f+-2|0)>>>0>14){f=Ma(16)|0;o=0;wa(5,n|0,48642,46);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,n|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(n);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}a=c[e+24>>2]|0;if(a>>>0>=3){f=Ma(16)|0;o=0;wa(5,p|0,48689,65);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,p|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(p);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}b=c[e+16>>2]|0;if((b+-1|0)>>>0>254){f=Ma(16)|0;o=0;wa(5,q|0,48755,44);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,q|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(q);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}if(!j?(q=$(g,h)|0,($($(q,(f|0)>8?2:1)|0,b)|0)>>>0>d>>>0):0){f=Ma(16)|0;o=0;wa(5,r|0,48800,58);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,r|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(r);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}switch(b|0){case 4:{if((a|0)!=2){i=l;return}f=Ma(16)|0;o=0;wa(5,s|0,48859,73);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,s|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(s);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}case 3:{i=l;return}default:{if(!a){i=l;return}f=Ma(16)|0;o=0;wa(5,t|0,48933,73);s=o;o=0;if(!(s&1)){o=0;b=ua(1)|0;s=o;o=0;if(!(s&1)?(o=0,Aa(36,f|0,1,b|0,t|0),s=o,o=0,!(s&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(t);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}}}function ec(a){a=a|0;Va(a|0)|0;jj()}function fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;h=n+116|0;j=n;o=0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];ia(59,j|0,h|0);g=o;o=0;if(!(g&1)){if(e){g=j+16|0;d=g+84|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(d|0))}o=0;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];ia(60,j|0,h|0);j=o;o=0;if(!(j&1)){if(f)a[f>>0]=0;m=0;i=n;return m|0}}b=Na(824,0)|0;j=D;j=(j|0)==(Ta(824)|0);b=Va(b|0)|0;d=(f|0)==0;if(!j){if(!d)a[f>>0]=0;Xa();m=14;i=n;return m|0}g=b+12|0;do{if(!d){d=c[g>>2]|0;o=0;e=ua(1)|0;j=o;o=0;if(!(j&1))if((d|0)==(e|0)){ml(f,Eb[c[(c[b>>2]|0)+8>>2]&127](b)|0)|0;m=10;break}else{a[f>>0]=0;m=10;break}}else m=10}while(0);if((m|0)==10?(k=c[g>>2]|0,o=0,l=ua(1)|0,m=o,o=0,!(m&1)):0){m=(k|0)==(l|0)?c[b+8>>2]|0:13;Xa();i=n;return m|0}d=Na()|0;o=0;xa(3);n=o;o=0;if(n&1){n=Na(0)|0;ec(n)}else Ya(d|0);return 0}function gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+128|0;g=l+116|0;f=l;o=0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];ia(59,f|0,g|0);g=o;o=0;if((!(g&1)?(o=0,ha(177,f|0),g=o,o=0,!(g&1)):0)?(o=0,ia(61,f|0,1),g=o,o=0,!(g&1)):0){b=f+16|0;f=d+84|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(f|0));if(e)a[e>>0]=0;e=0;i=l;return e|0}g=Na(824,0)|0;d=D;d=(d|0)==(Ta(824)|0);g=Va(g|0)|0;b=(e|0)==0;if(!d){if(!b)a[e>>0]=0;Xa();e=14;i=l;return e|0}d=g+12|0;do{if(!b){b=c[d>>2]|0;o=0;f=ua(1)|0;m=o;o=0;if(!(m&1))if((b|0)==(f|0)){ml(e,Eb[c[(c[g>>2]|0)+8>>2]&127](g)|0)|0;k=13;break}else{a[e>>0]=0;k=13;break}}else k=13}while(0);if((k|0)==13?(h=c[d>>2]|0,o=0,j=ua(1)|0,m=o,o=0,!(m&1)):0){m=(h|0)==(j|0)?c[g+8>>2]|0:13;Xa();i=l;return m|0}b=Na()|0;o=0;xa(3);m=o;o=0;if(m&1){m=Na(0)|0;ec(m)}else Ya(b|0);return 0}function hc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n+36|0;j=n+24|0;l=n+12|0;m=n;if(!((a|0)!=0&(d|0)!=0&(e|0)!=0&(g|0)!=0)){f=1;i=n;return f|0}c[l>>2]=0;c[l+4>>2]=a;c[l+8>>2]=b;c[m>>2]=0;c[m+4>>2]=e;c[m+8>>2]=f;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];f=cc(j,d,k,g,h)|0;i=n;return f|0}function ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+12|0;h=f;j=h;c[j>>2]=0;c[j+4>>2]=0;c[h+4>>2]=a;c[h+8>>2]=b;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];d=gc(g,d,e)|0;i=f;return d|0}function jc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+48|0;j=h+36|0;k=h+24|0;m=h+12|0;l=h;c[m>>2]=0;c[m+4>>2]=a;c[m+8>>2]=b;c[l>>2]=0;c[l+4>>2]=d;c[l+8>>2]=e;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];e=fc(k,j,f,g)|0;i=h;return e|0}function kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+4|0;d=c[a>>2]|0;f=((c[k>>2]|0)-d>>2)+1|0;if(f>>>0>1073741823){$i(a);d=c[a>>2]|0}l=a+8|0;e=(c[l>>2]|0)-d|0;if(e>>2>>>0<536870911){e=e>>1;e=e>>>0>>0?f:e;d=(c[k>>2]|0)-d>>2;if(!e){g=0;h=0}else i=6}else{e=1073741823;d=(c[k>>2]|0)-d>>2;i=6}if((i|0)==6){g=e;h=bj(e<<2)|0}f=h+(d<<2)|0;e=f;j=h+(g<<2)|0;i=c[b>>2]|0;c[b>>2]=0;c[f>>2]=i;i=h+(d+1<<2)|0;h=c[a>>2]|0;d=c[k>>2]|0;if((d|0)==(h|0)){f=a;g=k}else{do{d=d+-4|0;b=c[d>>2]|0;c[d>>2]=0;c[f+-4>>2]=b;f=e+-4|0;e=f}while((d|0)!=(h|0));d=e;f=a;g=k;e=d;h=c[a>>2]|0;d=c[k>>2]|0}c[f>>2]=e;c[g>>2]=i;c[l>>2]=j;f=h;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;c[d>>2]=0;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e)}while((d|0)!=(f|0));if(!h)return;cj(h);return}function lc(){if(a[8]|0)return 35648;if(!(Ha(8)|0))return 35648;kb(72,35648,n|0)|0;Pa(8);return 35648}function mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;Ei(l,(1<>2]|0;m=h+1|0;e=m<<1;c[b>>2]=0;j=b+4|0;c[j>>2]=0;c[b+8>>2]=0;a:do{if(m){if(!((h|0)<-1?(o=0,ha(178,b|0),k=o,o=0,k&1):0))f=4;if((f|0)==4?(o=0,g=ka(67,e|0)|0,k=o,o=0,!(k&1)):0){c[j>>2]=g;c[b>>2]=g;c[b+8>>2]=g+e;d=g;while(1){a[d>>0]=0;d=(c[j>>2]|0)+1|0;c[j>>2]=d;e=e+-1|0;if(!e)break a}}e=Na()|0;d=c[b>>2]|0;if(!d)Ya(e|0);if((c[j>>2]|0)!=(d|0))c[j>>2]=d;cj(d);Ya(e|0)}}while(0);d=~h;if((h|0)<(d|0)){i=n;return}j=l+12|0;k=l+8|0;h=l+4|0;g=d;do{d=c[j>>2]|0;if((g|0)>(0-d|0)){e=c[k>>2]|0;if((g|0)>(0-e|0)){f=c[h>>2]|0;if((g|0)>(0-f|0))if((g|0)>=0)if((g|0)>0)if((f|0)<=(g|0))if((e|0)>(g|0))d=2;else d=(d|0)>(g|0)?3:4;else d=1;else d=0;else d=-1;else d=-2}else d=-3}else d=-4;a[(c[b>>2]|0)+(g+m)>>0]=d;g=g+1|0}while((g|0)<(m|0));i=n;return}function nc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=c[f+16>>2]|0;switch(q|0){case 64:case 0:{o=0;d=ra(34,d|0,e|0)|0;e=o;o=0;if(e&1)r=16;else g=d;break}default:{h=(1<>2])+-1|0;p=c[e+20>>2]|0;n=p<<1;n=((n+h|0)/(n|1|0)|0)+1|0;d=0;while(1)if((1<>2]|0;o=0;g=ka(67,4624)|0;m=o;o=0;if(m&1)r=16;else{i=((j|0)<8?8:j)+j<<1;k=g+4|0;l=e;m=k+84|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));k=g+88|0;m=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));c[g>>2]=35660;c[g+128>>2]=h;c[g+132>>2]=n;c[g+136>>2]=p;c[g+140>>2]=d;c[g+144>>2]=j;c[g+148>>2]=i;c[g+152>>2]=q;d=g+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+172>>2]=c[e>>2];c[g+176>>2]=0;c[g+180>>2]=0;c[g+184>>2]=0;d=g+4568|0;h=g+188|0;do{c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;b[h+10>>1]=1;h=h+12|0}while((h|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1}}}if((r|0)==16){r=Na()|0;Ya(r|0)}if(!g)return g|0;o=0;ia(c[(c[g>>2]|0)+12>>2]|0,g|0,f|0);r=o;o=0;if(!(r&1))return g|0;d=Na()|0;if(!g){r=d;Ya(r|0)}Bb[c[(c[g>>2]|0)+4>>2]&255](g);r=d;Ya(r|0);return 0}function oc(d,e){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;f=(c[e+24>>2]|0)==2;if(f?(c[e+16>>2]|0)!=3:0){e=0;return e|0}n=c[e+20>>2]|0;d=c[e+8>>2]|0;a:do{if(!n){if(f){if((d|0)!=8)break;g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35688;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}switch(d|0){case 8:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35716;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}case 12:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35744;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}case 16:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35772;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}default:break a}}}while(0);m=(1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35800;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35660;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}}if((d|0)>=17){e=0;return e|0}i=n<<1;i=((i+m|0)/(i|1|0)|0)+1|0;if(f){d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35828;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35856;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}return 0}function pc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=c[f+16>>2]|0;switch(q|0){case 64:case 0:{o=0;d=ra(35,d|0,e|0)|0;e=o;o=0;if(e&1)r=16;else g=d;break}default:{h=(1<>2])+-1|0;p=c[e+20>>2]|0;n=p<<1;n=((n+h|0)/(n|1|0)|0)+1|0;d=0;while(1)if((1<>2]|0;o=0;g=ka(67,4632)|0;m=o;o=0;if(m&1)r=16;else{i=((j|0)<8?8:j)+j<<1;c[g+4>>2]=0;k=g+8|0;l=e;m=k+84|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;m=g+116|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[g>>2]=35884;c[g+136>>2]=h;c[g+140>>2]=n;c[g+144>>2]=p;c[g+148>>2]=d;c[g+152>>2]=j;c[g+156>>2]=i;c[g+160>>2]=q;d=g+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+180>>2]=c[e>>2];c[g+184>>2]=0;c[g+188>>2]=0;c[g+192>>2]=0;d=g+4576|0;h=g+196|0;do{c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;b[h+10>>1]=1;h=h+12|0}while((h|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1}}}if((r|0)==16){r=Na()|0;Ya(r|0)}if(!g)return g|0;o=0;ia(c[(c[g>>2]|0)+8>>2]|0,g|0,f|0);r=o;o=0;if(!(r&1))return g|0;d=Na()|0;if(!g){r=d;Ya(r|0)}Bb[c[(c[g>>2]|0)+4>>2]&255](g);r=d;Ya(r|0);return 0}function qc(d,e){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;f=(c[e+24>>2]|0)==2;if(f?(c[e+16>>2]|0)!=3:0){e=0;return e|0}n=c[e+20>>2]|0;d=c[e+8>>2]|0;a:do{if(!n){if(f){if((d|0)!=8)break;g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35912;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}switch(d|0){case 8:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35940;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}case 12:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35968;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}case 16:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35996;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}default:break a}}}while(0);m=(1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36024;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=35884;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}}if((d|0)>=17){e=0;return e|0}i=n<<1;i=((i+m|0)/(i|1|0)|0)+1|0;if(f){d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36052;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36080;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}return 0}function rc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=2832;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=4880);iw(2832,0,2048)|0;a=0;do{h=2832+(a+128<<3)|0;c[h>>2]=0;c[h+4>>2]=1;a=a+1|0}while((a|0)!=128);a=3088;c[a>>2]=1;c[a+4>>2]=3;a=3096;c[a>>2]=1;c[a+4>>2]=3;a=3104;c[a>>2]=1;c[a+4>>2]=3;a=3112;c[a>>2]=1;c[a+4>>2]=3;a=3120;c[a>>2]=1;c[a+4>>2]=3;a=3128;c[a>>2]=1;c[a+4>>2]=3;a=3136;c[a>>2]=1;c[a+4>>2]=3;a=3144;c[a>>2]=1;c[a+4>>2]=3;a=3152;c[a>>2]=1;c[a+4>>2]=3;a=3160;c[a>>2]=1;c[a+4>>2]=3;a=3168;c[a>>2]=1;c[a+4>>2]=3;a=3176;c[a>>2]=1;c[a+4>>2]=3;a=3184;c[a>>2]=1;c[a+4>>2]=3;a=3192;c[a>>2]=1;c[a+4>>2]=3;a=3200;c[a>>2]=1;c[a+4>>2]=3;a=3208;c[a>>2]=1;c[a+4>>2]=3;a=3216;c[a>>2]=1;c[a+4>>2]=3;a=3224;c[a>>2]=1;c[a+4>>2]=3;a=3232;c[a>>2]=1;c[a+4>>2]=3;a=3240;c[a>>2]=1;c[a+4>>2]=3;a=3248;c[a>>2]=1;c[a+4>>2]=3;a=3256;c[a>>2]=1;c[a+4>>2]=3;a=3264;c[a>>2]=1;c[a+4>>2]=3;a=3272;c[a>>2]=1;c[a+4>>2]=3;a=3280;c[a>>2]=1;c[a+4>>2]=3;a=3288;c[a>>2]=1;c[a+4>>2]=3;a=3296;c[a>>2]=1;c[a+4>>2]=3;a=3304;c[a>>2]=1;c[a+4>>2]=3;a=3312;c[a>>2]=1;c[a+4>>2]=3;a=3320;c[a>>2]=1;c[a+4>>2]=3;a=3328;c[a>>2]=1;c[a+4>>2]=3;a=3336;c[a>>2]=1;c[a+4>>2]=3;a=2896;c[a>>2]=2;c[a+4>>2]=5;a=2904;c[a>>2]=2;c[a+4>>2]=5;a=2912;c[a>>2]=2;c[a+4>>2]=5;a=2920;c[a>>2]=2;c[a+4>>2]=5;a=2928;c[a>>2]=2;c[a+4>>2]=5;a=2936;c[a>>2]=2;c[a+4>>2]=5;a=2944;c[a>>2]=2;c[a+4>>2]=5;a=2952;c[a>>2]=2;c[a+4>>2]=5;a=2848;c[a>>2]=3;c[a+4>>2]=7;a=2856;c[a>>2]=3;c[a+4>>2]=7;a=0;do{h=2832+(a+64<<3)|0;c[h>>2]=-1;c[h+4>>2]=2;a=a+1|0}while((a|0)!=64);a=2960;c[a>>2]=-2;c[a+4>>2]=4;a=2968;c[a>>2]=-2;c[a+4>>2]=4;a=2976;c[a>>2]=-2;c[a+4>>2]=4;a=2984;c[a>>2]=-2;c[a+4>>2]=4;a=2992;c[a>>2]=-2;c[a+4>>2]=4;a=3e3;c[a>>2]=-2;c[a+4>>2]=4;a=3008;c[a>>2]=-2;c[a+4>>2]=4;a=3016;c[a>>2]=-2;c[a+4>>2]=4;a=3024;c[a>>2]=-2;c[a+4>>2]=4;a=3032;c[a>>2]=-2;c[a+4>>2]=4;a=3040;c[a>>2]=-2;c[a+4>>2]=4;a=3048;c[a>>2]=-2;c[a+4>>2]=4;a=3056;c[a>>2]=-2;c[a+4>>2]=4;a=3064;c[a>>2]=-2;c[a+4>>2]=4;a=3072;c[a>>2]=-2;c[a+4>>2]=4;a=3080;c[a>>2]=-2;c[a+4>>2]=4;a=2864;c[a>>2]=-3;c[a+4>>2]=6;a=2872;c[a>>2]=-3;c[a+4>>2]=6;a=2880;c[a>>2]=-3;c[a+4>>2]=6;a=2888;c[a>>2]=-3;c[a+4>>2]=6;a=2840;c[a>>2]=-4;c[a+4>>2]=8;a=4880;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=6928);iw(4880,0,2048)|0;d=2;a=0;f=0;g=0;while(1){d=d<<16>>16;b=8-d|0;e=1<>2]=f;c[h+4>>2]=d;b=b+1|0}while((b|0)<(e|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==7){b=2;f=1;g=-1;h=-1;break}else{d=(a>>1)+2|0;f=b>>16}}while(1){d=b<<16>>16;a=8-d|0;e=1<>2]=g;c[f+4>>2]=d;b=b+1|0}while((b|0)<(e|0))}a=(h<<16)+-65536|0;f=a>>31^a>>15;b=(f>>1)+2|0;if((b|0)>8){a=6928;break}else{g=a>>16;h=h+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=8976);iw(6928,0,2048)|0;f=3;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==12){f=3;b=1;e=-1;g=-1;break}else{f=(a>>2)+3|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>2)+3|0;if((f|0)>8){a=8976;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=11024);iw(8976,0,2048)|0;f=4;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==20){f=4;b=1;e=-1;g=-1;break}else{f=(a>>3)+4|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>3)+4|0;if((f|0)>8){a=11024;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=13072);iw(11024,0,2048)|0;f=5;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==32){f=5;b=1;e=-1;g=-1;break}else{f=(a>>4)+5|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>4)+5|0;if((f|0)>8){a=13072;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=15120);iw(13072,0,2048)|0;f=6;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==48){f=6;b=1;e=-1;g=-1;break}else{f=(a>>5)+6|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>5)+6|0;if((f|0)>8){a=15120;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=17168);iw(15120,0,2048)|0;f=7;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==64){f=7;b=1;e=-1;g=-1;break}else{f=(a>>6)+7|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>6)+7|0;if((f|0)>8){a=17168;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=19216);iw(17168,0,2048)|0;f=8;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==64){g=8;e=1;f=-1;h=-1;break}else{f=(a>>7)+8|0;e=b>>16}}while(1){a=8-g|0;d=1<>2]=f;c[e+4>>2]=g;b=b+1|0}while((b|0)<(d|0))}b=(h<<16)+-65536|0;e=b>>31^b>>15;a=e>>7;if((a|0)>0){a=19216;break}else{g=a+8|0;f=b>>16;h=h+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=21264);iw(19216,0,2048)|0;a=21264;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=23312);iw(21264,0,2048)|0;a=23312;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=25360);iw(23312,0,2048)|0;a=25360;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=27408);iw(25360,0,2048)|0;a=27408;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=29456);iw(27408,0,2048)|0;a=29456;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=31504);iw(29456,0,2048)|0;a=31504;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=33552);iw(31504,0,2048)|0;a=33552;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=35600);iw(33552,0,2048)|0;mc(35600,8);kb(179,35600,n|0)|0;mc(35612,10);kb(179,35612,n|0)|0;mc(35624,12);kb(179,35624,n|0)|0;mc(35636,16);kb(179,35636,n|0)|0;return}function sc(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;a=a+4|0;if((c[a>>2]|0)!=(b|0))c[a>>2]=b;cj(b);return}function tc(a){a=a|0;var b=0,d=0;c[a>>2]=36080;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function uc(a){a=a|0;var b=0,d=0;c[a>>2]=36080;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function vc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;he(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function wc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35856;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Yd(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Yd(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function xc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function yc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36460;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36436;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Ac(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36412;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36388;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+32|0;Jm(i,d)|0;h=b+44|0;c[h>>2]=0;j=b+48|0;g=c[j>>2]|0;if(g&8){d=a[i>>0]|0;if(!(d&1)){d=((d&255)>>>1)+(i+1)|0;c[h>>2]=d;e=i+1|0;f=i+1|0}else{d=(c[b+40>>2]|0)+(c[b+36>>2]|0)|0;c[h>>2]=d;f=c[b+40>>2]|0;e=f}c[b+8>>2]=e;c[b+12>>2]=f;c[b+16>>2]=d}if(!(g&16))return;d=a[i>>0]|0;if(!(d&1)){g=(d&255)>>>1;c[h>>2]=i+1+g;d=10;h=g}else{g=c[b+36>>2]|0;c[h>>2]=(c[b+40>>2]|0)+g;d=(c[i>>2]&-2)+-1|0;h=g}Mm(i,d,0);d=a[i>>0]|0;if(!(d&1)){g=i+1|0;f=(d&255)>>>1;e=i+1|0}else{e=c[b+40>>2]|0;g=e;f=c[b+36>>2]|0}d=b+24|0;c[d>>2]=e;c[b+20>>2]=e;c[b+28>>2]=g+f;if(!(c[j>>2]&3))return;c[d>>2]=e+h;return}function Dc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;j=q+16|0;p=q+8|0;k=q;o=0;ia(65,p|0,b|0);m=o;o=0;a:do{if(m&1){e=Na(0)|0;f=b;g=b}else{do{if(a[p>>0]|0){f=c[(c[b>>2]|0)+-12>>2]|0;c[k>>2]=c[b+(f+24)>>2];l=b+f|0;m=c[b+(f+4)>>2]|0;g=d+e|0;f=b+(f+76)|0;e=c[f>>2]|0;do{if((e|0)==-1){o=0;e=ka(68,l|0)|0;r=o;o=0;if(r&1)n=13;else{c[j>>2]=e;o=0;e=ra(37,j|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(j);e=h<<24>>24;c[f>>2]=e;n=9;break}e=Na(0)|0;Gs(j)}}else n=9}while(0);if((n|0)==9){o=0;c[j>>2]=c[k>>2];e=ja(39,j|0,d|0,((m&176|0)==32?g:d)|0,g|0,l|0,e&255|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break;else n=13}else n=13}if((n|0)==13)e=Na(0)|0;ho(p);f=b;g=b;break a}}while(0);ho(p);i=q;return b|0}}while(0);Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();i=q;return b|0}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0);return 0}function Ec(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[d+48>>2]|0;if(e&16){e=d+44|0;f=c[e>>2]|0;g=c[d+24>>2]|0;if(f>>>0>>0)c[e>>2]=g;else g=f;f=c[d+20>>2]|0;h=g-f|0;if(h>>>0>4294967279)_i(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{d=h+16&-16;e=bj(d)|0;c[b+8>>2]=e;c[b>>2]=d|1;c[b+4>>2]=h}if((f|0)!=(g|0)){d=e;while(1){a[d>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(g|0))break;else d=d+1|0}e=e+h|0}a[e>>0]=0;return}if(!(e&8)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}f=c[d+8>>2]|0;d=c[d+16>>2]|0;h=d-f|0;if(h>>>0>4294967279)_i(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{g=h+16&-16;e=bj(g)|0;c[b+8>>2]=e;c[b>>2]=g|1;c[b+4>>2]=h}if((f|0)!=(d|0)){g=e;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(d|0))break;else g=g+1|0}e=e+h|0}a[e>>0]=0;return}function Fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36364;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do{if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Gc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36340;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do{if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Hc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36316;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do{if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Ic(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36316;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Jc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36316;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Kc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;Pc(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Pc(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;Mc(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Nc(a,f,b,d,e);return}}function Mc(d,f,g,h,i){d=d|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;m=d+4|0;j=c[m>>2]|0;do{if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{o=c[j>>2]|0;m=e[n+(f*6|0)+2>>1]<>1]<>1]<>1]=(m+49152+((d+i|0)>>>2)&65535)>>>o;b[g+(f*6|0)+2>>1]=d>>>o;b[g+(f*6|0)+4>>1]=i>>>o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{h=e[n+(f*6|0)+2>>1]<>1]<>1]<>1]=(h+49152+((d+o|0)>>>2)&65535)>>>j;b[g+(f+i<<1)>>1]=d>>>j;b[g+(f+l<<1)>>1]=o>>>j;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;m=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;p=e[n+(f<<3)+2>>1]<>1]<>1]<>1]=(p+49152+((h+d|0)>>>2)&65535)>>>j;b[g+(f+i<<1)>>1]=h>>>j;b[g+(f+l<<1)>>1]=d>>>j;b[g+(f+m<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}default:return}}function Nc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Mc(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Mc(b,t,e,f,g);i=q;return}function Oc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+176|0;e=g+152|0;l=g+16|0;j=g;if(!(d&1)){e=(d|0)/4|0;if((d|0)>3){f=0;do{l=b+(f<<2)|0;k=c[l>>2]|0;c[l>>2]=k>>>8&16711935|k<<8&-16711936;f=f+1|0}while((f|0)<(e|0))}if(!(d&3)){i=g;return}j=b+(d+-2)|0;l=b+(d+-1)|0;k=a[j>>0]|0;a[j>>0]=a[l>>0]|0;a[l>>0]=k;i=g;return}k=l+56|0;h=l+4|0;c[l>>2]=36160;c[k>>2]=36180;o=0;ia(62,l+56|0,h|0);g=o;o=0;if(g&1){l=Na()|0;fn(k);Ya(l|0)}c[l+128>>2]=0;c[l+132>>2]=-1;c[l>>2]=36200;c[l+56>>2]=36220;o=0;ha(180,h|0);g=o;o=0;do{if(g&1)e=Na()|0;else{c[h>>2]=36236;g=l+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[l+52>>2]=16;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;o=0;ia(63,h|0,e|0);b=o;o=0;if(b&1){l=Na()|0;Im(e);Im(g);nn(h);e=l;break}Im(e);o=0;e=ma(28,l|0,49087,24)|0;b=o;o=0;if((!(b&1)?(o=0,f=ra(36,e|0,d|0)|0,d=o,o=0,!(d&1)):0)?(o=0,ma(28,f|0,49112,20)|0,d=o,o=0,!(d&1)):0){b=Ma(16)|0;o=0;ia(64,j|0,h|0);d=o;o=0;if(!(d&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,b|0,1,35648,j|0);d=o;o=0;if(d&1)f=1;else{o=0;wa(6,b|0,824,96);o=0;f=0}e=Na()|0;Im(j);if(!f){j=e;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}}else e=Na()|0;La(b|0);j=e;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}j=Na()|0;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}}while(0);l=e;fn(k);Ya(l|0)}function Pc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=d+4|0;j=c[n>>2]|0;a:do{switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{i=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>1]<>2)+16384|0;b[g+(d*6|0)>>1]=(k+32768+m&65535)>>>i;b[g+(d*6|0)+2>>1]=(m&65535)>>>i;b[g+(d*6|0)+4>>1]=(l+32768+m&65535)>>>i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{m=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>1]<>2)+16384|0;b[g+(d*6|0)>>1]=(q+32768+o&65535)>>>m;b[g+(d*6|0)+2>>1]=(o&65535)>>>m;b[g+(d*6|0)+4>>1]=(p+32768+o&65535)>>>m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{q=c[j>>2]|0;p=e[f+(k+i<<1)>>1]<>1]<>1]<>2)+16384|0;r=b[f+(k+d<<1)>>1]|0;t=mw((o&65535)>>>q&65535|0,0,16)|0;p=(p+32768+o&65535)>>>q|D;r=mw(r&65535|0,0,48)|0;r=t|(s+32768+o&65535)>>>q&65535|r;p=p&65535|D;q=g+(k<<3)|0;o=q;b[o>>1]=r;b[o+2>>1]=r>>>16;q=q+4|0;b[q>>1]=p;b[q+2>>1]=p>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){t=j+4|0;s=b[j>>1]|0;b[j>>1]=b[t>>1]|0;b[t>>1]=s;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function Qc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36340;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Rc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36340;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;Wc(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Wc(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Tc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;Uc(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Vc(a,f,b,d,e);return}}function Uc(d,f,g,h,i){d=d|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;m=d+4|0;j=c[m>>2]|0;do{if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{i=c[j>>2]|0;m=e[n+(f*6|0)>>1]<>1]<>1]<>>1)&65535)>>>i&65535;b[g+(f*6|0)>>1]=(m+32768-d&65535)>>>i;b[g+(f*6|0)+2>>1]=(d&65535)>>>i;b[g+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{h=e[n+(f*6|0)>>1]<>1]<>1]<>>1)&65535)>>>j&65535;b[g+(f<<1)>>1]=(h+32768-d&65535)>>>j;b[g+(f+i<<1)>>1]=(d&65535)>>>j;b[g+(f+l<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;m=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;p=e[n+(f<<3)>>1]<>1]<>1]<>>1)&65535)>>>j&65535;b[g+(f<<1)>>1]=(p+32768-h&65535)>>>j;b[g+(f+i<<1)>>1]=(h&65535)>>>j;b[g+(f+l<<1)>>1]=d;b[g+(f+m<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}default:return}}function Vc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Uc(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Uc(b,t,e,f,g);i=q;return}function Wc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=d+4|0;j=c[n>>2]|0;a:do{switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{m=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>1]<>>1)&65535)>>>m&65535;b[g+(d*6|0)>>1]=k>>>m;b[g+(d*6|0)+2>>1]=l>>>m;b[g+(d*6|0)+4>>1]=i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{o=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>1]<>>1)&65535)>>>o&65535;b[g+(d*6|0)>>1]=q>>>o;b[g+(d*6|0)+2>>1]=p>>>o;b[g+(d*6|0)+4>>1]=m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{o=c[j>>2]|0;q=e[f+(k+i<<1)>>1]<>1]<>1]<>>1)&65535)>>>o;r=b[f+(k+d<<1)>>1]|0;q=mw(q>>>o&65535|0,0,16)|0;p=D|p;r=mw(r&65535|0,0,48)|0;r=s>>>o&65535|q|r;p=p&65535|D;q=g+(k<<3)|0;o=q;b[o>>1]=r;b[o+2>>1]=r>>>16;q=q+4|0;b[q>>1]=p;b[q+2>>1]=p>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){s=j+4|0;r=b[j>>1]|0;b[j>>1]=b[s>>1]|0;b[s>>1]=r;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function Xc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36364;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Yc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36364;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;bd(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;bd(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function _c(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;$c(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{ad(a,f,b,d,e);return}}function $c(d,f,g,h,i){d=d|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;m=d+4|0;j=c[m>>2]|0;do{if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{i=c[j>>2]|0;d=e[n+(f*6|0)+2>>1]<>1]<>>i&65535;b[g+(f*6|0)>>1]=((e[n+(f*6|0)>>1]<>>i;b[g+(f*6|0)+2>>1]=(d&65535)>>>i;b[g+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{d=e[n+(f*6|0)+2>>1]<>1]<>>j&65535;b[g+(f<<1)>>1]=((e[n+(f*6|0)>>1]<>>j;b[g+(f+i<<1)>>1]=(d&65535)>>>j;b[g+(f+l<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;l=(i|0)<(h|0)?i:h;if((l|0)<=0)return;m=i<<1;k=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;h=e[n+(f<<3)+2>>1]<>1]<>>j&65535;b[g+(f<<1)>>1]=((e[n+(f<<3)>>1]<>>j;b[g+(f+i<<1)>>1]=(h&65535)>>>j;b[g+(f+m<<1)>>1]=d;b[g+(f+k<<1)>>1]=o;f=f+1|0}while((f|0)!=(l|0));return}default:return}}function ad(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;$c(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;$c(b,t,e,f,g);i=q;return}function bd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=d+4|0;j=c[n>>2]|0;a:do{switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{m=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>>m&65535;b[g+(d*6|0)>>1]=((e[f+(d*6|0)>>1]<>>m;b[g+(d*6|0)+2>>1]=(l&65535)>>>m;b[g+(d*6|0)+4>>1]=i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{o=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>>o&65535;b[g+(d*6|0)>>1]=((e[f+(d<<1)>>1]<>>o;b[g+(d*6|0)+2>>1]=(p&65535)>>>o;b[g+(d*6|0)+4>>1]=m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{q=c[j>>2]|0;s=e[f+(k+i<<1)>>1]<>1]<>>q;o=(s+32768+(e[f+(k+l<<1)>>1]<>>q;r=b[f+(k+d<<1)>>1]|0;q=mw((s&65535)>>>q&65535|0,0,16)|0;o=o|D;r=mw(r&65535|0,0,48)|0;r=q|p&65535|r;o=o&65535|D;p=g+(k<<3)|0;q=p;b[q>>1]=r;b[q+2>>1]=r>>>16;p=p+4|0;b[p>>1]=o;b[p+2>>1]=o>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){s=j+4|0;r=b[j>>1]|0;b[j>>1]=b[s>>1]|0;b[s>>1]=r;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function cd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0;p=i;i=i+16|0;m=p;n=c[b>>2]|0;if(!n){b=0;i=p;return b|0}q=d;k=f-q|0;l=g+12|0;j=c[l>>2]|0;k=(j|0)>(k|0)?j-k|0:0;j=e;g=j-q|0;if((g|0)>0?(Gb[c[(c[n>>2]|0)+48>>2]&63](n,d,g)|0)!=(g|0):0){c[b>>2]=0;q=0;i=p;return q|0}do{if((k|0)>0){Hm(m,k,h);o=0;g=ma(c[(c[n>>2]|0)+48>>2]|0,n|0,((a[m>>0]&1)==0?m+1|0:c[m+8>>2]|0)|0,k|0)|0;q=o;o=0;if(q&1){q=Na()|0;Im(m);Ya(q|0)}if((g|0)==(k|0)){Im(m);break}c[b>>2]=0;Im(m);q=0;i=p;return q|0}}while(0);f=f-j|0;if((f|0)>0?(Gb[c[(c[n>>2]|0)+48>>2]&63](n,e,f)|0)!=(f|0):0){c[b>>2]=0;q=0;i=p;return q|0}c[l>>2]=0;q=n;i=p;return q|0}function dd(a){a=a|0;c[a>>2]=36236;Im(a+32|0);nn(a);return}function ed(a){a=a|0;c[a>>2]=36236;Im(a+32|0);nn(a);cj(a);return}function fd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=d+44|0;j=c[i>>2]|0;l=d+24|0;m=c[l>>2]|0;if(j>>>0>>0){c[i>>2]=m;j=m}k=j;i=h&24;if(!i){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((g|0)==1&(i|0)==24){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}a:do{switch(g|0){case 0:{i=0;g=0;break}case 1:if(!(h&8)){g=m-(c[d+20>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}else{g=(c[d+12>>2]|0)-(c[d+8>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}case 2:{i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;g=j-i|0;i=g;g=((g|0)<0)<<31>>31;break}default:{d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}}while(0);g=jw(i|0,g|0,e|0,f|0)|0;e=D;if((e|0)>=0){i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;f=j-i|0;j=((f|0)<0)<<31>>31;if(!((j|0)<(e|0)|(j|0)==(e|0)&f>>>0>>0)){i=h&8;if(!((g|0)==0&(e|0)==0)){if((i|0)!=0?(c[d+12>>2]|0)==0:0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((h&16|0)!=0&(m|0)==0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}if(i){c[d+12>>2]=(c[d+8>>2]|0)+g;c[d+16>>2]=k}if(h&16)c[l>>2]=(c[d+20>>2]|0)+g;d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=g;c[d+4>>2]=e;return}}d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}function gd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=d+8|0;Ib[c[(c[b>>2]|0)+16>>2]&15](a,b,c[d>>2]|0,c[d+4>>2]|0,0,e);return}function hd(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+44|0;e=c[b>>2]|0;f=c[a+24>>2]|0;if(e>>>0>>0){c[b>>2]=f;e=f}if(!(c[a+48>>2]&8)){a=-1;return a|0}g=a+16|0;b=c[g>>2]|0;f=a+12|0;if(b>>>0>>0){f=c[f>>2]|0;c[g>>2]=e;b=e}else f=c[f>>2]|0;if(f>>>0>=b>>>0){a=-1;return a|0}a=d[f>>0]|0;return a|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+44|0;e=c[f>>2]|0;g=c[b+24>>2]|0;if(e>>>0>>0){c[f>>2]=g;e=g}j=b+8|0;f=c[j>>2]|0;k=b+12|0;h=c[k>>2]|0;i=f;if(f>>>0>=h>>>0){b=-1;return b|0}if((d|0)==-1){c[j>>2]=f;c[k>>2]=h+-1;c[b+16>>2]=e;b=0;return b|0}if(!(c[b+48>>2]&16)){g=d&255;f=h+-1|0;if(g<<24>>24!=(a[f>>0]|0)){b=-1;return b|0}}else{g=d&255;f=h+-1|0}c[j>>2]=i;c[k>>2]=f;c[b+16>>2]=e;a[f>>0]=g;b=d;return b|0}function jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+16|0;n=t;if((d|0)==-1){b=0;i=t;return b|0}p=b+12|0;q=b+8|0;r=(c[p>>2]|0)-(c[q>>2]|0)|0;s=b+24|0;e=c[s>>2]|0;m=b+28|0;f=c[m>>2]|0;do{if((e|0)==(f|0)){k=b+48|0;if(!(c[k>>2]&16)){b=-1;i=t;return b|0}l=b+20|0;j=c[l>>2]|0;g=e-j|0;h=b+44|0;j=(c[h>>2]|0)-j|0;f=b+32|0;o=0;ia(67,f|0,0);e=o;o=0;if(!(e&1)){if(!(a[f>>0]&1))e=10;else e=(c[f>>2]&-2)+-1|0;o=0;wa(8,f|0,e|0,0);e=o;o=0;if(!(e&1)){e=a[f>>0]|0;if(!(e&1)){f=f+1|0;e=(e&255)>>>1}else{f=c[b+40>>2]|0;e=c[b+36>>2]|0}u=f+e|0;c[l>>2]=f;c[m>>2]=u;l=f+g|0;c[s>>2]=l;e=f+j|0;c[h>>2]=e;f=u;break}}u=Na(0)|0;Va(u|0)|0;Xa();u=-1;i=t;return u|0}else{u=b+44|0;k=b+48|0;h=u;l=e;e=c[u>>2]|0}}while(0);j=l+1|0;c[n>>2]=j;g=c[(j>>>0>>0?h:n)>>2]|0;c[h>>2]=g;if(c[k>>2]&8){e=b+32|0;if(!(a[e>>0]&1))e=e+1|0;else e=c[b+40>>2]|0;c[q>>2]=e;c[p>>2]=e+r;c[b+16>>2]=g}if((l|0)==(f|0)){u=Lb[c[(c[b>>2]|0)+52>>2]&63](b,d&255)|0;i=t;return u|0}else{c[s>>2]=j;a[l>>0]=d;u=d&255;i=t;return u|0}return 0}function kd(a){a=a|0;var b=0,d=0;c[a>>2]=36200;b=a+56|0;c[b>>2]=36220;d=a+4|0;c[d>>2]=36236;Im(a+36|0);nn(d);fn(b);return}function ld(a){a=a|0;var b=0,d=0;c[a>>2]=36200;b=a+56|0;c[b>>2]=36220;d=a+4|0;c[d>>2]=36236;Im(a+36|0);nn(d);fn(b);cj(a);return}function md(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[(c[a>>2]|0)+-12>>2]|0;b=a+f|0;c[b>>2]=36200;d=a+(f+56)|0;c[d>>2]=36220;e=a+(f+4)|0;c[e>>2]=36236;Im(a+(f+36)|0);nn(e);fn(d);cj(b);return}function nd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36388;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function od(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36388;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function pd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;td(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;td(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;rd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{sd(a,f,b,d,e);return}}function rd(d,f,g,h,i){d=d|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;l=d+4|0;j=c[l>>2]|0;do{if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{l=e[m+(j*6|0)+2>>1]|0;i=32768-l+(e[m+(j*6|0)+4>>1]|0)|0;n=(e[m+(j*6|0)>>1]|0)-l+32768|0;b[g+(j*6|0)>>1]=l+49152+(((i&65535)+(n&65535)|0)>>>2);b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{l=e[m+(f*6|0)+2>>1]|0;h=32768-l+(e[m+(f*6|0)+4>>1]|0)|0;n=(e[m+(f*6|0)>>1]|0)-l+32768|0;b[g+(f<<1)>>1]=l+49152+(((h&65535)+(n&65535)|0)>>>2);b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{n=b[m+(k<<3)+6>>1]|0;o=e[m+(k<<3)+2>>1]|0;l=32768-o+(e[m+(k<<3)+4>>1]|0)|0;h=(e[m+(k<<3)>>1]|0)-o+32768|0;b[g+(k<<1)>>1]=o+49152+(((l&65535)+(h&65535)|0)>>>2);b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function sd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;rd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;rd(b,t,e,f,g);i=q;return}function td(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=e[f+(d*6|0)+2>>1]|0;k=e[f+(d*6|0)+4>>1]|0;i=(e[f+(d*6|0)>>1]|0)-((k+l|0)>>>2)+16384|0;b[g+(d*6|0)>>1]=k+32768+i;b[g+(d*6|0)+2>>1]=i;b[g+(d*6|0)+4>>1]=l+32768+i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=e[f+(k+i<<1)>>1]|0;o=e[f+(k+j<<1)>>1]|0;l=(e[f+(k<<1)>>1]|0)-((o+n|0)>>>2)+16384|0;b[g+(k*6|0)>>1]=o+32768+l;b[g+(k*6|0)+2>>1]=l;b[g+(k*6|0)+4>>1]=n+32768+l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{n=e[f+(k+i<<1)>>1]|0;p=e[f+(k+d<<1)>>1]|0;o=(e[f+(k<<1)>>1]|0)-((p+n|0)>>>2)+16384|0;q=b[f+(k+j<<1)>>1]|0;r=mw(o&65535|0,0,16)|0;n=n+32768+o|D;q=mw(q&65535|0,0,48)|0;q=r|p+32768+o&65535|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){r=d+4|0;q=b[d>>1]|0;b[d>>1]=b[r>>1]|0;b[r>>1]=q;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function ud(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36412;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function vd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36412;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function wd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Ad(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Ad(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;yd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{zd(a,f,b,d,e);return}}function yd(d,f,g,h,i){d=d|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;l=d+4|0;j=c[l>>2]|0;do{if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{k=e[m+(j*6|0)>>1]|0;i=b[m+(j*6|0)+2>>1]|0;l=i&65535;n=(e[m+(j*6|0)+4>>1]|0)+32768-((l+k|0)>>>1)&65535;b[g+(j*6|0)>>1]=k+32768-l;b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{h=b[m+(f*6|0)+2>>1]|0;k=e[m+(f*6|0)>>1]|0;l=h&65535;n=(e[m+(f*6|0)+4>>1]|0)+32768-((l+k|0)>>>1)&65535;b[g+(f<<1)>>1]=k+32768-l;b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{l=b[m+(k<<3)+2>>1]|0;n=b[m+(k<<3)+6>>1]|0;p=e[m+(k<<3)>>1]|0;o=l&65535;h=(e[m+(k<<3)+4>>1]|0)+32768-((o+p|0)>>>1)&65535;b[g+(k<<1)>>1]=p+32768-o;b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function zd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;yd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;yd(b,t,e,f,g);i=q;return}function Ad(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;i=l&65535;k=(e[f+(d*6|0)>>1]|0)+32768+i|0;i=(e[f+(d*6|0)+4>>1]|0)+32768+(((k&65535)+i|0)>>>1)&65535;b[g+(d*6|0)>>1]=k;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;l=n&65535;o=(e[f+(k<<1)>>1]|0)+32768+l|0;l=(e[f+(k+j<<1)>>1]|0)+32768+(((o&65535)+l|0)>>>1)&65535;b[g+(k*6|0)>>1]=o;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{o=b[f+(k+i<<1)>>1]|0;n=o&65535;p=(e[f+(k<<1)>>1]|0)+32768+n&65535;n=(e[f+(k+d<<1)>>1]|0)+32768+((p+n|0)>>>1)|0;q=b[f+(k+j<<1)>>1]|0;o=mw(o&65535|0,0,16)|0;n=D|n;q=mw(q&65535|0,0,48)|0;q=p|o|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Bd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36436;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Cd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36436;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Dd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Hd(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Hd(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Fd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Gd(a,f,b,d,e);return}}function Fd(d,f,g,h,i){d=d|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;l=d+4|0;j=c[l>>2]|0;do{if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{i=b[m+(j*6|0)+2>>1]|0;l=i&65535;n=32768-l+(e[m+(j*6|0)+4>>1]|0)&65535;b[g+(j*6|0)>>1]=(e[m+(j*6|0)>>1]|0)+32768-l;b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{h=b[m+(f*6|0)+2>>1]|0;l=h&65535;n=32768-l+(e[m+(f*6|0)+4>>1]|0)&65535;b[g+(f<<1)>>1]=(e[m+(f*6|0)>>1]|0)+32768-l;b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{l=b[m+(k<<3)+2>>1]|0;n=b[m+(k<<3)+6>>1]|0;o=l&65535;h=32768-o+(e[m+(k<<3)+4>>1]|0)&65535;b[g+(k<<1)>>1]=(e[m+(k<<3)>>1]|0)+32768-o;b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function Gd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Fd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Fd(b,t,e,f,g);i=q;return}function Hd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;k=l&65535;i=k+32768+(e[f+(d*6|0)+4>>1]|0)&65535;b[g+(d*6|0)>>1]=(e[f+(d*6|0)>>1]|0)+32768+k;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;o=n&65535;l=o+32768+(e[f+(k+j<<1)>>1]|0)&65535;b[g+(k*6|0)>>1]=(e[f+(k<<1)>>1]|0)+32768+o;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{o=b[f+(k+i<<1)>>1]|0;n=o&65535;p=(e[f+(k<<1)>>1]|0)+32768+n|0;n=n+32768+(e[f+(k+d<<1)>>1]|0)|0;q=b[f+(k+j<<1)>>1]|0;o=mw(o&65535|0,0,16)|0;n=D|n;q=mw(q&65535|0,0,48)|0;q=p&65535|o|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Id(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36460;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Jd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36460;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Kd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Od(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Od(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Md(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Nd(a,f,b,d,e);return}}function Md(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;k=d+4|0;i=c[k>>2]|0;do{if(!(a[i+32>>0]|0))l=e;else{d=d+8|0;lw(c[d>>2]|0,e|0,g*6|0)|0;i=c[k>>2]|0;j=c[i+16>>2]|0;if((g|0)<=0){l=c[d>>2]|0;break}d=c[d>>2]|0;i=d;e=0;while(1){l=i+4|0;m=b[i>>1]|0;b[i>>1]=b[l>>1]|0;b[l>>1]=m;e=e+1|0;if((e|0)==(g|0))break;else i=i+(j<<1)|0}l=d;i=c[k>>2]|0}}while(0);switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{h=b[l+(i*6|0)+2>>1]|0;m=b[l+(i*6|0)+4>>1]|0;b[f+(i*6|0)>>1]=b[l+(i*6|0)>>1]|0;b[f+(i*6|0)+2>>1]=h;b[f+(i*6|0)+4>>1]=m;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;d=h<<1;e=0;do{g=b[l+(e*6|0)+2>>1]|0;m=b[l+(e*6|0)+4>>1]|0;b[f+(e<<1)>>1]=b[l+(e*6|0)>>1]|0;b[f+(e+h<<1)>>1]=g;b[f+(e+d<<1)>>1]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;d=h<<1;e=h*3|0;j=0;do{k=b[l+(j<<3)+2>>1]|0;g=b[l+(j<<3)+4>>1]|0;m=b[l+(j<<3)+6>>1]|0;b[f+(j<<1)>>1]=b[l+(j<<3)>>1]|0;b[f+(j+h<<1)>>1]=k;b[f+(j+d<<1)>>1]=g;b[f+(j+e<<1)>>1]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Nd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Md(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Md(b,t,e,f,g);i=q;return}function Od(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;i=b[f+(d*6|0)+4>>1]|0;b[g+(d*6|0)>>1]=b[f+(d*6|0)>>1]|0;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;l=b[f+(k+j<<1)>>1]|0;b[g+(k*6|0)>>1]=b[f+(k<<1)>>1]|0;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{n=b[f+(k<<1)>>1]|0;q=b[f+(k+j<<1)>>1]|0;o=e[f+(k+d<<1)>>1]|0;p=mw(e[f+(k+i<<1)>>1]|0,0,16)|0;o=D|o;q=mw(q&65535|0,0,48)|0;q=p|n&65535|q;o=o&65535|D;n=g+(k<<3)|0;p=n;b[p>>1]=q;b[p+2>>1]=q>>>16;n=n+4|0;b[n>>1]=o;b[n+2>>1]=o>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Pd(a){a=a|0;return}function Qd(a){a=a|0;cj(a);return}function Rd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;e=$(c[b+8>>2]|0,e)|0;b=c[b+4>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,d,e)|0)==(e|0))return;f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,3,35648);b=o;o=0;if(b&1){b=Na()|0;La(f|0);Ya(b|0)}else lb(f|0,824,96)}function Sd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,p=0;p=i;i=i+16|0;m=p;l=b+8|0;g=c[l>>2]|0;f=$(g,e)|0;do{if(f){j=b+4|0;h=f;while(1){g=c[j>>2]|0;g=Gb[c[(c[g>>2]|0)+32>>2]&63](g,d,h)|0;if(!g)break;f=h-g|0;if((h|0)==(g|0)){k=11;break}else h=f}if((k|0)==11){g=c[l>>2]|0;h=f;break}f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,3,35648);b=o;o=0;if(b&1){b=Na()|0;La(f|0);Ya(b|0)}else lb(f|0,824,96)}else h=0}while(0);if((g|0)==2){Oc(d,e<<1);g=c[l>>2]|0}f=c[b+12>>2]|0;if((f|0)<=($(g,e)|0)){i=p;return}b=c[b+4>>2]|0;Ib[c[(c[b>>2]|0)+16>>2]&15](m,b,f-h|0,0,1,24);i=p;return}function Td(a){a=a|0;cj(a);return}function Ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;lw(c[e>>2]|0,b|0,$(c[a+8>>2]|0,d)|0)|0;c[e>>2]=(c[e>>2]|0)+(c[a+12>>2]|0);return}function Vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;lw(b|0,c[e>>2]|0,$(c[a+8>>2]|0,d)|0)|0;c[e>>2]=(c[e>>2]|0)+(c[a+12>>2]|0);return}function Wd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[b+112>>2]=0;c[b+108>>2]=0;l=c[d>>2]|0;g=l;do{if(l){i=b+92|0;l=b+96|0;j=c[l>>2]|0;k=c[i>>2]|0;e=k;f=j-e|0;if(f>>>0>=4e4)if(f>>>0>4e4?(h=k+4e4|0,(j|0)!=(h|0)):0){c[l>>2]=h;h=e}else h=e;else{Xd(i,4e4-f|0);h=c[i>>2]|0;g=c[d>>2]|0}e=b+116|0;c[e>>2]=h;j=b+124|0;c[j>>2]=h;k=b+104|0;c[k>>2]=g;f=g;if(g){if((c[f+12>>2]|0)==(c[f+16>>2]|0)){d=(Eb[c[(c[g>>2]|0)+36>>2]&127](f)|0)==-1;f=c[j>>2]|0;if(d)break;g=c[e>>2]|0}else{f=h;g=h}i=f-g|0;if(i>>>0<=64){h=b+92|0;if((f|0)==(g|0))f=g;else{f=g;g=0;do{a[(c[h>>2]|0)+g>>0]=a[f+g>>0]|0;g=g+1|0;f=c[e>>2]|0}while(g>>>0>>0);g=c[j>>2]|0}h=c[h>>2]|0;d=h;m=d-f|0;c[e>>2]=h;f=g+m|0;c[j>>2]=f;h=b+120|0;c[h>>2]=(c[h>>2]|0)+m;k=c[k>>2]|0;f=Gb[c[(c[k>>2]|0)+32>>2]&63](k,f,(c[l>>2]|0)-(d+i)|0)|0;f=(c[j>>2]|0)+f|0;c[j>>2]=f}}else f=h}else{c[b+104>>2]=0;f=c[d+4>>2]|0;e=b+116|0;c[e>>2]=f;f=f+(c[d+8>>2]|0)|0;c[b+124>>2]=f}}while(0);e=c[e>>2]|0;if(e>>>0>=f>>>0){l=e;m=b+120|0;c[m>>2]=l;ge(b);return}while(1){if((a[e>>0]|0)==-1){f=20;break}e=e+1|0;if(e>>>0>=f>>>0){f=20;break}}if((f|0)==20){m=b+120|0;c[m>>2]=e;ge(b);return}}function Xd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+8|0;g=c[k>>2]|0;l=b+4|0;e=c[l>>2]|0;f=e;if((g-f|0)>>>0>=d>>>0){do{a[e>>0]=0;e=(c[l>>2]|0)+1|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}e=c[b>>2]|0;h=f-e+d|0;if((h|0)<0){$i(b);g=c[k>>2]|0;e=c[b>>2]|0}f=g-e|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f;e=(c[l>>2]|0)-e|0;if(!f){g=0;i=0;h=e}else j=8}else{f=2147483647;e=(c[l>>2]|0)-e|0;j=8}if((j|0)==8){g=f;i=bj(f)|0;h=e}e=i+h|0;g=i+g|0;f=e;do{a[f>>0]=0;f=e+1|0;e=f;d=d+-1|0}while((d|0)!=0);d=c[b>>2]|0;f=(c[l>>2]|0)-d|0;j=i+(h-f)|0;lw(j|0,d|0,f|0)|0;c[b>>2]=j;c[l>>2]=e;c[k>>2]=g;if(!d)return;cj(d);return}function Yd(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+180|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do{if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+12|0;a:do{if((c[h>>2]|0)>0){j=a+4604|0;k=($(t,s)|0)+1|0;l=a+4608|0;m=a+92|0;n=(t|0)>0;p=a+4600|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(68,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40}while(0);do{if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Zd(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4604|0;f=c[p>>2]|0;s=d+180|0;if((c[s>>2]|0)<=0)return;q=d+4608|0;r=d+4612|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(ce(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=be(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function _d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+104|0;if((c[g>>2]|0)>>>0<4)$d(b);h=b+100|0;i=b+112|0;j=b+96|0;k=b+108|0;l=b+116|0;d=c[h>>2]|0;f=0;do{e=a[i>>0]|0;if((d|0)>31)break;d=c[j>>2]|0;if(!(e<<24>>24)){a[c[k>>2]>>0]=d>>>24;c[j>>2]=c[j>>2]<<8;d=(c[h>>2]|0)+8|0}else{a[c[k>>2]>>0]=d>>>25;c[j>>2]=c[j>>2]<<7;d=(c[h>>2]|0)+7|0}c[h>>2]=d;m=c[k>>2]|0;e=(a[m>>0]|0)==-1&1;a[i>>0]=e;c[k>>2]=m+1;c[g>>2]=(c[g>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1;f=f+1|0}while((f|0)<4);if(!(e<<24>>24))ae(b,0,(d|0)%8|0);else ae(b,0,(d+-1|0)%8|0);if((c[g>>2]|0)>>>0<4)$d(b);d=c[h>>2]|0;e=0;do{if((d|0)>31)break;d=c[j>>2]|0;if(!(a[i>>0]|0)){a[c[k>>2]>>0]=d>>>24;c[j>>2]=c[j>>2]<<8;d=(c[h>>2]|0)+8|0}else{a[c[k>>2]>>0]=d>>>25;c[j>>2]=c[j>>2]<<7;d=(c[h>>2]|0)+7|0}c[h>>2]=d;m=c[k>>2]|0;a[i>>0]=(a[m>>0]|0)==-1&1;c[k>>2]=m+1;c[g>>2]=(c[g>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1;e=e+1|0}while((e|0)<4);if(!(c[b+132>>2]|0))return;$d(b);return}function $d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+132>>2]|0;if(!d){d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,4,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}e=b+108|0;f=b+120|0;h=c[f>>2]|0;g=(c[e>>2]|0)-h|0;if((Gb[c[(c[d>>2]|0)+48>>2]&63](d,h,g)|0)==(g|0)){h=c[f>>2]|0;c[e>>2]=h;c[b+104>>2]=(c[b+124>>2]|0)-h;return}d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,4,35648);h=o;o=0;if(!(h&1))lb(d|0,824,96);h=Na()|0;La(d|0);Ya(h|0)}function ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+100|0;e=(c[l>>2]|0)-e|0;c[l>>2]=e;if((e|0)>-1){m=b+96|0;c[m>>2]=c[m>>2]|d<>2]=c[m>>2]|d>>0-e;k=b+104|0;if((c[k>>2]|0)>>>0<4){$d(b);e=c[l>>2]|0}h=b+112|0;i=b+108|0;j=b+116|0;f=0;while(1){if((e|0)>31)break;e=c[m>>2]|0;if(!(a[h>>0]|0)){a[c[i>>2]>>0]=e>>>24;c[m>>2]=c[m>>2]<<8;e=(c[l>>2]|0)+8|0}else{a[c[i>>2]>>0]=e>>>25;c[m>>2]=c[m>>2]<<7;e=(c[l>>2]|0)+7|0}c[l>>2]=e;n=c[i>>2]|0;a[h>>0]=(a[n>>0]|0)==-1&1;c[i>>2]=n+1;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;f=f+1|0;if((f|0)>=4){g=11;break}}a:do{if((g|0)==11)if((e|0)<0){c[m>>2]=c[m>>2]|d>>0-e;if((c[k>>2]|0)>>>0<4){$d(b);e=c[l>>2]|0;f=0}else f=0;do{if((e|0)>31)break a;e=c[m>>2]|0;if(!(a[h>>0]|0)){a[c[i>>2]>>0]=e>>>24;c[m>>2]=c[m>>2]<<8;e=(c[l>>2]|0)+8|0}else{a[c[i>>2]>>0]=e>>>25;c[m>>2]=c[m>>2]<<7;e=(c[l>>2]|0)+7|0}c[l>>2]=e;n=c[i>>2]|0;a[h>>0]=(a[n>>0]|0)==-1&1;c[i>>2]=n+1;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;f=f+1|0}while((f|0)<4)}}while(0);c[m>>2]=c[m>>2]|d<>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;fe(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&65535;return r|0}r=g&~(d>>31);r=r&65535;return r|0}function ce(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=(c[a+180>>2]|0)-d|0;m=c[a+4608>>2]|0;n=c[a+4604>>2]|0;h=b[m+(d+-1<<1)>>1]|0;k=h&65535;f=c[a+144>>2]|0;i=0;while(1){g=m+(i+d<<1)|0;j=(e[g>>1]|0)-k|0;if((((j|0)>-1?j:0-j|0)|0)>(f|0))break;b[g>>1]=h;i=i+1|0;if((i|0)==(l|0)){i=l;break}}h=(i|0)==(l|0);j=a+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(a,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]=de(a,e[d>>1]|0,k,e[n+(l<<1)>>1]|0)|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;a=i+1|0;return a|0}if(!f){a=l;return a|0}ae(a,1,1);a=l;return a|0}function de(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d-e|0;j=a+136|0;h=a+144|0;f=c[h>>2]|0;if((((i|0)>-1?i:0-i|0)|0)>(f|0)){g=e-d>>31|1;b=$(g,b-e|0)|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;d=((b|0)<0?f:0)+b|0;f=d-((d|0)<((f+1|0)/2|0|0)?0:f)|0;ee(a,a+4576|0,f);f=$(f,g)|0;g=c[h>>2]|0;h=g<<1|1;f=($(f,h)|0)+e|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&65535;return j|0}j=b&~(f>>31);j=j&65535;return j|0}else{b=b-d|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;g=((b|0)<0?f:0)+b|0;f=g-((g|0)<((f+1|0)/2|0|0)?0:f)|0;ee(a,a+4588|0,f);g=c[h>>2]|0;h=g<<1|1;f=($(h,f)|0)+d|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&65535;return j|0}j=b&~(f>>31);j=j&65535;return j|0}return 0}function ee(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;fe(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>2]|0;l=b+120|0;if(e>>>0<((c[l>>2]|0)+-3|0)>>>0){l=b+112|0;j=c[l>>2]|0;b=b+108|0;c[b>>2]=(d[e+1>>0]<<16|d[e>>0]<<24|d[e+2>>0]<<8|d[e+3>>0])>>>j|c[b>>2];b=32-j>>3;c[k>>2]=e+b;c[l>>2]=(b<<3)+j;return}j=b+104|0;f=c[j>>2]|0;do{if(f){if((c[f+12>>2]|0)==(c[f+16>>2]|0)){if((Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0)==-1)break;e=c[k>>2]|0}h=b+124|0;f=c[h>>2]|0;i=f-e|0;if(i>>>0<=64){g=b+92|0;if((f|0)==(e|0))f=e;else{f=0;do{a[(c[g>>2]|0)+f>>0]=a[e+f>>0]|0;f=f+1|0;e=c[k>>2]|0}while(f>>>0>>0);f=e;e=c[h>>2]|0}p=c[g>>2]|0;g=p;m=g-f|0;c[k>>2]=p;f=e+m|0;c[h>>2]=f;c[l>>2]=(c[l>>2]|0)+m;j=c[j>>2]|0;j=Gb[c[(c[j>>2]|0)+32>>2]&63](j,f,(c[b+96>>2]|0)-(g+i)|0)|0;c[h>>2]=(c[h>>2]|0)+j}}}while(0);j=b+112|0;i=b+108|0;b=c[b+124>>2]|0;h=b+-1|0;e=c[k>>2]|0;while(1){if(e>>>0>=b>>>0){f=14;break}g=a[e>>0]|0;f=g&255;g=g<<24>>24==-1;if(g){if((e|0)==(h|0)){f=25;break}e=e+1|0;if((a[e>>0]|0)<0){f=25;break}}else e=e+1|0;p=c[j>>2]|0;c[i>>2]=f<<24-p|c[i>>2];c[k>>2]=e;p=p+(g?7:8)|0;c[j>>2]=p;if((p|0)>=24){f=33;break}}if((f|0)==14){if((c[j>>2]|0)>=1)return;e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);p=o;o=0;if(!(p&1))lb(e|0,824,96);p=Na()|0;La(e|0);Ya(p|0)}else if((f|0)==25){if((c[j>>2]|0)>=1)return;e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);p=o;o=0;if(!(p&1))lb(e|0,824,96);p=Na()|0;La(e|0);Ya(p|0)}else if((f|0)==33){a:do{if(e>>>0>>0)do{if((a[e>>0]|0)==-1)break a;e=e+1|0}while(e>>>0>>0)}while(0);c[l>>2]=e;return}}function he(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do{if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function ie(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+8|0;g=c[k>>2]|0;l=b+4|0;e=c[l>>2]|0;f=e;if((g-f|0)>>>0>=d>>>0){do{a[e>>0]=0;e=(c[l>>2]|0)+1|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}e=c[b>>2]|0;h=f-e+d|0;if((h|0)<0){$i(b);g=c[k>>2]|0;e=c[b>>2]|0}f=g-e|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f;e=(c[l>>2]|0)-e|0;if(!f){g=0;i=0;h=e}else j=8}else{f=2147483647;e=(c[l>>2]|0)-e|0;j=8}if((j|0)==8){g=f;i=bj(f)|0;h=e}e=i+h|0;g=i+g|0;f=e;do{a[f>>0]=0;f=e+1|0;e=f;d=d+-1|0}while((d|0)!=0);d=c[b>>2]|0;f=(c[l>>2]|0)-d|0;j=i+(h-f)|0;lw(j|0,d|0,f|0)|0;c[b>>2]=j;c[l>>2]=e;c[k>>2]=g;if(!d)return;cj(d);return}function je(a){a=a|0;var b=0,d=0;c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function ke(a){a=a|0;var b=0,d=0;c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function le(a){a=a|0;var b=0,d=0;c[a>>2]=36052;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function me(a){a=a|0;var b=0,d=0;c[a>>2]=36052;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ne(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;xe(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function oe(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35828;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];qe(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;qe(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function pe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function qe(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=a+180|0;r=(c[q>>2]|0)+4|0;if((c[a+32>>2]|0)==1)s=c[a+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;do{if(d){if(!(d>>>0>715827882?(o=0,ha(178,w|0),v=o,o=0,v&1):0))j=6;if((j|0)==6?(o=0,e=ka(67,d*6|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;f=e+(d*6|0)|0;c[w+8>>2]=f;while(1){b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;d=d+-1|0;if(!d)break;else e=e+6|0}c[x>>2]=f;break}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)j=20;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))j=18;if((j|0)==18?(g=s<<2,o=0,h=ka(67,g|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=h;j=h+(s<<2)|0;c[t+8>>2]=j;iw(h|0,0,g|0)|0;c[v>>2]=j;j=20;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==20){g=a+12|0;a:do{if((c[g>>2]|0)>0){h=a+4604|0;j=($(s,r)|0)+1|0;k=a+4608|0;l=a+92|0;m=(s|0)>0;n=a+4600|0;p=0;b:while(1){e=c[w>>2]|0;d=e+6|0;c[h>>2]=d;e=e+(j*6|0)|0;c[k>>2]=e;if(!(p&1))d=e;else{c[h>>2]=e;c[k>>2]=d}f=c[l>>2]|0;o=0;Aa(c[(c[f>>2]|0)+12>>2]|0,f|0,d|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){j=30;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*6|0)|0;e=e+((y+-1|0)*6|0)|0;b[d>>1]=b[e>>1]|0;b[d+2>>1]=b[e+2>>1]|0;b[d+4>>1]=b[e+4>>1]|0;e=(c[k>>2]|0)+-6|0;d=c[h>>2]|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;b[e+4>>1]=b[d+4>>1]|0;o=0;ia(69,a|0,0);e=o;o=0;if(e&1){j=29;break b}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*6|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*6|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(182,a|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);i=u;return}}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}function re(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;B=d+180|0;if((c[B>>2]|0)<=0)return;C=d+4608|0;D=d+4604|0;E=d+4612|0;A=0;while(1){x=A+-1|0;j=c[C>>2]|0;k=c[D>>2]|0;f=A+1|0;i=e[k+(A*6|0)>>1]|0;z=c[E>>2]|0;l=e[k+(x*6|0)>>1]|0;m=i-l|0;n=e[j+(x*6|0)>>1]|0;o=l-n|0;p=((((a[z+((e[k+(f*6|0)>>1]|0)-i)>>0]|0)*9|0)+(a[z+m>>0]|0)|0)*9|0)+(a[z+o>>0]|0)|0;h=e[k+(A*6|0)+2>>1]|0;q=e[k+(x*6|0)+2>>1]|0;r=h-q|0;s=e[j+(x*6|0)+2>>1]|0;t=q-s|0;u=((((a[z+((e[k+(f*6|0)+2>>1]|0)-h)>>0]|0)*9|0)+(a[z+r>>0]|0)|0)*9|0)+(a[z+t>>0]|0)|0;g=e[k+(A*6|0)+4>>1]|0;v=e[k+(x*6|0)+4>>1]|0;w=g-v|0;x=e[j+(x*6|0)+4>>1]|0;y=v-x|0;z=((((a[z+((e[k+(f*6|0)+4>>1]|0)-g)>>0]|0)*9|0)+(a[z+w>>0]|0)|0)*9|0)+(a[z+y>>0]|0)|0;if(!(u|p|z))f=(se(d,A,0)|0)+A|0;else{k=e[j+(A*6|0)>>1]|0;j=i-n>>31;if((j^o|0)>=0)if((j^m|0)<0)i=n;else i=n-l+i|0;k=te(d,p,k,i,0)|0;j=e[(c[C>>2]|0)+(A*6|0)+2>>1]|0;i=h-s>>31;if((i^t|0)>=0)if((i^r|0)<0)h=s;else h=s-q+h|0;i=te(d,u,j,h,0)|0;j=e[(c[C>>2]|0)+(A*6|0)+4>>1]|0;h=g-x>>31;if((h^y|0)>=0)if((h^w|0)<0)g=x;else g=x-v+g|0;y=te(d,z,j,g,0)|0;z=c[C>>2]|0;b[z+(A*6|0)>>1]=k;b[z+(A*6|0)+2>>1]=i;b[z+(A*6|0)+4>>1]=y}if((f|0)<(c[B>>2]|0))A=f;else break}return}function se(a,d,f){a=a|0;d=d|0;f=f|0;var 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,A=0,B=0,C=0;B=i;i=i+48|0;r=B+30|0;q=B+24|0;p=B+18|0;s=B+12|0;x=B+6|0;y=B;z=(c[a+180>>2]|0)-d|0;A=c[a+4608>>2]|0;t=c[a+4604>>2]|0;w=d+-1|0;u=b[A+(w*6|0)>>1]|0;v=b[A+(w*6|0)+2>>1]|0;w=b[A+(w*6|0)+4>>1]|0;f=u&65535;g=a+144|0;h=v&65535;j=w&65535;o=0;while(1){m=o+d|0;k=A+(m*6|0)|0;l=A+(m*6|0)+2|0;m=A+(m*6|0)+4|0;C=(e[k>>1]|0)-f|0;n=c[g>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(e[l>>1]|0)-h|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(e[m>>1]|0)-j|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;b[k>>1]=u;b[l>>1]=v;b[m>>1]=w;o=o+1|0;if((o|0)==(z|0)){o=z;break}}h=(o|0)==(z|0);j=a+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(o|0))f=o;else{f=o;do{ae(a,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]=b[C>>1]|0;b[x+2>>1]=b[C+2>>1]|0;b[x+4>>1]=b[C+4>>1]|0;b[y>>1]=u;b[y+2>>1]=v;b[y+4>>1]=w;d=t+(d*6|0)|0;b[p>>1]=b[x>>1]|0;b[p+2>>1]=b[x+2>>1]|0;b[p+4>>1]=b[x+4>>1]|0;b[q>>1]=b[y>>1]|0;b[q+2>>1]=b[y+2>>1]|0;b[q+4>>1]=b[y+4>>1]|0;b[r>>1]=b[d>>1]|0;b[r+2>>1]=b[d+2>>1]|0;b[r+4>>1]=b[d+4>>1]|0;ve(s,a,p,q,r);b[C>>1]=b[s>>1]|0;b[C+2>>1]=b[s+2>>1]|0;b[C+4>>1]=b[s+4>>1]|0;C=c[j>>2]|0;c[j>>2]=(C|0)<1?0:C+-1|0;C=o+1|0;i=B;return C|0}if(!f){C=z;i=B;return C|0}ae(a,1,1);C=z;i=B;return C|0}function te(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;ue(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&65535;return r|0}r=g&~(d>>31);r=r&65535;return r|0}function ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>1]|0;p=o-(e[g>>1]|0)>>31|1;i=$(p,(e[f>>1]|0)-o|0)|0;m=d+144|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;w=d+140|0;l=c[w>>2]|0;k=((i|0)<0?l:0)+i|0;l=k-((k|0)<((l+1|0)/2|0|0)?0:l)|0;k=d+4576|0;we(d,k,l);t=e[h+2>>1]|0;u=t-(e[g+2>>1]|0)>>31|1;i=$(u,(e[f+2>>1]|0)-t|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;q=c[w>>2]|0;v=((i|0)<0?q:0)+i|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;we(d,k,q);v=e[h+4>>1]|0;s=v-(e[g+4>>1]|0)>>31|1;i=$(s,(e[f+4>>1]|0)-v|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;n=c[w>>2]|0;i=((i|0)<0?n:0)+i|0;n=i-((i|0)<((n+1|0)/2|0|0)?0:n)|0;we(d,k,n);k=c[m>>2]|0;m=k<<1|1;i=($($(m,l)|0,p)|0)+o|0;f=0-k|0;if((i|0)>=(f|0)){j=c[r>>2]|0;if((j+k|0)<(i|0)){i=i-($(c[w>>2]|0,m)|0)|0;g=j}else g=j}else{i=($(c[w>>2]|0,m)|0)+i|0;g=c[r>>2]|0}if((i&g|0)!=(i|0))i=g&~(i>>31);h=i&65535;i=($($(m,q)|0,u)|0)+t|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)!=(i|0))i=g&~(i>>31);j=i&65535;i=($($(m,n)|0,s)|0)+v|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)==(i|0)){w=i;w=w&65535;b[a>>1]=h;v=a+2|0;b[v>>1]=j;a=a+4|0;b[a>>1]=w;return}w=g&~(i>>31);w=w&65535;b[a>>1]=h;v=a+2|0;b[v>>1]=j;a=a+4|0;b[a>>1]=w;return}function we(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;ue(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function xe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do{if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function ye(a){a=a|0;var b=0,d=0;c[a>>2]=36024;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function ze(a){a=a|0;var b=0,d=0;c[a>>2]=36024;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Ae(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;pf(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function Be(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35800;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Ce(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function De(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36712;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36688;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Fe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36664;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Ge(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36640;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function He(a){a=a|0;var b=0,d=0;c[a>>2]=36640;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function Ie(a){a=a|0;var b=0,d=0;c[a>>2]=36640;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;Ne(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;Ne(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Le(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Me(a,f,b,d,e);return}}function Le(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{j=d[k+(i*3|0)+1>>0]|0;h=128-j+(d[k+(i*3|0)+2>>0]|0)|0;l=(d[k+(i*3|0)>>0]|0)-j+128|0;m=f+(i*3|0)|0;a[m>>0]=j+192+(((h&255)+(l&255)|0)>>>2);a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{g=d[k+(e*3|0)+1>>0]|0;l=128-g+(d[k+(e*3|0)+2>>0]|0)|0;m=(d[k+(e*3|0)>>0]|0)-g+128|0;a[f+e>>0]=g+192+(((l&255)+(m&255)|0)>>>2);a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{m=a[k+(j<<2)+3>>0]|0;n=d[k+(j<<2)+1>>0]|0;g=128-n+(d[k+(j<<2)+2>>0]|0)|0;l=(d[k+(j<<2)>>0]|0)-n+128|0;a[f+j>>0]=n+192+(((g&255)+(l&255)|0)>>>2);a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Me(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Le(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Le(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function Ne(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=d[e+(b*3|0)+1>>0]|0;i=d[e+(b*3|0)+2>>0]|0;k=(d[e+(b*3|0)>>0]|0)-((i+j|0)>>>2)+64|0;h=f+(b*3|0)|0;a[h>>0]=i+128+k;a[h+1>>0]=k;a[h+2>>0]=j+128+k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=d[e+(j+h)>>0]|0;o=d[e+(j+i)>>0]|0;m=(d[e+j>>0]|0)-((o+n|0)>>>2)+64|0;k=f+(j*3|0)|0;a[k>>0]=o+128+m;a[k+1>>0]=m;a[k+2>>0]=n+128+m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{m=d[e+(j+h)>>0]|0;p=d[e+(j+b)>>0]|0;n=(d[e+j>>0]|0)-((p+m|0)>>>2)+64|0;o=f+(j<<2)|0;n=n<<8&65280|d[e+(j+i)>>0]<<24|p+128+n&255|m+128+n<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){p=b+2|0;o=a[b>>0]|0;a[b>>0]=a[p>>0]|0;a[p>>0]=o;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function Oe(a){a=a|0;var b=0,d=0;c[a>>2]=36664;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function Pe(a){a=a|0;var b=0,d=0;c[a>>2]=36664;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Qe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;Ue(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;Ue(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Se(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Te(a,f,b,d,e);return}}function Se(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{e=d[k+(i*3|0)>>0]|0;h=a[k+(i*3|0)+1>>0]|0;j=h&255;l=(d[k+(i*3|0)+2>>0]|0)+128-((j+e|0)>>>1)&255;m=f+(i*3|0)|0;a[m>>0]=e+128-j;a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{l=a[k+(e*3|0)+1>>0]|0;j=d[k+(e*3|0)>>0]|0;g=l&255;m=(d[k+(e*3|0)+2>>0]|0)+128-((g+j|0)>>>1)&255;a[f+e>>0]=j+128-g;a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{g=a[k+(j<<2)+1>>0]|0;m=a[k+(j<<2)+3>>0]|0;o=d[k+(j<<2)>>0]|0;n=g&255;l=(d[k+(j<<2)+2>>0]|0)+128-((n+o|0)>>>1)&255;a[f+j>>0]=o+128-n;a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Te(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Se(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Se(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function Ue(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;k=j&255;i=(d[e+(b*3|0)>>0]|0)+128+k|0;k=(d[e+(b*3|0)+2>>0]|0)+128+(((i&255)+k|0)>>>1)&255;h=f+(b*3|0)|0;a[h>>0]=i;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;m=n&255;o=(d[e+j>>0]|0)+128+m|0;m=(d[e+(j+i)>>0]|0)+128+(((o&255)+m|0)>>>1)&255;k=f+(j*3|0)|0;a[k>>0]=o;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=d[e+(j+h)>>0]|0;m=(d[e+j>>0]|0)+128+n&255;o=f+(j<<2)|0;n=m|n<<8|d[e+(j+i)>>0]<<24|(d[e+(j+b)>>0]|0)+128+((m+n|0)>>>1)<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){o=b+2|0;n=a[b>>0]|0;a[b>>0]=a[o>>0]|0;a[o>>0]=n;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function Ve(a){a=a|0;var b=0,d=0;c[a>>2]=36688;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function We(a){a=a|0;var b=0,d=0;c[a>>2]=36688;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;$e(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;$e(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Ze(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{_e(a,f,b,d,e);return}}function Ze(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{h=a[k+(i*3|0)+1>>0]|0;j=h&255;l=128-j+(d[k+(i*3|0)+2>>0]|0)&255;m=f+(i*3|0)|0;a[m>>0]=(d[k+(i*3|0)>>0]|0)+128-j;a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{l=a[k+(e*3|0)+1>>0]|0;g=l&255;m=128-g+(d[k+(e*3|0)+2>>0]|0)&255;a[f+e>>0]=(d[k+(e*3|0)>>0]|0)+128-g;a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{g=a[k+(j<<2)+1>>0]|0;m=a[k+(j<<2)+3>>0]|0;n=g&255;l=128-n+(d[k+(j<<2)+2>>0]|0)&255;a[f+j>>0]=(d[k+(j<<2)>>0]|0)+128-n;a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function _e(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Ze(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Ze(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;i=j&255;k=i+128+(d[e+(b*3|0)+2>>0]|0)&255;h=f+(b*3|0)|0;a[h>>0]=(d[e+(b*3|0)>>0]|0)+128+i;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;o=n&255;m=o+128+(d[e+(j+i)>>0]|0)&255;k=f+(j*3|0)|0;a[k>>0]=(d[e+j>>0]|0)+128+o;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=d[e+(j+h)>>0]|0;o=f+(j<<2)|0;n=(d[e+j>>0]|0)+128+n&255|n<<8|d[e+(j+i)>>0]<<24|n+128+(d[e+(j+b)>>0]|0)<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){o=b+2|0;n=a[b>>0]|0;a[b>>0]=a[o>>0]|0;a[o>>0]=n;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function af(a){a=a|0;var b=0,d=0;c[a>>2]=36712;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function bf(a){a=a|0;var b=0,d=0;c[a>>2]=36712;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function cf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;gf(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;gf(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;ef(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{ff(a,f,b,d,e);return}}function ef(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=b+4|0;h=c[j>>2]|0;if(!(a[h+32>>0]|0))j=d;else{i=b+8|0;lw(c[i>>2]|0,d|0,f*3|0)|0;h=c[j>>2]|0;d=c[h+16>>2]|0;if((f|0)>0){h=c[i>>2]|0;b=0;while(1){k=h+2|0;l=a[h>>0]|0;a[h>>0]=a[k>>0]|0;a[k>>0]=l;b=b+1|0;if((b|0)==(f|0))break;else h=h+d|0}h=c[j>>2]|0}j=c[i>>2]|0}switch(c[h+16>>2]|0){case 3:{if((c[h+24>>2]|0)==2){if((f|0)>0)h=0;else return;do{g=a[j+(h*3|0)+1>>0]|0;k=a[j+(h*3|0)+2>>0]|0;l=e+(h*3|0)|0;a[l>>0]=a[j+(h*3|0)>>0]|0;a[l+1>>0]=g;a[l+2>>0]=k;h=h+1|0}while((h|0)!=(f|0));return}h=(g|0)<(f|0)?g:f;if((h|0)<=0)return;b=g<<1;d=0;do{k=a[j+(d*3|0)+1>>0]|0;l=a[j+(d*3|0)+2>>0]|0;a[e+d>>0]=a[j+(d*3|0)>>0]|0;a[e+(d+g)>>0]=k;a[e+(d+b)>>0]=l;d=d+1|0}while((d|0)!=(h|0));return}case 4:{if((c[h+24>>2]|0)!=1)return;h=(g|0)<(f|0)?g:f;if((h|0)<=0)return;b=g<<1;d=g*3|0;i=0;do{f=a[j+(i<<2)+1>>0]|0;k=a[j+(i<<2)+2>>0]|0;l=a[j+(i<<2)+3>>0]|0;a[e+i>>0]=a[j+(i<<2)>>0]|0;a[e+(i+g)>>0]=f;a[e+(i+b)>>0]=k;a[e+(i+d)>>0]=l;i=i+1|0}while((i|0)!=(h|0));return}default:return}}function ff(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;ef(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){ef(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function gf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;k=a[e+(b*3|0)+2>>0]|0;h=f+(b*3|0)|0;a[h>>0]=a[e+(b*3|0)>>0]|0;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;m=a[e+(j+i)>>0]|0;k=f+(j*3|0)|0;a[k>>0]=a[e+j>>0]|0;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=f+(j<<2)|0;m=d[e+(j+h)>>0]<<8|d[e+j>>0]|d[e+(j+b)>>0]<<16|d[e+(j+i)>>0]<<24;a[n>>0]=m;a[n+1>>0]=m>>8;a[n+2>>0]=m>>16;a[n+3>>0]=m>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){n=b+2|0;m=a[b>>0]|0;a[b>>0]=a[n>>0]|0;a[n>>0]=m;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function hf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+180|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[x>>2]|0)+3|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){g=b+12|0;b:do{if((c[g>>2]|0)>0){h=b+4604|0;j=($(s,r)|0)+1|0;k=b+4608|0;l=b+92|0;m=(s|0)>0;n=b+4600|0;p=0;c:while(1){f=c[w>>2]|0;d=f+3|0;c[h>>2]=d;e=f+(j*3|0)|0;c[k>>2]=e;if(!(p&1))d=j;else{c[h>>2]=e;c[k>>2]=d;d=1}e=c[l>>2]|0;o=0;Aa(c[(c[e>>2]|0)+12>>2]|0,e|0,f+(d*3|0)|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*3|0)|0;e=e+((y+-1|0)*3|0)|0;a[d>>0]=a[e>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;d=c[h>>2]|0;e=(c[k>>2]|0)+-3|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;o=0;ia(70,b|0,0);e=o;o=0;if(e&1){h=28;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*3|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*3|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){f=Na()|0;break}else if((h|0)==29){f=Na()|0;break}}else h=41}while(0);do{if((h|0)==41){o=0;ha(182,b|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=u;return}}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function jf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+180|0;if((c[A>>2]|0)<=0)return;B=b+4608|0;C=b+4604|0;D=b+4612|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=(kf(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=lf(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=lf(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=lf(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function kf(b,e,f){b=b|0;e=e|0;f=f|0;var 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,A=0,B=0,C=0;B=i;i=i+32|0;A=B+15|0;q=B+12|0;p=B+9|0;r=B+6|0;w=B+3|0;x=B;y=(c[b+180>>2]|0)-e|0;z=c[b+4608>>2]|0;s=c[b+4604>>2]|0;v=z+((e+-1|0)*3|0)|0;t=a[v>>0]|0;u=a[v+1>>0]|0;v=a[v+2>>0]|0;f=t&255;g=b+144|0;h=u&255;j=v&255;o=0;while(1){k=z+((o+e|0)*3|0)|0;l=k+1|0;m=k+2|0;C=(d[k>>0]|0)-f|0;n=c[g>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(d[l>>0]|0)-h|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(d[m>>0]|0)-j|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;a[k>>0]=t;a[l>>0]=u;a[m>>0]=v;o=o+1|0;if((o|0)==(y|0)){o=y;break}}h=(o|0)==(y|0);j=b+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(o|0))f=o;else{f=o;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]=a[C>>0]|0;a[w+1>>0]=a[C+1>>0]|0;a[w+2>>0]=a[C+2>>0]|0;a[x>>0]=t;a[x+1>>0]=u;a[x+2>>0]=v;e=s+(e*3|0)|0;a[p>>0]=a[w>>0]|0;a[p+1>>0]=a[w+1>>0]|0;a[p+2>>0]=a[w+2>>0]|0;a[q>>0]=a[x>>0]|0;a[q+1>>0]=a[x+1>>0]|0;a[q+2>>0]=a[x+2>>0]|0;a[A>>0]=a[e>>0]|0;a[A+1>>0]=a[e+1>>0]|0;a[A+2>>0]=a[e+2>>0]|0;nf(r,b,p,q,A);a[C>>0]=a[r>>0]|0;a[C+1>>0]=a[r+1>>0]|0;a[C+2>>0]=a[r+2>>0]|0;C=c[j>>2]|0;c[j>>2]=(C|0)<1?0:C+-1|0;C=o+1|0;i=B;return C|0}if(!f){C=y;i=B;return C|0}ae(b,1,1);C=y;i=B;return C|0}function lf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;mf(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&255;return r|0}r=g&~(d>>31);r=r&255;return r|0}function mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>0]|0;p=o-(d[g>>0]|0)>>31|1;i=$(p,(d[f>>0]|0)-o|0)|0;m=e+144|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;w=e+140|0;l=c[w>>2]|0;k=((i|0)<0?l:0)+i|0;l=k-((k|0)<((l+1|0)/2|0|0)?0:l)|0;k=e+4576|0;of(e,k,l);t=d[h+1>>0]|0;u=t-(d[g+1>>0]|0)>>31|1;i=$(u,(d[f+1>>0]|0)-t|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;q=c[w>>2]|0;v=((i|0)<0?q:0)+i|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;of(e,k,q);v=d[h+2>>0]|0;s=v-(d[g+2>>0]|0)>>31|1;i=$(s,(d[f+2>>0]|0)-v|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;n=c[w>>2]|0;i=((i|0)<0?n:0)+i|0;n=i-((i|0)<((n+1|0)/2|0|0)?0:n)|0;of(e,k,n);k=c[m>>2]|0;m=k<<1|1;i=($($(m,l)|0,p)|0)+o|0;f=0-k|0;if((i|0)>=(f|0)){j=c[r>>2]|0;if((j+k|0)<(i|0)){i=i-($(c[w>>2]|0,m)|0)|0;g=j}else g=j}else{i=($(c[w>>2]|0,m)|0)+i|0;g=c[r>>2]|0}if((i&g|0)!=(i|0))i=g&~(i>>31);h=i&255;i=($($(m,q)|0,u)|0)+t|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)!=(i|0))i=g&~(i>>31);j=i&255;i=($($(m,n)|0,s)|0)+v|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)==(i|0)){w=i;w=w&255;a[b>>0]=h;v=b+1|0;a[v>>0]=j;b=b+2|0;a[b>>0]=w;return}w=g&~(i>>31);w=w&255;a[b>>0]=h;v=b+1|0;a[v>>0]=j;b=b+2|0;a[b>>0]=w;return}function of(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;mf(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function pf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do{if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function qf(a){a=a|0;var b=0,d=0;c[a>>2]=35996;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function rf(a){a=a|0;var b=0,d=0;c[a>>2]=35996;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function sf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,65535,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Bf(d);g=0;do{c[d+172+(g*12|0)>>2]=1024;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=1024;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=1024;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function tf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35772;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];vf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;vf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function uf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function vf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+156|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do{if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+12|0;a:do{if((c[h>>2]|0)>0){j=a+4580|0;k=($(t,s)|0)+1|0;l=a+4584|0;m=a+92|0;n=(t|0)>0;p=a+4576|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(71,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40}while(0);do{if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function wf(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4580|0;f=c[p>>2]|0;s=d+156|0;if((c[s>>2]|0)<=0)return;q=d+4584|0;r=d+4588|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(yf(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=xf(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function xf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&65535|0)==(g|0))m=g;else m=g>>31&65535^65535;j=(e-m^q)-q<<16;l=j>>16;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;f=g^l;f=f>>30^f<<1;g=f>>h;if((g|0)<47){if((g|0)>30){i=(g|0)/2|0;ae(a,0,i);g=g-i|0}ae(a,1,g+1|0);ae(a,f&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-65536?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}function yf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[a+156>>2]|0)-d|0;k=c[a+4584>>2]|0;m=c[a+4580>>2]|0;h=b[k+(d+-1<<1)>>1]|0;g=0;while(1){f=k+(g+d<<1)|0;if((b[f>>1]|0)!=h<<16>>16){n=g;break}b[f>>1]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&65535;h=(n|0)==(j|0);l=a+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(a,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]|0;f=e[m+(f<<1)>>1]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<16>>16;zf(a,a+4564|0,f);f=f+i|0}else{m=f-i>>31|1;d=($(g-f<<16,m)|0)>>16;zf(a,a+4552|0,d);f=($(d,m)|0)+f|0}b[h>>1]=f;a=c[l>>2]|0;c[l>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function zf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Af(b,h,g,63-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Af(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-16|0;if((e|0)<(d+-17|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-47|0)}else ae(a,1,f);ae(a,c+65535&65535,16);return}function Bf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,65535,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8909]|0;c[b+4588>>2]=l+(((c[8910]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=131072){if(h>>>0>131072?(j=d+131072|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,131072-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+65536;j=b+168|0;g=b+164|0;h=-65536;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==65536)break}i=m;return}function Cf(a){a=a|0;var b=0,d=0;c[a>>2]=35968;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Df(a){a=a|0;var b=0,d=0;c[a>>2]=35968;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Ef(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,4095,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Nf(d);g=0;do{c[d+172+(g*12|0)>>2]=64;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=64;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=64;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function Ff(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35744;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Gf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Hf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+156|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do{if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+12|0;a:do{if((c[h>>2]|0)>0){j=a+4580|0;k=($(t,s)|0)+1|0;l=a+4584|0;m=a+92|0;n=(t|0)>0;p=a+4576|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(72,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40}while(0);do{if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function If(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4580|0;f=c[p>>2]|0;s=d+156|0;if((c[s>>2]|0)<=0)return;q=d+4584|0;r=d+4588|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(Kf(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=Jf(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function Jf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&4095|0)==(g|0))m=g;else m=g>>31&4095^4095;j=(e-m^q)-q<<20;l=j>>20;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;f=g^l;f=f>>30^f<<1;g=f>>h;if((g|0)<35){if((g|0)>30){i=(g|0)/2|0;ae(a,0,i);g=g-i|0}ae(a,1,g+1|0);ae(a,f&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-1048576?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}function Kf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[a+156>>2]|0)-d|0;k=c[a+4584>>2]|0;m=c[a+4580>>2]|0;h=b[k+(d+-1<<1)>>1]|0;g=0;while(1){f=k+(g+d<<1)|0;if((b[f>>1]|0)!=h<<16>>16){n=g;break}b[f>>1]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&65535;h=(n|0)==(j|0);l=a+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(a,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]|0;f=e[m+(f<<1)>>1]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<20>>20;Lf(a,a+4564|0,f);f=f+i|0}else{m=f-i>>31|1;d=($(g-f<<20,m)|0)>>20;Lf(a,a+4552|0,d);f=($(d,m)|0)+f|0}b[h>>1]=f&4095;a=c[l>>2]|0;c[l>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function Lf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Mf(b,h,g,47-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Mf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-12|0;if((e|0)<(d+-13|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-43|0)}else ae(a,1,f);ae(a,c+4095&4095,12);return}function Nf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,4095,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8906]|0;c[b+4588>>2]=l+(((c[8907]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=8192){if(h>>>0>8192?(j=d+8192|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,8192-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+4096;j=b+168|0;g=b+164|0;h=-4096;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==4096)break}i=m;return}function Of(a){a=a|0;var b=0,d=0;c[a>>2]=35940;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Pf(a){a=a|0;var b=0,d=0;c[a>>2]=35940;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Qf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Zf(d);g=0;do{c[d+172+(g*12|0)>>2]=4;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=4;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=4;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function Rf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35716;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Tf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Tf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Sf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Tf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+156|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}e=Na()|0;d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){g=b+12|0;b:do{if((c[g>>2]|0)>0){h=b+4580|0;j=($(s,r)|0)+1|0;k=b+4584|0;l=b+92|0;m=(s|0)>0;n=b+4576|0;p=0;c:while(1){e=c[w>>2]|0;d=e+1|0;c[h>>2]=d;e=e+j|0;c[k>>2]=e;if(!(p&1))d=e;else{c[h>>2]=e;c[k>>2]=d}f=c[l>>2]|0;o=0;Aa(c[(c[f>>2]|0)+12>>2]|0,f|0,d|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[h>>2]|0;e=c[t>>2]|0;f=0;do{c[n>>2]=c[e+(f<<2)>>2];e=c[q>>2]|0;a[d+e>>0]=a[d+(e+-1)>>0]|0;a[(c[k>>2]|0)+-1>>0]=a[c[h>>2]>>0]|0;o=0;ia(73,b|0,0);e=o;o=0;if(e&1){h=28;break c}e=c[t>>2]|0;c[e+(f<<2)>>2]=c[n>>2];d=(c[h>>2]|0)+r|0;c[h>>2]=d;c[k>>2]=(c[k>>2]|0)+r;f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){e=Na()|0;break}else if((h|0)==29){e=Na()|0;break}}else h=41}while(0);do{if((h|0)==41){o=0;ha(182,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return}}while(0);d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}function Uf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4580|0;e=c[o>>2]|0;r=b+156|0;if((c[r>>2]|0)<=0)return;p=b+4584|0;q=b+4588|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(Wf(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=Vf(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function Vf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&255|0)==(g|0))m=g;else m=g>>31&255^255;j=(e-m^q)-q<<24;l=j>>24;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;g=g^l;g=g>>30^g<<1;f=g>>h;if((f|0)<23){ae(a,1,f+1|0);ae(a,g&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-16777216?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}function Wf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[b+156>>2]|0)-e|0;k=c[b+4584>>2]|0;m=c[b+4580>>2]|0;h=a[k+(e+-1)>>0]|0;g=0;while(1){f=k+(g+e)|0;if((a[f>>0]|0)!=h<<24>>24){n=g;break}a[f>>0]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&255;h=(n|0)==(j|0);l=b+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(b,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]|0;f=d[m+f>>0]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<24>>24;Xf(b,b+4564|0,f);f=f+i|0}else{m=f-i>>31|1;e=($(g-f<<24,m)|0)>>24;Xf(b,b+4552|0,e);f=($(e,m)|0)+f|0}a[h>>0]=f;b=c[l>>2]|0;c[l>>2]=(b|0)<1?0:b+-1|0;b=n+1|0;return b|0}function Xf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Yf(b,h,g,31-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-39|0)}else ae(a,1,f);ae(a,c+255&255,8);return}function Zf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8900]|0;c[b+4588>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+256;j=b+168|0;g=b+164|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function _f(a){a=a|0;var b=0,d=0;c[a>>2]=35912;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function $f(a){a=a|0;var b=0,d=0;c[a>>2]=35912;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ag(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;jg(d);g=0;do{c[d+172+(g*12|0)>>2]=4;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=4;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=4;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function bg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35688;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];dg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;dg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function cg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+156|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[x>>2]|0)+3|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){g=b+12|0;b:do{if((c[g>>2]|0)>0){h=b+4580|0;j=($(s,r)|0)+1|0;k=b+4584|0;l=b+92|0;m=(s|0)>0;n=b+4576|0;p=0;c:while(1){f=c[w>>2]|0;d=f+3|0;c[h>>2]=d;e=f+(j*3|0)|0;c[k>>2]=e;if(!(p&1))d=j;else{c[h>>2]=e;c[k>>2]=d;d=1}e=c[l>>2]|0;o=0;Aa(c[(c[e>>2]|0)+12>>2]|0,e|0,f+(d*3|0)|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*3|0)|0;e=e+((y+-1|0)*3|0)|0;a[d>>0]=a[e>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;d=c[h>>2]|0;e=(c[k>>2]|0)+-3|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;o=0;ia(74,b|0,0);e=o;o=0;if(e&1){h=28;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*3|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*3|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){f=Na()|0;break}else if((h|0)==29){f=Na()|0;break}}else h=41}while(0);do{if((h|0)==41){o=0;ha(182,b|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=u;return}}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function eg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+156|0;if((c[A>>2]|0)<=0)return;B=b+4584|0;C=b+4580|0;D=b+4588|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=(fg(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=gg(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=gg(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=gg(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function fg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=(c[b+156>>2]|0)-e|0;n=c[b+4584>>2]|0;o=c[b+4580>>2]|0;l=n+((e+-1|0)*3|0)|0;p=a[l>>0]|0;k=a[l+1>>0]|0;l=a[l+2>>0]|0;i=0;while(1){f=n+((i+e|0)*3|0)|0;g=f+1|0;h=f+2|0;if(!(((a[f>>0]|0)==p<<24>>24?(a[g>>0]|0)==k<<24>>24:0)&(a[h>>0]|0)==l<<24>>24))break;a[f>>0]=p;a[g>>0]=k;a[h>>0]=l;i=i+1|0;if((i|0)==(m|0)){i=m;break}}h=(i|0)==(m|0);j=b+4576|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]|0;e=m+2|0;f=a[e>>0]|0;o=o+(q*3|0)|0;q=a[o+1>>0]|0;t=a[o+2>>0]|0;o=d[o>>0]|0;h=o-(p&255)>>31|1;g=($((d[m>>0]|0)-o<<24,h)|0)>>24;s=b+4552|0;hg(b,s,g);p=q&255;q=p-(k&255)>>31|1;r=($((r&255)-p<<24,q)|0)>>24;hg(b,s,r);k=t&255;l=k-(l&255)>>31|1;f=($((f&255)-k<<24,l)|0)>>24;hg(b,s,f);p=($(r,q)|0)+p&255;b=($(f,l)|0)+k&255;a[m>>0]=($(g,h)|0)+o;a[n>>0]=p;a[e>>0]=b;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;b=i+1|0;return b|0}if(!f){t=m;return t|0}ae(b,1,1);t=m;return t|0}function gg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&255|0)==(g|0))m=g;else m=g>>31&255^255;j=(e-m^q)-q<<24;l=j>>24;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;g=g^l;g=g>>30^g<<1;f=g>>h;if((f|0)<23){ae(a,1,f+1|0);ae(a,g&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-16777216?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}function hg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;ig(b,h,g,31-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function ig(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-39|0)}else ae(a,1,f);ae(a,c+255&255,8);return}function jg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8900]|0;c[b+4588>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+256;j=b+168|0;g=b+164|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function kg(a){a=a|0;var b=0,d=0;c[a>>2]=35884;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function lg(a){a=a|0;var b=0,d=0;c[a>>2]=35884;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function mg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;wg(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function ng(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35660;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];pg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;pg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function pg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=i;i=i+32|0;w=u+12|0;t=u;r=b+180|0;s=(c[r>>2]|0)+4|0;if((c[b+32>>2]|0)==1)p=c[b+24>>2]|0;else p=1;d=$(p<<1,s)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,w|0),v=o,o=0,v&1):0))q=6;if((q|0)==6?(o=0,e=ka(67,d|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!p)q=19;else{if(!(p>>>0>1073741823?(o=0,ha(178,t|0),n=o,o=0,n&1):0))q=17;if((q|0)==17?(f=p<<2,o=0,g=ka(67,f|0)|0,n=o,o=0,!(n&1)):0){c[t>>2]=g;q=g+(p<<2)|0;c[t+8>>2]=q;iw(g|0,0,f|0)|0;c[v>>2]=q;q=19;break}e=Na()|0;d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((q|0)==19){j=b+12|0;b:do{if((c[j>>2]|0)>0){k=b+4604|0;l=($(p,s)|0)+1|0;m=b+4608|0;n=b+92|0;h=b+4600|0;if((p|0)>0)g=0;else{f=0;while(1){e=c[w>>2]|0;d=e+1|0;c[k>>2]=d;e=e+l|0;c[m>>2]=e;if(!(f&1))d=e;else{c[k>>2]=e;c[m>>2]=d}p=c[n>>2]|0;o=0;Aa(c[(c[p>>2]|0)+12>>2]|0,p|0,d|0,c[r>>2]|0,s|0);p=o;o=0;if(p&1)break;f=f+1|0;if((f|0)>=(c[j>>2]|0)){q=45;break b}}e=Na()|0;break}c:while(1){e=c[w>>2]|0;d=e+1|0;c[k>>2]=d;e=e+l|0;c[m>>2]=e;if(!(g&1))d=e;else{c[k>>2]=e;c[m>>2]=d}q=c[n>>2]|0;o=0;Aa(c[(c[q>>2]|0)+12>>2]|0,q|0,d|0,c[r>>2]|0,s|0);q=o;o=0;if(q&1){q=28;break}d=c[t>>2]|0;e=c[k>>2]|0;f=0;do{c[h>>2]=c[d+(f<<2)>>2];q=c[r>>2]|0;a[e+q>>0]=a[e+(q+-1)>>0]|0;a[(c[m>>2]|0)+-1>>0]=a[c[k>>2]>>0]|0;o=0;ia(75,b|0,0);q=o;o=0;if(q&1){q=36;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[h>>2];e=(c[k>>2]|0)+s|0;c[k>>2]=e;c[m>>2]=(c[m>>2]|0)+s;f=f+1|0}while((f|0)<(p|0));g=g+1|0;if((g|0)>=(c[j>>2]|0)){q=45;break b}}if((q|0)==28){e=Na()|0;break}else if((q|0)==36){e=Na()|0;break}}else q=45}while(0);do{if((q|0)==45){o=0;ha(182,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return}}while(0);d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}function qg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4604|0;e=c[o>>2]|0;r=b+180|0;if((c[r>>2]|0)<=0)return;p=b+4608|0;q=b+4612|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(sg(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=rg(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function rg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;vg(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&255;return r|0}r=g&~(d>>31);r=r&255;return r|0}function sg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=(c[b+180>>2]|0)-e|0;m=c[b+4608>>2]|0;n=c[b+4604>>2]|0;h=a[m+(e+-1)>>0]|0;k=h&255;f=b+144|0;i=0;while(1){g=m+(i+e)|0;j=(d[g>>0]|0)-k|0;if((((j|0)>-1?j:0-j|0)|0)>(c[f>>2]|0))break;a[g>>0]=h;i=i+1|0;if((i|0)==(l|0)){i=l;break}}h=(i|0)==(l|0);j=b+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]=tg(b,d[e>>0]|0,k,d[n+l>>0]|0)|0;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;b=i+1|0;return b|0}if(!f){b=l;return b|0}ae(b,1,1);b=l;return b|0}function tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d-e|0;j=a+136|0;h=a+144|0;f=c[h>>2]|0;if((((i|0)>-1?i:0-i|0)|0)>(f|0)){g=e-d>>31|1;b=$(g,b-e|0)|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;d=((b|0)<0?f:0)+b|0;f=d-((d|0)<((f+1|0)/2|0|0)?0:f)|0;ug(a,a+4576|0,f);f=$(f,g)|0;g=c[h>>2]|0;h=g<<1|1;f=($(f,h)|0)+e|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&255;return j|0}j=b&~(f>>31);j=j&255;return j|0}else{b=b-d|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;g=((b|0)<0?f:0)+b|0;f=g-((g|0)<((f+1|0)/2|0|0)?0:f)|0;ug(a,a+4588|0,f);g=c[h>>2]|0;h=g<<1|1;f=($(h,f)|0)+d|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&255;return j|0}j=b&~(f>>31);j=j&255;return j|0}return 0}function ug(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;vg(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function xg(a){a=a|0;var b=0,d=0;c[a>>2]=35856;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function yg(a){a=a|0;var b=0,d=0;c[a>>2]=35856;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Ag(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;Lg(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function Bg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Cg(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Cg(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+172|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4596|0;k=$(y,x)|0;l=k+1|0;m=a+4600|0;n=(y|0)>0;p=a+160|0;q=a+168|0;r=a+164|0;s=a+156|0;t=a+88|0;u=a+4592|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(76,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Dg(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=d+4596|0;g=c[q>>2]|0;u=d+172|0;f=c[u>>2]|0;if((f|0)<=0)return;r=d+4600|0;s=d+4604|0;t=d+4592|0;l=g;j=e[g+-2>>1]|0;g=e[g>>1]|0;p=0;while(1){n=c[r>>2]|0;k=b[n+(p+-1<<1)>>1]|0;o=k&65535;i=p+1|0;h=e[l+(i<<1)>>1]|0;m=c[s>>2]|0;l=g-j|0;j=j-o|0;m=((((a[m+(h-g)>>0]|0)*9|0)+(a[m+l>>0]|0)|0)*9|0)+(a[m+j>>0]|0)|0;n=n+(p<<1)|0;if(!m){f=Gg(d,k,n,f-p|0)|0;g=f+p|0;if((g|0)!=(c[u>>2]|0)){o=Hg(d,o,e[(c[q>>2]|0)+(g<<1)>>1]|0)|0;b[(c[r>>2]|0)+(g<<1)>>1]=o;o=c[t>>2]|0;c[t>>2]=(o|0)<1?0:o+-1|0;f=f+1|0}i=f+p|0;h=c[q>>2]|0;g=e[h+(i+-1<<1)>>1]|0;h=e[h+(i<<1)>>1]|0}else{f=g-o>>31;if((f^j|0)<0)f=g;else f=o+((f^l|0)<0?0:l)|0;o=Fg(d,m,e[n>>1]|0,f,0)|0;b[(c[r>>2]|0)+(p<<1)>>1]=o}f=c[u>>2]|0;if((f|0)<=(i|0))break;l=c[q>>2]|0;j=g;g=h;p=i}return}function Eg(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+116|0;e=c[f>>2]|0;if((a[e>>0]|0)!=-1){g=b+112|0;d=c[g>>2]|0;if((d|0)<1){ge(b);d=c[g>>2]|0;e=c[f>>2]|0}b=b+108|0;f=c[b>>2]|0;c[g>>2]=d+-1;d=f<<1;c[b>>2]=d;if((a[e>>0]|0)!=-1){d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,6,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}}else d=c[b+108>>2]|0;if(!d)return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,6,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}function Fg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&65535;return d|0}d=f&~(h>>31);d=d&65535;return d|0}function Gg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4592|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=b-d|0;h=a+128|0;e=a+136|0;if((((g|0)>-1?g:0-g|0)|0)>(c[e>>2]|0)){b=$(Ig(a,a+4568|0)|0,d-b>>31|1)|0;f=c[e>>2]|0;g=f<<1|1;b=($(b,g)|0)+d|0;if((b|0)>=(0-f|0)){e=c[h>>2]|0;if((e+f|0)<(b|0))b=b-($(c[a+132>>2]|0,g)|0)|0}else{b=($(c[a+132>>2]|0,g)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&65535;return a|0}a=e&~(b>>31);a=a&65535;return a|0}else{d=Ig(a,a+4580|0)|0;g=c[e>>2]|0;f=g<<1|1;b=($(f,d)|0)+b|0;if((b|0)>=(0-g|0)){e=c[h>>2]|0;if((e+g|0)<(b|0))b=b-($(c[a+132>>2]|0,f)|0)|0}else{b=($(c[a+132>>2]|0,f)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&65535;return a|0}a=e&~(b>>31);a=a&65535;return a|0}return 0}function Ig(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function Jg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+112|0;if((c[g>>2]|0)<16)ge(a);h=a+108|0;d=c[h>>2]|0;if((d|0)>=0)if(!(d&1073741824))if(!(d&536870912))if(!(d&268435456))if(!(d&134217728))if(!(d&67108864))if(!(d&33554432))if(!(d&16777216))if(!(d&8388608))if(!(d&4194304))if(!(d&2097152))if(!(d&1048576))if(!(d&524288))if(!(d&262144))if(!(d&131072)){f=d>>>12&16;b=f+-1|0;if(!f){b=(c[g>>2]|0)+-15|0;c[g>>2]=b;e=d<<15;c[h>>2]=e;d=b;b=15;while(1){if((d|0)<1){ge(a);f=c[h>>2]|0;d=c[g>>2]|0}else f=e;d=d+-1|0;c[g>>2]=d;e=f<<1;c[h>>2]=e;if((f|0)<0)break;else b=b+1|0}return b|0}}else b=14;else b=13;else b=12;else b=11;else b=10;else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;a=b+1|0;c[g>>2]=(c[g>>2]|0)-a;c[h>>2]=d<>2]|0;if((e|0)<(d|0)){ge(b);e=c[f>>2]|0;if((e|0)<(d|0)){e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);b=o;o=0;if(b&1){b=Na()|0;La(e|0);Ya(b|0)}else lb(e|0,824,96)}}g=b+108|0;b=c[g>>2]|0;c[f>>2]=e-d;c[g>>2]=b<>>(32-d|0)|0}function Lg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function Mg(a){a=a|0;var b=0,d=0;c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Ng(a){a=a|0;var b=0,d=0;c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Og(a){a=a|0;var b=0,d=0;c[a>>2]=35828;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Pg(a){a=a|0;var b=0,d=0;c[a>>2]=35828;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Qg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Rg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;Zg(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function Sg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Tg(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Tg(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+172|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!(d>>>0>715827882?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(o=0,e=ka(67,d*6|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;f=e+(d*6|0)|0;c[C+8>>2]=f;while(1){b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;d=d+-1|0;if(!d)break;else e=e+6|0}c[D>>2]=f;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=20;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=18;if((j|0)==18?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=20;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==20){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4596|0;k=$(y,x)|0;l=k+1|0;m=a+4600|0;n=(y|0)>0;p=a+160|0;q=a+168|0;r=a+164|0;s=a+156|0;t=a+88|0;u=a+4592|0;v=0;b:while(1){f=c[C>>2]|0;e=f+6|0;c[j>>2]=e;f=f+(l*6|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*6|0)|0;e=e+((d+-1|0)*6|0)|0;b[g>>1]=b[e>>1]|0;b[g+2>>1]=b[e+2>>1]|0;b[g+4>>1]=b[e+4>>1]|0;g=(c[m>>2]|0)+-6|0;e=c[j>>2]|0;b[g>>1]=b[e>>1]|0;b[g+2>>1]=b[e+2>>1]|0;b[g+4>>1]=b[e+4>>1]|0;o=0;ia(77,a|0,0);g=o;o=0;if(g&1){j=31;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*6|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*6|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*6|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=32;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=44;break a}}if((j|0)==31){f=Na()|0;break}else if((j|0)==32){f=Na()|0;break}}else j=44}while(0);do{if((j|0)==44){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}function Ug(d,f){d=d|0;f=f|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=i;i=i+32|0;D=N+24|0;M=N+18|0;L=N+12|0;E=N+6|0;F=N;G=d+172|0;f=c[G>>2]|0;if((f|0)<=0){i=N;return}H=d+4600|0;I=d+4596|0;J=d+4604|0;K=d+4592|0;C=0;while(1){h=C+-1|0;j=c[H>>2]|0;O=c[I>>2]|0;g=C+1|0;k=e[O+(C*6|0)>>1]|0;B=c[J>>2]|0;l=e[O+(h*6|0)>>1]|0;m=k-l|0;n=e[j+(h*6|0)>>1]|0;o=l-n|0;p=((((a[B+((e[O+(g*6|0)>>1]|0)-k)>>0]|0)*9|0)+(a[B+m>>0]|0)|0)*9|0)+(a[B+o>>0]|0)|0;q=e[O+(C*6|0)+2>>1]|0;r=e[O+(h*6|0)+2>>1]|0;s=q-r|0;t=e[j+(h*6|0)+2>>1]|0;u=r-t|0;v=((((a[B+((e[O+(g*6|0)+2>>1]|0)-q)>>0]|0)*9|0)+(a[B+s>>0]|0)|0)*9|0)+(a[B+u>>0]|0)|0;w=e[O+(C*6|0)+4>>1]|0;x=e[O+(h*6|0)+4>>1]|0;y=w-x|0;z=e[j+(h*6|0)+4>>1]|0;A=x-z|0;B=((((a[B+((e[O+(g*6|0)+4>>1]|0)-w)>>0]|0)*9|0)+(a[B+y>>0]|0)|0)*9|0)+(a[B+A>>0]|0)|0;if(!(v|p|B)){g=j+(h*6|0)|0;b[L>>1]=b[g>>1]|0;b[L+2>>1]=b[g+2>>1]|0;b[L+4>>1]=b[g+4>>1]|0;b[D>>1]=b[g>>1]|0;b[D+2>>1]=b[g+2>>1]|0;b[D+4>>1]=b[g+4>>1]|0;f=Vg(d,D,j+(C*6|0)|0,f-C|0)|0;g=f+C|0;if((g|0)!=(c[G>>2]|0)){O=(c[I>>2]|0)+(g*6|0)|0;b[F>>1]=b[O>>1]|0;b[F+2>>1]=b[O+2>>1]|0;b[F+4>>1]=b[O+4>>1]|0;O=(c[H>>2]|0)+(g*6|0)|0;b[M>>1]=b[L>>1]|0;b[M+2>>1]=b[L+2>>1]|0;b[M+4>>1]=b[L+4>>1]|0;b[D>>1]=b[F>>1]|0;b[D+2>>1]=b[F+2>>1]|0;b[D+4>>1]=b[F+4>>1]|0;Wg(E,d,M,D);b[O>>1]=b[E>>1]|0;b[O+2>>1]=b[E+2>>1]|0;b[O+4>>1]=b[E+4>>1]|0;O=c[K>>2]|0;c[K>>2]=(O|0)<1?0:O+-1|0;f=f+1|0}g=f+C|0}else{h=e[j+(C*6|0)>>1]|0;f=k-n>>31;if((f^o|0)>=0)if((f^m|0)<0)f=n;else f=n-l+k|0;else f=k;k=Xg(d,p,h,f,0)|0;h=e[(c[H>>2]|0)+(C*6|0)+2>>1]|0;f=q-t>>31;if((f^u|0)>=0)if((f^s|0)<0)f=t;else f=t-r+q|0;else f=q;h=Xg(d,v,h,f,0)|0;j=e[(c[H>>2]|0)+(C*6|0)+4>>1]|0;f=w-z>>31;if((f^A|0)>=0)if((f^y|0)<0)f=z;else f=z-x+w|0;else f=w;B=Xg(d,B,j,f,0)|0;O=c[H>>2]|0;b[O+(C*6|0)>>1]=k;b[O+(C*6|0)+2>>1]=h;b[O+(C*6|0)+4>>1]=B}f=c[G>>2]|0;if((g|0)>=(f|0))break;else C=g}i=N;return}function Vg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4592|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)<=0)return h|0;i=0;do{r=f+(i*6|0)|0;b[r>>1]=b[e>>1]|0;b[r+2>>1]=b[e+2>>1]|0;b[r+4>>1]=b[e+4>>1]|0;i=i+1|0}while((i|0)!=(h|0));return h|0}function Wg(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=d+4568|0;o=Yg(d,l)|0;j=Yg(d,l)|0;l=Yg(d,l)|0;i=d+128|0;h=e[g>>1]|0;m=c[d+136>>2]|0;n=m<<1|1;h=($($(n,o)|0,h-(e[f>>1]|0)>>31|1)|0)+h|0;o=0-m|0;if((h|0)>=(o|0)){i=c[i>>2]|0;if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else{h=($(c[d+132>>2]|0,n)|0)+h|0;i=c[i>>2]|0}if((h&i|0)!=(h|0))h=i&~(h>>31);k=h&65535;h=e[g+2>>1]|0;h=($($(n,j)|0,h-(e[f+2>>1]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else h=($(c[d+132>>2]|0,n)|0)+h|0;if((h&i|0)!=(h|0))h=i&~(h>>31);j=h&65535;h=e[g+4>>1]|0;h=($($(n,l)|0,h-(e[f+4>>1]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else h=($(c[d+132>>2]|0,n)|0)+h|0;if((h&i|0)==(h|0)){d=h;d=d&65535;b[a>>1]=k;o=a+2|0;b[o>>1]=j;a=a+4|0;b[a>>1]=d;return}d=i&~(h>>31);d=d&65535;b[a>>1]=k;o=a+2|0;b[o>>1]=j;a=a+4|0;b[a>>1]=d;return}function Xg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&65535;return d|0}d=f&~(h>>31);d=d&65535;return d|0}function Yg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function Zg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function _g(a){a=a|0;var b=0,d=0;c[a>>2]=35800;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function $g(a){a=a|0;var b=0,d=0;c[a>>2]=35800;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ah(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function bh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;jh(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function ch(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);dh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function dh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=b+172|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[D>>2]|0)+3|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){h=b+8|0;b:do{if((c[h>>2]|0)>0){j=b+4596|0;k=$(y,x)|0;l=k+1|0;m=b+4600|0;n=(y|0)>0;p=b+160|0;q=b+168|0;r=b+164|0;s=b+156|0;t=b+88|0;u=b+4592|0;v=0;c:while(1){f=c[C>>2]|0;e=f+3|0;c[j>>2]=e;f=f+(l*3|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*3|0)|0;e=e+((d+-1|0)*3|0)|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;e=c[j>>2]|0;g=(c[m>>2]|0)+-3|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;o=0;ia(78,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*3|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*3|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*3|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){f=Na()|0;break}else if((h|0)==31){f=Na()|0;break}}else h=43}while(0);do{if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function eh(b,e){b=b|0;e=e|0;var f=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,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;M=i;i=i+16|0;C=M+12|0;L=M+9|0;K=M+6|0;D=M+3|0;E=M;F=b+172|0;e=c[F>>2]|0;if((e|0)<=0){i=M;return}G=b+4600|0;H=b+4596|0;I=b+4604|0;J=b+4592|0;B=0;while(1){y=B+-1|0;g=c[G>>2]|0;h=g+(y*3|0)|0;N=c[H>>2]|0;f=B+1|0;j=d[N+(B*3|0)>>0]|0;A=c[I>>2]|0;k=d[N+(y*3|0)>>0]|0;l=j-k|0;m=d[h>>0]|0;n=k-m|0;o=((((a[A+((d[N+(f*3|0)>>0]|0)-j)>>0]|0)*9|0)+(a[A+l>>0]|0)|0)*9|0)+(a[A+n>>0]|0)|0;p=d[N+(B*3|0)+1>>0]|0;q=d[N+(y*3|0)+1>>0]|0;r=p-q|0;s=d[g+(y*3|0)+1>>0]|0;t=q-s|0;u=((((a[A+((d[N+(f*3|0)+1>>0]|0)-p)>>0]|0)*9|0)+(a[A+r>>0]|0)|0)*9|0)+(a[A+t>>0]|0)|0;v=d[N+(B*3|0)+2>>0]|0;w=d[N+(y*3|0)+2>>0]|0;x=v-w|0;y=d[g+(y*3|0)+2>>0]|0;z=w-y|0;A=((((a[A+((d[N+(f*3|0)+2>>0]|0)-v)>>0]|0)*9|0)+(a[A+x>>0]|0)|0)*9|0)+(a[A+z>>0]|0)|0;if(!(u|o|A)){a[K>>0]=a[h>>0]|0;a[K+1>>0]=a[h+1>>0]|0;a[K+2>>0]=a[h+2>>0]|0;a[C>>0]=a[h>>0]|0;a[C+1>>0]=a[h+1>>0]|0;a[C+2>>0]=a[h+2>>0]|0;e=fh(b,C,g+(B*3|0)|0,e-B|0)|0;f=e+B|0;if((f|0)!=(c[F>>2]|0)){N=(c[H>>2]|0)+(f*3|0)|0;a[E>>0]=a[N>>0]|0;a[E+1>>0]=a[N+1>>0]|0;a[E+2>>0]=a[N+2>>0]|0;N=c[G>>2]|0;a[L>>0]=a[K>>0]|0;a[L+1>>0]=a[K+1>>0]|0;a[L+2>>0]=a[K+2>>0]|0;a[C>>0]=a[E>>0]|0;a[C+1>>0]=a[E+1>>0]|0;a[C+2>>0]=a[E+2>>0]|0;gh(D,b,L,C);N=N+(f*3|0)|0;a[N>>0]=a[D>>0]|0;a[N+1>>0]=a[D+1>>0]|0;a[N+2>>0]=a[D+2>>0]|0;N=c[J>>2]|0;c[J>>2]=(N|0)<1?0:N+-1|0;e=e+1|0}f=e+B|0}else{g=d[g+(B*3|0)>>0]|0;e=j-m>>31;if((e^n|0)>=0)if((e^l|0)<0)e=m;else e=m-k+j|0;else e=j;j=hh(b,o,g,e,0)|0;g=d[(c[G>>2]|0)+(B*3|0)+1>>0]|0;e=p-s>>31;if((e^t|0)>=0)if((e^r|0)<0)e=s;else e=s-q+p|0;else e=p;g=hh(b,u,g,e,0)|0;h=d[(c[G>>2]|0)+(B*3|0)+2>>0]|0;e=v-y>>31;if((e^z|0)>=0)if((e^x|0)<0)e=y;else e=y-w+v|0;else e=v;A=hh(b,A,h,e,0)|0;N=(c[G>>2]|0)+(B*3|0)|0;a[N>>0]=j;a[N+1>>0]=g;a[N+2>>0]=A}e=c[F>>2]|0;if((f|0)>=(e|0))break;else B=f}i=M;return}function fh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4592|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;h=0;do{q=e+(h*3|0)|0;a[q>>0]=a[d>>0]|0;a[q+1>>0]=a[d+1>>0]|0;a[q+2>>0]=a[d+2>>0]|0;h=h+1|0}while((h|0)!=(g|0));return g|0}function gh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=e+4568|0;o=ih(e,l)|0;j=ih(e,l)|0;l=ih(e,l)|0;i=e+128|0;h=d[g>>0]|0;m=c[e+136>>2]|0;n=m<<1|1;h=($($(n,o)|0,h-(d[f>>0]|0)>>31|1)|0)+h|0;o=0-m|0;if((h|0)>=(o|0)){i=c[i>>2]|0;if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else{h=($(c[e+132>>2]|0,n)|0)+h|0;i=c[i>>2]|0}if((h&i|0)!=(h|0))h=i&~(h>>31);k=h&255;h=d[g+1>>0]|0;h=($($(n,j)|0,h-(d[f+1>>0]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else h=($(c[e+132>>2]|0,n)|0)+h|0;if((h&i|0)!=(h|0))h=i&~(h>>31);j=h&255;h=d[g+2>>0]|0;h=($($(n,l)|0,h-(d[f+2>>0]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else h=($(c[e+132>>2]|0,n)|0)+h|0;if((h&i|0)==(h|0)){e=h;e=e&255;a[b>>0]=k;o=b+1|0;a[o>>0]=j;b=b+2|0;a[b>>0]=e;return}e=i&~(h>>31);e=e&255;a[b>>0]=k;o=b+1|0;a[o>>0]=j;b=b+2|0;a[b>>0]=e;return}function hh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&255;return d|0}d=f&~(h>>31);d=d&255;return d|0}function ih(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function jh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function kh(a){a=a|0;var b=0,d=0;c[a>>2]=35772;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function lh(a){a=a|0;var b=0,d=0;c[a>>2]=35772;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function mh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function nh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,65535,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;vh(d);g=0;do{c[d+164+(g*12|0)>>2]=1024;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=1024;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=1024;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function oh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);ph(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function ph(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+148|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4572|0;k=$(y,x)|0;l=k+1|0;m=a+4576|0;n=(y|0)>0;p=a+136|0;q=a+144|0;r=a+140|0;s=a+132|0;t=a+88|0;u=a+4568|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(79,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function qh(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4572|0;f=c[p>>2]|0;s=d+148|0;if((c[s>>2]|0)<=0)return;q=d+4576|0;r=d+4580|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(sh(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=rh(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function rh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&65535|0)!=(f|0))f=f>>31&65535^65535;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<47){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}function sh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4576|0;h=c[i>>2]|0;f=b[h+(d+-1<<1)>>1]|0;j=a+148|0;h=th(a,f,h+(d<<1)|0,(c[j>>2]|0)-d|0)|0;g=h+d|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&65535;d=e[(c[a+4572>>2]|0)+(g<<1)>>1]|0;j=f-d|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(uh(a,a+4556|0)|0)+f|0;else f=($(uh(a,a+4544|0)|0,d-f>>31|1)|0)+d|0;b[(c[i>>2]|0)+(g<<1)>>1]=f;j=a+4568|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;j=h+1|0;return j|0}function th(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4568|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function uh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(46-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,16)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function vh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,65535,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8909]|0;c[b+4580>>2]=l+(((c[8910]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=131072){if(h>>>0>131072?(j=d+131072|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,131072-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+65536;j=b+160|0;g=b+156|0;h=-65536;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==65536)break}i=m;return}function wh(a){a=a|0;var b=0,d=0;c[a>>2]=35744;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function xh(a){a=a|0;var b=0,d=0;c[a>>2]=35744;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function yh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function zh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,4095,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;Hh(d);g=0;do{c[d+164+(g*12|0)>>2]=64;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=64;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=64;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Ah(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Bh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Bh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+148|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4572|0;k=$(y,x)|0;l=k+1|0;m=a+4576|0;n=(y|0)>0;p=a+136|0;q=a+144|0;r=a+140|0;s=a+132|0;t=a+88|0;u=a+4568|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(80,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Ch(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4572|0;f=c[p>>2]|0;s=d+148|0;if((c[s>>2]|0)<=0)return;q=d+4576|0;r=d+4580|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(Eh(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=Dh(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function Dh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&4095|0)!=(f|0))f=f>>31&4095^4095;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<35){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}function Eh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4576|0;h=c[i>>2]|0;f=b[h+(d+-1<<1)>>1]|0;j=a+148|0;h=Fh(a,f,h+(d<<1)|0,(c[j>>2]|0)-d|0)|0;g=h+d|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&65535;d=e[(c[a+4572>>2]|0)+(g<<1)>>1]|0;j=f-d|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(Gh(a,a+4556|0)|0)+f|0;else f=($(Gh(a,a+4544|0)|0,d-f>>31|1)|0)+d|0;b[(c[i>>2]|0)+(g<<1)>>1]=f&4095;j=a+4568|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;j=h+1|0;return j|0}function Fh(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4568|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function Gh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(34-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,12)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Hh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,4095,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8906]|0;c[b+4580>>2]=l+(((c[8907]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=8192){if(h>>>0>8192?(j=d+8192|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,8192-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+4096;j=b+160|0;g=b+156|0;h=-4096;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==4096)break}i=m;return}function Ih(a){a=a|0;var b=0,d=0;c[a>>2]=35716;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Jh(a){a=a|0;var b=0,d=0;c[a>>2]=35716;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Kh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Lh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;Th(d);g=0;do{c[d+164+(g*12|0)>>2]=4;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=4;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=4;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Mh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Nh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Nh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=b+148|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[D>>2]|0)+1|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}e=Na()|0;d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){h=b+8|0;b:do{if((c[h>>2]|0)>0){j=b+4572|0;k=$(y,x)|0;l=k+1|0;m=b+4576|0;n=(y|0)>0;p=b+136|0;q=b+144|0;r=b+140|0;s=b+132|0;t=b+88|0;u=b+4568|0;v=0;c:while(1){f=c[C>>2]|0;e=f+1|0;c[j>>2]=e;f=f+l|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;a[e+g>>0]=a[e+(g+-1)>>0]|0;a[(c[m>>2]|0)+-1>>0]=a[c[j>>2]>>0]|0;o=0;ia(81,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+x|0;c[j>>2]=e;d=(c[m>>2]|0)+x|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){e=Na()|0;break}else if((h|0)==31){e=Na()|0;break}}else h=43}while(0);do{if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);i=A;return}}while(0);d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}function Oh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4572|0;e=c[o>>2]|0;r=b+148|0;if((c[r>>2]|0)<=0)return;p=b+4576|0;q=b+4580|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(Qh(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=Ph(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function Ph(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&255|0)!=(f|0))f=f>>31&255^255;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<23){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}function Qh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=b+4576|0;h=c[i>>2]|0;f=a[h+(e+-1)>>0]|0;j=b+148|0;h=Rh(b,f,h+e|0,(c[j>>2]|0)-e|0)|0;g=h+e|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&255;e=d[(c[b+4572>>2]|0)+g>>0]|0;j=f-e|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(Sh(b,b+4556|0)|0)+f|0;else f=($(Sh(b,b+4544|0)|0,e-f>>31|1)|0)+e|0;a[(c[i>>2]|0)+g>>0]=f;j=b+4568|0;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;j=h+1|0;return j|0}function Rh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4568|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;iw(e|0,d|0,g|0)|0;return g|0}function Sh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(22-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,8)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Th(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8900]|0;c[b+4580>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+256;j=b+160|0;g=b+156|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function Uh(a){a=a|0;var b=0,d=0;c[a>>2]=35688;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Vh(a){a=a|0;var b=0,d=0;c[a>>2]=35688;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Wh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Xh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;di(d);g=0;do{c[d+164+(g*12|0)>>2]=4;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=4;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=4;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Yh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Zh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Zh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=b+148|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[D>>2]|0)+3|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){h=b+8|0;b:do{if((c[h>>2]|0)>0){j=b+4572|0;k=$(y,x)|0;l=k+1|0;m=b+4576|0;n=(y|0)>0;p=b+136|0;q=b+144|0;r=b+140|0;s=b+132|0;t=b+88|0;u=b+4568|0;v=0;c:while(1){f=c[C>>2]|0;e=f+3|0;c[j>>2]=e;f=f+(l*3|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*3|0)|0;e=e+((d+-1|0)*3|0)|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;e=c[j>>2]|0;g=(c[m>>2]|0)+-3|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;o=0;ia(82,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*3|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*3|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*3|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){f=Na()|0;break}else if((h|0)==31){f=Na()|0;break}}else h=43}while(0);do{if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function _h(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+148|0;if((c[A>>2]|0)<=0)return;B=b+4576|0;C=b+4572|0;D=b+4580|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=($h(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=ai(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=ai(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=ai(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function $h(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=i;i=i+16|0;n=l+3|0;o=l;h=b+4576|0;e=c[h>>2]|0;f=e+((d+-1|0)*3|0)|0;j=a[f>>0]|0;k=a[f+1>>0]|0;f=a[f+2>>0]|0;a[o>>0]=j;a[o+1>>0]=k;a[o+2>>0]=f;m=b+148|0;g=(c[m>>2]|0)-d|0;a[n>>0]=a[o>>0]|0;a[n+1>>0]=a[o+1>>0]|0;a[n+2>>0]=a[o+2>>0]|0;g=bi(b,n,e+(d*3|0)|0,g)|0;e=g+d|0;if((e|0)==(c[m>>2]|0)){o=g;i=l;return o|0}n=(c[b+4572>>2]|0)+(e*3|0)|0;d=a[n>>0]|0;m=a[n+1>>0]|0;n=a[n+2>>0]|0;o=c[h>>2]|0;p=b+4544|0;h=ci(b,p)|0;q=ci(b,p)|0;d=d&255;m=m&255;m=($(m-(k&255)>>31|1,q)|0)+m&255;n=n&255;n=($(n-(f&255)>>31|1,ci(b,p)|0)|0)+n&255;o=o+(e*3|0)|0;a[o>>0]=($(d-(j&255)>>31|1,h)|0)+d;a[o+1>>0]=m;a[o+2>>0]=n;o=b+4568|0;n=c[o>>2]|0;c[o>>2]=(n|0)<1?0:n+-1|0;o=g+1|0;i=l;return o|0}function ai(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&255|0)!=(f|0))f=f>>31&255^255;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<23){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}function bi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4568|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;h=0;do{q=e+(h*3|0)|0;a[q>>0]=a[d>>0]|0;a[q+1>>0]=a[d+1>>0]|0;a[q+2>>0]=a[d+2>>0]|0;h=h+1|0}while((h|0)!=(g|0));return g|0}function ci(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(22-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,8)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Lp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+128|0;h=n;q=n+116|0;r=n+104|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,0,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(3,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=Uu(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function Mp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+240|0;h=n+8|0;a=n;q=n+204|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,0,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,23,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(3,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=Uu(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function Np(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+352|0;u=z+312|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+316|0;t=z+80|0;k=z+84|0;y=z+76|0;x=z+72|0;v=z+68|0;w=z+64|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58898,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,c[q>>2]=c[d+8>>2],h[q+8>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<3)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(4,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(40,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Op(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+16|0;z=y;x=Is(j,44212)|0;v=Is(j,44368)|0;Cb[c[(c[v>>2]|0)+20>>2]&127](z,v);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,j|0)|0;w=o;o=0;if(w&1)u=8;else{m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=j;m=b+1|0;u=10}break}default:{m=b;u=10}}a:do{if((u|0)==10){w=e;b:do{if((w-m|0)>1?(a[m>>0]|0)==48:0){k=m+1|0;switch(a[k>>0]|0){case 88:case 120:break;default:{u=11;break b}}o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,48)|0;t=o;o=0;if(t&1){u=8;break a}t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=j;m=m+2|0;o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,a[k>>0]|0)|0;t=o;o=0;if(t&1){u=8;break a}t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=j;if(m>>>0>>0){j=m;while(1){k=a[j>>0]|0;o=0;l=ua(3)|0;t=o;o=0;if(t&1)break;o=0;k=ra(39,k<<24>>24|0,l|0)|0;t=o;o=0;if(t&1)break;if(!k){t=m;break b}j=j+1|0;if(j>>>0>=e>>>0){t=m;break b}}j=Na()|0;break a}else{t=m;j=m}}else u=11}while(0);c:do{if((u|0)==11)if(m>>>0>>0){j=m;while(1){k=a[j>>0]|0;o=0;l=ua(3)|0;t=o;o=0;if(t&1)break;o=0;k=ra(40,k<<24>>24|0,l|0)|0;t=o;o=0;if(t&1)break;if(!k){t=m;break c}j=j+1|0;if(j>>>0>=e>>>0){t=m;break c}}j=Na()|0;break a}else{t=m;j=m}}while(0);r=a[z>>0]|0;s=z+4|0;if(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0){if((t|0)!=(j|0)?(n=j+-1|0,t>>>0>>0):0){l=t;k=n;do{r=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=r;l=l+1|0;k=k+-1|0}while(l>>>0>>0)}o=0;n=ka(c[(c[v>>2]|0)+16>>2]|0,v|0)|0;r=o;o=0;if(r&1){u=8;break}p=z+8|0;q=z+1|0;d:do{if(t>>>0>>0){k=0;l=0;r=t;while(1){m=a[((a[z>>0]&1)==0?q:c[p>>2]|0)+l>>0]|0;if(m<<24>>24>0&(k|0)==(m<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=n;k=a[z>>0]|0;m=0;l=(l>>>0<(((k&1)==0?(k&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+l|0}else m=k;o=0;k=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,a[r>>0]|0)|0;A=o;o=0;if(A&1)break;A=c[h>>2]|0;c[h>>2]=A+4;c[A>>2]=k;r=r+1|0;if(r>>>0>=j>>>0)break d;else k=m+1|0}j=Na()|0;break a}}while(0);k=f+(t-b<<2)|0;m=c[h>>2]|0;if((k|0)!=(m|0)){l=m+-4|0;if(k>>>0>>0){do{A=c[k>>2]|0;c[k>>2]=c[l>>2];c[l>>2]=A;k=k+4|0;l=l+-4|0}while(k>>>0>>0);n=x;k=m}else{n=x;k=m}}else n=x}else{o=0;va(c[(c[x>>2]|0)+48>>2]|0,x|0,t|0,j|0,c[h>>2]|0)|0;A=o;o=0;if(A&1){u=8;break}k=(c[h>>2]|0)+(j-t<<2)|0;c[h>>2]=k;n=x}e:do{if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46){l=j;break}o=0;l=ra(c[(c[n>>2]|0)+44>>2]|0,x|0,k|0)|0;A=o;o=0;if(A&1){u=4;break}A=c[h>>2]|0;k=A+4|0;c[h>>2]=k;c[A>>2]=l;j=j+1|0;if(j>>>0>=e>>>0)break e}if((u|0)==4){j=Na()|0;break a}o=0;j=ka(c[(c[v>>2]|0)+12>>2]|0,v|0)|0;A=o;o=0;if(A&1){u=8;break a}A=c[h>>2]|0;k=A+4|0;c[h>>2]=k;c[A>>2]=j;j=l+1|0}}while(0);o=0;va(c[(c[x>>2]|0)+48>>2]|0,x|0,j|0,e|0,k|0)|0;A=o;o=0;if(A&1)u=8;else{A=(c[h>>2]|0)+(w-j<<2)|0;c[h>>2]=A;c[g>>2]=(d|0)==(e|0)?A:f+(d-b<<2)|0;Im(z);i=y;return}}}while(0);if((u|0)==8)j=Na()|0;Im(z);Ya(j|0)}function Pp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+352|0;u=z+304|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+308|0;t=z+72|0;k=z+76|0;y=z+68|0;x=z+64|0;v=z+60|0;w=z+56|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58899,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,h[q>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<3)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(4,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(40,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Qp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+192|0;l=q;b=q+180|0;n=q+160|0;p=q+12|0;k=q+8|0;m=q+4|0;a[b>>0]=a[58901]|0;a[b+1>>0]=a[58902]|0;a[b+2>>0]=a[58903]|0;a[b+3>>0]=a[58904]|0;a[b+4>>0]=a[58905]|0;a[b+5>>0]=a[58906]|0;h=Xo()|0;c[l>>2]=g;b=Su(n,20,h,b,l)|0;g=n+b|0;h=vp(n,g,e)|0;j=jn(e)|0;c[k>>2]=j;o=0;k=ra(37,k|0,44212)|0;r=o;o=0;if(r&1){r=Na()|0;pm(j)|0;Ya(r|0)}else{pm(j)|0;Pb[c[(c[k>>2]|0)+48>>2]&31](k,n,g,p)|0;r=p+(b<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];r=Uu(l,p,(h|0)==(g|0)?r:p+(h-n<<2)|0,r,e,f)|0;i=q;return r|0}return 0}function Rp(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;w=C+16|0;v=C+12|0;z=C+8|0;x=C+4|0;y=C;n=jn(h)|0;c[z>>2]=n;o=0;z=ra(37,z|0,44220)|0;u=o;o=0;if(u&1){C=Na()|0;pm(n)|0;Ya(C|0)}pm(n)|0;c[j>>2]=0;u=z+8|0;n=c[f>>2]|0;a:do{if((l|0)!=(m|0)){b:while(1){p=n;if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0;p=0}}else n=0;s=(n|0)==0;r=c[g>>2]|0;q=r;do{if(r){if((c[r+12>>2]|0)==(c[r+16>>2]|0)?(Eb[c[(c[r>>2]|0)+36>>2]&127](r)|0)==-1:0){c[g>>2]=0;q=0;B=12;break}if(!s){B=13;break b}}else B=12}while(0);if((B|0)==12){B=0;if(s){B=13;break}else r=0}c:do{if((Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[l>>0]|0,0)|0)<<24>>24==37){r=l+1|0;if((r|0)==(m|0)){B=17;break b}t=Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[r>>0]|0,0)|0;switch(t<<24>>24){case 48:case 69:{s=l+2|0;if((s|0)==(m|0)){B=20;break b}l=r;r=Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[s>>0]|0,0)|0;n=t;break}default:{r=t;n=0}}t=c[(c[e>>2]|0)+36>>2]|0;c[x>>2]=p;c[y>>2]=q;c[v>>2]=c[x>>2];c[w>>2]=c[y>>2];c[f>>2]=Sb[t&15](e,v,w,h,j,k,r,n)|0;l=l+2|0}else{p=a[l>>0]|0;if(p<<24>>24>-1?(A=c[u>>2]|0,(b[A+(p<<24>>24<<1)>>1]&8192)!=0):0){do{l=l+1|0;if((l|0)==(m|0)){l=m;break}p=a[l>>0]|0;if(p<<24>>24<=-1)break}while((b[A+(p<<24>>24<<1)>>1]&8192)!=0);p=r;while(1){if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;q=(n|0)==0;do{if(r){if((c[r+12>>2]|0)!=(c[r+16>>2]|0))if(q){t=p;break}else break c;if((Eb[c[(c[r>>2]|0)+36>>2]&127](r)|0)!=-1)if(q^(p|0)==0){t=p;r=p;break}else break c;else{c[g>>2]=0;p=0;B=39;break}}else B=39}while(0);if((B|0)==39){B=0;if(q)break c;else{t=p;r=0}}q=n+12|0;p=c[q>>2]|0;s=n+16|0;if((p|0)==(c[s>>2]|0))p=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else p=d[p>>0]|0;if((p&255)<<24>>24<=-1)break c;if(!(b[(c[u>>2]|0)+(p<<24>>24<<1)>>1]&8192))break c;p=c[q>>2]|0;if((p|0)==(c[s>>2]|0)){Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;p=t;continue}else{c[q>>2]=p+1;p=t;continue}}}q=n+12|0;p=c[q>>2]|0;r=n+16|0;if((p|0)==(c[r>>2]|0))p=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else p=d[p>>0]|0;t=Lb[c[(c[z>>2]|0)+12>>2]&63](z,p&255)|0;if(t<<24>>24!=(Lb[c[(c[z>>2]|0)+12>>2]&63](z,a[l>>0]|0)|0)<<24>>24){B=57;break b}p=c[q>>2]|0;if((p|0)==(c[r>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else c[q>>2]=p+1;l=l+1|0}}while(0);n=c[f>>2]|0;if(!((l|0)!=(m|0)&(c[j>>2]|0)==0))break a}if((B|0)==13){c[j>>2]=4;break}else if((B|0)==17){c[j>>2]=4;break}else if((B|0)==20){c[j>>2]=4;break}else if((B|0)==57){c[j>>2]=4;n=c[f>>2]|0;break}}}while(0);if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;l=(n|0)==0;p=c[g>>2]|0;do{if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0)?(Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0)==-1:0){c[g>>2]=0;B=67;break}if(!l)B=68}else B=67}while(0);if((B|0)==67?l:0)B=68;if((B|0)==68)c[j>>2]=c[j>>2]|2;i=C;return n|0}function Sp(a){a=a|0;return}function Tp(a){a=a|0;cj(a);return}function Up(a){a=a|0;return 2}function Vp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Rp(a,k,j,e,f,g,58907,58915)|0;i=h;return a|0}function Wp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;o=b+8|0;o=Eb[c[(c[o>>2]|0)+20>>2]&127](o)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];e=a[o>>0]|0;p=(e&1)==0;d=p?o+1|0:c[o+8>>2]|0;e=d+(p?(e&255)>>>1:c[o+4>>2]|0)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=Rp(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function Xp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];Yp(a,g+24|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function Yp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(xu(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function Zp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];_p(a,g+16|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function _p(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(xu(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function $p(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];aq(a,g+20|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function aq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function bq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,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;U=i;i=i+144|0;l=U+132|0;k=U+116|0;N=U+128|0;x=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;m=U+88|0;n=U+84|0;p=U+80|0;q=U+76|0;r=U+72|0;s=U+68|0;t=U+64|0;u=U+60|0;v=U+56|0;w=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;c[g>>2]=0;M=jn(f)|0;c[N>>2]=M;o=0;N=ra(37,N|0,44220)|0;W=o;o=0;if(W&1){W=Na()|0;pm(M)|0;Ya(W|0)}pm(M)|0;do{switch(j<<24>>24|0){case 65:case 97:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];Yp(b,h+24|0,d,l,g,N);V=28;break}case 104:case 66:case 98:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];_p(b,h+16|0,d,l,g,N);V=28;break}case 99:{V=b+8|0;V=Eb[c[(c[V>>2]|0)+12>>2]&127](V)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];j=a[V>>0]|0;e=(j&1)==0;W=e?V+1|0:c[V+8>>2]|0;V=W+(e?(j&255)>>>1:c[V+4>>2]|0)|0;c[k>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=Rp(b,k,l,f,g,h,W,V)|0;V=28;break}case 101:case 100:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];cq(b,h+12|0,d,l,g,N);V=28;break}case 68:{c[R>>2]=c[d>>2];c[S>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[S>>2];c[d>>2]=Rp(b,k,l,f,g,h,58915,58923)|0;V=28;break}case 70:{c[T>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[T>>2];c[l>>2]=c[m>>2];c[d>>2]=Rp(b,k,l,f,g,h,58923,58931)|0;V=28;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];dq(b,h+8|0,d,l,g,N);V=28;break}case 73:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];eq(b,h+8|0,d,l,g,N);V=28;break}case 106:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];fq(b,h+28|0,d,l,g,N);V=28;break}case 109:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];gq(b,h+16|0,d,l,g,N);V=28;break}case 77:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];hq(b,h+4|0,d,l,g,N);V=28;break}case 116:case 110:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];iq(b,d,l,g,N);V=28;break}case 112:{c[u>>2]=c[e>>2];c[l>>2]=c[u>>2];jq(b,h+8|0,d,l,g,N);V=28;break}case 114:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[k>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=Rp(b,k,l,f,g,h,58931,58942)|0;V=28;break}case 82:{c[y>>2]=c[d>>2];c[z>>2]=c[e>>2];c[k>>2]=c[y>>2];c[l>>2]=c[z>>2];c[d>>2]=Rp(b,k,l,f,g,h,58942,58947)|0;V=28;break}case 83:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];kq(b,h,d,l,g,N);V=28;break}case 84:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[k>>2]=c[B>>2];c[l>>2]=c[C>>2];c[d>>2]=Rp(b,k,l,f,g,h,58947,58955)|0;V=28;break}case 119:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];lq(b,h+24|0,d,l,g,N);V=28;break}case 120:{W=c[(c[b>>2]|0)+20>>2]|0;c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[k>>2]=c[E>>2];c[l>>2]=c[F>>2];k=Db[W&63](b,k,l,f,g,h)|0;break}case 88:{V=b+8|0;V=Eb[c[(c[V>>2]|0)+24>>2]&127](V)|0;c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];j=a[V>>0]|0;e=(j&1)==0;W=e?V+1|0:c[V+8>>2]|0;V=W+(e?(j&255)>>>1:c[V+4>>2]|0)|0;c[k>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=Rp(b,k,l,f,g,h,W,V)|0;V=28;break}case 121:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];aq(b,h+20|0,d,l,g,N);V=28;break}case 89:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];mq(b,h+20|0,d,l,g,N);V=28;break}case 37:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];nq(b,d,l,g,N);V=28;break}default:{c[g>>2]=c[g>>2]|4;V=28}}}while(0);if((V|0)==28)k=c[d>>2]|0;i=U;return k|0}function cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function dq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function eq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function fq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function gq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function hq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function iq(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){h=c[e>>2]|0;do{if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0}while(0);h=(h|0)==0;a=c[f>>2]|0;do{if(a){if((c[a+12>>2]|0)!=(c[a+16>>2]|0))if(h)break;else break a;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)!=-1)if(h)break;else break a;else{c[f>>2]=0;k=12;break}}else k=12}while(0);if((k|0)==12){k=0;if(h){a=0;break}else a=0}h=c[e>>2]|0;i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=d[i>>0]|0;if((h&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(h<<24>>24<<1)>>1]&8192))break;h=c[e>>2]|0;a=h+12|0;i=c[a>>2]|0;if((i|0)==(c[h+16>>2]|0)){Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;continue}else{c[a>>2]=i+1;continue}}h=c[e>>2]|0;do{if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0}while(0);h=(h|0)==0;do{if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[f>>2]=0;k=32;break}if(!h)k=33}else k=32}while(0);if((k|0)==32?h:0)k=33;if((k|0)==33)c[g>>2]=c[g>>2]|2;return}function jq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Eb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do{if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=xu(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4}while(0);i=n;return}function kq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function lq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function mq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function nq(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a=c[b>>2]|0;do{if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}}else a=0}while(0);h=(a|0)==0;a=c[e>>2]|0;do{if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[e>>2]=0;j=11;break}if(h){i=a;j=13}else j=12}else j=11}while(0);if((j|0)==11)if(h)j=12;else{i=0;j=13}a:do{if((j|0)==12)c[f>>2]=c[f>>2]|6;else if((j|0)==13){a=c[b>>2]|0;h=c[a+12>>2]|0;if((h|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=d[h>>0]|0;if((Gb[c[(c[g>>2]|0)+36>>2]&63](g,a&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}a=c[b>>2]|0;h=a+12|0;g=c[h>>2]|0;if((g|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)a=0;else j=21}else{c[h>>2]=g+1;j=21}do{if((j|0)==21)if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}}while(0);a=(a|0)==0;do{if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;j=30;break}if(a)break a}else j=30}while(0);if((j|0)==30?!a:0)break;c[f>>2]=c[f>>2]|2}}while(0);return}function oq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+32|0;s=x+16|0;r=x+12|0;v=x+8|0;t=x+4|0;u=x;k=jn(e)|0;c[v>>2]=k;o=0;v=ra(37,v|0,44212)|0;q=o;o=0;if(q&1){x=Na()|0;pm(k)|0;Ya(x|0)}pm(k)|0;c[f>>2]=0;k=c[b>>2]|0;a:do{if((h|0)!=(j|0)){b:while(1){m=k;if(k){l=c[k+12>>2]|0;if((l|0)==(c[k+16>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if((l|0)==-1){c[b>>2]=0;k=0;p=1;q=0}else{p=0;q=m}}else{k=0;p=1;q=m}n=c[d>>2]|0;l=n;do{if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0))m=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(p)break;else{w=17;break b}else{c[d>>2]=0;l=0;w=15;break}}else w=15}while(0);if((w|0)==15){w=0;if(p){w=17;break}else n=0}c:do{if((Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[h>>2]|0,0)|0)<<24>>24==37){m=h+4|0;if((m|0)==(j|0)){w=21;break b}p=Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[m>>2]|0,0)|0;switch(p<<24>>24){case 48:case 69:{n=h+8|0;if((n|0)==(j|0)){w=24;break b}h=m;m=Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[n>>2]|0,0)|0;k=p;break}default:{m=p;k=0}}p=c[(c[a>>2]|0)+36>>2]|0;c[t>>2]=q;c[u>>2]=l;c[r>>2]=c[t>>2];c[s>>2]=c[u>>2];c[b>>2]=Sb[p&15](a,r,s,e,f,g,m,k)|0;h=h+8|0}else{if(!(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,c[h>>2]|0)|0)){m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;q=Lb[c[(c[v>>2]|0)+28>>2]&63](v,l)|0;if((q|0)!=(Lb[c[(c[v>>2]|0)+28>>2]&63](v,c[h>>2]|0)|0)){w=61;break b}l=c[m>>2]|0;if((l|0)==(c[n>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else c[m>>2]=l+4;h=h+4|0;break}do{h=h+4|0;if((h|0)==(j|0)){h=j;break}}while(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,c[h>>2]|0)|0);l=n;p=n;while(1){if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))m=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;k=0}else n=0}else{n=1;k=0}do{if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(n^(l|0)==0){q=l;p=l;break}else break c;else{c[d>>2]=0;l=0;w=44;break}}else w=44}while(0);if((w|0)==44){w=0;if(n)break c;else{q=l;p=0}}m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if(!(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,l)|0))break c;l=c[m>>2]|0;if((l|0)==(c[n>>2]|0)){Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;l=q;continue}else{c[m>>2]=l+4;l=q;continue}}}}while(0);k=c[b>>2]|0;if(!((h|0)!=(j|0)&(c[f>>2]|0)==0))break a}if((w|0)==17){c[f>>2]=4;break}else if((w|0)==21){c[f>>2]=4;break}else if((w|0)==24){c[f>>2]=4;break}else if((w|0)==61){c[f>>2]=4;k=c[b>>2]|0;break}}}while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}h=c[d>>2]|0;do{if(h){l=c[h+12>>2]|0;if((l|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[l>>2]|0;if((h|0)!=-1)if(m)break;else{w=76;break}else{c[d>>2]=0;w=74;break}}else w=74}while(0);if((w|0)==74?m:0)w=76;if((w|0)==76)c[f>>2]=c[f>>2]|2;i=x;return k|0}function pq(a){a=a|0;return}function qq(a){a=a|0;cj(a);return}function rq(a){a=a|0;return 2}function sq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=oq(a,k,j,e,f,g,44788,44820)|0;i=h;return a|0}function tq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;q=b+8|0;q=Eb[c[(c[q>>2]|0)+20>>2]&127](q)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];o=a[q>>0]|0;p=(o&1)==0;e=q+4|0;d=p?e:c[q+8>>2]|0;e=d+((p?(o&255)>>>1:c[e>>2]|0)<<2)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=oq(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function uq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];vq(a,g+24|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function vq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Iu(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function wq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];xq(a,g+16|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function xq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Iu(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function yq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];zq(a,g+20|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function zq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function Aq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,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;U=i;i=i+144|0;l=U+132|0;k=U+116|0;N=U+128|0;x=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;m=U+88|0;n=U+84|0;p=U+80|0;q=U+76|0;r=U+72|0;s=U+68|0;t=U+64|0;u=U+60|0;v=U+56|0;w=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;c[g>>2]=0;M=jn(f)|0;c[N>>2]=M;o=0;N=ra(37,N|0,44212)|0;W=o;o=0;if(W&1){W=Na()|0;pm(M)|0;Ya(W|0)}pm(M)|0;do{switch(j<<24>>24|0){case 65:case 97:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];vq(b,h+24|0,d,l,g,N);V=28;break}case 104:case 66:case 98:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];xq(b,h+16|0,d,l,g,N);V=28;break}case 99:{W=b+8|0;W=Eb[c[(c[W>>2]|0)+12>>2]&127](W)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];j=a[W>>0]|0;e=(j&1)==0;V=W+4|0;W=e?V:c[W+8>>2]|0;V=W+((e?(j&255)>>>1:c[V>>2]|0)<<2)|0;c[k>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=oq(b,k,l,f,g,h,W,V)|0;V=28;break}case 101:case 100:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];Bq(b,h+12|0,d,l,g,N);V=28;break}case 68:{c[R>>2]=c[d>>2];c[S>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[S>>2];c[d>>2]=oq(b,k,l,f,g,h,44820,44852)|0;V=28;break}case 70:{c[T>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[T>>2];c[l>>2]=c[m>>2];c[d>>2]=oq(b,k,l,f,g,h,44852,44884)|0;V=28;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];Cq(b,h+8|0,d,l,g,N);V=28;break}case 73:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];Dq(b,h+8|0,d,l,g,N);V=28;break}case 106:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];Eq(b,h+28|0,d,l,g,N);V=28;break}case 109:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];Fq(b,h+16|0,d,l,g,N);V=28;break}case 77:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];Gq(b,h+4|0,d,l,g,N);V=28;break}case 116:case 110:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];Hq(b,d,l,g,N);V=28;break}case 112:{c[u>>2]=c[e>>2];c[l>>2]=c[u>>2];Iq(b,h+8|0,d,l,g,N);V=28;break}case 114:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[k>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=oq(b,k,l,f,g,h,44884,44928)|0;V=28;break}case 82:{c[y>>2]=c[d>>2];c[z>>2]=c[e>>2];c[k>>2]=c[y>>2];c[l>>2]=c[z>>2];c[d>>2]=oq(b,k,l,f,g,h,44928,44948)|0;V=28;break}case 83:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];Jq(b,h,d,l,g,N);V=28;break}case 84:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[k>>2]=c[B>>2];c[l>>2]=c[C>>2];c[d>>2]=oq(b,k,l,f,g,h,44948,44980)|0;V=28;break}case 119:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];Kq(b,h+24|0,d,l,g,N);V=28;break}case 120:{W=c[(c[b>>2]|0)+20>>2]|0;c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[k>>2]=c[E>>2];c[l>>2]=c[F>>2];k=Db[W&63](b,k,l,f,g,h)|0;break}case 88:{W=b+8|0;W=Eb[c[(c[W>>2]|0)+24>>2]&127](W)|0;c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];j=a[W>>0]|0;e=(j&1)==0;V=W+4|0;W=e?V:c[W+8>>2]|0;V=W+((e?(j&255)>>>1:c[V>>2]|0)<<2)|0;c[k>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=oq(b,k,l,f,g,h,W,V)|0;V=28;break}case 121:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];zq(b,h+20|0,d,l,g,N);V=28;break}case 89:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];Lq(b,h+20|0,d,l,g,N);V=28;break}case 37:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];Mq(b,d,l,g,N);V=28;break}default:{c[g>>2]=c[g>>2]|4;V=28}}}while(0);if((V|0)==28)k=c[d>>2]|0;i=U;return k|0}function Bq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Dq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Eq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Fq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function Gq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Hq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do{if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1}while(0);g=c[d>>2]|0;do{if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15}while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if(!(Gb[c[(c[f>>2]|0)+12>>2]&63](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;continue}else{c[g>>2]=h+4;continue}}a=c[b>>2]|0;do{if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break;else{i=39;break}else{c[d>>2]=0;i=37;break}}else i=37}while(0);if((i|0)==37?g:0)i=39;if((i|0)==39)c[e>>2]=c[e>>2]|2;return}function Iq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Eb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do{if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=Iu(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4}while(0);i=n;return}function Jq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Kq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Lq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function Mq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a=c[b>>2]|0;do{if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1}while(0);g=c[d>>2]|0;do{if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14}while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do{if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((Gb[c[(c[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)g=1;else j=25}else{c[g>>2]=h+4;j=25}do{if((j|0)==25){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}}while(0);do{if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break a;else break;else{c[d>>2]=0;j=37;break}}else j=37}while(0);if((j|0)==37?!g:0)break;c[e>>2]=c[e>>2]|2}}while(0);return}function Nq(a){a=a|0;Oq(a+8|0);return}function Oq(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;o=0;d=ua(3)|0;e=o;o=0;do{if(!(e&1)){if((b|0)!=(d|0)?(o=0,ha(188,c[a>>2]|0),e=o,o=0,e&1):0)break;return}}while(0);e=Na(0)|0;ec(e)}function Pq(a){a=a|0;Oq(a+8|0);cj(a);return}function Qq(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;l=i;i=i+112|0;k=l+4|0;e=l;c[e>>2]=k+100;Rq(b+8|0,k,e,g,h,j);g=c[e>>2]|0;e=c[d>>2]|0;if((k|0)!=(g|0))do{j=a[k>>0]|0;do{if(e){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){d=(Lb[c[(c[e>>2]|0)+52>>2]&63](e,j&255)|0)==-1;e=d?0:e;break}else{c[f>>2]=h+1;a[h>>0]=j;break}}else e=0}while(0);k=k+1|0}while((k|0)!=(g|0));i=l;return e|0}function Rq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;a[l>>0]=37;j=l+1|0;a[j>>0]=g;k=l+2|0;a[k>>0]=h;a[l+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}c[e>>2]=d+(Ra(d|0,(c[e>>2]|0)-d|0,l|0,f|0,c[b>>2]|0)|0);i=m;return}function Sq(a){a=a|0;Oq(a+8|0);return}function Tq(a){a=a|0;Oq(a+8|0);cj(a);return}function Uq(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;i=i+416|0;e=j+8|0;d=j;c[d>>2]=e+400;Vq(a+8|0,e,d,f,g,h);a=c[d>>2]|0;d=c[b>>2]|0;if((e|0)!=(a|0)){f=e;do{e=c[f>>2]|0;if(!d)d=0;else{g=d+24|0;h=c[g>>2]|0;if((h|0)==(c[d+28>>2]|0))e=Lb[c[(c[d>>2]|0)+52>>2]&63](d,e)|0;else{c[g>>2]=h+4;c[h>>2]=e}d=(e|0)==-1?0:d}f=f+4|0}while((f|0)!=(a|0))}i=j;return d|0}function Vq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+128|0;l=h+16|0;m=h+12|0;j=h;k=h+8|0;c[m>>2]=l+100;Rq(a,l,m,e,f,g);f=j;c[f>>2]=0;c[f+4>>2]=0;c[k>>2]=l;f=(c[d>>2]|0)-b>>2;g=qk(c[a>>2]|0)|0;o=0;f=va(18,b|0,k|0,f|0,j|0)|0;a=o;o=0;if(a&1){f=Na()|0;if((g|0)!=0?(o=0,ka(75,g|0)|0,m=o,o=0,m&1):0){m=Na(0)|0;ec(m)}Ya(f|0)}if((g|0)!=0?(o=0,ka(75,g|0)|0,m=o,o=0,m&1):0){m=Na(0)|0;ec(m)}if((f|0)==-1)Rr(58955);else{c[d>>2]=b+(f<<2);i=h;return}}function Wq(a){a=a|0;return}function Xq(a){a=a|0;cj(a);return}function Yq(a){a=a|0;return 127}function Zq(a){a=a|0;return 127}function _q(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function $q(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ar(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function br(a,b){a=a|0;b=b|0;Hm(a,1,45);return}function cr(a){a=a|0;return 0}function dr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function er(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function fr(a){a=a|0;return}function gr(a){a=a|0;cj(a);return}function hr(a){a=a|0;return 127}function ir(a){a=a|0;return 127}function jr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function kr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function lr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function mr(a,b){a=a|0;b=b|0;Hm(a,1,45);return}function nr(a){a=a|0;return 0}function or(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function pr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function qr(a){a=a|0;return}function rr(a){a=a|0;cj(a);return}function sr(a){a=a|0;return 2147483647}function tr(a){a=a|0;return 2147483647}function ur(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function vr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function wr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function xr(a,b){a=a|0;b=b|0;Vm(a,1,45);return}function yr(a){a=a|0;return 0}function zr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Ar(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Br(a){a=a|0;return}function Cr(a){a=a|0;cj(a);return}function Dr(a){a=a|0;return 2147483647}function Er(a){a=a|0;return 2147483647}function Fr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Gr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Hr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Ir(a,b){a=a|0;b=b|0;Vm(a,1,45);return}function Jr(a){a=a|0;return 0}function Kr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Lr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Mr(a){a=a|0;return}function Nr(a){a=a|0;cj(a);return}function Or(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;B=i;i=i+240|0;z=B+24|0;A=B;b=B+136|0;D=B+16|0;y=B+12|0;C=B+8|0;p=B+134|0;l=B+4|0;x=B+124|0;c[D>>2]=b;E=D+4|0;c[E>>2]=189;m=b+100|0;o=0;k=ka(68,g|0)|0;w=o;o=0;if(!(w&1)){c[C>>2]=k;o=0;b=ra(37,C|0,44220)|0;w=o;o=0;a:do{if(!(w&1)?(a[p>>0]=0,c[l>>2]=c[e>>2],n=c[g+4>>2]|0,o=0,c[z>>2]=c[l>>2],n=la(1,d|0,z|0,f|0,C|0,n|0,h|0,p|0,b|0,D|0,y|0,m|0)|0,w=o,o=0,!(w&1)):0){b:do{if(n){o=0;va(c[(c[b>>2]|0)+32>>2]|0,b|0,58976,58986,x|0)|0;w=o;o=0;if(w&1){G=10;break a}l=c[y>>2]|0;m=c[D>>2]|0;b=l-m|0;if((b|0)>98){b=Fl(b+2|0)|0;k=b;if(!b){o=0;xa(6);w=o;o=0;if(!(w&1)){b=0;G=13}}else G=13}else{k=0;b=z;G=13}do{if((G|0)==13){if(a[p>>0]|0){a[b>>0]=45;b=b+1|0}v=x+10|0;w=x;if(m>>>0>>0){n=x+1|0;f=n+1|0;g=f+1|0;p=g+1|0;q=p+1|0;r=q+1|0;s=r+1|0;t=s+1|0;u=t+1|0;do{l=a[m>>0]|0;do{if((a[x>>0]|0)!=l<<24>>24)if((a[n>>0]|0)!=l<<24>>24)if((a[f>>0]|0)!=l<<24>>24)if((a[g>>0]|0)!=l<<24>>24)if((a[p>>0]|0)==l<<24>>24)l=p;else{if((a[q>>0]|0)==l<<24>>24){l=q;break}if((a[r>>0]|0)==l<<24>>24){l=r;break}if((a[s>>0]|0)==l<<24>>24){l=s;break}if((a[t>>0]|0)==l<<24>>24){l=t;break}l=(a[u>>0]|0)==l<<24>>24?u:v}else l=g;else l=f;else l=n;else l=x}while(0);a[b>>0]=a[58976+(l-w)>>0]|0;m=m+1|0;b=b+1|0}while(m>>>0<(c[y>>2]|0)>>>0)}a[b>>0]=0;c[A>>2]=j;if(($k(z,58987,A)|0)!=1?(o=0,ha(190,58991),j=o,o=0,j&1):0)break;if(k)Gl(k);break b}}while(0);b=Na()|0;if(!k){l=b;k=D;break a}Gl(k);l=b;k=D;break a}}while(0);b=c[d>>2]|0;do{if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}if((b|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}}else b=0}while(0);k=(b|0)==0;b=c[e>>2]|0;do{if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}if((b|0)==-1){c[e>>2]=0;G=37;break}}if(!k)G=38}else G=37}while(0);if((G|0)==37?k:0)G=38;if((G|0)==38)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(c[C>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if((b|0)!=0?(o=0,ha(c[E>>2]|0,b|0),G=o,o=0,G&1):0){G=Na(0)|0;ec(G)}i=B;return k|0}else G=10}while(0);if((G|0)==10){l=Na()|0;k=D}pm(c[C>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=0;if(!b)F=l;else{k=c[E>>2]|0;G=45}}else{l=Na()|0;c[D>>2]=0;k=189;G=45}if((G|0)==45){o=0;ha(k|0,b|0);G=o;o=0;if(G&1){G=Na(0)|0;ec(G)}else F=l}Ya(F|0);return 0}function Pr(a){a=a|0;return}function Qr(e,f,g,h,j,k,l,m,n,p,q){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;ba=i;i=i+512|0;P=ba+88|0;u=ba+96|0;da=ba+80|0;T=ba+72|0;S=ba+68|0;U=ba+500|0;Q=ba+497|0;V=ba+496|0;Y=ba+56|0;aa=ba+44|0;_=ba+32|0;Z=ba+20|0;$=ba+8|0;R=ba+4|0;X=ba;c[P>>2]=q;c[da>>2]=u;ca=da+4|0;c[ca>>2]=189;c[T>>2]=u;c[S>>2]=u+400;c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;o=0;qa(1,g|0,h|0,U|0,Q|0,V|0,Y|0,aa|0,_|0,Z|0,R|0);O=o;o=0;a:do{if(O&1)m=Na()|0;else{c[p>>2]=c[n>>2];I=m+8|0;J=_+4|0;K=Z+4|0;L=Z+8|0;M=Z+1|0;N=_+8|0;O=_+1|0;z=(j&512|0)!=0;A=aa+8|0;B=aa+1|0;C=aa+4|0;D=$+4|0;E=$+8|0;F=$+1|0;G=U+3|0;H=Y+4|0;y=0;t=0;b:while(1){q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);q=(q|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(q){x=m;break}else{W=235;break b}o=0;g=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=24;break b}if((g|0)!=-1)if(q){x=m;break}else{W=235;break b}else{c[f>>2]=0;W=15;break}}else W=15}while(0);if((W|0)==15){W=0;if(q){W=235;break}else x=0}c:do{switch(a[U+y>>0]|0){case 1:{if((y|0)!=3){q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=24;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24<=-1){W=40;break b}if(!(b[(c[I>>2]|0)+(q<<24>>24<<1)>>1]&8192)){W=40;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=24;break b}}else{c[m>>2]=g+1;q=d[g>>0]|0}o=0;ia(67,$|0,q&255|0);W=o;o=0;if(W&1){W=24;break b}else{q=x;h=x;W=42}}break}case 0:{if((y|0)!=3){q=x;h=x;W=42}break}case 3:{m=a[_>>0]|0;q=(m&1)==0?(m&255)>>>1:c[J>>2]|0;g=a[Z>>0]|0;h=(g&1)==0?(g&255)>>>1:c[K>>2]|0;if((q|0)!=(0-h|0)){if(!q){q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}m=a[Z>>0]|0}else{q=d[m>>0]|0;m=g}if((q&255)<<24>>24!=(a[((m&1)==0?M:c[L>>2]|0)>>0]|0))break c;q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;a[l>>0]=1;x=a[Z>>0]|0;t=((x&1)==0?(x&255)>>>1:c[K>>2]|0)>>>0>1?Z:t;break c}j=c[e>>2]|0;r=c[j+12>>2]|0;g=c[j+16>>2]|0;q=(r|0)==(g|0);if(!h){if(q){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}m=a[_>>0]|0}else q=d[r>>0]|0;if((q&255)<<24>>24!=(a[((m&1)==0?O:c[N>>2]|0)>>0]|0)){a[l>>0]=1;break c}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;x=a[_>>0]|0;t=((x&1)==0?(x&255)>>>1:c[J>>2]|0)>>>0>1?_:t;break c}if(q){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}g=c[e>>2]|0;m=a[_>>0]|0;j=g;r=c[g+12>>2]|0;g=c[g+16>>2]|0}else q=d[r>>0]|0;h=j+12|0;g=(r|0)==(g|0);if((q&255)<<24>>24==(a[((m&1)==0?O:c[N>>2]|0)>>0]|0)){if(g){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[h>>2]=r+1;x=a[_>>0]|0;t=((x&1)==0?(x&255)>>>1:c[J>>2]|0)>>>0>1?_:t;break c}if(g){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}}else q=d[r>>0]|0;if((q&255)<<24>>24!=(a[((a[Z>>0]&1)==0?M:c[L>>2]|0)>>0]|0)){W=104;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;a[l>>0]=1;x=a[Z>>0]|0;t=((x&1)==0?(x&255)>>>1:c[K>>2]|0)>>>0>1?Z:t}break}case 2:{if(!(y>>>0<2|(t|0)!=0)?!(z|(y|0)==2&(a[G>>0]|0)!=0):0){t=0;break c}v=a[aa>>0]|0;q=(v&1)==0;w=c[A>>2]|0;g=q?B:w;s=g;d:do{if((y|0)!=0?(d[U+(y+-1)>>0]|0)<2:0){r=q?(v&255)>>>1:c[C>>2]|0;h=g+r|0;j=c[I>>2]|0;e:do{if(!r)m=s;else{r=g;m=s;do{q=a[r>>0]|0;if(q<<24>>24<=-1)break e;if(!(b[j+(q<<24>>24<<1)>>1]&8192))break e;r=r+1|0;m=r}while((r|0)!=(h|0))}}while(0);h=m-s|0;j=a[$>>0]|0;q=(j&1)==0;j=q?(j&255)>>>1:c[D>>2]|0;if(j>>>0>=h>>>0){q=q?F:c[E>>2]|0;r=q+j|0;if((m|0)!=(s|0)){q=q+(j-h)|0;while(1){if((a[q>>0]|0)!=(a[g>>0]|0)){m=s;break d}q=q+1|0;if((q|0)==(r|0))break;else g=g+1|0}}}else m=s}else m=s}while(0);q=(v&1)==0;q=(q?B:w)+(q?(v&255)>>>1:c[C>>2]|0)|0;f:do{if((m|0)!=(q|0)){j=x;h=x;q=m;while(1){m=c[e>>2]|0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=21;break b}if((m|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}}else m=0}while(0);g=(m|0)==0;do{if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){m=j;r=h;break}else break f;o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=21;break b}if((m|0)!=-1)if(g^(j|0)==0){m=j;r=j;break}else break f;else{c[f>>2]=0;m=0;W=131;break}}else{m=j;W=131}}while(0);if((W|0)==131){W=0;if(g)break f;else r=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=21;break b}}else g=d[h>>0]|0;if((g&255)<<24>>24!=(a[q>>0]|0))break f;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=21;break b}}else c[h>>2]=j+1;q=q+1|0;g=a[aa>>0]|0;x=(g&1)==0;g=(x?B:c[A>>2]|0)+(x?(g&255)>>>1:c[C>>2]|0)|0;if((q|0)==(g|0)){q=g;break}else{j=m;h=r}}}}while(0);if(z?(x=a[aa>>0]|0,w=(x&1)==0,(q|0)!=((w?B:c[A>>2]|0)+(w?(x&255)>>>1:c[C>>2]|0)|0)):0){W=143;break b}break}case 4:{s=a[V>>0]|0;m=x;j=x;q=0;g:while(1){g=c[e>>2]|0;do{if(g){if((c[g+12>>2]|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=23;break b}if((g|0)==-1){c[e>>2]=0;g=0;break}else{g=c[e>>2]|0;break}}}else g=0}while(0);h=(g|0)==0;do{if(j){if((c[j+12>>2]|0)!=(c[j+16>>2]|0))if(h){r=m;break}else{h=m;break g}o=0;g=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=23;break b}if((g|0)!=-1)if(h^(m|0)==0){r=m;j=m;break}else{h=m;break g}else{c[f>>2]=0;m=0;W=156;break}}else W=156}while(0);if((W|0)==156){W=0;if(h){h=m;break}else{r=m;j=0}}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=23;break b}}else m=d[g>>0]|0;g=m&255;if(g<<24>>24>-1?(b[(c[I>>2]|0)+(m<<24>>24<<1)>>1]&2048)!=0:0){m=c[p>>2]|0;if((m|0)==(c[P>>2]|0)){o=0;wa(12,n|0,p|0,P|0);x=o;o=0;if(x&1){W=23;break b}m=c[p>>2]|0}c[p>>2]=m+1;a[m>>0]=g;q=q+1|0}else{x=a[Y>>0]|0;if(!(g<<24>>24==s<<24>>24&((q|0)!=0?(((x&1)==0?(x&255)>>>1:c[H>>2]|0)|0)!=0:0))){h=r;break}if((u|0)==(c[S>>2]|0)){o=0;wa(13,da|0,T|0,S|0);x=o;o=0;if(x&1){W=23;break b}u=c[T>>2]|0}x=u+4|0;c[T>>2]=x;c[u>>2]=q;u=x;q=0}m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){o=0;ka(c[(c[m>>2]|0)+40>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=23;break b}else{m=r;continue}}else{c[g>>2]=h+1;m=r;continue}}if((q|0)!=0?(c[da>>2]|0)!=(u|0):0){if((u|0)==(c[S>>2]|0)){o=0;wa(13,da|0,T|0,S|0);x=o;o=0;if(x&1){W=24;break b}u=c[T>>2]|0}x=u+4|0;c[T>>2]=x;c[u>>2]=q;u=x}r=c[R>>2]|0;if((r|0)>0){q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);q=(q|0)==0;do{if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0)){o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=24;break b}if((m|0)==-1){c[f>>2]=0;W=193;break}}if(!q){W=198;break b}}else W=193}while(0);if((W|0)==193){W=0;if(q){W=198;break b}else h=0}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24!=(a[Q>>0]|0)){W=198;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;if((r|0)>0){j=h;g=h;s=r;while(1){q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=22;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);m=(q|0)==0;do{if(g){if((c[g+12>>2]|0)!=(c[g+16>>2]|0))if(m){q=j;r=g;break}else{W=222;break b}o=0;q=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=22;break b}if((q|0)!=-1)if(m^(j|0)==0){q=j;r=j;break}else{W=222;break b}else{c[f>>2]=0;q=0;W=215;break}}else{q=j;W=215}}while(0);if((W|0)==215){W=0;if(m){W=222;break b}else r=0}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=22;break b}}else m=d[g>>0]|0;if((m&255)<<24>>24<=-1){W=222;break b}if(!(b[(c[I>>2]|0)+(m<<24>>24<<1)>>1]&2048)){W=222;break b}if((c[p>>2]|0)==(c[P>>2]|0)?(o=0,wa(12,n|0,p|0,P|0),x=o,o=0,x&1):0){W=22;break b}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=22;break b}}else m=d[g>>0]|0;g=c[p>>2]|0;c[p>>2]=g+1;a[g>>0]=m;m=s;s=s+-1|0;c[R>>2]=s;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=22;break b}}else c[h>>2]=j+1;if((m|0)<=1)break;else{j=q;g=r}}}}if((c[p>>2]|0)==(c[n>>2]|0)){W=233;break b}break}default:{}}}while(0);h:do{if((W|0)==42)while(1){W=0;m=c[e>>2]|0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=20;break b}if((m|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}}else m=0}while(0);g=(m|0)==0;do{if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){j=q;break}else break h;o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=20;break b}if((m|0)!=-1)if(g^(q|0)==0){j=q;h=q;break}else break h;else{c[f>>2]=0;q=0;W=54;break}}else W=54}while(0);if((W|0)==54){W=0;if(g)break h;else{j=q;h=0}}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=20;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24<=-1)break h;if(!(b[(c[I>>2]|0)+(q<<24>>24<<1)>>1]&8192))break h;q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=20;break b}}else{c[m>>2]=g+1;q=d[g>>0]|0}o=0;ia(67,$|0,q&255|0);W=o;o=0;if(W&1){W=20;break b}else{q=j;W=42}}}while(0);y=y+1|0;if(y>>>0>=4){W=235;break}}i:switch(W|0){case 20:{m=Na()|0;break a}case 21:{m=Na()|0;break a}case 22:{m=Na()|0;break a}case 23:{m=Na()|0;break a}case 24:{m=Na()|0;break a}case 40:{c[k>>2]=c[k>>2]|4;m=0;break}case 104:{c[k>>2]=c[k>>2]|4;m=0;break}case 143:{c[k>>2]=c[k>>2]|4;m=0;break}case 198:{c[k>>2]=c[k>>2]|4;m=0;break}case 222:{c[k>>2]=c[k>>2]|4;m=0;break}case 233:{c[k>>2]=c[k>>2]|4;m=0;break}case 235:{j:do{if(t){j=t+1|0;r=t+8|0;s=t+4|0;g=1;k:while(1){q=a[t>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[s>>2]|0;if(g>>>0>=q>>>0)break j;q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break k}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);m=(q|0)==0;q=c[f>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break k}if((q|0)==-1){c[f>>2]=0;W=253;break}}if(!m){W=260;break k}}else W=253}while(0);if((W|0)==253?(W=0,m):0){W=260;break}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break}}else q=d[m>>0]|0;if(!(a[t>>0]&1))m=j;else m=c[r>>2]|0;if((q&255)<<24>>24!=(a[m+g>>0]|0)){W=260;break}q=g+1|0;m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){o=0;ka(c[(c[m>>2]|0)+40>>2]|0,m|0)|0;p=o;o=0;if(p&1){W=19;break}else{g=q;continue}}else{c[g>>2]=h+1;g=q;continue}}if((W|0)==19){m=Na()|0;break a}else if((W|0)==260){c[k>>2]=c[k>>2]|4;m=0;break i}}}while(0);q=c[da>>2]|0;if((q|0)!=(u|0)?(c[X>>2]=0,Ur(Y,q,u,X),(c[X>>2]|0)!=0):0){c[k>>2]=c[k>>2]|4;m=0}else m=1;break}}Im($);Im(Z);Im(_);Im(aa);Im(Y);q=c[da>>2]|0;c[da>>2]=0;if((q|0)!=0?(o=0,ha(c[ca>>2]|0,q|0),da=o,o=0,da&1):0){da=Na(0)|0;ec(da)}i=ba;return m|0}}while(0);Im($);Im(Z);Im(_);Im(aa);Im(Y);q=c[da>>2]|0;c[da>>2]=0;if((q|0)!=0?(o=0,ha(c[ca>>2]|0,q|0),da=o,o=0,da&1):0){da=Na(0)|0;ec(da)}Ya(m|0);return 0}function Rr(a){a=a|0;var b=0;b=Ma(8)|0;o=0;ia(90,b|0,a|0);a=o;o=0;if(a&1){a=Na()|0;La(b|0);Ya(a|0)}else lb(b|0,616,80)}function Sr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+144|0;k=w+24|0;b=w+32|0;x=w+16|0;s=w+8|0;p=w+4|0;q=w+28|0;l=w;c[x>>2]=b;A=x+4|0;c[A>>2]=189;m=b+100|0;o=0;v=ka(68,g|0)|0;n=o;o=0;if(!(n&1)){c[p>>2]=v;o=0;n=ra(37,p|0,44220)|0;b=o;o=0;a:do{if(!(b&1)?(a[q>>0]=0,t=c[e>>2]|0,c[l>>2]=t,r=c[g+4>>2]|0,u=t,o=0,c[k>>2]=c[l>>2],r=la(1,d|0,k|0,f|0,p|0,r|0,h|0,q|0,n|0,x|0,s|0,m|0)|0,g=o,o=0,!(g&1)):0){if(r){if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}if(a[q>>0]|0){o=0;b=ra(c[(c[n>>2]|0)+28>>2]|0,n|0,45)|0;g=o;o=0;if(g&1)break;o=0;ia(67,j|0,b|0);g=o;o=0;if(g&1)break}o=0;l=ra(c[(c[n>>2]|0)+28>>2]|0,n|0,48)|0;g=o;o=0;if(g&1)break;b=c[x>>2]|0;m=c[s>>2]|0;k=m+-1|0;b:do{if(b>>>0>>0)do{if((a[b>>0]|0)!=l<<24>>24)break b;b=b+1|0}while(b>>>0>>0)}while(0);o=0;ma(32,j|0,b|0,m|0)|0;j=o;o=0;if(j&1)break}b=c[d>>2]|0;do{if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1)break a;if((b|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}}else b=0}while(0);k=(b|0)==0;do{if(t){if((c[u+12>>2]|0)==(c[u+16>>2]|0)){o=0;b=ka(c[(c[t>>2]|0)+36>>2]|0,u|0)|0;u=o;o=0;if(u&1)break a;if((b|0)==-1){c[e>>2]=0;z=29;break}}if(!k)z=30}else z=29}while(0);if((z|0)==29?k:0)z=30;if((z|0)==30)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(v)|0;b=c[x>>2]|0;c[x>>2]=0;if((b|0)!=0?(o=0,ha(c[A>>2]|0,b|0),A=o,o=0,A&1):0){A=Na(0)|0;ec(A)}i=w;return k|0}}while(0);k=Na()|0;pm(v)|0;b=c[x>>2]|0;c[x>>2]=0;if(!b)y=k;else z=36}else{k=Na()|0;c[x>>2]=0;z=36}if((z|0)==36){o=0;ha(c[A>>2]|0,b|0);A=o;o=0;if(A&1){A=Na(0)|0;ec(A)}else y=k}Ya(y|0);return 0}function Tr(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+100|0;p=z+88|0;q=z+76|0;r=z+64|0;s=z+52|0;t=z+48|0;u=z+36|0;v=z+24|0;w=z+12|0;x=z;do{if(b){b=Is(d,43828)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](n,b);x=c[n>>2]|0;a[e>>0]=x;a[e+1>>0]=x>>8;a[e+2>>0]=x>>16;a[e+3>>0]=x>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Im(p);Cb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Im(q);a[f>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);Cb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Im(s);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(d,43764)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](t,b);t=c[t>>2]|0;a[e>>0]=t;a[e+1>>0]=t>>8;a[e+2>>0]=t>>16;a[e+3>>0]=t>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Im(u);Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Im(v);a[f>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Im(x);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=y;i=z;return}function Ur(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=a[b>>0]|0;i=b+4|0;h=c[i>>2]|0;a:do{if(((g&1)==0?(g&255)>>>1:h)|0){if((d|0)!=(e|0)){g=e+-4|0;if(g>>>0>d>>>0){h=d;do{j=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=j;h=h+4|0;g=g+-4|0}while(h>>>0>>0)}g=a[b>>0]|0;h=c[i>>2]|0}j=(g&1)==0;i=j?b+1|0:c[b+8>>2]|0;e=e+-4|0;b=i+(j?(g&255)>>>1:h)|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;b:do{if(e>>>0>d>>>0){while(1){if(!g?(h<<24>>24|0)!=(c[d>>2]|0):0)break;i=(b-i|0)>1?i+1|0:i;d=d+4|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;if(d>>>0>=e>>>0)break b}c[f>>2]=4;break a}}while(0);if(!g?((c[e>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}}while(0);return}function Vr(a){a=a|0;return}function Wr(a){a=a|0;cj(a);return}function Xr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;B=i;i=i+576|0;x=B+424|0;A=B;b=B+24|0;D=B+16|0;y=B+12|0;C=B+8|0;p=B+464|0;l=B+4|0;z=B+468|0;c[D>>2]=b;F=D+4|0;c[F>>2]=189;m=b+400|0;o=0;k=ka(68,g|0)|0;w=o;o=0;if(!(w&1)){c[C>>2]=k;o=0;b=ra(37,C|0,44212)|0;w=o;o=0;a:do{if(!(w&1)?(a[p>>0]=0,c[l>>2]=c[e>>2],n=c[g+4>>2]|0,o=0,c[x>>2]=c[l>>2],n=la(2,d|0,x|0,f|0,C|0,n|0,h|0,p|0,b|0,D|0,y|0,m|0)|0,w=o,o=0,!(w&1)):0){b:do{if(n){o=0;va(c[(c[b>>2]|0)+48>>2]|0,b|0,59007,59017,x|0)|0;w=o;o=0;if(w&1){G=10;break a}l=c[y>>2]|0;m=c[D>>2]|0;b=l-m|0;if((b|0)>392){b=Fl((b>>2)+2|0)|0;k=b;if(!b){o=0;xa(6);w=o;o=0;if(!(w&1)){b=0;G=13}}else G=13}else{k=0;b=z;G=13}do{if((G|0)==13){if(a[p>>0]|0){a[b>>0]=45;b=b+1|0}v=x+40|0;w=x;if(m>>>0>>0){n=x+4|0;f=n+4|0;g=f+4|0;p=g+4|0;q=p+4|0;r=q+4|0;s=r+4|0;t=s+4|0;u=t+4|0;do{l=c[m>>2]|0;do{if((c[x>>2]|0)!=(l|0))if((c[n>>2]|0)!=(l|0))if((c[f>>2]|0)!=(l|0))if((c[g>>2]|0)!=(l|0))if((c[p>>2]|0)==(l|0))l=p;else{if((c[q>>2]|0)==(l|0)){l=q;break}if((c[r>>2]|0)==(l|0)){l=r;break}if((c[s>>2]|0)==(l|0)){l=s;break}if((c[t>>2]|0)==(l|0)){l=t;break}l=(c[u>>2]|0)==(l|0)?u:v}else l=g;else l=f;else l=n;else l=x}while(0);a[b>>0]=a[59007+(l-w>>2)>>0]|0;m=m+4|0;b=b+1|0}while(m>>>0<(c[y>>2]|0)>>>0)}a[b>>0]=0;c[A>>2]=j;if(($k(z,58987,A)|0)!=1?(o=0,ha(190,58991),j=o,o=0,j&1):0)break;if(k)Gl(k);break b}}while(0);b=Na()|0;if(!k){l=b;k=D;break a}Gl(k);l=b;k=D;break a}}while(0);b=c[d>>2]|0;do{if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}}else b=c[k>>2]|0;if((b|0)==-1){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1}while(0);b=c[e>>2]|0;do{if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}}else b=c[k>>2]|0;if((b|0)!=-1)if(l)break;else{G=40;break}else{c[e>>2]=0;G=38;break}}else G=38}while(0);if((G|0)==38?l:0)G=40;if((G|0)==40)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(c[C>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if((b|0)!=0?(o=0,ha(c[F>>2]|0,b|0),G=o,o=0,G&1):0){G=Na(0)|0;ec(G)}i=B;return k|0}else G=10}while(0);if((G|0)==10){l=Na()|0;k=D}pm(c[C>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=0;if(!b)E=l;else{k=c[F>>2]|0;G=47}}else{l=Na()|0;c[D>>2]=0;k=189;G=47}if((G|0)==47){o=0;ha(k|0,b|0);G=o;o=0;if(G&1){G=Na(0)|0;ec(G)}else E=l}Ya(E|0);return 0}function Yr(b,e,f,g,h,j,k,l,m,n,p){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Y=i;i=i+512|0;K=Y+96|0;q=Y+104|0;_=Y+88|0;O=Y+80|0;N=Y+76|0;P=Y+504|0;L=Y+72|0;Q=Y+68|0;T=Y+56|0;X=Y+44|0;V=Y+32|0;U=Y+20|0;W=Y+8|0;M=Y+4|0;S=Y;c[K>>2]=p;c[_>>2]=q;Z=_+4|0;c[Z>>2]=189;c[O>>2]=q;c[N>>2]=q+400;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;qa(2,f|0,g|0,P|0,L|0,Q|0,T|0,X|0,V|0,U|0,M|0);J=o;o=0;a:do{if(J&1)f=Na()|0;else{c[n>>2]=c[m>>2];G=V+4|0;H=U+4|0;I=U+8|0;J=V+8|0;z=(h&512|0)!=0;A=X+8|0;B=X+4|0;C=W+4|0;D=W+8|0;E=P+3|0;F=T+4|0;y=0;s=0;b:while(1){p=c[b>>2]|0;do{if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[f>>2]|0;if((p|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);f=c[e>>2]|0;do{if(f){p=c[f+12>>2]|0;if((p|0)==(c[f+16>>2]|0)){o=0;p=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[p>>2]|0;if((p|0)!=-1)if(g){x=f;break}else{t=q;R=244;break b}else{c[e>>2]=0;R=16;break}}else R=16}while(0);if((R|0)==16){R=0;if(g){t=q;R=244;break}else x=0}c:do{switch(a[P+y>>0]|0){case 1:{if((y|0)!=3){p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=26;break b}}else p=c[f>>2]|0;o=0;p=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,p|0)|0;R=o;o=0;if(R&1){R=26;break b}if(!p){R=42;break b}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=26;break b}}else{c[f>>2]=g+4;p=c[g>>2]|0}o=0;ia(92,W|0,p|0);R=o;o=0;if(R&1){R=26;break b}else{p=x;h=x;R=44}}else p=q;break}case 0:{if((y|0)==3)p=q;else{p=x;h=x;R=44}break}case 3:{f=a[V>>0]|0;p=(f&1)==0?(f&255)>>>1:c[G>>2]|0;g=a[U>>0]|0;h=(g&1)==0?(g&255)>>>1:c[H>>2]|0;if((p|0)==(0-h|0))p=q;else{if(!p){p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}f=a[U>>0]|0}else{p=c[f>>2]|0;f=g}if((p|0)!=(c[((f&1)==0?H:c[I>>2]|0)>>2]|0)){p=q;break c}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;a[k>>0]=1;x=a[U>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[H>>2]|0)>>>0>1?U:s;break c}r=c[b>>2]|0;t=c[r+12>>2]|0;g=c[r+16>>2]|0;p=(t|0)==(g|0);if(!h){if(p){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}f=a[V>>0]|0}else p=c[t>>2]|0;if((p|0)!=(c[((f&1)==0?G:c[J>>2]|0)>>2]|0)){a[k>>0]=1;p=q;break c}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;x=a[V>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[G>>2]|0)>>>0>1?V:s;break c}if(p){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}g=c[b>>2]|0;f=a[V>>0]|0;r=g;t=c[g+12>>2]|0;g=c[g+16>>2]|0}else p=c[t>>2]|0;h=r+12|0;g=(t|0)==(g|0);if((p|0)==(c[((f&1)==0?G:c[J>>2]|0)>>2]|0)){if(g){o=0;ka(c[(c[r>>2]|0)+40>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[h>>2]=t+4;x=a[V>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[G>>2]|0)>>>0>1?V:s;break c}if(g){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[t>>2]|0;if((p|0)!=(c[((a[U>>0]&1)==0?H:c[I>>2]|0)>>2]|0)){R=107;break b}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;a[k>>0]=1;x=a[U>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[H>>2]|0)>>>0>1?U:s}break}case 2:{if(!(y>>>0<2|(s|0)!=0)?!(z|(y|0)==2&(a[E>>0]|0)!=0):0){p=q;s=0;break c}h=a[X>>0]|0;g=c[A>>2]|0;f=(h&1)==0?B:g;p=f;d:do{if((y|0)!=0?(d[P+(y+-1)>>0]|0)<2:0){w=(h&1)==0;e:do{if((f|0)!=((w?B:g)+((w?(h&255)>>>1:c[B>>2]|0)<<2)|0)){h=f;while(1){o=0;f=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,c[h>>2]|0)|0;w=o;o=0;if(w&1){R=23;break b}if(!f)break;h=h+4|0;p=h;f=a[X>>0]|0;g=c[A>>2]|0;w=(f&1)==0;if((h|0)==((w?B:g)+((w?(f&255)>>>1:c[B>>2]|0)<<2)|0)){h=f;break e}}h=a[X>>0]|0;g=c[A>>2]|0}}while(0);t=(h&1)==0?B:g;f=t;u=p-f>>2;v=a[W>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(v>>>0>=u>>>0){r=r?C:c[D>>2]|0;w=r+(v<<2)|0;if(!u)f=p;else{r=r+(v-u<<2)|0;while(1){if((c[r>>2]|0)!=(c[t>>2]|0))break d;r=r+4|0;if((r|0)==(w|0)){f=p;break}else t=t+4|0}}}}else f=p}while(0);p=(h&1)==0;p=(p?B:g)+((p?(h&255)>>>1:c[B>>2]|0)<<2)|0;f:do{if((f|0)!=(p|0)){r=x;h=x;p=f;while(1){f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=22;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=22;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(r|0)==0){f=r;t=r;break}else break f;else{c[e>>2]=0;f=0;R=136;break}}else{f=r;R=136}}while(0);if((R|0)==136){R=0;if(g)break f;else t=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=22;break b}}else g=c[h>>2]|0;if((g|0)!=(c[p>>2]|0))break f;g=c[b>>2]|0;h=g+12|0;r=c[h>>2]|0;if((r|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=22;break b}}else c[h>>2]=r+4;p=p+4|0;g=a[X>>0]|0;x=(g&1)==0;g=(x?B:c[A>>2]|0)+((x?(g&255)>>>1:c[B>>2]|0)<<2)|0;if((p|0)==(g|0)){p=g;break}else{r=f;h=t}}}}while(0);if(z?(x=a[X>>0]|0,w=(x&1)==0,(p|0)!=((w?B:c[A>>2]|0)+((w?(x&255)>>>1:c[B>>2]|0)<<2)|0)):0){R=148;break b}else p=q;break}case 4:{v=c[Q>>2]|0;u=x;r=x;p=q;f=0;g:while(1){g=c[b>>2]|0;do{if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=25;break b}}else g=c[h>>2]|0;if((g|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1}while(0);do{if(r){g=c[r+12>>2]|0;if((g|0)==(c[r+16>>2]|0)){o=0;g=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=25;break b}}else g=c[g>>2]|0;if((g|0)!=-1)if(h^(u|0)==0){g=u;t=u;break}else{q=u;break g}else{c[e>>2]=0;g=0;R=162;break}}else{g=u;R=162}}while(0);if((R|0)==162){R=0;if(h){q=g;break}else t=0}h=c[b>>2]|0;q=c[h+12>>2]|0;if((q|0)==(c[h+16>>2]|0)){o=0;h=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=25;break b}}else h=c[q>>2]|0;o=0;q=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,2048,h|0)|0;x=o;o=0;if(x&1){R=25;break b}if(q){q=c[n>>2]|0;if((q|0)==(c[K>>2]|0)){o=0;wa(14,m|0,n|0,K|0);x=o;o=0;if(x&1){R=25;break b}q=c[n>>2]|0}c[n>>2]=q+4;c[q>>2]=h;f=f+1|0}else{x=a[T>>0]|0;if(!((h|0)==(v|0)&((f|0)!=0?(((x&1)==0?(x&255)>>>1:c[F>>2]|0)|0)!=0:0))){q=g;break}if((p|0)==(c[N>>2]|0)){o=0;wa(13,_|0,O|0,N|0);x=o;o=0;if(x&1){R=25;break b}p=c[O>>2]|0}x=p+4|0;c[O>>2]=x;c[p>>2]=f;p=x;f=0}h=c[b>>2]|0;q=h+12|0;r=c[q>>2]|0;if((r|0)==(c[h+16>>2]|0)){o=0;ka(c[(c[h>>2]|0)+40>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=25;break b}else{u=g;r=t;continue}}else{c[q>>2]=r+4;u=g;r=t;continue}}if((f|0)!=0?(c[_>>2]|0)!=(p|0):0){if((p|0)==(c[N>>2]|0)){o=0;wa(13,_|0,O|0,N|0);x=o;o=0;if(x&1){R=26;break b}p=c[O>>2]|0}x=p+4|0;c[O>>2]=x;c[p>>2]=f;p=x}t=c[M>>2]|0;if((t|0)>0){f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(q){f=c[q+12>>2]|0;if((f|0)==(c[q+16>>2]|0)){o=0;f=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g)break;else{R=206;break b}else{c[e>>2]=0;R=200;break}}else R=200}while(0);if((R|0)==200){R=0;if(g){R=206;break b}else q=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[g>>2]|0;if((f|0)!=(c[L>>2]|0)){R=206;break b}f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[g>>2]=h+4;if((t|0)>0){r=q;h=q;u=t;while(1){f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=24;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=24;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(r|0)==0){f=r;t=r;break}else{R=231;break b}else{c[e>>2]=0;f=0;R=224;break}}else{f=r;R=224}}while(0);if((R|0)==224){R=0;if(g){R=231;break b}else t=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=24;break b}}else g=c[h>>2]|0;o=0;g=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,2048,g|0)|0;x=o;o=0;if(x&1){R=24;break b}if(!g){R=231;break b}if((c[n>>2]|0)==(c[K>>2]|0)?(o=0,wa(14,m|0,n|0,K|0),x=o,o=0,x&1):0){R=24;break b}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=24;break b}}else g=c[h>>2]|0;h=c[n>>2]|0;c[n>>2]=h+4;c[h>>2]=g;g=u;u=u+-1|0;c[M>>2]=u;h=c[b>>2]|0;q=h+12|0;r=c[q>>2]|0;if((r|0)==(c[h+16>>2]|0)){o=0;ka(c[(c[h>>2]|0)+40>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=24;break b}}else c[q>>2]=r+4;if((g|0)<=1)break;else{r=f;h=t}}}}if((c[n>>2]|0)==(c[m>>2]|0)){R=242;break b}break}default:p=q}}while(0);h:do{if((R|0)==44)while(1){R=0;f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=21;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=21;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(p|0)==0){r=p;h=p;break}else{p=q;break h}else{c[e>>2]=0;p=0;R=57;break}}else R=57}while(0);if((R|0)==57){R=0;if(g){p=q;break h}else{r=p;h=0}}p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=21;break b}}else p=c[f>>2]|0;o=0;p=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,p|0)|0;x=o;o=0;if(x&1){R=21;break b}if(!p){p=q;break h}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=21;break b}}else{c[f>>2]=g+4;p=c[g>>2]|0}o=0;ia(92,W|0,p|0);R=o;o=0;if(R&1){R=21;break b}else{p=r;R=44}}}while(0);y=y+1|0;if(y>>>0>=4){t=p;R=244;break}else q=p}i:switch(R|0){case 21:{f=Na()|0;break a}case 22:{f=Na()|0;break a}case 23:{f=Na()|0;break a}case 24:{f=Na()|0;break a}case 25:{f=Na()|0;break a}case 26:{f=Na()|0;break a}case 42:{c[j>>2]=c[j>>2]|4;f=0;break}case 107:{c[j>>2]=c[j>>2]|4;f=0;break}case 148:{c[j>>2]=c[j>>2]|4;f=0;break}case 206:{c[j>>2]=c[j>>2]|4;f=0;break}case 231:{c[j>>2]=c[j>>2]|4;f=0;break}case 242:{c[j>>2]=c[j>>2]|4;f=0;break}case 244:{j:do{if(s){q=s+4|0;r=s+8|0;h=1;k:while(1){p=a[s>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[q>>2]|0;if(h>>>0>=p>>>0)break j;p=c[b>>2]|0;do{if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break k}}else p=c[f>>2]|0;if((p|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);p=c[e>>2]|0;do{if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break k}}else p=c[f>>2]|0;if((p|0)!=-1)if(g)break;else{R=271;break k}else{c[e>>2]=0;R=263;break}}else R=263}while(0);if((R|0)==263?(R=0,g):0){R=271;break}p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break}}else p=c[f>>2]|0;if(!(a[s>>0]&1))f=q;else f=c[r>>2]|0;if((p|0)!=(c[f+(h<<2)>>2]|0)){R=271;break}p=h+1|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;n=o;o=0;if(n&1){R=20;break}else{h=p;continue}}else{c[g>>2]=h+4;h=p;continue}}if((R|0)==20){f=Na()|0;break a}else if((R|0)==271){c[j>>2]=c[j>>2]|4;f=0;break i}}}while(0);p=c[_>>2]|0;if((p|0)!=(t|0)?(c[S>>2]=0,Ur(T,p,t,S),(c[S>>2]|0)!=0):0){c[j>>2]=c[j>>2]|4;f=0}else f=1;break}}Wm(W);Wm(U);Wm(V);Wm(X);Im(T);p=c[_>>2]|0;c[_>>2]=0;if((p|0)!=0?(o=0,ha(c[Z>>2]|0,p|0),_=o,o=0,_&1):0){_=Na(0)|0;ec(_)}i=Y;return f|0}}while(0);Wm(W);Wm(U);Wm(V);Wm(X);Im(T);p=c[_>>2]|0;c[_>>2]=0;if((p|0)!=0?(o=0,ha(c[Z>>2]|0,p|0),_=o,o=0,_&1):0){_=Na(0)|0;ec(_)}Ya(f|0);return 0}function Zr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+432|0;k=w+424|0;b=w+24|0;y=w+16|0;s=w+8|0;p=w+4|0;q=w+428|0;l=w;c[y>>2]=b;A=y+4|0;c[A>>2]=189;m=b+400|0;o=0;v=ka(68,g|0)|0;n=o;o=0;if(!(n&1)){c[p>>2]=v;o=0;n=ra(37,p|0,44212)|0;b=o;o=0;a:do{if(!(b&1)?(a[q>>0]=0,t=c[e>>2]|0,c[l>>2]=t,r=c[g+4>>2]|0,u=t,o=0,c[k>>2]=c[l>>2],r=la(2,d|0,k|0,f|0,p|0,r|0,h|0,q|0,n|0,y|0,s|0,m|0)|0,g=o,o=0,!(g&1)):0){if(r){if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;if(a[q>>0]|0){o=0;b=ra(c[(c[n>>2]|0)+44>>2]|0,n|0,45)|0;g=o;o=0;if(g&1)break;o=0;ia(92,j|0,b|0);g=o;o=0;if(g&1)break}o=0;l=ra(c[(c[n>>2]|0)+44>>2]|0,n|0,48)|0;g=o;o=0;if(g&1)break;b=c[y>>2]|0;m=c[s>>2]|0;k=m+-4|0;b:do{if(b>>>0>>0)do{if((c[b>>2]|0)!=(l|0))break b;b=b+4|0}while(b>>>0>>0)}while(0);o=0;ma(33,j|0,b|0,m|0)|0;j=o;o=0;if(j&1)break}b=c[d>>2]|0;do{if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1)break a}else b=c[k>>2]|0;if((b|0)==-1){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1}while(0);do{if(t){b=c[u+12>>2]|0;if((b|0)==(c[u+16>>2]|0)){o=0;b=ka(c[(c[t>>2]|0)+36>>2]|0,u|0)|0;u=o;o=0;if(u&1)break a}else b=c[b>>2]|0;if((b|0)!=-1)if(k)break;else{z=32;break}else{c[e>>2]=0;z=30;break}}else z=30}while(0);if((z|0)==30?k:0)z=32;if((z|0)==32)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(v)|0;b=c[y>>2]|0;c[y>>2]=0;if((b|0)!=0?(o=0,ha(c[A>>2]|0,b|0),A=o,o=0,A&1):0){A=Na(0)|0;ec(A)}i=w;return k|0}}while(0);k=Na()|0;pm(v)|0;b=c[y>>2]|0;c[y>>2]=0;if(!b)x=k;else z=38}else{k=Na()|0;c[y>>2]=0;z=38}if((z|0)==38){o=0;ha(c[A>>2]|0,b|0);A=o;o=0;if(A&1){A=Na(0)|0;ec(A)}else x=k}Ya(x|0);return 0}function _r(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+100|0;p=z+88|0;q=z+76|0;r=z+64|0;s=z+52|0;t=z+48|0;u=z+36|0;v=z+24|0;w=z+12|0;x=z;do{if(b){b=Is(d,43956)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](n,b);x=c[n>>2]|0;a[e>>0]=x;a[e+1>>0]=x>>8;a[e+2>>0]=x>>16;a[e+3>>0]=x>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Wm(p);Cb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Wm(q);c[f>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);Cb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;o=0;ia(93,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Wm(s);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(d,43892)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](t,b);t=c[t>>2]|0;a[e>>0]=t;a[e+1>>0]=t>>8;a[e+2>>0]=t>>16;a[e+3>>0]=t>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Wm(u);Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Wm(v);c[f>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;o=0;ia(93,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Wm(x);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=y;i=z;return}function $r(a){a=a|0;return}function as(a){a=a|0;cj(a);return}function bs(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;D=i;i=i+384|0;v=D+8|0;k=D;m=D+284|0;n=D+72|0;l=D+184|0;F=D+68|0;A=D+80|0;x=D+77|0;B=D+76|0;G=D+56|0;I=D+44|0;H=D+32|0;p=D+28|0;u=D+84|0;z=D+24|0;y=D+20|0;w=D+16|0;c[n>>2]=m;h[v>>3]=j;m=_k(m,100,59018,v)|0;do{if(m>>>0>99){o=0;b=ua(3)|0;C=o;o=0;if(!(C&1)?(o=0,h[k>>3]=j,s=va(17,n|0,b|0,59018,k|0)|0,C=o,o=0,!(C&1)):0){b=c[n>>2]|0;if(!b){o=0;xa(6);C=o;o=0;if(C&1){b=0;k=0;C=7;break}b=c[n>>2]|0}l=Fl(s)|0;k=l;if(!l){o=0;xa(6);C=o;o=0;if(C&1)C=7;else{t=0;C=10}}else{t=l;C=10}}else{b=0;k=0;C=7}}else{k=0;b=0;t=l;s=m;C=10}}while(0);if((C|0)==10){o=0;l=ka(68,f|0)|0;r=o;o=0;if(r&1)C=7;else{c[F>>2]=l;o=0;r=ra(37,F|0,44220)|0;q=o;o=0;if(!(q&1)?(q=c[n>>2]|0,o=0,va(c[(c[r>>2]|0)+32>>2]|0,r|0,q|0,q+s|0,t|0)|0,q=o,o=0,!(q&1)):0){if(!s)q=0;else q=(a[c[n>>2]>>0]|0)==45;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;o=0;qa(3,e|0,q|0,F|0,A|0,x|0,B|0,G|0,I|0,H|0,p|0);e=o;o=0;if(!(e&1)){p=c[p>>2]|0;if((s|0)>(p|0)){e=a[H>>0]|0;m=a[I>>0]|0;m=(s-p<<1|1)+p+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}else{e=a[H>>0]|0;m=a[I>>0]|0;m=p+2+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}if(m>>>0>100){m=Fl(m)|0;n=m;if(!m){o=0;xa(6);u=o;o=0;if(!(u&1)){m=0;C=26}}else C=26}else{n=0;m=u;C=26}if((C|0)==26){o=0;na(1,m|0,z|0,y|0,c[f+4>>2]|0,t|0,t+s|0,r|0,q|0,A|0,a[x>>0]|0,a[B>>0]|0,G|0,I|0,H|0,p|0);B=o;o=0;if(!(B&1)?(c[w>>2]=c[d>>2],d=c[z>>2]|0,E=c[y>>2]|0,o=0,c[v>>2]=c[w>>2],E=ja(39,v|0,m|0,d|0,E|0,f|0,g|0)|0,d=o,o=0,!(d&1)):0){if(n){Gl(n);l=c[F>>2]|0}Im(H);Im(I);Im(G);pm(l)|0;if(k)Gl(k);if(b)Gl(b);i=D;return E|0}}m=Na()|0;if(n){Gl(n);l=c[F>>2]|0}}else m=Na()|0;Im(H);Im(I);Im(G)}else m=Na()|0;pm(l)|0}}if((C|0)==7)m=Na()|0;if(k)Gl(k);if(b)Gl(b);Ya(m|0);return 0}function cs(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+112|0;q=D+108|0;r=D+96|0;u=D+92|0;v=D+80|0;w=D+68|0;x=D+56|0;y=D+52|0;z=D+40|0;A=D+36|0;B=D+24|0;s=D+12|0;t=D;do{if(b){b=Is(e,43828)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](q,b);d=c[q>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](r,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);p=b;break}}else{Cb[c[e+40>>2]&127](u,b);d=c[u>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Im(v);p=b;break}}}while(0);a[g>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[p>>2]|0)+20>>2]&127](w,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[p>>2]|0)+24>>2]&127](x,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[x>>2];c[k+4>>2]=c[x+4>>2];c[k+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Im(x);C=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(e,43764)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](y,b);d=c[y>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](z,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[z>>2];c[l+4>>2]=c[z+4>>2];c[l+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Im(z);n=b;break}}else{Cb[c[e+40>>2]&127](A,b);d=c[A>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](B,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[B>>2];c[l+4>>2]=c[B+4>>2];c[l+8>>2]=c[B+8>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;Im(B);n=b;break}}}while(0);a[g>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[n>>2]|0)+20>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Im(s);Cb[c[(c[n>>2]|0)+24>>2]&127](t,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Im(t);C=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=C;i=D;return}function ds(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){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;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,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;c[f>>2]=d;N=q+4|0;O=q+8|0;P=q+1|0;H=p+4|0;I=(g&512|0)==0;J=p+8|0;K=p+1|0;L=j+8|0;M=(r|0)>0;A=o+4|0;B=o+8|0;C=o+1|0;D=r+1|0;F=-2-r-((r|0)<0?~r:-1)|0;G=(r|0)>0;z=0;do{switch(a[l+z>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];x=Lb[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;break}case 3:{y=a[q>>0]|0;s=(y&1)==0;if((s?(y&255)>>>1:c[N>>2]|0)|0){x=a[(s?P:c[O>>2]|0)>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}break}case 2:{u=a[p>>0]|0;s=(u&1)==0;u=s?(u&255)>>>1:c[H>>2]|0;if(!(I|(u|0)==0)){t=s?K:c[J>>2]|0;v=t+u|0;s=c[f>>2]|0;if(u)do{a[s>>0]=a[t>>0]|0;t=t+1|0;s=s+1|0}while((t|0)!=(v|0));c[f>>2]=s}break}case 4:{s=c[f>>2]|0;h=k?h+1|0:h;w=h;v=c[L>>2]|0;a:do{if(h>>>0>>0){t=h;do{u=a[t>>0]|0;if(u<<24>>24<=-1)break a;if(!(b[v+(u<<24>>24<<1)>>1]&2048))break a;t=t+1|0}while(t>>>0>>0)}else t=h}while(0);u=t;if(M){x=-2-u-~(u>>>0>w>>>0?w:u)|0;x=F>>>0>x>>>0?F:x;if(t>>>0>h>>>0&G){u=t;w=r;while(1){u=u+-1|0;y=a[u>>0]|0;v=c[f>>2]|0;c[f>>2]=v+1;a[v>>0]=y;v=(w|0)>1;if(!(u>>>0>h>>>0&v))break;else w=w+-1|0}}else v=G;y=D+x|0;u=t+(x+1)|0;if(v)w=Lb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;t=c[f>>2]|0;c[f>>2]=t+1;if((y|0)>0){v=y;while(1){a[t>>0]=w;t=c[f>>2]|0;c[f>>2]=t+1;if((v|0)>1)v=v+-1|0;else break}}a[t>>0]=m}else u=t;if((u|0)!=(h|0)){y=a[o>>0]|0;t=(y&1)==0;if(!((t?(y&255)>>>1:c[A>>2]|0)|0))t=-1;else t=a[(t?C:c[B>>2]|0)>>0]|0;if((u|0)!=(h|0)){v=0;w=0;while(1){if((w|0)==(t|0)){y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=n;v=v+1|0;y=a[o>>0]|0;t=(y&1)==0;if(v>>>0<(t?(y&255)>>>1:c[A>>2]|0)>>>0){t=a[(t?C:c[B>>2]|0)+v>>0]|0;t=t<<24>>24==127?-1:t<<24>>24;w=0}else{t=w;w=0}}u=u+-1|0;x=a[u>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;if((u|0)==(h|0))break;else w=w+1|0}}}else{x=Lb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}t=c[f>>2]|0;if((s|0)!=(t|0)?(E=t+-1|0,s>>>0>>0):0){t=E;do{y=a[s>>0]|0;a[s>>0]=a[t>>0]|0;a[t>>0]=y;s=s+1|0;t=t+-1|0}while(s>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);t=a[q>>0]|0;h=(t&1)==0;t=h?(t&255)>>>1:c[N>>2]|0;if(t>>>0>1){s=h?P:c[O>>2]|0;u=s+t|0;h=c[f>>2]|0;if((t|0)!=1){s=s+1|0;do{a[h>>0]=a[s>>0]|0;h=h+1|0;s=s+1|0}while((s|0)!=(u|0))}c[f>>2]=h}switch(g&176|0){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function es(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;z=i;i=i+176|0;r=z+56|0;B=z+52|0;x=z+64|0;u=z+61|0;y=z+60|0;C=z+40|0;E=z+28|0;D=z+16|0;m=z+12|0;q=z+68|0;w=z+8|0;v=z+4|0;s=z;b=jn(f)|0;c[B>>2]=b;o=0;t=ra(37,B|0,44220)|0;p=o;o=0;do{if(p&1)F=13;else{n=a[h>>0]|0;j=(n&1)==0;p=h+4|0;if(!((j?(n&255)>>>1:c[p>>2]|0)|0))n=0;else{j=a[(j?h+1|0:c[h+8>>2]|0)>>0]|0;o=0;k=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,45)|0;n=o;o=0;if(n&1){F=13;break}n=j<<24>>24==k<<24>>24}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;qa(3,e|0,n|0,B|0,x|0,u|0,y|0,C|0,E|0,D|0,m|0);l=o;o=0;if(!(l&1)){l=a[h>>0]|0;e=c[p>>2]|0;j=(l&1)==0?(l&255)>>>1:e;m=c[m>>2]|0;if((j|0)>(m|0)){G=a[D>>0]|0;k=a[E>>0]|0;j=(j-m<<1|1)+m+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{G=a[D>>0]|0;j=a[E>>0]|0;j=m+2+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[E+4>>2]|0)|0}if(j>>>0>100){j=Fl(j)|0;k=j;if(!j){o=0;xa(6);G=o;o=0;if(!(G&1)){l=a[h>>0]|0;e=c[p>>2]|0;j=0;F=17}}else F=17}else{k=0;j=q;F=17}if((F|0)==17){G=(l&1)==0;h=G?h+1|0:c[h+8>>2]|0;o=0;na(1,j|0,w|0,v|0,c[f+4>>2]|0,h|0,h+(G?(l&255)>>>1:e)|0,t|0,n|0,x|0,a[u>>0]|0,a[y>>0]|0,C|0,E|0,D|0,m|0);G=o;o=0;if(!(G&1)?(c[s>>2]=c[d>>2],G=c[w>>2]|0,A=c[v>>2]|0,o=0,c[r>>2]=c[s>>2],A=ja(39,r|0,j|0,G|0,A|0,f|0,g|0)|0,G=o,o=0,!(G&1)):0){if(k){Gl(k);b=c[B>>2]|0}Im(D);Im(E);Im(C);pm(b)|0;i=z;return A|0}}j=Na()|0;if(k){Gl(k);b=c[B>>2]|0}}else j=Na()|0;Im(D);Im(E);Im(C)}}while(0);if((F|0)==13)j=Na()|0;pm(b)|0;Ya(j|0);return 0}function fs(a){a=a|0;return}function gs(a){a=a|0;cj(a);return}function hs(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;D=i;i=i+992|0;v=D+8|0;k=D;m=D+888|0;n=D+880|0;l=D+480|0;F=D+76|0;A=D+884|0;x=D+72|0;B=D+68|0;G=D+56|0;I=D+44|0;H=D+32|0;p=D+28|0;u=D+80|0;z=D+24|0;y=D+20|0;w=D+16|0;c[n>>2]=m;h[v>>3]=j;m=_k(m,100,59018,v)|0;do{if(m>>>0>99){o=0;b=ua(3)|0;C=o;o=0;if(!(C&1)?(o=0,h[k>>3]=j,s=va(17,n|0,b|0,59018,k|0)|0,C=o,o=0,!(C&1)):0){b=c[n>>2]|0;if(!b){o=0;xa(6);C=o;o=0;if(C&1){b=0;k=0;C=7;break}b=c[n>>2]|0}l=Fl(s<<2)|0;k=l;if(!l){o=0;xa(6);C=o;o=0;if(C&1)C=7;else{t=0;C=10}}else{t=l;C=10}}else{b=0;k=0;C=7}}else{k=0;b=0;t=l;s=m;C=10}}while(0);if((C|0)==10){o=0;l=ka(68,f|0)|0;r=o;o=0;if(r&1)C=7;else{c[F>>2]=l;o=0;r=ra(37,F|0,44212)|0;q=o;o=0;if(!(q&1)?(q=c[n>>2]|0,o=0,va(c[(c[r>>2]|0)+48>>2]|0,r|0,q|0,q+s|0,t|0)|0,q=o,o=0,!(q&1)):0){if(!s)q=0;else q=(a[c[n>>2]>>0]|0)==45;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;o=0;qa(4,e|0,q|0,F|0,A|0,x|0,B|0,G|0,I|0,H|0,p|0);e=o;o=0;if(!(e&1)){p=c[p>>2]|0;if((s|0)>(p|0)){e=a[H>>0]|0;m=a[I>>0]|0;m=(s-p<<1|1)+p+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}else{e=a[H>>0]|0;m=a[I>>0]|0;m=p+2+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}if(m>>>0>100){m=Fl(m<<2)|0;n=m;if(!m){o=0;xa(6);u=o;o=0;if(!(u&1)){m=0;C=26}}else C=26}else{n=0;m=u;C=26}if((C|0)==26){o=0;na(2,m|0,z|0,y|0,c[f+4>>2]|0,t|0,t+(s<<2)|0,r|0,q|0,A|0,c[x>>2]|0,c[B>>2]|0,G|0,I|0,H|0,p|0);B=o;o=0;if(!(B&1)?(c[w>>2]=c[d>>2],d=c[z>>2]|0,E=c[y>>2]|0,o=0,c[v>>2]=c[w>>2],E=ja(40,v|0,m|0,d|0,E|0,f|0,g|0)|0,d=o,o=0,!(d&1)):0){if(n){Gl(n);l=c[F>>2]|0}Wm(H);Wm(I);Im(G);pm(l)|0;if(k)Gl(k);if(b)Gl(b);i=D;return E|0}}m=Na()|0;if(n){Gl(n);l=c[F>>2]|0}}else m=Na()|0;Wm(H);Wm(I);Im(G)}else m=Na()|0;pm(l)|0}}if((C|0)==7)m=Na()|0;if(k)Gl(k);if(b)Gl(b);Ya(m|0);return 0}function is(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;n=B+108|0;p=B+96|0;s=B+92|0;t=B+80|0;u=B+68|0;v=B+56|0;w=B+52|0;x=B+40|0;y=B+36|0;z=B+24|0;q=B+12|0;r=B;do{if(b){b=Is(e,43956)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](n,b);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Wm(p);break}}else{Cb[c[e+40>>2]&127](s,b);d=c[s>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](t,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[t>>2];c[l+4>>2]=c[t+4>>2];c[l+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Wm(t);break}}}while(0);c[g>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](u,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[u>>2];c[j+4>>2]=c[u+4>>2];c[j+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Im(u);Cb[c[(c[b>>2]|0)+24>>2]&127](v,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Wm(v);A=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(e,43892)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](w,b);d=c[w>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](x,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[x>>2];c[l+4>>2]=c[x+4>>2];c[l+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Wm(x);break}}else{Cb[c[e+40>>2]&127](y,b);d=c[y>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](z,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[z>>2];c[l+4>>2]=c[z+4>>2];c[l+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Wm(z);break}}}while(0);c[g>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](q,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Im(q);Cb[c[(c[b>>2]|0)+24>>2]&127](r,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[r>>2];c[k+4>>2]=c[r+4>>2];c[k+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Wm(r);A=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=A;i=B;return}function js(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;c[e>>2]=b;J=p+4|0;K=p+8|0;C=o+4|0;D=(f&512|0)==0;E=o+8|0;F=(q|0)>0;G=n+4|0;H=n+8|0;I=n+1|0;A=(q|0)>0;z=0;do{switch(a[k+z>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];x=Lb[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x;break}case 3:{y=a[p>>0]|0;r=(y&1)==0;if((r?(y&255)>>>1:c[J>>2]|0)|0){x=c[(r?J:c[K>>2]|0)>>2]|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x}break}case 2:{v=a[o>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(!(D|(v|0)==0)){r=r?C:c[E>>2]|0;t=r+(v<<2)|0;u=c[e>>2]|0;if(v){s=u;while(1){c[s>>2]=c[r>>2];r=r+4|0;if((r|0)==(t|0))break;else s=s+4|0}}c[e>>2]=u+(v<<2)}break}case 4:{r=c[e>>2]|0;g=j?g+4|0:g;a:do{if(g>>>0>>0){s=g;do{if(!(Gb[c[(c[i>>2]|0)+12>>2]&63](i,2048,c[s>>2]|0)|0))break a;s=s+4|0}while(s>>>0>>0)}else s=g}while(0);if(F){if(s>>>0>g>>>0&A){v=c[e>>2]|0;u=q;while(1){s=s+-4|0;t=v+4|0;c[v>>2]=c[s>>2];w=u+-1|0;u=(u|0)>1;if(s>>>0>g>>>0&u){v=t;u=w}else{v=w;break}}c[e>>2]=t;t=v}else{u=A;t=q}if(u)w=Lb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;x=c[e>>2]|0;u=t+((t|0)<0?~t:-1)|0;if((t|0)>0){v=x;while(1){c[v>>2]=w;if((t|0)>1){v=v+4|0;t=t+-1|0}else break}}c[e>>2]=x+(u+2<<2);c[x+(u+1<<2)>>2]=l}if((s|0)==(g|0)){x=Lb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;y=c[e>>2]|0;s=y+4|0;c[e>>2]=s;c[y>>2]=x}else{x=a[n>>0]|0;t=(x&1)==0;y=c[G>>2]|0;if(!((t?(x&255)>>>1:y)|0))t=-1;else t=a[(t?I:c[H>>2]|0)>>0]|0;if((s|0)!=(g|0)){w=0;x=0;while(1){u=c[e>>2]|0;if((x|0)==(t|0)){v=u+4|0;c[e>>2]=v;c[u>>2]=m;w=w+1|0;u=a[n>>0]|0;t=(u&1)==0;if(w>>>0<(t?(u&255)>>>1:y)>>>0){t=a[(t?I:c[H>>2]|0)+w>>0]|0;u=v;t=t<<24>>24==127?-1:t<<24>>24;v=0}else{u=v;t=x;v=0}}else v=x;s=s+-4|0;x=c[s>>2]|0;c[e>>2]=u+4;c[u>>2]=x;if((s|0)==(g|0))break;else x=v+1|0}}s=c[e>>2]|0}if((r|0)!=(s|0)?(B=s+-4|0,r>>>0>>0):0){s=B;do{y=c[r>>2]|0;c[r>>2]=c[s>>2];c[s>>2]=y;r=r+4|0;s=s+-4|0}while(r>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);r=a[p>>0]|0;g=(r&1)==0;r=g?(r&255)>>>1:c[J>>2]|0;if(r>>>0>1){s=g?J:c[K>>2]|0;g=s+4|0;s=s+(r<<2)|0;t=c[e>>2]|0;u=s-g|0;if((r|0)!=1){r=t;while(1){c[r>>2]=c[g>>2];g=g+4|0;if((g|0)==(s|0))break;else r=r+4|0}}c[e>>2]=t+(u>>>2<<2)}switch(f&176|0){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function ks(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;z=i;i=i+480|0;q=z+468|0;B=z+464|0;x=z+472|0;u=z+56|0;y=z+52|0;C=z+40|0;E=z+28|0;D=z+16|0;m=z+12|0;p=z+64|0;w=z+8|0;v=z+4|0;r=z;b=jn(f)|0;c[B>>2]=b;o=0;s=ra(37,B|0,44212)|0;t=o;o=0;do{if(t&1)F=13;else{n=a[h>>0]|0;j=(n&1)==0;t=h+4|0;if(!((j?(n&255)>>>1:c[t>>2]|0)|0))n=0;else{j=c[(j?t:c[h+8>>2]|0)>>2]|0;o=0;k=ra(c[(c[s>>2]|0)+44>>2]|0,s|0,45)|0;n=o;o=0;if(n&1){F=13;break}n=(j|0)==(k|0)}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;qa(4,e|0,n|0,B|0,x|0,u|0,y|0,C|0,E|0,D|0,m|0);l=o;o=0;if(!(l&1)){l=a[h>>0]|0;e=c[t>>2]|0;j=(l&1)==0?(l&255)>>>1:e;m=c[m>>2]|0;if((j|0)>(m|0)){G=a[D>>0]|0;k=a[E>>0]|0;j=(j-m<<1|1)+m+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{G=a[D>>0]|0;j=a[E>>0]|0;j=m+2+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[E+4>>2]|0)|0}if(j>>>0>100){j=Fl(j<<2)|0;k=j;if(!j){o=0;xa(6);G=o;o=0;if(!(G&1)){l=a[h>>0]|0;e=c[t>>2]|0;j=0;F=17}}else F=17}else{k=0;j=p;F=17}if((F|0)==17){G=(l&1)==0;h=G?t:c[h+8>>2]|0;o=0;na(2,j|0,w|0,v|0,c[f+4>>2]|0,h|0,h+((G?(l&255)>>>1:e)<<2)|0,s|0,n|0,x|0,c[u>>2]|0,c[y>>2]|0,C|0,E|0,D|0,m|0);G=o;o=0;if(!(G&1)?(c[r>>2]=c[d>>2],G=c[w>>2]|0,A=c[v>>2]|0,o=0,c[q>>2]=c[r>>2],A=ja(40,q|0,j|0,G|0,A|0,f|0,g|0)|0,G=o,o=0,!(G&1)):0){if(k){Gl(k);b=c[B>>2]|0}Wm(D);Wm(E);Im(C);pm(b)|0;i=z;return A|0}}j=Na()|0;if(k){Gl(k);b=c[B>>2]|0}}else j=Na()|0;Wm(D);Wm(E);Im(C)}}while(0);if((F|0)==13)j=Na()|0;pm(b)|0;Ya(j|0);return 0}function ls(a){a=a|0;return}function ms(a){a=a|0;cj(a);return}function ns(b,d,e){b=b|0;d=d|0;e=e|0;b=lk((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function os(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;k=i;i=i+16|0;l=k;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;j=a[h>>0]|0;m=(j&1)==0;d=m?h+1|0:c[h+8>>2]|0;j=m?(j&255)>>>1:c[h+4>>2]|0;h=d+j|0;a:do{if((j|0)>0){while(1){o=0;ia(67,l|0,a[d>>0]|0);m=o;o=0;if(m&1)break;d=d+1|0;if(d>>>0>=h>>>0){j=4;break a}}d=Na()|0;j=7}else j=4}while(0);b:do{if((j|0)==4){o=0;d=va(19,((e|0)==-1?-1:e<<1)|0,f|0,g|0,((a[l>>0]&1)==0?l+1|0:c[l+8>>2]|0)|0)|0;m=o;o=0;if(m&1){d=Na()|0;j=7;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;m=nl(d)|0;h=d+m|0;c:do{if((m|0)>0){while(1){o=0;ia(67,b|0,a[d>>0]|0);m=o;o=0;if(m&1)break;d=d+1|0;if(d>>>0>=h>>>0)break c}d=Na()|0;Im(b);break b}}while(0);Im(l);i=k;return}}while(0);Im(l);Ya(d|0)}function ps(a,b){a=a|0;b=b|0;return}function qs(a){a=a|0;return}function rs(a){a=a|0;cj(a);return}function ss(b,d,e){b=b|0;d=d|0;e=e|0;b=lk((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function ts(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+224|0;p=w+184|0;n=w+192|0;m=w+180|0;q=w+176|0;u=w+168|0;t=w+40|0;s=w+32|0;v=w+28|0;x=w+16|0;l=w+8|0;r=w;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[l+4>>2]=0;c[l>>2]=44696;k=a[h>>0]|0;y=(k&1)==0;j=h+4|0;d=y?j:c[h+8>>2]|0;h=y?(k&255)>>>1:c[j>>2]|0;j=d+(h<<2)|0;k=n+32|0;a:do{if((h|0)>0){b:while(1){c[q>>2]=d;o=0;h=ya(c[(c[l>>2]|0)+12>>2]|0,l|0,p|0,d|0,j|0,q|0,n|0,k|0,m|0)|0;y=o;o=0;if(y&1){h=12;break}if((h|0)==2?1:(c[q>>2]|0)==(d|0)){h=5;break}if(n>>>0<(c[m>>2]|0)>>>0){d=n;do{o=0;ia(67,x|0,a[d>>0]|0);y=o;o=0;if(y&1){h=11;break b}d=d+1|0}while(d>>>0<(c[m>>2]|0)>>>0)}d=c[q>>2]|0;if(!((h|0)!=2&d>>>0>>0)){h=9;break a}}if((h|0)==5){o=0;ha(190,58955);o=0;d=Na()|0}else if((h|0)==11)d=Na()|0;else if((h|0)==12)d=Na()|0}else h=9}while(0);c:do{if((h|0)==9){o=0;d=va(19,((e|0)==-1?-1:e<<1)|0,f|0,g|0,((a[x>>0]&1)==0?x+1|0:c[x+8>>2]|0)|0)|0;y=o;o=0;if(y&1){d=Na()|0;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[r+4>>2]=0;c[r>>2]=44744;y=nl(d)|0;j=d+y|0;k=j;l=t+128|0;d:do{if((y|0)>0){e:while(1){c[v>>2]=d;o=0;h=ya(c[(c[r>>2]|0)+16>>2]|0,r|0,u|0,d|0,((k-d|0)>32?d+32|0:j)|0,v|0,t|0,l|0,s|0)|0;y=o;o=0;if(y&1){h=24;break}if((h|0)==2?1:(c[v>>2]|0)==(d|0)){h=18;break}if(t>>>0<(c[s>>2]|0)>>>0){d=t;do{o=0;ia(92,b|0,c[d>>2]|0);y=o;o=0;if(y&1){h=23;break e}d=d+4|0}while(d>>>0<(c[s>>2]|0)>>>0)}d=c[v>>2]|0;if(!((h|0)!=2&d>>>0>>0))break d}if((h|0)==18){o=0;ha(190,58955);o=0;d=Na()|0}else if((h|0)==23)d=Na()|0;else if((h|0)==24)d=Na()|0;Wm(b);break c}}while(0);Im(x);i=w;return}}while(0);Im(x);Ya(d|0)}function us(a,b){a=a|0;b=b|0;return}function vs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[b+4>>2]=d+-1;c[b>>2]=44196;h=b+8|0;o=0;ia(94,h|0,28);g=o;o=0;if(g&1)d=Na()|0;else{g=b+144|0;o=0;wa(5,g|0,58885,1);f=o;o=0;if(f&1)d=Na()|0;else{e=c[h>>2]|0;f=b+12|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do{d=d+-4|0}while((d|0)!=(e|0));c[f>>2]=d}c[495]=0;c[494]=43124;o=0;ia(95,b|0,1976);f=o;o=0;do{if(((((((((((((!(f&1)?(c[497]=0,c[496]=43164,o=0,ia(96,b|0,1984),f=o,o=0,!(f&1)):0)?(c[499]=0,c[498]=44236,c[500]=0,a[2004]=0,c[500]=Os()|0,o=0,ia(97,b|0,1992),f=o,o=0,!(f&1)):0)?(c[503]=0,c[502]=44484,o=0,ia(98,b|0,2008),f=o,o=0,!(f&1)):0)?(c[505]=0,c[504]=44552,o=0,ia(99,b|0,2016),f=o,o=0,!(f&1)):0)?(o=0,ia(100,2024,1),f=o,o=0,!(f&1)):0)?(o=0,ia(101,b|0,2024),f=o,o=0,!(f&1)):0)?(c[511]=0,c[510]=44600,o=0,ia(102,b|0,2040),f=o,o=0,!(f&1)):0)?(c[513]=0,c[512]=44648,o=0,ia(103,b|0,2048),f=o,o=0,!(f&1)):0)?(Tt(2056,1),o=0,ia(104,b|0,2056),f=o,o=0,!(f&1)):0)?(Ut(2080,1),o=0,ia(105,b|0,2080),f=o,o=0,!(f&1)):0)?(c[529]=0,c[528]=43204,o=0,ia(106,b|0,2112),f=o,o=0,!(f&1)):0)?(c[531]=0,c[530]=43276,o=0,ia(107,b|0,2120),f=o,o=0,!(f&1)):0)?(c[533]=0,c[532]=43348,o=0,ia(108,b|0,2128),f=o,o=0,!(f&1)):0){c[535]=0;c[534]=43408;o=0;ia(109,b|0,2136);f=o;o=0;if(f&1){i=42;break}c[537]=0;c[536]=43716;o=0;ia(110,b|0,2144);f=o;o=0;if(f&1){i=42;break}c[539]=0;c[538]=43780;o=0;ia(111,b|0,2152);f=o;o=0;if(f&1){i=42;break}c[541]=0;c[540]=43844;o=0;ia(112,b|0,2160);f=o;o=0;if(f&1){i=42;break}c[543]=0;c[542]=43908;o=0;ia(113,b|0,2168);f=o;o=0;if(f&1){i=42;break}c[545]=0;c[544]=43972;o=0;ia(114,b|0,2176);f=o;o=0;if(f&1){i=42;break}c[547]=0;c[546]=44008;o=0;ia(115,b|0,2184);f=o;o=0;if(f&1){i=42;break}c[549]=0;c[548]=44044;o=0;ia(116,b|0,2192);f=o;o=0;if(f&1){i=42;break}c[551]=0;c[550]=44080;o=0;ia(117,b|0,2200);f=o;o=0;if(f&1){i=42;break}c[553]=0;c[552]=43468;c[554]=43516;o=0;ia(118,b|0,2208);f=o;o=0;if(f&1){i=42;break}c[557]=0;c[556]=43560;c[558]=43608;o=0;ia(119,b|0,2224);f=o;o=0;if(f&1){i=42;break}c[561]=0;c[560]=44464;o=0;d=ua(3)|0;f=o;o=0;if(f&1){d=Na()|0;break}c[562]=d;c[560]=43652;o=0;ia(120,b|0,2240);f=o;o=0;if(f&1){i=42;break}c[565]=0;c[564]=44464;o=0;d=ua(3)|0;f=o;o=0;if(f&1){d=Na()|0;break}c[566]=d;c[564]=43684;o=0;ia(121,b|0,2256);i=o;o=0;if(i&1){i=42;break}c[569]=0;c[568]=44116;o=0;ia(122,b|0,2272);i=o;o=0;if(i&1){i=42;break}c[571]=0;c[570]=44156;o=0;ia(123,b|0,2280);i=o;o=0;if(i&1){i=42;break}return}else i=42}while(0);if((i|0)==42)d=Na()|0;Im(g)}Dv(h)}Ya(d|0)}function ws(){var b=0;do{if((a[2288]|0)==0?(Ha(2288)|0)!=0:0){o=0;ua(4)|0;b=o;o=0;if(b&1){b=Na()|0;sb(2288);Ya(b|0)}else{c[11246]=44980;Pa(2288);break}}}while(0);return c[11246]|0}function xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;om(b);f=a+8|0;e=c[f>>2]|0;do{if((c[a+12>>2]|0)-e>>2>>>0<=d>>>0){o=0;ia(124,f|0,d+1|0);a=o;o=0;if(!(a&1)){e=c[f>>2]|0;break}e=Na()|0;if(b)pm(b)|0;Ya(e|0)}}while(0);a=c[e+(d<<2)>>2]|0;if(a){pm(a)|0;e=c[f>>2]|0}c[e+(d<<2)>>2]=b;return}function ys(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=44196;e=a+8|0;f=a+12|0;b=c[e>>2]|0;if((c[f>>2]|0)!=(b|0)){d=0;do{b=c[b+(d<<2)>>2]|0;if(b)pm(b)|0;d=d+1|0;b=c[e>>2]|0}while(d>>>0<(c[f>>2]|0)-b>>2>>>0)}Im(a+144|0);Dv(e);return}function zs(a){a=a|0;ys(a);cj(a);return}function As(a,b){a=a|0;b=b|0;if(Fv(a,b)|0)return c[(c[a+8>>2]|0)+(b<<2)>>2]|0;else{a=Ma(4)|0;qj(a);lb(a|0,640,82)}return 0}function Bs(){vs(2296,1);c[11245]=2296;return 44980}function Cs(){var a=0;a=c[(ws()|0)>>2]|0;c[11247]=a;om(a);return 44988}function Ds(){var b=0;do{if((a[2456]|0)==0?(Ha(2456)|0)!=0:0){o=0;ua(5)|0;b=o;o=0;if(b&1){b=Na()|0;sb(2456);Ya(b|0)}else{c[11248]=44988;Pa(2456);break}}}while(0);return c[11248]|0}function Es(a){a=a|0;var b=0,d=0;o=0;b=ua(6)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}else{d=c[b>>2]|0;c[a>>2]=d;om(d);return}}function Fs(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;om(b);return}function Gs(a){a=a|0;pm(c[a>>2]|0)|0;return}function Hs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((c[a>>2]|0)!=-1){c[b>>2]=a;c[b+4>>2]=191;c[b+8>>2]=0;Em(a,b,192)}i=d;return(c[a+4>>2]|0)+-1|0}function Is(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return As(a,Hs(b)|0)|0}function Js(a){a=a|0;cj(a);return}function Ks(a){a=a|0;if(a)Bb[c[(c[a>>2]|0)+4>>2]&255](a);return}function Ls(a){a=a|0;var b=0;b=c[11052]|0;c[11052]=b+1;c[a+4>>2]=b+1;return}function Ms(a){a=a|0;cj(a);return}function Ns(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128)d=(b[(Os()|0)+(d<<1)>>1]&c)<<16>>16!=0;else d=0;return d|0}function Os(){var a=0,b=0;o=0;a=ua(7)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Ps(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;i=(f-d|0)>>>2;if((d|0)!=(f|0)){h=d;while(1){a=c[h>>2]|0;if(a>>>0<128)a=e[(Os()|0)+(a<<1)>>1]|0;else a=0;b[g>>1]=a;h=h+4|0;if((h|0)==(f|0))break;else g=g+2|0}}return d+(i<<2)|0}function Qs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do{if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0<128?(b[(Os()|0)+(a<<1)>>1]&d)<<16>>16!=0:0)break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}}while(0);return e|0}function Rs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do{if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0>=128)break a;if(!((b[(Os()|0)+(a<<1)>>1]&d)<<16>>16))break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}}while(0);return e|0}function Ss(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(Ts()|0)+(b<<2)>>2]|0;return b|0}function Ts(){var a=0,b=0;o=0;a=ua(8)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(Ts()|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Vs(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(Ws()|0)+(b<<2)>>2]|0;return b|0}function Ws(){var a=0,b=0;o=0;a=ua(9)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(Ws()|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Ys(a,b){a=a|0;b=b|0;return b<<24>>24|0}function Zs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((d|0)!=(e|0))while(1){c[f>>2]=a[d>>0];d=d+1|0;if((d|0)==(e|0))break;else f=f+4|0}return e|0}function _s(a,b,c){a=a|0;b=b|0;c=c|0;return(b>>>0<128?b&255:c)|0}function $s(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=(e-d|0)>>>2;if((d|0)!=(e|0)){h=d;b=g;while(1){g=c[h>>2]|0;a[b>>0]=g>>>0<128?g&255:f;h=h+4|0;if((h|0)==(e|0))break;else b=b+1|0}}return d+(i<<2)|0}function at(b){b=b|0;var d=0;c[b>>2]=44236;d=c[b+8>>2]|0;if((d|0)!=0?(a[b+12>>0]|0)!=0:0)dj(d);return}function bt(a){a=a|0;at(a);cj(a);return}function ct(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(Ts()|0)+((b&255)<<2)>>2]&255;return b|0}function dt(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(Ts()|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function et(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(Ws()|0)+(b<<24>>24<<2)>>2]&255;return b|0}function ft(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(Ws()|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function gt(a,b){a=a|0;b=b|0;return b|0}function ht(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;if((c|0)!=(d|0))while(1){a[e>>0]=a[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return d|0}function it(a,b,c){a=a|0;b=b|0;c=c|0;return(b<<24>>24>-1?b:c)|0}function jt(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((c|0)!=(d|0))while(1){b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;c=c+1|0;if((c|0)==(d|0))break;else f=f+1|0}return d|0}function kt(a){a=a|0;cj(a);return}function lt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function mt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function nt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function ot(a){a=a|0;return 1}function pt(a){a=a|0;return 1}function qt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=d-c|0;return(a>>>0>>0?a:e)|0}function rt(a){a=a|0;return 1}function st(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=44304;o=0;b=ua(3)|0;d=o;o=0;if(d&1){d=Na()|0;Ya(d|0)}else{c[a+8>>2]=b;return}}function tt(a){a=a|0;wu(a);cj(a);return}function xl(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;_=X;aa=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do{if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(ck()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do{if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)Xk(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do{if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}}while(0);do{if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}}while(0);e:do{if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1}while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[56223+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do{if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Cl(ba,s,g)}}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do{switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=kw(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=56703;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=56703;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=hw(0,0,n|0,o|0)|0;o=D;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=56703;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?56703:56705;L=76}else{p=1;s=56704;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=56703;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=56703;n=N;break}case 109:{n=dk(c[(ck()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:56713;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){El(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?56721:56726}else{G=1;H=56723}else{q=-q;G=1;H=56720}h[k>>3]=q;F=c[k+4>>2]&2146435072;do{if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+wk(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do{if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v}while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Dl(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[56687+H>>0]|w;q=(q-+(H|0))*16.0;do{if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;El(e,32,K,p,I);if(!(c[e>>2]&32))Xk(y,x,e)|0;El(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))Xk(da,n,e)|0;o=_-t|0;El(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))Xk(t,o,e)|0;El(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do{if(r>>>0>>0)r=s;else{o=0;do{B=mw(c[r>>2]|0,0,t|0)|0;B=jw(B|0,D|0,o|0,0)|0;o=D;A=vw(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=uw(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(C|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do{if(w>>>0

>>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=$(B&o,s)|0;t=t+4|0}while(t>>>0

>>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w}while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do{if(w>>>0

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0}while(0);A=(C|0)==103;B=(n|0)!=0;r=n-((C|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do{if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do{if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}}while(0);do{if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}C=t+s|0;c[r>>2]=C;if(C>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}C=(c[s>>2]|0)+1|0;c[s>>2]=C;if(C>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}}while(0);C=r+4|0;w=s;p=p>>>0>C>>>0?C:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;C=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;C=p;break}}do{if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do{if(z){p=c[C+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9}while(0);p=((C-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8}while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Dl(r,((r|0)<0)<<31>>31,X)|0;if((_-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((_-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=_-E|0;u=E}y=G+1+n+s+o|0;El(e,32,K,y,I);if(!(c[e>>2]&32))Xk(H,G,e)|0;El(e,48,K,y,I^65536);do{if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Dl(c[o>>2]|0,0,R)|0;do{if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}}while(0);if(!(c[e>>2]&32))Xk(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do{if(x){if(c[e>>2]&32)break;Xk(56755,1,e)|0}}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Dl(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))Xk(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}El(e,48,n+9|0,9,0)}else{t=z?C:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Dl(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do{if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))Xk(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}Xk(56755,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}}while(0);p=S-o|0;if(!(c[e>>2]&32))Xk(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}El(e,48,n+18|0,18,0);if(c[e>>2]&32)break;Xk(u,_-u|0,e)|0}}while(0);El(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;El(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){Xk(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))Xk(s?t?56747:56751:t?56739:56743,3,e)|0;El(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=56703;n=N}}}while(0);g:do{if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[56687+(o&15)>>0]|s;o=kw(o|0,p|0,4)|0;p=D}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=56703;L=77}else{o=t;t=2;s=56703+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=56703;L=77}}else if((L|0)==76){n=Dl(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=jl(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=56703;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Ik(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}El(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Ik(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))Xk(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}}while(0);if((L|0)==98){L=0;El(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;El(e,32,n,r,p);if(!(c[e>>2]&32))Xk(u,t,e)|0;El(e,48,n,r,p^65536);El(e,48,o,s,0);if(!(c[e>>2]&32))Xk(w,s,e)|0;El(e,32,n,r,p^8192);w=J}h:do{if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Cl(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0}while(0);i=ha;return m|0}function yl(a,b,c){a=a|0;b=b|0;c=c|0;return Rk(a,b,c)|0}function zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;gk(h,0);e=+ek(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b)c[b>>2]=(d|0)!=0?a+d|0:a;i=j;return+e}function Al(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;gk(j,0);e=fk(j,d,1,e,f)|0;if(b)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;lw(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do{if(b>>>0<=20)do{switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}}while(0)}while(0);return}function Dl(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=vw(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=uw(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=D}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function El(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do{if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;iw(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){Xk(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;Xk(h,f,a)|0}}while(0);i=j;return}function Fl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do{if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[10218]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=40912+(e<<2)|0;e=40912+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do{if((d|0)!=(h|0)){if(h>>>0<(c[10222]|0)>>>0)Ga();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ga()}else c[10218]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[10220]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=40912+(e<<2)|0;e=40912+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do{if((d|0)!=(f|0)){if(f>>>0<(c[10222]|0)>>>0)Ga();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[10220]|0;break}else Ga()}else{c[10218]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[10223]|0;d=k>>>3;b=d<<1;e=40912+(b<<2)|0;a=c[10218]|0;d=1<>2]|0;if(b>>>0<(c[10222]|0)>>>0)Ga();else{l=a;m=b}}else{c[10218]=a|d;l=40912+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[10220]=h;c[10223]=i;M=j;return M|0}a=c[10219]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[41176+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[10222]|0;if(e>>>0>>0)Ga();i=e+o|0;if(e>>>0>=i>>>0)Ga();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do{if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ga();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ga();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ga();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ga()}}while(0);do{if(h){b=c[e+28>>2]|0;a=41176+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[10222]|0;if(n>>>0>>0)Ga();c[n+24>>2]=h;b=c[e+16>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[n+16>>2]=b;c[b+24>>2]=n;break}}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[10220]|0;if(b){g=c[10223]|0;d=b>>>3;b=d<<1;f=40912+(b<<2)|0;a=c[10218]|0;d=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{p=b;q=a}}else{c[10218]=a|d;p=40912+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[10220]=j;c[10223]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[10219]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[41176+(k<<2)>>2]|0;a:do{if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[41176+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[10220]|0)-m|0)>>>0:0){f=c[10222]|0;if(j>>>0>>0)Ga();h=j+m|0;if(j>>>0>=h>>>0)Ga();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do{if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ga();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ga();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ga();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ga()}}while(0);do{if(g){b=c[j+28>>2]|0;a=41176+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[10222]|0;if(o>>>0>>0)Ga();c[o+24>>2]=g;b=c[j+16>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[o+16>>2]=b;c[b+24>>2]=o;break}}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}}while(0);b:do{if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{s=b;t=a}}else{c[10218]=d|b;s=40912+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=41176+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[10219]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do{if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b}while(0);b=y+8|0;a=c[b>>2]|0;M=c[10222]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ga()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1}while(0);d=c[10220]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[10223]|0;if(b>>>0>15){c[10223]=a+q;c[10220]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[10220]=0;c[10223]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[10221]|0;if(a>>>0>q>>>0){L=a-q|0;c[10221]=L;M=c[10224]|0;c[10224]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do{if(!(c[10336]|0)){a=_a(30)|0;if(!(a+-1&a)){c[10338]=a;c[10337]=a;c[10339]=-1;c[10340]=-1;c[10341]=0;c[10329]=0;c[10336]=(qb(0)|0)&-16^1431655768;break}else Ga()}}while(0);j=q+48|0;i=c[10338]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[10328]|0;if((a|0)!=0?(t=c[10326]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do{if(!(c[10329]&4)){a=c[10224]|0;e:do{if(a){f=41320;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[10221]|0)&i;if(d>>>0<2147483647){f=Ua(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174}while(0);do{if((v|0)==174){g=Ua(0)|0;if((g|0)!=(-1|0)){a=g;d=c[10337]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[10326]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[10328]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=Ua(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}}while(0);f:do{if((v|0)==184){g=0-d|0;do{if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[10338]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((Ua(u|0)|0)==(-1|0)){Ua(g|0)|0;break f}else{d=u+d|0;break}}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}}while(0);c[10329]=c[10329]|4;v=191}else{a=0;v=191}}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=Ua(l|0)|0,x=Ua(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[10326]|0)+p|0;c[10326]=a;if(a>>>0>(c[10327]|0)>>>0)c[10327]=a;h=c[10224]|0;g:do{if(h){g=41320;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[10221]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[10224]=h+L;c[10221]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[10225]=c[10340];break}a=c[10222]|0;if(w>>>0>>0){c[10222]=w;a=w}d=w+p|0;g=41320;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=41320;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do{if((b|0)!=(h|0)){if((b|0)==(c[10223]|0)){M=(c[10220]|0)+l|0;c[10220]=M;c[10223]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do{if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do{if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ga();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ga();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ga()}}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=41176+(a<<2)|0;do{if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[10222]|0)>>>0)Ga();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[10219]=c[10219]&~(1<>>0>>0)Ga();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do{if(a)if(a>>>0>>0)Ga();else{c[J+16>>2]=a;c[a+24>>2]=J;break}}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=40912+(g<<1<<2)|0;do{if((e|0)!=(d|0)){if(e>>>0>>0)Ga();if((c[e+12>>2]|0)==(b|0))break;Ga()}}while(0);if((f|0)==(e|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ga()}}while(0);c[e+12>>2]=f;c[F>>2]=e}}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0>=(c[10222]|0)>>>0){K=b;L=a;break}Ga()}}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do{if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);b=41176+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[10219]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do{if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b}while(0);b=M+8|0;a=c[b>>2]|0;L=c[10222]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ga()}else{M=(c[10221]|0)+l|0;c[10221]=M;c[10224]=o;c[w+(m+4)>>2]=M|1}}while(0);M=w+(n|8)|0;return M|0}else d=41320;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[10224]=w+d;c[10221]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[10225]=c[10340];d=a+4|0;c[d>>2]=27;c[b>>2]=c[10330];c[b+4>>2]=c[10331];c[b+8>>2]=c[10332];c[b+12>>2]=c[10333];c[10330]=w;c[10331]=p;c[10333]=0;c[10332]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{G=b;H=a}}else{c[10218]=d|b;G=40912+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=41176+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[10219]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do{if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b}while(0);b=I+8|0;a=c[b>>2]|0;M=c[10222]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ga()}}else{M=c[10222]|0;if((M|0)==0|w>>>0>>0)c[10222]=w;c[10330]=w;c[10331]=p;c[10333]=0;c[10227]=c[10336];c[10226]=-1;b=0;do{M=b<<1;L=40912+(M<<2)|0;c[40912+(M+3<<2)>>2]=L;c[40912+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[10224]=w+M;c[10221]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[10225]=c[10340]}}while(0);b=c[10221]|0;if(b>>>0>q>>>0){L=b-q|0;c[10221]=L;M=c[10224]|0;c[10224]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(ck()|0)>>2]=12;M=0;return M|0}function Gl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[10222]|0;if(b>>>0>>0)Ga();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ga();o=d&-8;q=a+(o+-8)|0;do{if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ga();if((l|0)==(c[10223]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[10220]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=40912+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ga();if((c[e+12>>2]|0)!=(l|0))Ga()}if((d|0)==(e|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ga()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do{if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ga();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ga();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ga();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ga()}}while(0);if(h){b=c[a+(j+28)>>2]|0;d=41176+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[10222]|0;if(k>>>0>>0)Ga();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[k+16>>2]=b;c[b+24>>2]=k;break}}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}}while(0);if(u>>>0>=q>>>0)Ga();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ga();if(!(d&2)){if((q|0)==(c[10224]|0)){t=(c[10221]|0)+g|0;c[10221]=t;c[10224]=u;c[u+4>>2]=t|1;if((u|0)!=(c[10223]|0))return;c[10223]=0;c[10220]=0;return}if((q|0)==(c[10223]|0)){t=(c[10220]|0)+g|0;c[10220]=t;c[10223]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do{if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do{if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[10222]|0)>>>0)Ga();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ga();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ga()}}while(0);if(h){b=c[a+(o+20)>>2]|0;d=41176+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[10222]|0;if(p>>>0>>0)Ga();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[p+16>>2]=b;c[b+24>>2]=p;break}}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=40912+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[10222]|0)>>>0)Ga();if((c[e+12>>2]|0)!=(q|0))Ga()}if((d|0)==(e|0)){c[10218]=c[10218]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ga()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[10223]|0)){c[10220]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=40912+(d<<2)|0;e=c[10218]|0;b=1<>2]|0;if(d>>>0<(c[10222]|0)>>>0)Ga();else{r=b;s=d}}else{c[10218]=e|b;r=40912+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=41176+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[10219]|0;e=1<>2]|0;b:do{if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b}while(0);b=t+8|0;d=c[b>>2]|0;s=c[10222]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ga()}else{c[10219]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}}while(0);u=(c[10226]|0)+-1|0;c[10226]=u;if(!u)b=41328;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[10226]=-1;return}function Hl(a,b){a=a|0;b=b|0;var d=0;if(a){d=$(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Fl(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;iw(b|0,0,d|0)|0;return b|0}function Il(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Fl(b)|0;return a|0}if(b>>>0>4294967231){c[(ck()|0)>>2]=12;a=0;return a|0}d=Jl(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Fl(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;lw(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Gl(a);a=d;return a|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[10222]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ga();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ga();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[10338]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Kl(a+b|0,d);return a|0}if((l|0)==(c[10224]|0)){d=(c[10221]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[10224]=a+b;c[10221]=n;return a|0}if((l|0)==(c[10223]|0)){e=(c[10220]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[10220]=d;c[10223]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do{if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do{if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ga();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ga();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ga()}}while(0);if(h){d=c[a+(j+28)>>2]|0;e=41176+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[10222]|0;if(k>>>0>>0)Ga();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do{if(d)if(d>>>0>>0)Ga();else{c[k+16>>2]=d;c[d+24>>2]=k;break}}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(l|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ga()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Kl(a+b|0,n);return a|0}return 0}function Kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do{if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[10222]|0;if(n>>>0>>0)Ga();if((n|0)==(c[10223]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[10220]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(n|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ga()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do{if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ga();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ga();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ga()}}while(0);if(i){d=c[a+(28-k)>>2]|0;e=41176+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[10222]|0;if(l>>>0>>0)Ga();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do{if(e)if(e>>>0>>0)Ga();else{c[l+16>>2]=e;c[e+24>>2]=l;break}}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}}while(0);j=c[10222]|0;if(q>>>0>>0)Ga();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[10224]|0)){s=(c[10221]|0)+h|0;c[10221]=s;c[10224]=t;c[t+4>>2]=s|1;if((t|0)!=(c[10223]|0))return;c[10223]=0;c[10220]=0;return}if((q|0)==(c[10223]|0)){s=(c[10220]|0)+h|0;c[10220]=s;c[10223]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do{if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do{if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ga();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ga();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ga()}}while(0);if(i){d=c[a+(b+28)>>2]|0;e=41176+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[10222]|0;if(p>>>0>>0)Ga();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do{if(d)if(d>>>0>>0)Ga();else{c[p+16>>2]=d;c[d+24>>2]=p;break}}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(q|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ga()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[10223]|0)){c[10220]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=40912+(e<<2)|0;f=c[10218]|0;d=1<>2]|0;if(e>>>0<(c[10222]|0)>>>0)Ga();else{r=d;s=e}}else{c[10218]=f|d;r=40912+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=41176+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[10219]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do{if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[10222]|0)>>>0)Ga();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}}while(0);e=d+8|0;f=c[e>>2]|0;s=c[10222]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ga();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Ll(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[9321]|0;Pl(42048,e,42104);c[10342]=42892;c[10344]=42912;c[10343]=0;a=c[10720]|0;o=0;ia(62,41368+a|0,42048);g=o;o=0;if(g&1){g=Na()|0;fn(41376);Ya(g|0)}c[41368+(a+72)>>2]=0;c[41368+(a+76)>>2]=-1;f=c[9322]|0;Ql(42152,f,42112);c[10364]=42972;c[10365]=42992;d=c[10740]|0;o=0;ia(62,41456+d|0,42152);g=o;o=0;if(g&1){g=Na()|0;fn(41460);Ya(g|0)}a=d+72|0;c[41456+a>>2]=0;b=d+76|0;c[41456+b>>2]=-1;g=c[9320]|0;Ql(42200,g,42120);c[10385]=42972;c[10386]=42992;o=0;ia(62,41540+d|0,42200);h=o;o=0;if(h&1){h=Na()|0;fn(41544);Ya(h|0)}c[41540+a>>2]=0;c[41540+b>>2]=-1;h=c[41540+((c[(c[10385]|0)+-12>>2]|0)+24)>>2]|0;c[10406]=42972;c[10407]=42992;o=0;ia(62,41624+d|0,h|0);h=o;o=0;if(h&1){h=Na()|0;fn(41628);Ya(h|0)}c[41624+a>>2]=0;c[41624+b>>2]=-1;c[41368+((c[(c[10342]|0)+-12>>2]|0)+72)>>2]=41456;a=41540+((c[(c[10385]|0)+-12>>2]|0)+4)|0;c[a>>2]=c[a>>2]|8192;c[41540+((c[(c[10385]|0)+-12>>2]|0)+72)>>2]=41456;Rl(42248,e,42128);c[10427]=42932;c[10429]=42952;c[10428]=0;a=c[10730]|0;o=0;ia(62,41708+a|0,42248);h=o;o=0;if(h&1){h=Na()|0;ln(41716);Ya(h|0)}c[41708+(a+72)>>2]=0;c[41708+(a+76)>>2]=-1;Sl(42304,f,42136);c[10449]=43012;c[10450]=43032;d=c[10750]|0;o=0;ia(62,41796+d|0,42304);h=o;o=0;if(h&1){h=Na()|0;ln(41800);Ya(h|0)}a=d+72|0;c[41796+a>>2]=0;b=d+76|0;c[41796+b>>2]=-1;Sl(42352,g,42144);c[10470]=43012;c[10471]=43032;o=0;ia(62,41880+d|0,42352);h=o;o=0;if(h&1){h=Na()|0;ln(41884);Ya(h|0)}c[41880+a>>2]=0;c[41880+b>>2]=-1;h=c[41880+((c[(c[10470]|0)+-12>>2]|0)+24)>>2]|0;c[10491]=43012;c[10492]=43032;o=0;ia(62,41964+d|0,h|0);h=o;o=0;if(h&1){h=Na()|0;ln(41968);Ya(h|0)}else{c[41964+a>>2]=0;c[41964+b>>2]=-1;c[41708+((c[(c[10427]|0)+-12>>2]|0)+72)>>2]=41796;h=41880+((c[(c[10470]|0)+-12>>2]|0)+4)|0;c[h>>2]=c[h>>2]|8192;c[41880+((c[(c[10470]|0)+-12>>2]|0)+72)>>2]=41796;return}}function Ml(a){a=a|0;o=0;ka(70,41456)|0;a=o;o=0;if(((!(a&1)?(o=0,ka(70,41624)|0,a=o,o=0,!(a&1)):0)?(o=0,ka(71,41796)|0,a=o,o=0,!(a&1)):0)?(o=0,ka(71,41964)|0,a=o,o=0,!(a&1)):0)return;a=Na(0)|0;ec(a)}function Nl(){Ll(0);kb(187,56757,n|0)|0;return}function Ol(){return}function Pl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;pn(b);c[b>>2]=42600;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;ia(23,b|0,f|0);e=o;o=0;if(e&1){h=Na()|0;Gs(f);nn(b);Ya(h|0)}else{Gs(f);i=g;return}}function Ql(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;pn(b);c[b>>2]=42536;c[b+32>>2]=d;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;d=ra(37,f|0,44280)|0;h=o;o=0;if(h&1){h=Na()|0;Gs(f);nn(b);Ya(h|0)}else{Gs(f);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=g;return}}function Rl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;En(b);c[b>>2]=42472;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;ia(21,b|0,f|0);e=o;o=0;if(e&1){h=Na()|0;Gs(f);Cn(b);Ya(h|0)}else{Gs(f);i=g;return}}function Sl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;En(b);c[b>>2]=42408;c[b+32>>2]=d;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;d=ra(37,f|0,44288)|0;h=o;o=0;if(h&1){h=Na()|0;Gs(f);Cn(b);Ya(h|0)}else{Gs(f);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=g;return}}function Tl(a){a=a|0;Cn(a);cj(a);return}function Ul(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Is(d,44288)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function Vl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Yk(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Vk(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function Wl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do{if(!(a[b+44>>0]|0))if((e|0)>0){f=d;d=0;while(1){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,c[f>>2]|0)|0)==-1)break a;d=d+1|0;if((d|0)<(e|0))f=f+4|0;else break}}else d=0;else d=Yk(d,4,e,c[b+32>>2]|0)|0}while(0);return d|0}function Xl(b,d){b=b|0;d=d|0;var e=0,f=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;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do{if(!q){c[e>>2]=d;if(a[b+44>>0]|0)if((Yk(e,4,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;l=e+4|0;m=b+36|0;g=b+40|0;h=p+8|0;j=p;k=b+32|0;while(1){b=c[m>>2]|0;b=Sb[c[(c[b>>2]|0)+12>>2]&15](b,c[g>>2]|0,e,l,n,p,h,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-j|0;if((Yk(p,1,b,c[k>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Yk(e,1,1,c[k>>2]|0)|0)!=1)e=-1;else r=11}else r=11}while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function Yl(b,d){b=b|0;d=d|0;var e=0,f=0;f=Is(d,44288)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Rr(56783);return}function Zl(a){a=a|0;Cn(a);cj(a);return}function _l(a){a=a|0;return bm(a,0)|0}function $l(a){a=a|0;return bm(a,1)|0}function am(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+8|0;f=m+4|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do{if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do{if(e){c[f>>2]=c[j>>2];e=c[b+36>>2]|0;switch(Sb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((al(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}}while(0);c[j>>2]=d;a[h>>0]=1}}while(0);i=m;return d|0}function bm(b,d){b=b|0;d=d|0;var e=0,f=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;r=i;i=i+32|0;q=r+16|0;p=r+8|0;m=r+4|0;n=r;g=b+52|0;a:do{if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=-1;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;if((e|0)>0){g=0;do{f=Zk(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[q+g>>0]=f;g=g+1|0}while((g|0)<(e|0))}b:do{if(!(a[b+53>>0]|0)){j=b+40|0;k=b+36|0;l=p+4|0;c:while(1){s=c[j>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[k>>2]|0;h=q+e|0;switch(Sb[c[(c[t>>2]|0)+16>>2]&15](t,s,q,h,m,p,l,n)|0){case 2:{e=-1;break a}case 3:break c;case 1:break;default:break b}t=c[j>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){e=-1;break a}f=Zk(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[h>>0]=f;e=e+1|0}c[p>>2]=a[q>>0]}else c[p>>2]=a[q>>0]}while(0);if(d){e=c[p>>2]|0;c[b+48>>2]=e;break}while(1){if((e|0)<=0)break;e=e+-1|0;if((al(a[q+e>>0]|0,c[o>>2]|0)|0)==-1){e=-1;break a}}e=c[p>>2]|0}}while(0);i=r;return e|0}function cm(a){a=a|0;nn(a);cj(a);return}function dm(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Is(d,44280)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function em(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Yk(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Vk(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function fm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;a:do{if(!(a[b+44>>0]|0))if((f|0)>0){g=e;e=0;while(1){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,d[g>>0]|0)|0)==-1)break a;e=e+1|0;if((e|0)<(f|0))g=g+1|0;else break}}else e=0;else e=Yk(e,1,f,c[b+32>>2]|0)|0}while(0);return e|0}function gm(b,d){b=b|0;d=d|0;var e=0,f=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;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do{if(!q){a[e>>0]=d;if(a[b+44>>0]|0)if((Yk(e,1,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;m=e+1|0;g=b+36|0;h=b+40|0;j=p+8|0;k=p;l=b+32|0;while(1){b=c[g>>2]|0;b=Sb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,e,m,n,p,j,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-k|0;if((Yk(p,1,b,c[l>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Yk(e,1,1,c[l>>2]|0)|0)!=1)e=-1;else r=11}else r=11}while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function hm(b,d){b=b|0;d=d|0;var e=0,f=0;f=Is(d,44280)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Rr(56783);return}function im(a){a=a|0;nn(a);cj(a);return}function jm(a){a=a|0;return mm(a,0)|0}function km(a){a=a|0;return mm(a,1)|0}function lm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+4|0;f=m+8|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do{if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do{if(e){a[f>>0]=c[j>>2];e=c[b+36>>2]|0;switch(Sb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((al(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}}while(0);c[j>>2]=d;a[h>>0]=1}}while(0);i=m;return d|0}function mm(b,e){b=b|0;e=e|0;var f=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;s=i;i=i+32|0;r=s+16|0;q=s+8|0;n=s+4|0;o=s;h=b+52|0;a:do{if(a[h>>0]|0){g=b+48|0;f=c[g>>2]|0;if(e){c[g>>2]=-1;a[h>>0]=0}}else{f=c[b+44>>2]|0;f=(f|0)>1?f:1;p=b+32|0;if((f|0)>0){h=0;do{g=Zk(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[r+h>>0]=g;h=h+1|0}while((h|0)<(f|0))}b:do{if(!(a[b+53>>0]|0)){k=b+40|0;l=b+36|0;m=q+1|0;c:while(1){t=c[k>>2]|0;h=t;g=c[h>>2]|0;h=c[h+4>>2]|0;u=c[l>>2]|0;j=r+f|0;switch(Sb[c[(c[u>>2]|0)+16>>2]&15](u,t,r,j,n,q,m,o)|0){case 2:{f=-1;break a}case 3:break c;case 1:break;default:break b}u=c[k>>2]|0;c[u>>2]=g;c[u+4>>2]=h;if((f|0)==8){f=-1;break a}g=Zk(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[j>>0]=g;f=f+1|0}a[q>>0]=a[r>>0]|0}else a[q>>0]=a[r>>0]|0}while(0);if(e){f=a[q>>0]|0;c[b+48>>2]=f&255}else{while(1){if((f|0)<=0)break;f=f+-1|0;if((al(d[r+f>>0]|0,c[p>>2]|0)|0)==-1){f=-1;break a}}f=a[q>>0]|0}f=f&255}}while(0);i=s;return f|0}function nm(a){a=a|0;return}function om(a){a=a|0;a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function pm(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b){Bb[c[(c[a>>2]|0)+8>>2]&255](a);a=1}else a=0;return a|0}function qm(b,d){b=b|0;d=d|0;c[b>>2]=36868;o=0;ia(86,b+4|0,((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0)|0);b=o;o=0;if(b&1){b=Na()|0;Ya(b|0)}else return}function rm(a,b){a=a|0;b=b|0;c[a>>2]=36868;o=0;ia(86,a+4|0,b|0);a=o;o=0;if(a&1){a=Na()|0;Ya(a|0)}else return}function sm(a,b){a=a|0;b=b|0;var d=0,e=0;e=nl(b)|0;d=bj(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=d+12|0;lw(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function tm(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=d;c[a+4>>2]=b;return}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;Qb[c[(c[a>>2]|0)+12>>2]&15](e,a,b);if((c[e+4>>2]|0)==(c[d+4>>2]|0))e=(c[e>>2]|0)==(c[d>>2]|0);else e=0;i=f;return e|0}function vm(a,b,d){a=a|0;b=b|0;d=d|0;return((c[b>>2]|0)==(d|0)?(c[b+4>>2]|0)==(a|0):0)|0}function wm(a,b,c){a=a|0;b=b|0;c=c|0;b=dk(c)|0;Gm(a,b,nl(b)|0);return}function xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=c[d>>2]|0;do{if(f){g=a[e>>0]|0;if(!(g&1))g=(g&255)>>>1;else g=c[e+4>>2]|0;if(g){Pm(e,56990)|0;f=c[d>>2]|0}d=c[d+4>>2]|0;Qb[c[(c[d>>2]|0)+24>>2]&15](h,d,f);d=a[h>>0]|0;g=(d&1)==0;o=0;ma(30,e|0,(g?h+1|0:c[h+8>>2]|0)|0,(g?(d&255)>>>1:c[h+4>>2]|0)|0)|0;d=o;o=0;if(d&1){j=Na()|0;Im(h);Ya(j|0)}else{Im(h);break}}}while(0);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;i=j;return}function ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;e=f+12|0;g=f;Gm(g,d,nl(d)|0);o=0;wa(10,e|0,b|0,g|0);d=o;o=0;do{if(!(d&1)){o=0;ia(87,a|0,e|0);d=o;o=0;if(d&1){f=Na()|0;Im(e);e=f;break}else{Im(e);Im(g);c[a>>2]=42664;d=c[b+4>>2]|0;g=a+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=d;i=f;return}}else e=Na()|0}while(0);Im(g);Ya(e|0)}function zm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+48|0;f=g+24|0;j=g+16|0;h=g;c[j>>2]=b;c[j+4>>2]=d;Fm(h,e);o=0;wa(10,f|0,j|0,h|0);e=o;o=0;do{if(!(e&1)){o=0;ia(87,a|0,f|0);j=o;o=0;if(j&1){j=Na()|0;Im(f);f=j;break}else{Im(f);Im(h);c[a>>2]=42664;c[a+8>>2]=b;c[a+12>>2]=d;i=g;return}}else f=Na()|0}while(0);Im(h);Ya(f|0)}function Am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+48|0;e=f+24|0;h=f+16|0;g=f;c[h>>2]=b;c[h+4>>2]=d;Gm(g,58898,0);o=0;wa(10,e|0,h|0,g|0);h=o;o=0;do{if(!(h&1)){o=0;ia(87,a|0,e|0);h=o;o=0;if(h&1){h=Na()|0;Im(e);e=h;break}else{Im(e);Im(g);c[a>>2]=42664;c[a+8>>2]=b;c[a+12>>2]=d;i=f;return}}else e=Na()|0}while(0);Im(g);Ya(e|0)}function Bm(a){a=a|0;mj(a);return}function Cm(a){a=a|0;mj(a);cj(a);return}function Dm(a){a=a|0;return}function Em(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;rb(42676)|0;if((c[a>>2]|0)==1)do{Da(42704,42676)|0}while((c[a>>2]|0)==1);do{if(!(c[a>>2]|0)){c[a>>2]=1;o=0;ka(72,42676)|0;e=o;o=0;if((((!(e&1)?(o=0,ha(d|0,b|0),e=o,o=0,!(e&1)):0)?(o=0,ka(73,42676)|0,e=o,o=0,!(e&1)):0)?(c[a>>2]=-1,o=0,ka(72,42676)|0,e=o,o=0,!(e&1)):0)?(o=0,ka(74,42704)|0,e=o,o=0,!(e&1)):0)break;e=Na(0)|0;Va(e|0)|0;o=0;ka(73,42676)|0;e=o;o=0;if((!(e&1)?(c[a>>2]=0,o=0,ka(72,42676)|0,e=o,o=0,!(e&1)):0)?(o=0,ka(74,42704)|0,e=o,o=0,!(e&1)):0){o=0;xa(5);o=0}b=Na()|0;o=0;xa(3);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}else Ya(b|0)}else cb(42676)|0}while(0);return}function Fm(b,d){b=b|0;d=d|0;if(!(a[d>>0]&1)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}else Gm(b,c[d+8>>2]|0,c[d+4>>2]|0);return}function Gm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)_i(b);if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0}else{g=e+16&-16;f=bj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}lw(b|0,d|0,e|0)|0;a[b+e>>0]=0;return}function Hm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>4294967279)_i(b);if(d>>>0<11){a[b>>0]=d<<1;b=b+1|0}else{g=d+16&-16;f=bj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}iw(b|0,e|0,d|0)|0;a[b+d>>0]=0;return}function Im(b){b=b|0;if(a[b>>0]&1)cj(c[b+8>>2]|0);return}function Jm(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d>>0]|0;f=(e&1)==0;Lm(b,f?d+1|0:c[d+8>>2]|0,f?(e&255)>>>1:c[d+4>>2]|0)|0}return b|0}function Km(a,b){a=a|0;b=b|0;return Lm(a,b,nl(b)|0)|0}function Lm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=10;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do{if(h>>>0>=e>>>0){if(g)f=b+1|0;else f=c[b+8>>2]|0;nw(f|0,d|0,e|0)|0;a[f+e>>0]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;Sm(b,h,e-h|0,f,0,f,e,d)}}while(0);return b|0}function Mm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a[b>>0]|0;g=(f&1)==0;if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;do{if(f>>>0>=d>>>0)if(g){a[b+1+d>>0]=0;a[b>>0]=d<<1;break}else{a[(c[b+8>>2]|0)+d>>0]=0;c[b+4>>2]=d;break}else Nm(b,d-f|0,e)|0}while(0);return}function Nm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(d){f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>>0){Tm(b,g,d-g+h|0,h,h,0,0);f=a[b>>0]|0}if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;iw(g+h|0,e|0,d|0)|0;f=h+d|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}return b|0}function Om(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>4294967279)_i(b);e=a[b>>0]|0;if(!(e&1))f=10;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<11)i=10;else i=(d+16&-16)+-1|0;a:do{if((i|0)!=(f|0)){do{if((i|0)!=10){d=i+1|0;if(i>>>0<=f>>>0){o=0;d=ka(67,d|0)|0;h=o;o=0;if(h&1){b=Na(0)|0;Va(b|0)|0;Xa();break a}}else d=bj(d)|0;if(!(e&1)){f=1;g=b+1|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+1|0;f=0;g=c[b+8>>2]|0;h=1}}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;lw(d|0,g|0,e+1|0)|0;if(h)cj(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}}while(0);return}function Pm(a,b){a=a|0;b=b|0;return Rm(a,b,nl(b)|0)|0}function Qm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=10;h=(e&255)>>>1}if((h|0)==(g|0)){Tm(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+1|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}a[e+h>>0]=d;a[e+f>>0]=0;return}function Rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>=e>>>0){if(e){if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;lw(g+h|0,d|0,e|0)|0;f=h+e|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}}else Sm(b,g,e-g+h|0,h,h,0,e,d);return b|0}function Sm(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((-18-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))m=b+1|0;else m=c[b+8>>2]|0;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=bj(k)|0;if(g)lw(l|0,m|0,g|0)|0;if(i)lw(l+g|0,j|0,i|0)|0;e=f-h|0;if((e|0)!=(g|0))lw(l+(i+g)|0,m+(h+g)|0,e-g|0)|0;if((d|0)!=10)cj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;a[l+d>>0]=0;return}function Tm(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))l=b+1|0;else l=c[b+8>>2]|0;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=bj(j)|0;if(g)lw(k|0,l|0,g|0)|0;e=f-h|0;if((e|0)!=(g|0))lw(k+(i+g)|0,l+(h+g)|0,e-g|0)|0;if((d|0)!=10)cj(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function Um(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>1073741807)_i(b);if(e>>>0<2){a[b>>0]=e<<1;b=b+4|0}else{g=e+4&-4;f=bj(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}ql(b,d,e)|0;c[b+(e<<2)>>2]=0;return}function Vm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>1073741807)_i(b);if(d>>>0<2){a[b>>0]=d<<1;b=b+4|0}else{g=d+4&-4;f=bj(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}sl(b,e,d)|0;c[b+(d<<2)>>2]=0;return}function Wm(b){b=b|0;if(a[b>>0]&1)cj(c[b+8>>2]|0);return}function Xm(a,b){a=a|0;b=b|0;return Ym(a,b,pl(b)|0)|0}function Ym(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=1;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do{if(h>>>0>=e>>>0){if(g)f=b+4|0;else f=c[b+8>>2]|0;rl(f,d,e)|0;c[f+(e<<2)>>2]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;$m(b,h,e-h|0,f,0,f,e,d)}}while(0);return b|0}function Zm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>1073741807)_i(b);e=a[b>>0]|0;if(!(e&1))f=1;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<2)i=1;else i=(d+4&-4)+-1|0;a:do{if((i|0)!=(f|0)){do{if((i|0)!=1){d=(i<<2)+4|0;if(i>>>0<=f>>>0){o=0;d=ka(67,d|0)|0;h=o;o=0;if(h&1){b=Na(0)|0;Va(b|0)|0;Xa();break a}}else d=bj(d)|0;if(!(e&1)){f=1;g=b+4|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+4|0;f=0;g=c[b+8>>2]|0;h=1}}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;ql(d,g,e+1|0)|0;if(h)cj(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}}while(0);return}function _m(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=1;h=(e&255)>>>1}if((h|0)==(g|0)){an(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+4|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}c[e+(h<<2)>>2]=d;c[e+(f<<2)>>2]=0;return}function $m(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((1073741806-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))m=b+4|0;else m=c[b+8>>2]|0;if(d>>>0<536870887){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<2?2:k+4&-4}else k=1073741807;l=bj(k<<2)|0;if(g)ql(l,m,g)|0;if(i)ql(l+(g<<2)|0,j,i)|0;e=f-h|0;if((e|0)!=(g|0))ql(l+(i+g<<2)|0,m+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)cj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;c[l+(d<<2)>>2]=0;return}function an(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((1073741807-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))l=b+4|0;else l=c[b+8>>2]|0;if(d>>>0<536870887){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<2?2:j+4&-4}else j=1073741807;k=bj(j<<2)|0;if(g)ql(k,l,g)|0;e=f-h|0;if((e|0)!=(g|0))ql(k+(i+g<<2)|0,l+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)cj(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function bn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d;f=e-g|0;if(f>>>0>4294967279)_i(b);if(f>>>0<11){a[b>>0]=f<<1;h=b+1|0}else{i=f+16&-16;h=bj(i)|0;c[b+8>>2]=h;c[b>>2]=i|1;c[b+4>>2]=f}b=e-g|0;if((d|0)!=(e|0)){f=h;while(1){a[f>>0]=a[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else f=f+1|0}}a[h+b>>0]=0;return}function cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d;f=e-h|0;g=f>>2;if(g>>>0>1073741807)_i(b);if(g>>>0<2){a[b>>0]=f>>>1;b=b+4|0}else{i=g+4&-4;f=bj(i<<2)|0;c[b+8>>2]=f;c[b>>2]=i|1;c[b+4>>2]=g;b=f}g=(e-h|0)>>>2;if((d|0)!=(e|0)){f=b;while(1){c[f>>2]=c[d>>2];d=d+4|0;if((d|0)==(e|0))break;else f=f+4|0}}c[b+(g<<2)>>2]=0;return}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=(c[a+24>>2]|0)==0;c[a+16>>2]=f&1|b;if(!((f&1|b)&c[a+20>>2])){i=d;return}b=Ma(16)|0;so()|0;c[e>>2]=1;c[e+4>>2]=43112;o=0;wa(11,b|0,57437,e|0);f=o;o=0;if(f&1){f=Na()|0;La(b|0);Ya(f|0)}else lb(b|0,864,112)}function en(a){a=a|0;var b=0;c[a>>2]=43068;o=0;ia(88,a|0,0);b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else{Gs(a+28|0);Gl(c[a+32>>2]|0);Gl(c[a+36>>2]|0);Gl(c[a+48>>2]|0);Gl(c[a+60>>2]|0);return}}function fn(a){a=a|0;en(a);return}function gn(a){a=a|0;en(a);cj(a);return}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+40>>2]|0;e=a+32|0;f=a+36|0;if(d)do{d=d+-1|0;Qb[c[(c[e>>2]|0)+(d<<2)>>2]&15](b,a,c[(c[f>>2]|0)+(d<<2)>>2]|0)}while((d|0)!=0);return}function jn(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;Fs(b,a+28|0);i=d;return c[b>>2]|0}function kn(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));Es(d);return}function ln(a){a=a|0;en(a);return}function mn(a){a=a|0;en(a);cj(a);return}function nn(a){a=a|0;c[a>>2]=42760;Gs(a+4|0);return}function on(a){a=a|0;c[a>>2]=42760;Gs(a+4|0);cj(a);return}function pn(a){a=a|0;c[a>>2]=42760;Es(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function qn(a,b){a=a|0;b=b|0;return}function rn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function sn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function tn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function un(a){a=a|0;return 0}function vn(a){a=a|0;return 0}function wn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+12|0;i=b+16|0;a:do{if((e|0)>0){g=d;d=0;while(1){f=c[h>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[h>>2]=f+1;f=a[f>>0]|0}else{f=Eb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break a;f=f&255}a[g>>0]=f;d=d+1|0;if((d|0)<(e|0))g=g+1|0;else break}}else d=0}while(0);return d|0}function xn(a){a=a|0;return-1}function yn(a){a=a|0;var b=0;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+1;a=d[a>>0]|0}return a|0}function zn(a,b){a=a|0;b=b|0;return-1}function An(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=b+24|0;j=b+28|0;a:do{if((f|0)>0){h=e;e=0;while(1){g=c[i>>2]|0;if(g>>>0>=(c[j>>2]|0)>>>0){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,d[h>>0]|0)|0)==-1)break a}else{k=a[h>>0]|0;c[i>>2]=g+1;a[g>>0]=k}e=e+1|0;if((e|0)<(f|0))h=h+1|0;else break}}else e=0}while(0);return e|0}function Bn(a,b){a=a|0;b=b|0;return-1}function Cn(a){a=a|0;c[a>>2]=42824;Gs(a+4|0);return}function Dn(a){a=a|0;c[a>>2]=42824;Gs(a+4|0);cj(a);return}function En(a){a=a|0;c[a>>2]=42824;Es(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function Fn(a,b){a=a|0;b=b|0;return}function Gn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Hn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Jn(a){a=a|0;return 0}function Kn(a){a=a|0;return 0}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+12|0;h=a+16|0;a:do{if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){e=Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break a}else{c[g>>2]=e+4;e=c[e>>2]|0}c[f>>2]=e;b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0}while(0);return b|0}function Mn(a){a=a|0;return-1}function Nn(a){a=a|0;var b=0;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0}return a|0}function On(a,b){a=a|0;b=b|0;return-1}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+24|0;h=a+28|0;a:do{if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){if((Lb[c[(c[a>>2]|0)+52>>2]&63](a,c[f>>2]|0)|0)==-1)break a}else{i=c[f>>2]|0;c[g>>2]=e+4;c[e>>2]=i}b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0}while(0);return b|0}function Qn(a,b){a=a|0;b=b|0;return-1}function Rn(a){a=a|0;en(a+8|0);return}function Sn(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Tn(a){a=a|0;en(a+8|0);cj(a);return}function Un(a){a=a|0;Tn(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Vn(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;a:do{if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){o=0;ia(65,e|0,b|0);d=o;o=0;b:do{if(d&1)d=Na(0)|0;else{do{if(a[e>>0]|0){d=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;d=ka(c[(c[d>>2]|0)+24>>2]|0,d|0)|0;g=o;o=0;if(!(g&1)){if((d|0)!=-1)break;g=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+g|0,c[b+(g+16)>>2]|1|0);g=o;o=0;if(!(g&1))break}d=Na(0)|0;ho(e);break b}}while(0);ho(e);break a}}while(0);Va(d|0)|0;o=0;ha(181,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=o;o=0;if(!(g&1)){Xa();break}d=Na()|0;o=0;xa(3);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else Ya(d|0)}}while(0);i=f;return b|0}function Wn(a){a=a|0;var b=0;b=a+16|0;c[b>>2]=c[b>>2]|1;if(!(c[a+20>>2]&1))return;else mb()}function Xn(a){a=a|0;en(a+8|0);return}function Yn(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Zn(a){a=a|0;en(a+8|0);cj(a);return}function _n(a){a=a|0;Zn(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function $n(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;a:do{if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){o=0;ia(89,e|0,b|0);d=o;o=0;b:do{if(d&1)d=Na(0)|0;else{do{if(a[e>>0]|0){d=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;d=ka(c[(c[d>>2]|0)+24>>2]|0,d|0)|0;g=o;o=0;if(!(g&1)){if((d|0)!=-1)break;g=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+g|0,c[b+(g+16)>>2]|1|0);g=o;o=0;if(!(g&1))break}d=Na(0)|0;po(e);break b}}while(0);po(e);break a}}while(0);Va(d|0)|0;o=0;ha(181,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=o;o=0;if(!(g&1)){Xa();break}d=Na()|0;o=0;xa(3);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else Ya(d|0)}}while(0);i=f;return b|0}function ao(a,b){a=a|0;b=b|0;return}function bo(a){a=a|0;en(a+4|0);return}function co(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function eo(a){a=a|0;en(a+4|0);cj(a);return}function fo(a){a=a|0;eo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function go(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)Vn(e)|0;a[b>>0]=1}return}function ho(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;do{if((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Za()|0):0){b=c[a>>2]|0;b=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;b=ka(c[(c[b>>2]|0)+24>>2]|0,b|0)|0;d=o;o=0;if(!(d&1)){if((b|0)!=-1)break;b=c[a>>2]|0;d=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+d|0,c[b+(d+16)>>2]|1|0);d=o;o=0;if(!(d&1))break}d=Na(0)|0;Va(d|0)|0;o=0;xa(3);d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}}}while(0);return}function io(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+20|0;l=q+16|0;n=q+8|0;e=q;o=0;ia(65,n|0,b|0);m=o;o=0;a:do{if(m&1){e=Na(0)|0;f=b;g=b;p=19}else{do{if(a[n>>0]|0){c[e>>2]=jn(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=0;m=ra(37,e|0,43392)|0;j=o;o=0;if(j&1){p=Na(0)|0;Gs(e);e=p}else{Gs(e);g=c[(c[b>>2]|0)+-12>>2]|0;j=c[b+(g+24)>>2]|0;f=b+g|0;g=b+(g+76)|0;e=c[g>>2]|0;do{if((e|0)==-1){c[k>>2]=jn(f)|0;o=0;e=ra(37,k|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(k);e=h<<24>>24;c[g>>2]=e;p=10;break}e=Na(0)|0;Gs(k)}else p=10}while(0);if((p|0)==10){r=c[(c[m>>2]|0)+16>>2]|0;c[l>>2]=j;o=0;c[k>>2]=c[l>>2];e=sa(r|0,m|0,k|0,f|0,e&255|0,d|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break}e=Na(0)|0}}ho(n);f=b;g=b;p=19;break a}}while(0);ho(n)}}while(0);do{if((p|0)==19){Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();break}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0)}}while(0);i=q;return b|0}function jo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+20|0;l=q+16|0;n=q+8|0;e=q;o=0;ia(65,n|0,b|0);m=o;o=0;a:do{if(m&1){e=Na(0)|0;f=b;g=b;p=19}else{do{if(a[n>>0]|0){c[e>>2]=jn(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=0;m=ra(37,e|0,43392)|0;j=o;o=0;if(j&1){p=Na(0)|0;Gs(e);e=p}else{Gs(e);g=c[(c[b>>2]|0)+-12>>2]|0;j=c[b+(g+24)>>2]|0;f=b+g|0;g=b+(g+76)|0;e=c[g>>2]|0;do{if((e|0)==-1){c[k>>2]=jn(f)|0;o=0;e=ra(37,k|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(k);e=h<<24>>24;c[g>>2]=e;p=10;break}e=Na(0)|0;Gs(k)}else p=10}while(0);if((p|0)==10){r=c[(c[m>>2]|0)+24>>2]|0;c[l>>2]=j;o=0;c[k>>2]=c[l>>2];e=sa(r|0,m|0,k|0,f|0,e&255|0,d|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break}e=Na(0)|0}}ho(n);f=b;g=b;p=19;break a}}while(0);ho(n)}}while(0);do{if((p|0)==19){Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();break}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0)}}while(0);i=q;return b|0}function ko(a){a=a|0;en(a+4|0);return}function lo(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function mo(a){a=a|0;en(a+4|0);cj(a);return}function no(a){a=a|0;mo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function oo(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)$n(e)|0;a[b>>0]=1}return}function po(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;do{if((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Za()|0):0){b=c[a>>2]|0;b=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;b=ka(c[(c[b>>2]|0)+24>>2]|0,b|0)|0;d=o;o=0;if(!(d&1)){if((b|0)!=-1)break;b=c[a>>2]|0;d=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+d|0,c[b+(d+16)>>2]|1|0);d=o;o=0;if(!(d&1))break}d=Na(0)|0;Va(d|0)|0;o=0;xa(3);d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}}}while(0);return}function qo(a){a=a|0;return 57453}function ro(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=1&(c|0)<257)wm(a,b,c);else Gm(a,57462,35);return}function so(){if((a[1048]|0)==0?(Ha(1048)|0)!=0:0){c[10778]=43084;kb(72,43112,n|0)|0;Pa(1048)}return 43112}function to(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e;j=d;h=c[j+4>>2]|0;d=g;c[d>>2]=c[j>>2];c[d+4>>2]=h;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];ym(a,f,b);c[a>>2]=43048;i=e;return}function uo(a){a=a|0;Bm(a);return}function vo(a){a=a|0;Bm(a);cj(a);return}function wo(a){a=a|0;en(a);cj(a);return}function xo(a){a=a|0;cj(a);return}function yo(a){a=a|0;return}function zo(a){a=a|0;return}function Ao(a){a=a|0;cj(a);return}function Bo(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do{if((e|0)==(f|0))h=6;else while(1){if((c|0)==(d|0)){c=-1;break a}b=a[c>>0]|0;g=a[e>>0]|0;if(b<<24>>24>24){c=-1;break a}if(g<<24>>24>24){c=1;break a}c=c+1|0;e=e+1|0;if((e|0)==(f|0)){h=6;break}}}while(0);if((h|0)==6)c=(c|0)!=(d|0)&1;return c|0}function Co(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bn(a,c,d);return}function Do(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)==(d|0))b=0;else{b=0;do{b=(a[c>>0]|0)+(b<<4)|0;e=b&-268435456;b=(e>>>24|e)^b;c=c+1|0}while((c|0)!=(d|0))}return b|0}function Eo(a){a=a|0;return}function Fo(a){a=a|0;cj(a);return}function Go(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do{if((e|0)==(f|0))h=6;else while(1){if((b|0)==(d|0)){b=-1;break a}a=c[b>>2]|0;g=c[e>>2]|0;if((a|0)<(g|0)){b=-1;break a}if((g|0)<(a|0)){b=1;break a}b=b+4|0;e=e+4|0;if((e|0)==(f|0)){h=6;break}}}while(0);if((h|0)==6)b=(b|0)!=(d|0)&1;return b|0}function Ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cn(a,c,d);return}function Io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))a=0;else{a=0;do{a=(c[b>>2]|0)+(a<<4)|0;e=a&-268435456;a=(e>>>24|e)^a;b=b+4|0}while((b|0)!=(d|0))}return a|0}function Jo(a){a=a|0;return}function Ko(a){a=a|0;cj(a);return}function Lo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;q=s+56|0;j=s+52|0;n=s+48|0;k=s+44|0;l=s+40|0;m=s+36|0;p=s+32|0;t=s+8|0;r=s;a:do{if(!(c[f+4>>2]&1)){c[n>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[j>>2]=c[k>>2];c[q>>2]=c[l>>2];j=Db[t&63](b,j,q,f,g,n)|0;c[d>>2]=j;switch(c[n>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{j=jn(f)|0;c[m>>2]=j;o=0;b=ra(37,m|0,44220)|0;n=o;o=0;do{if(!(n&1)){pm(j)|0;j=jn(f)|0;c[p>>2]=j;o=0;l=ra(37,p|0,44360)|0;p=o;o=0;if(p&1){t=Na()|0;pm(j)|0;j=t;break}pm(j)|0;o=0;ia(c[(c[l>>2]|0)+24>>2]|0,t|0,l|0);p=o;o=0;if(!(p&1)){k=t+12|0;o=0;ia(c[(c[l>>2]|0)+28>>2]|0,k|0,l|0);p=o;o=0;if(!(p&1)){c[r>>2]=c[e>>2];o=0;c[q>>2]=c[r>>2];j=ea(7,d|0,q|0,t|0,t+24|0,b|0,g|0,1)|0;g=o;o=0;if(g&1){j=Na()|0;Im(t+12|0);Im(t);break}else{a[h>>0]=(j|0)==(t|0)&1;j=c[d>>2]|0;Im(t+12|0);Im(t);break a}}}else k=t;j=Na()|0;l=D;if((t|0)!=(k|0))do{k=k+-12|0;Im(k)}while((k|0)!=(t|0))}else{t=Na()|0;pm(j)|0;j=t}}while(0);Ya(j|0)}}while(0);i=s;return j|0}function Mo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=yu(a,k,j,e,f,g)|0;i=h;return a|0}function No(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=zu(a,k,j,e,f,g)|0;i=h;return a|0}function Oo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Au(a,k,j,e,f,g)|0;i=h;return a|0}function Po(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Bu(a,k,j,e,f,g)|0;i=h;return a|0}function Qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Cu(a,k,j,e,f,g)|0;i=h;return a|0}function Ro(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Du(a,k,j,e,f,g)|0;i=h;return a|0}function So(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Eu(a,k,j,e,f,g)|0;i=h;return a|0}function To(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Fu(a,k,j,e,f,g)|0;i=h;return a|0}function Uo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Gu(a,k,j,e,f,g)|0;i=h;return a|0}function Vo(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;C=i;i=i+240|0;x=C;s=C+208|0;E=C+32|0;b=C+28|0;D=C+16|0;w=C+12|0;u=C+48|0;v=C+8|0;t=C+4|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;o=0;g=ka(68,g|0)|0;r=o;o=0;do{if(r&1)b=Na()|0;else{c[b>>2]=g;o=0;b=ra(37,b|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,va(c[(c[b>>2]|0)+32>>2]|0,b|0,57498,57524,s|0)|0,r=o,o=0,!(r&1)):0){pm(g)|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;if(!(a[D>>0]&1))b=10;else b=(c[D>>2]&-2)+-1|0;o=0;wa(8,D|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){q=D+8|0;r=D+1|0;g=(a[D>>0]&1)==0?r:c[q>>2]|0;c[w>>2]=g;c[v>>2]=u;c[t>>2]=0;p=D+4|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){F=29;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){F=29;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;F=19;break}}else F=19}while(0);if((F|0)==19){F=0;if(l){k=0;break}else k=0}l=a[D>>0]|0;l=(l&1)==0?(l&255)>>>1:c[p>>2]|0;if((c[w>>2]|0)==(g+l|0)){o=0;wa(8,D|0,l<<1|0,0);n=o;o=0;if(n&1){F=29;break}if(!(a[D>>0]&1))g=10;else g=(c[D>>2]&-2)+-1|0;o=0;wa(8,D|0,g|0,0);n=o;o=0;if(n&1){F=29;break}g=(a[D>>0]&1)==0?r:c[q>>2]|0;c[w>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=29;break}}else l=d[l>>0]|0;if(Wo(l&255,16,g,w,t,0,E,u,v,s)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=29;break}else continue}else{c[m>>2]=k+1;continue}}if((F|0)==29){b=Na()|0;break}o=0;wa(8,D|0,(c[w>>2]|0)-g|0,0);G=o;o=0;if((!(G&1)?(y=a[D>>0]|0,z=c[q>>2]|0,o=0,A=ua(3)|0,G=o,o=0,!(G&1)):0)?(o=0,c[x>>2]=j,B=va(16,((y&1)==0?r:z)|0,A|0,58882,x|0)|0,G=o,o=0,!(G&1)):0){if((B|0)!=1)c[h>>2]=4;if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=30;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;G=o;o=0;if(G&1){F=30;break a}if((b|0)==-1){c[f>>2]=0;F=55;break}}if(!g)F=56}else F=55}while(0);if((F|0)==55?g:0)F=56;if((F|0)==56)c[h>>2]=c[h>>2]|2;G=c[e>>2]|0;Im(D);Im(E);i=C;return G|0}else F=30}else F=30}while(0);if((F|0)==30)b=Na()|0;Im(D);break}b=Na()|0;pm(g)|0}}while(0);Im(E);Ya(b|0);return 0}function Wo(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do{if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5}while(0);a:do{if((n|0)==5){n=a[i>>0]|0;if(b<<24>>24==h<<24>>24?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+26|0;m=l;while(1){if((a[m>>0]|0)==b<<24>>24)break;m=m+1|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[57498+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[57498+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}}while(0);return m|0}function Xo(){var b=0,d=0;do{if((a[1968]|0)==0?(Ha(1968)|0)!=0:0){o=0;b=ma(31,2147483647,58885,0)|0;d=o;o=0;if(d&1){d=Na()|0;sb(1968);Ya(d|0)}else{c[11196]=b;Pa(1968);break}}}while(0);return c[11196]|0}function Yo(a){a=a|0;return}function Zo(a){a=a|0;cj(a);return}function _o(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;q=s+56|0;j=s+52|0;n=s+48|0;k=s+44|0;l=s+40|0;m=s+36|0;p=s+32|0;t=s+8|0;r=s;a:do{if(!(c[f+4>>2]&1)){c[n>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[j>>2]=c[k>>2];c[q>>2]=c[l>>2];j=Db[t&63](b,j,q,f,g,n)|0;c[d>>2]=j;switch(c[n>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{j=jn(f)|0;c[m>>2]=j;o=0;b=ra(37,m|0,44212)|0;n=o;o=0;do{if(!(n&1)){pm(j)|0;j=jn(f)|0;c[p>>2]=j;o=0;l=ra(37,p|0,44368)|0;p=o;o=0;if(p&1){t=Na()|0;pm(j)|0;j=t;break}pm(j)|0;o=0;ia(c[(c[l>>2]|0)+24>>2]|0,t|0,l|0);p=o;o=0;if(!(p&1)){k=t+12|0;o=0;ia(c[(c[l>>2]|0)+28>>2]|0,k|0,l|0);p=o;o=0;if(!(p&1)){c[r>>2]=c[e>>2];o=0;c[q>>2]=c[r>>2];j=ea(8,d|0,q|0,t|0,t+24|0,b|0,g|0,1)|0;g=o;o=0;if(g&1){j=Na()|0;Wm(t+12|0);Wm(t);break}else{a[h>>0]=(j|0)==(t|0)&1;j=c[d>>2]|0;Wm(t+12|0);Wm(t);break a}}}else k=t;j=Na()|0;l=D;if((t|0)!=(k|0))do{k=k+-12|0;Wm(k)}while((k|0)!=(t|0))}else{t=Na()|0;pm(j)|0;j=t}}while(0);Ya(j|0)}}while(0);i=s;return j|0}function $o(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ju(a,k,j,e,f,g)|0;i=h;return a|0}function ap(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ku(a,k,j,e,f,g)|0;i=h;return a|0}function bp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Lu(a,k,j,e,f,g)|0;i=h;return a|0}function cp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Mu(a,k,j,e,f,g)|0;i=h;return a|0}function dp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Nu(a,k,j,e,f,g)|0;i=h;return a|0}function ep(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ou(a,k,j,e,f,g)|0;i=h;return a|0}function fp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Pu(a,k,j,e,f,g)|0;i=h;return a|0}function gp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Qu(a,k,j,e,f,g)|0;i=h;return a|0}function hp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ru(a,k,j,e,f,g)|0;i=h;return a|0}function ip(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=i;i=i+320|0;w=B;r=B+208|0;D=B+32|0;b=B+28|0;C=B+16|0;v=B+12|0;t=B+48|0;u=B+8|0;s=B+4|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;f=ka(68,f|0)|0;q=o;o=0;do{if(q&1)b=Na()|0;else{c[b>>2]=f;o=0;b=ra(37,b|0,44212)|0;q=o;o=0;if(!(q&1)?(o=0,va(c[(c[b>>2]|0)+48>>2]|0,b|0,57498,57524,r|0)|0,q=o,o=0,!(q&1)):0){pm(f)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if(!(a[C>>0]&1))b=10;else b=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,b|0,0);q=o;o=0;a:do{if(!(q&1)){p=C+8|0;q=C+1|0;b=(a[C>>0]&1)==0?q:c[p>>2]|0;c[v>>2]=b;c[u>>2]=t;c[s>>2]=0;n=C+4|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){E=30;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){E=30;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k){j=l;break}else{j=l;break b}else{c[e>>2]=0;E=20;break}}else E=20}while(0);if((E|0)==20){E=0;if(k){j=0;break}else j=0}k=a[C>>0]|0;k=(k&1)==0?(k&255)>>>1:c[n>>2]|0;if((c[v>>2]|0)==(b+k|0)){o=0;wa(8,C|0,k<<1|0,0);m=o;o=0;if(m&1){E=30;break}if(!(a[C>>0]&1))b=10;else b=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,b|0,0);m=o;o=0;if(m&1){E=30;break}b=(a[C>>0]&1)==0?q:c[p>>2]|0;c[v>>2]=b+k}l=f+12|0;k=c[l>>2]|0;m=f+16|0;if((k|0)==(c[m>>2]|0)){o=0;k=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=30;break}}else k=c[k>>2]|0;if(jp(k,16,b,v,s,0,D,t,u,r)|0)break;j=c[l>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=30;break}else{j=f;continue}}else{c[l>>2]=j+4;j=f;continue}}if((E|0)==30){b=Na()|0;break}o=0;wa(8,C|0,(c[v>>2]|0)-b|0,0);F=o;o=0;if((!(F&1)?(x=a[C>>0]|0,y=c[p>>2]|0,o=0,z=ua(3)|0,F=o,o=0,!(F&1)):0)?(o=0,c[w>>2]=h,A=va(16,((x&1)==0?q:y)|0,z|0,58882,w|0)|0,F=o,o=0,!(F&1)):0){if((A|0)!=1)c[g>>2]=4;if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=31;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;F=o;o=0;if(F&1){E=31;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{E=59;break}else{c[e>>2]=0;E=57;break}}else E=57}while(0);if((E|0)==57?f:0)E=59;if((E|0)==59)c[g>>2]=c[g>>2]|2;F=c[d>>2]|0;Im(C);Im(D);i=B;return F|0}else E=31}else E=31}while(0);if((E|0)==31)b=Na()|0;Im(C);break}b=Na()|0;pm(f)|0}}while(0);Im(D);Ya(b|0);return 0}function jp(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do{if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5}while(0);a:do{if((n|0)==5){n=a[i>>0]|0;if((b|0)==(h|0)?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+104|0;m=l;while(1){if((c[m>>2]|0)==(b|0))break;m=m+4|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;i=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((i|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[57498+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[57498+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}}while(0);return m|0}function kp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;k=l;d=jn(d)|0;c[k>>2]=d;o=0;g=ra(37,k|0,44220)|0;m=o;o=0;if((((!(m&1)?(o=0,va(c[(c[g>>2]|0)+32>>2]|0,g|0,57498,57524,e|0)|0,m=o,o=0,!(m&1)):0)?(o=0,j=ra(37,k|0,44360)|0,m=o,o=0,!(m&1)):0)?(o=0,h=ka(c[(c[j>>2]|0)+16>>2]|0,j|0)|0,m=o,o=0,!(m&1)):0)?(a[f>>0]=h,o=0,ia(c[(c[j>>2]|0)+20>>2]|0,b|0,j|0),m=o,o=0,!(m&1)):0){pm(d)|0;i=l;return}m=Na()|0;pm(d)|0;Ya(m|0)}function lp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i;i=i+16|0;m=n;d=jn(d)|0;c[m>>2]=d;o=0;h=ra(37,m|0,44220)|0;p=o;o=0;if(((((!(p&1)?(o=0,va(c[(c[h>>2]|0)+32>>2]|0,h|0,57498,57530,e|0)|0,p=o,o=0,!(p&1)):0)?(o=0,l=ra(37,m|0,44360)|0,p=o,o=0,!(p&1)):0)?(o=0,j=ka(c[(c[l>>2]|0)+12>>2]|0,l|0)|0,p=o,o=0,!(p&1)):0)?(a[f>>0]=j,o=0,k=ka(c[(c[l>>2]|0)+16>>2]|0,l|0)|0,p=o,o=0,!(p&1)):0)?(a[g>>0]=k,o=0,ia(c[(c[l>>2]|0)+20>>2]|0,b|0,l|0),p=o,o=0,!(p&1)):0){pm(d)|0;i=n;return}p=Na()|0;pm(d)|0;Ya(p|0)}function mp(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do{if(b<<24>>24==i<<24>>24)if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if(b<<24>>24==j<<24>>24?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+32|0;p=o;while(1){if((a[p>>0]|0)==b<<24>>24)break;p=p+1|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;if((i|0)>31)p=-1;else{j=a[57498+i>>0]|0;switch(i|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=j;p=0;break a}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>21){p=0;break a}c[n>>2]=(c[n>>2]|0)+1;p=0;break a}}}}}while(0);return p|0}function np(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;j=k;b=jn(b)|0;c[j>>2]=b;o=0;f=ra(37,j|0,44212)|0;l=o;o=0;if((((!(l&1)?(o=0,va(c[(c[f>>2]|0)+48>>2]|0,f|0,57498,57524,d|0)|0,l=o,o=0,!(l&1)):0)?(o=0,h=ra(37,j|0,44368)|0,l=o,o=0,!(l&1)):0)?(o=0,g=ka(c[(c[h>>2]|0)+16>>2]|0,h|0)|0,l=o,o=0,!(l&1)):0)?(c[e>>2]=g,o=0,ia(c[(c[h>>2]|0)+20>>2]|0,a|0,h|0),l=o,o=0,!(l&1)):0){pm(b)|0;i=k;return}l=Na()|0;pm(b)|0;Ya(l|0)}function op(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;l=m;b=jn(b)|0;c[l>>2]=b;o=0;g=ra(37,l|0,44212)|0;n=o;o=0;if(((((!(n&1)?(o=0,va(c[(c[g>>2]|0)+48>>2]|0,g|0,57498,57530,d|0)|0,n=o,o=0,!(n&1)):0)?(o=0,k=ra(37,l|0,44368)|0,n=o,o=0,!(n&1)):0)?(o=0,h=ka(c[(c[k>>2]|0)+12>>2]|0,k|0)|0,n=o,o=0,!(n&1)):0)?(c[e>>2]=h,o=0,j=ka(c[(c[k>>2]|0)+16>>2]|0,k|0)|0,n=o,o=0,!(n&1)):0)?(c[f>>2]=j,o=0,ia(c[(c[k>>2]|0)+20>>2]|0,a|0,k|0),n=o,o=0,!(n&1)):0){pm(b)|0;i=m;return}n=Na()|0;pm(b)|0;Ya(n|0)}function pp(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do{if((b|0)==(i|0))if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if((b|0)==(j|0)?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+128|0;p=o;while(1){if((c[p>>2]|0)==(b|0))break;p=p+4|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;p=i>>2;if((i|0)<=124){j=a[57498+p>>0]|0;switch(p|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;break}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}}}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>84)p=0;else{c[n>>2]=(c[n>>2]|0)+1;p=0}}else p=-1}}while(0);return p|0}function qp(a){a=a|0;return}function rp(a){a=a|0;cj(a);return}function sp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n;a:do{if(!(c[e+4>>2]&1)){m=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Mb[m&31](b,h,e,f,g&1)|0}else{h=jn(e)|0;c[k>>2]=h;o=0;j=ra(37,k|0,44360)|0;l=o;o=0;b:do{if(l&1){n=Na()|0;pm(h)|0;h=n}else{pm(h)|0;h=c[j>>2]|0;if(g)Cb[c[h+24>>2]&127](m,j);else Cb[c[h+28>>2]&127](m,j);b=a[m>>0]|0;l=(b&1)==0;h=m+1|0;g=m+8|0;k=l?h:m+1|0;h=l?h:c[m+8>>2]|0;l=m+4|0;e=(b&1)==0;c:do{if((h|0)!=((e?k:c[g>>2]|0)+(e?(b&255)>>>1:c[l>>2]|0)|0)){d:while(1){j=a[h>>0]|0;f=c[d>>2]|0;do{if(f){e=f+24|0;b=c[e>>2]|0;if((b|0)!=(c[f+28>>2]|0)){c[e>>2]=b+1;a[b>>0]=j;break}o=0;j=ra(c[(c[f>>2]|0)+52>>2]|0,f|0,j&255|0)|0;b=o;o=0;if(b&1)break d;if((j|0)==-1)c[d>>2]=0}}while(0);h=h+1|0;b=a[m>>0]|0;e=(b&1)==0;if((h|0)==((e?k:c[g>>2]|0)+(e?(b&255)>>>1:c[l>>2]|0)|0))break c}h=Na()|0;Im(m);break b}}while(0);h=c[d>>2]|0;Im(m);break a}}while(0);Ya(h|0)}}while(0);i=n;return h|0}function tp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+64|0;h=n;q=n+56|0;r=n+44|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,1,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(1,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=cd(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function up(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=a[c>>0]|0;if(f<<24>>24){g=c;while(1){g=g+1|0;c=b+1|0;a[b>>0]=f;f=a[g>>0]|0;if(!(f<<24>>24)){b=c;break}else b=c}}a:do{switch(e&74|0){case 64:{a[b>>0]=111;break}case 8:if(!(e&16384)){a[b>>0]=120;break a}else{a[b>>0]=88;break a}default:if(d){a[b>>0]=100;break a}else{a[b>>0]=117;break a}}}while(0);return}function vp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do{switch(c[e+4>>2]&176|0){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}}while(0);return b|0}function wp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;t=Is(j,44220)|0;m=Is(j,44360)|0;Cb[c[(c[m>>2]|0)+20>>2]&127](w,m);r=a[w>>0]|0;s=w+4|0;a:do{if(!(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0)){o=0;va(c[(c[t>>2]|0)+32>>2]|0,t|0,b|0,e|0,f|0)|0;u=o;o=0;if(u&1)u=5;else{j=f+(e-b)|0;c[h>>2]=j;u=29}}else{c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,j|0)|0;r=o;o=0;if(r&1){u=5;break a}l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=j;l=b+1|0;break}default:l=b}b:do{if((e-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break b}o=0;k=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,48)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=k;o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,a[j>>0]|0)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=j;l=l+2|0}}while(0);if((l|0)!=(e|0)?(n=e+-1|0,l>>>0>>0):0){k=l;j=n;do{r=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=r;k=k+1|0;j=j+-1|0}while(k>>>0>>0)}o=0;n=ka(c[(c[m>>2]|0)+16>>2]|0,m|0)|0;r=o;o=0;if(!(r&1)){p=w+8|0;q=w+1|0;c:do{if(l>>>0>>0){j=0;k=0;r=l;while(1){m=a[((a[w>>0]&1)==0?q:c[p>>2]|0)+k>>0]|0;if(m<<24>>24!=0&(j|0)==(m<<24>>24|0)){j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=n;j=a[w>>0]|0;m=0;k=(k>>>0<(((j&1)==0?(j&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+k|0}else m=j;o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,a[r>>0]|0)|0;x=o;o=0;if(x&1)break;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=j;r=r+1|0;if(r>>>0>=e>>>0)break c;else j=m+1|0}j=Na()|0;break a}}while(0);k=b;j=f+(l-k)|0;b=c[h>>2]|0;if((j|0)==(b|0)){b=k;u=29}else{b=b+-1|0;if(j>>>0>>0)do{x=a[j>>0]|0;a[j>>0]=a[b>>0]|0;a[b>>0]=x;j=j+1|0;b=b+-1|0}while(j>>>0>>0);b=k;j=c[h>>2]|0;u=29}}else u=5}}while(0);if((u|0)==5)j=Na()|0;else if((u|0)==29){c[g>>2]=(d|0)==(e|0)?j:f+(d-b)|0;Im(w);i=v;return}Im(w);Ya(j|0)}function xp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+96|0;h=n+8|0;a=n;q=n+74|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,1,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,22,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(1,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=cd(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function yp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+64|0;h=n;q=n+56|0;r=n+44|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,0,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(1,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=cd(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function zp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+112|0;h=n+8|0;a=n;q=n+75|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,0,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,23,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(1,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=cd(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function Ap(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+176|0;u=z+84|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+88|0;t=z+80|0;k=z+118|0;y=z+76|0;x=z+72|0;v=z+68|0;w=z+64|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58898,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,c[q>>2]=c[d+8>>2],h[q+8>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<1)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(2,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(39,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Bp(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}h=d&260;f=d>>>14;i=(h|0)==260;if(i)g=0;else{a[b>>0]=46;a[b+1>>0]=42;b=b+2|0;g=1}d=a[c>>0]|0;if(d<<24>>24){e=b;while(1){c=c+1|0;b=e+1|0;a[e>>0]=d;d=a[c>>0]|0;if(!(d<<24>>24))break;else e=b}}a:do{switch(h|0){case 4:if(!(f&1)){a[b>>0]=102;break a}else{a[b>>0]=70;break a}case 256:if(!(f&1)){a[b>>0]=101;break a}else{a[b>>0]=69;break a}default:{d=(f&1|0)!=0;if(i)if(d){a[b>>0]=65;break a}else{a[b>>0]=97;break a}else if(d){a[b>>0]=71;break a}else{a[b>>0]=103;break a}}}}while(0);return g|0}function Cp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=i;i=i+16|0;A=z;y=Is(j,44220)|0;w=Is(j,44360)|0;Cb[c[(c[w>>2]|0)+20>>2]&127](A,w);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,j|0)|0;x=o;o=0;if(x&1)v=8;else{n=c[h>>2]|0;c[h>>2]=n+1;a[n>>0]=j;n=b+1|0;v=10}break}default:{n=b;v=10}}a:do{if((v|0)==10){x=e;b:do{if((x-n|0)>1?(a[n>>0]|0)==48:0){l=n+1|0;switch(a[l>>0]|0){case 88:case 120:break;default:{v=11;break b}}o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,48)|0;u=o;o=0;if(u&1){v=8;break a}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=j;n=n+2|0;o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,a[l>>0]|0)|0;u=o;o=0;if(u&1){v=8;break a}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=j;if(n>>>0>>0){j=n;while(1){l=a[j>>0]|0;o=0;m=ua(3)|0;u=o;o=0;if(u&1)break;o=0;l=ra(39,l<<24>>24|0,m|0)|0;u=o;o=0;if(u&1)break;if(!l){u=n;break b}j=j+1|0;if(j>>>0>=e>>>0){u=n;break b}}j=Na()|0;break a}else{u=n;j=n}}else v=11}while(0);c:do{if((v|0)==11)if(n>>>0>>0){j=n;while(1){l=a[j>>0]|0;o=0;m=ua(3)|0;u=o;o=0;if(u&1)break;o=0;l=ra(40,l<<24>>24|0,m|0)|0;u=o;o=0;if(u&1)break;if(!l){u=n;break c}j=j+1|0;if(j>>>0>=e>>>0){u=n;break c}}j=Na()|0;break a}else{u=n;j=n}}while(0);s=a[A>>0]|0;t=A+4|0;if(((s&1)==0?(s&255)>>>1:c[t>>2]|0)|0){if((u|0)!=(j|0)?(p=j+-1|0,u>>>0

>>0):0){m=u;l=p;do{s=a[m>>0]|0;a[m>>0]=a[l>>0]|0;a[l>>0]=s;m=m+1|0;l=l+-1|0}while(m>>>0>>0)}o=0;p=ka(c[(c[w>>2]|0)+16>>2]|0,w|0)|0;s=o;o=0;if(s&1){v=8;break}q=A+8|0;r=A+1|0;d:do{if(u>>>0>>0){l=0;m=0;s=u;while(1){n=a[((a[A>>0]&1)==0?r:c[q>>2]|0)+m>>0]|0;if(n<<24>>24>0&(l|0)==(n<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=p;l=a[A>>0]|0;n=0;m=(m>>>0<(((l&1)==0?(l&255)>>>1:c[t>>2]|0)+-1|0)>>>0&1)+m|0}else n=l;o=0;l=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,a[s>>0]|0)|0;B=o;o=0;if(B&1)break;B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=l;s=s+1|0;if(s>>>0>=j>>>0)break d;else l=n+1|0}j=Na()|0;break a}}while(0);l=f+(u-b)|0;m=c[h>>2]|0;if((l|0)!=(m|0)?(k=m+-1|0,l>>>0>>0):0){do{B=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=B;l=l+1|0;k=k+-1|0}while(l>>>0>>0);l=y}else l=y}else{o=0;va(c[(c[y>>2]|0)+32>>2]|0,y|0,u|0,j|0,c[h>>2]|0)|0;B=o;o=0;if(B&1){v=8;break}c[h>>2]=(c[h>>2]|0)+(j-u);l=y}e:do{if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46)break;o=0;k=ra(c[(c[l>>2]|0)+28>>2]|0,y|0,k|0)|0;B=o;o=0;if(B&1){v=4;break}B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=k;j=j+1|0;if(j>>>0>=e>>>0)break e}if((v|0)==4){j=Na()|0;break a}o=0;k=ka(c[(c[w>>2]|0)+12>>2]|0,w|0)|0;B=o;o=0;if(B&1){v=8;break a}B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=k;j=j+1|0}}while(0);o=0;va(c[(c[y>>2]|0)+32>>2]|0,y|0,j|0,e|0,c[h>>2]|0)|0;B=o;o=0;if(B&1)v=8;else{B=(c[h>>2]|0)+(x-j)|0;c[h>>2]=B;c[g>>2]=(d|0)==(e|0)?B:f+(d-b)|0;Im(A);i=z;return}}}while(0);if((v|0)==8)j=Na()|0;Im(A);Ya(j|0)}function Dp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+176|0;u=z+76|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+80|0;t=z+72|0;k=z+110|0;y=z+68|0;x=z+64|0;v=z+60|0;w=z+56|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58899,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,h[q>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<1)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(2,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(39,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Ep(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+80|0;l=q;b=q+70|0;n=q+12|0;p=q+32|0;k=q+8|0;m=q+4|0;a[b>>0]=a[58901]|0;a[b+1>>0]=a[58902]|0;a[b+2>>0]=a[58903]|0;a[b+3>>0]=a[58904]|0;a[b+4>>0]=a[58905]|0;a[b+5>>0]=a[58906]|0;h=Xo()|0;c[l>>2]=g;b=Su(n,20,h,b,l)|0;g=n+b|0;h=vp(n,g,e)|0;j=jn(e)|0;c[k>>2]=j;o=0;k=ra(37,k|0,44220)|0;r=o;o=0;if(r&1){r=Na()|0;pm(j)|0;Ya(r|0)}else{pm(j)|0;Pb[c[(c[k>>2]|0)+32>>2]&31](k,n,g,p)|0;r=p+b|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];r=cd(l,p,(h|0)==(g|0)?r:p+(h-n)|0,r,e,f)|0;i=q;return r|0}return 0}function Fp(a){a=a|0;return}function Gp(a){a=a|0;cj(a);return}function Hp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+20|0;j=m+16|0;k=m+12|0;l=m;a:do{if(!(c[e+4>>2]&1)){l=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Mb[l&31](b,h,e,f,g&1)|0}else{h=jn(e)|0;c[k>>2]=h;o=0;j=ra(37,k|0,44368)|0;k=o;o=0;b:do{if(k&1){m=Na()|0;pm(h)|0;h=m}else{pm(h)|0;h=c[j>>2]|0;if(g)Cb[c[h+24>>2]&127](l,j);else Cb[c[h+28>>2]&127](l,j);b=a[l>>0]|0;e=(b&1)==0;h=l+4|0;g=l+8|0;k=e?h:l+4|0;h=e?h:c[l+8>>2]|0;e=(b&1)==0;c:do{if((h|0)!=((e?k:c[g>>2]|0)+((e?(b&255)>>>1:c[k>>2]|0)<<2)|0)){while(1){j=c[h>>2]|0;f=c[d>>2]|0;if(f){e=f+24|0;b=c[e>>2]|0;if((b|0)==(c[f+28>>2]|0)){o=0;j=ra(c[(c[f>>2]|0)+52>>2]|0,f|0,j|0)|0;b=o;o=0;if(b&1)break}else{c[e>>2]=b+4;c[b>>2]=j}if((j|0)==-1)c[d>>2]=0}h=h+4|0;b=a[l>>0]|0;e=(b&1)==0;if((h|0)==((e?k:c[g>>2]|0)+((e?(b&255)>>>1:c[k>>2]|0)<<2)|0))break c}h=Na()|0;Wm(l);break b}}while(0);h=c[d>>2]|0;Wm(l);break a}}while(0);Ya(h|0)}}while(0);i=m;return h|0}function Ip(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+128|0;h=n;q=n+116|0;r=n+104|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,1,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(3,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=Uu(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function Jp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;t=Is(j,44212)|0;m=Is(j,44368)|0;Cb[c[(c[m>>2]|0)+20>>2]&127](w,m);r=a[w>>0]|0;s=w+4|0;a:do{if(!(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0)){o=0;va(c[(c[t>>2]|0)+48>>2]|0,t|0,b|0,e|0,f|0)|0;u=o;o=0;if(u&1)u=5;else{j=f+(e-b<<2)|0;c[h>>2]=j;u=28}}else{c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,j|0)|0;r=o;o=0;if(r&1){u=5;break a}l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=j;l=b+1|0;break}default:l=b}b:do{if((e-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{r=l;break b}}o=0;k=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,48)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=k;o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,a[j>>0]|0)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=j;r=l+2|0}else r=l}while(0);if((r|0)!=(e|0)?(n=e+-1|0,r>>>0>>0):0){k=r;j=n;do{q=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=q;k=k+1|0;j=j+-1|0}while(k>>>0>>0)}o=0;m=ka(c[(c[m>>2]|0)+16>>2]|0,m|0)|0;q=o;o=0;if(!(q&1)){n=w+8|0;p=w+1|0;c:do{if(r>>>0>>0){j=0;k=0;q=r;while(1){l=a[((a[w>>0]&1)==0?p:c[n>>2]|0)+k>>0]|0;if(l<<24>>24!=0&(j|0)==(l<<24>>24|0)){j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=m;j=a[w>>0]|0;l=0;k=(k>>>0<(((j&1)==0?(j&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+k|0}else l=j;o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,a[q>>0]|0)|0;x=o;o=0;if(x&1)break;x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=j;q=q+1|0;if(q>>>0>=e>>>0)break c;else j=l+1|0}j=Na()|0;break a}}while(0);l=b;j=f+(r-l<<2)|0;k=c[h>>2]|0;if((j|0)!=(k|0)){b=k+-4|0;if(j>>>0>>0){do{x=c[j>>2]|0;c[j>>2]=c[b>>2];c[b>>2]=x;j=j+4|0;b=b+-4|0}while(j>>>0>>0);b=l;j=k;u=28}else{b=l;j=k;u=28}}else{b=l;u=28}}else u=5}}while(0);if((u|0)==5)j=Na()|0;else if((u|0)==28){c[g>>2]=(d|0)==(e|0)?j:f+(d-b<<2)|0;Im(w);i=v;return}Im(w);Ya(j|0)}function Kp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+224|0;h=n+8|0;a=n;q=n+196|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,1,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,22,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(3,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=Uu(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function ut(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+16|0;s=u;q=u+8|0;a:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break a;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}}while(0);c[k>>2]=h;c[g>>2]=e;n=j;r=b+8|0;b:do{if(!((h|0)==(j|0)|(e|0)==(f|0))){b=h;m=l;c:while(1){w=d;h=c[w+4>>2]|0;l=s;c[l>>2]=c[w>>2];c[l+4>>2]=h;l=qk(c[r>>2]|0)|0;o=0;h=sa(21,b|0,g|0,m-e>>2|0,n-b|0,d|0)|0;w=o;o=0;if(w&1){v=9;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=8;break}switch(h|0){case 0:{p=1;break b}case-1:{l=b;v=14;break c}default:{}}l=(c[k>>2]|0)+h|0;c[k>>2]=l;if((l|0)==(j|0)){v=27;break}if((m|0)==(f|0)){e=c[g>>2]|0;b=l;l=f}else{l=qk(c[r>>2]|0)|0;o=0;e=ma(34,q|0,0,d|0)|0;w=o;o=0;if(w&1){v=35;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=34;break}if((e|0)==-1){p=2;break b}if(e>>>0>(n-(c[k>>2]|0)|0)>>>0){p=1;break b}if(e){l=q;while(1){m=a[l>>0]|0;w=c[k>>2]|0;c[k>>2]=w+1;a[w>>0]=m;e=e+-1|0;if(!e)break;else l=l+1|0}}e=(c[g>>2]|0)+4|0;c[g>>2]=e;d:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break d;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}}while(0);b=c[k>>2]|0}if((b|0)==(j|0)|(e|0)==(f|0)){v=47;break b}else m=l}if((v|0)==8){w=Na(0)|0;ec(w)}else if((v|0)==9){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==14){c[k>>2]=l;e:do{if((e|0)!=(c[g>>2]|0)){while(1){w=c[e>>2]|0;b=qk(c[r>>2]|0)|0;o=0;l=ma(34,l|0,w|0,s|0)|0;w=o;o=0;if(w&1){t=b;break}if((b|0)!=0?(o=0,ka(75,b|0)|0,w=o,o=0,w&1):0){v=18;break}if((l|0)==-1)break e;l=(c[k>>2]|0)+l|0;c[k>>2]=l;e=e+4|0;if((e|0)==(c[g>>2]|0))break e}if((v|0)==18){w=Na(0)|0;ec(w)}e=Na()|0;if((t|0)!=0?(o=0,ka(75,t|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}while(0);c[g>>2]=e;p=2;break}else if((v|0)==27){e=c[g>>2]|0;v=47;break}else if((v|0)==34){w=Na(0)|0;ec(w)}else if((v|0)==35){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}else v=47}while(0);if((v|0)==47)p=(e|0)!=(f|0)&1;i=u;return p|0}function vt(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+16|0;t=u;a:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break a;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}}while(0);c[k>>2]=h;c[g>>2]=e;p=j;r=b+8|0;b:do{if(!((h|0)==(j|0)|(e|0)==(f|0))){b=h;n=l;c:while(1){m=d;l=c[m+4>>2]|0;h=t;c[h>>2]=c[m>>2];c[h+4>>2]=l;h=n;l=qk(c[r>>2]|0)|0;o=0;m=sa(22,b|0,g|0,h-e|0,p-b>>2|0,d|0)|0;w=o;o=0;if(w&1){v=9;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=8;break}switch(m|0){case 0:{q=2;break b}case-1:{l=b;v=14;break c}default:{}}b=(c[k>>2]|0)+(m<<2)|0;c[k>>2]=b;if((b|0)==(j|0)){v=31;break}e=c[g>>2]|0;if((n|0)==(f|0))l=f;else{l=qk(c[r>>2]|0)|0;o=0;e=va(20,b|0,e|0,1,d|0)|0;w=o;o=0;if(w&1){v=38;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=37;break}if(e){q=2;break b}c[k>>2]=(c[k>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;d:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break d;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}}while(0);b=c[k>>2]|0}if((b|0)==(j|0)|(e|0)==(f|0)){v=47;break b}else n=l}if((v|0)==8){w=Na(0)|0;ec(w)}else if((v|0)==9){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==14){c[k>>2]=l;e:do{if((e|0)!=(c[g>>2]|0)){b=l;f:while(1){l=qk(c[r>>2]|0)|0;o=0;b=va(20,b|0,e|0,h-e|0,t|0)|0;w=o;o=0;if(w&1){v=19;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=18;break}switch(b|0){case-1:{v=25;break f}case-2:{v=26;break f}case 0:{e=e+1|0;break}default:e=e+b|0}b=(c[k>>2]|0)+4|0;c[k>>2]=b;if((e|0)==(c[g>>2]|0)){s=e;break e}}if((v|0)==18){w=Na(0)|0;ec(w)}else if((v|0)==19){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==25){c[g>>2]=e;q=2;break b}else if((v|0)==26){c[g>>2]=e;q=1;break b}}else s=e}while(0);c[g>>2]=s;q=(s|0)!=(f|0)&1;break}else if((v|0)==31){e=c[g>>2]|0;v=47;break}else if((v|0)==37){w=Na(0)|0;ec(w)}else if((v|0)==38){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}else v=47}while(0);if((v|0)==47)q=(e|0)!=(f|0)&1;i=u;return q|0}function wt(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;j=i;i=i+16|0;h=j;c[g>>2]=e;e=qk(c[b+8>>2]|0)|0;o=0;b=ma(34,h|0,0,d|0)|0;d=o;o=0;if(d&1){h=Na()|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,j=o,o=0,j&1):0){j=Na(0)|0;ec(j)}Ya(h|0)}if((e|0)!=0?(o=0,ka(75,e|0)|0,d=o,o=0,d&1):0){d=Na(0)|0;ec(d)}switch(b|0){case 0:case-1:{h=2;break}default:{b=b+-1|0;if(b>>>0<=(f-(c[g>>2]|0)|0)>>>0)if(!b)h=0;else while(1){d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;b=b+-1|0;if(!b){h=0;break}else h=h+1|0}else h=1}}i=j;return h|0}function xt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+8|0;o=0;d=ka(75,c[b>>2]|0)|0;e=o;o=0;do{if(e&1)f=16;else{o=0;e=ma(35,0,0,4)|0;a=o;o=0;if(a&1){a=Na(0)|0;if(!d)break;o=0;ka(75,d|0)|0;h=o;o=0;if(!(h&1))break;h=Na(0)|0;ec(h)}if((d|0)!=0?(o=0,ka(75,d|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}if(!e){a=c[b>>2]|0;if(a){o=0;a=ka(75,a|0)|0;h=o;o=0;if(h&1){f=16;break}if((a|0)!=0?(o=0,ka(75,a|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}else g=0}else g=1}else g=-1;return g|0}}while(0);if((f|0)==16)a=Na(0)|0;ec(a);return 0}function yt(a){a=a|0;return 0}function zt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=e;j=a+8|0;a:do{if((d|0)==(e|0)|(f|0)==0)a=0;else{a=0;i=0;while(1){h=qk(c[j>>2]|0)|0;o=0;g=ma(36,d|0,k-d|0,b|0)|0;n=o;o=0;if(n&1){m=h;break}if((h|0)!=0?(o=0,ka(75,h|0)|0,n=o,o=0,n&1):0){l=5;break}switch(g|0){case-2:case-1:break a;case 0:{d=d+1|0;g=1;break}default:d=d+g|0}a=g+a|0;i=i+1|0;if((d|0)==(e|0)|i>>>0>=f>>>0)break a}if((l|0)==5){n=Na(0)|0;ec(n)}a=Na()|0;if((m|0)!=0?(o=0,ka(75,m|0)|0,n=o,o=0,n&1):0){n=Na(0)|0;ec(n)}Ya(a|0)}}while(0);return a|0}function At(a){a=a|0;var b=0,d=0;a=c[a+8>>2]|0;if(a){o=0;a=ka(75,a|0)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}if((a|0)!=0?(o=0,ka(75,a|0)|0,d=o,o=0,d&1):0){d=Na(0)|0;ec(d)}else b=4}else b=1;return b|0}function Bt(a){a=a|0;cj(a);return}function Ct(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Hv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Dt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Iv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Et(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Ft(a){a=a|0;return 0}function Gt(a){a=a|0;return 0}function Ht(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Jv(c,d,e,1114111,0)|0}function It(a){a=a|0;return 4}function Jt(a){a=a|0;cj(a);return}function Kt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Kv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Lt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Lv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Mt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Nt(a){a=a|0;return 0}function Ot(a){a=a|0;return 0}function Pt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Mv(c,d,e,1114111,0)|0}function Qt(a){a=a|0;return 4}function Rt(a){a=a|0;cj(a);return}function St(a){a=a|0;cj(a);return}function Tt(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=44384;a[b+8>>0]=46;a[b+9>>0]=44;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Ut(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=44424;c[a+8>>2]=46;c[a+12>>2]=44;a=a+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Vt(a){a=a|0;c[a>>2]=44384;Im(a+12|0);return}function Wt(a){a=a|0;Vt(a);cj(a);return}function Xt(a){a=a|0;c[a>>2]=44424;Im(a+16|0);return}function Yt(a){a=a|0;Xt(a);cj(a);return}function Zt(b){b=b|0;return a[b+8>>0]|0}function _t(a){a=a|0;return c[a+8>>2]|0}function $t(b){b=b|0;return a[b+9>>0]|0}function au(a){a=a|0;return c[a+12>>2]|0}function bu(a,b){a=a|0;b=b|0;Fm(a,b+12|0);return}function cu(a,b){a=a|0;b=b|0;Fm(a,b+16|0);return}function du(a,b){a=a|0;b=b|0;Gm(a,59024,4);return}function eu(a,b){a=a|0;b=b|0;Um(a,44996,pl(44996)|0);return}function fu(a,b){a=a|0;b=b|0;Gm(a,59029,5);return}function gu(a,b){a=a|0;b=b|0;Um(a,45016,pl(45016)|0);return}function hu(a){a=a|0;switch(c[a+4>>2]&74|0){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function iu(b){b=b|0;do{if((a[2464]|0)==0?(Ha(2464)|0)!=0:0){if((a[2472]|0)==0?(Ha(2472)|0)!=0:0){b=45040;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=45208);kb(193,0,n|0)|0;Pa(2472)}o=0;ra(41,45040,59035)|0;b=o;o=0;if(((((((((((((!(b&1)?(o=0,ra(41,45052,59042)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45064,59049)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45076,59057)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45088,59067)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45100,59076)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45112,59083)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45124,59092)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45136,59096)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45148,59100)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45160,59104)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45172,59108)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45184,59112)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45196,59116)|0,b=o,o=0,!(b&1)):0){c[11302]=45040;Pa(2464);break}b=Na()|0;sb(2464);Ya(b|0)}}while(0);return c[11302]|0}function ju(b){b=b|0;do{if((a[2480]|0)==0?(Ha(2480)|0)!=0:0){if((a[2488]|0)==0?(Ha(2488)|0)!=0:0){b=45212;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=45380);kb(194,0,n|0)|0;Pa(2488)}o=0;ra(42,45212,45380)|0;b=o;o=0;if(((((((((((((!(b&1)?(o=0,ra(42,45224,45408)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45236,45436)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45248,45468)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45260,45508)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45272,45544)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45284,45572)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45296,45608)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45308,45624)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45320,45640)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45332,45656)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45344,45672)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45356,45688)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45368,45704)|0,b=o,o=0,!(b&1)):0){c[11430]=45212;Pa(2480);break}b=Na()|0;sb(2480);Ya(b|0)}}while(0);return c[11430]|0}function ku(b){b=b|0;a:do{if((a[2496]|0)==0?(Ha(2496)|0)!=0:0){if((a[2504]|0)==0?(Ha(2504)|0)!=0:0){b=45724;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=46012);kb(195,0,n|0)|0;Pa(2504)}o=0;ra(41,45724,59120)|0;b=o;o=0;do{if((((((((((((((!(b&1)?(o=0,ra(41,45736,59128)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45748,59137)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45760,59143)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45772,59149)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45784,59153)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45796,59158)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45808,59163)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45820,59170)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45832,59180)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45844,59188)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45856,59197)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45868,59206)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45880,59210)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45892,59214)|0,b=o,o=0,!(b&1)):0){o=0;ra(41,45904,59218)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45916,59149)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45928,59222)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45940,59226)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45952,59230)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45964,59234)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45976,59238)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45988,59242)|0;b=o;o=0;if(b&1)break;o=0;ra(41,46e3,59246)|0;b=o;o=0;if(b&1)break;c[11503]=45724;Pa(2496);break a}}while(0);b=Na()|0;sb(2496);Ya(b|0)}}while(0);return c[11503]|0}function lu(b){b=b|0;a:do{if((a[2512]|0)==0?(Ha(2512)|0)!=0:0){if((a[2520]|0)==0?(Ha(2520)|0)!=0:0){b=46016;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=46304);kb(196,0,n|0)|0;Pa(2520)}o=0;ra(42,46016,46304)|0;b=o;o=0;do{if((((((((((((((!(b&1)?(o=0,ra(42,46028,46336)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46040,46372)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46052,46396)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46064,46420)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46076,46436)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46088,46456)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46100,46476)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46112,46504)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46124,46544)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46136,46576)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46148,46612)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46160,46648)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46172,46664)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46184,46680)|0,b=o,o=0,!(b&1)):0){o=0;ra(42,46196,46696)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46208,46420)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46220,46712)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46232,46728)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46244,46744)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46256,46760)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46268,46776)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46280,46792)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46292,46808)|0;b=o;o=0;if(b&1)break;c[11706]=46016;Pa(2512);break a}}while(0);b=Na()|0;sb(2512);Ya(b|0)}}while(0);return c[11706]|0}function mu(b){b=b|0;do{if((a[2528]|0)==0?(Ha(2528)|0)!=0:0){if((a[2536]|0)==0?(Ha(2536)|0)!=0:0){b=46828;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=47116);kb(197,0,n|0)|0;Pa(2536)}o=0;ra(41,46828,59250)|0;b=o;o=0;if(!(b&1)?(o=0,ra(41,46840,59253)|0,b=o,o=0,!(b&1)):0){c[11779]=46828;Pa(2528);break}b=Na()|0;sb(2528);Ya(b|0)}}while(0);return c[11779]|0}function nu(b){b=b|0;do{if((a[2544]|0)==0?(Ha(2544)|0)!=0:0){if((a[2552]|0)==0?(Ha(2552)|0)!=0:0){b=47120;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=47408);kb(198,0,n|0)|0;Pa(2552)}o=0;ra(42,47120,47408)|0;b=o;o=0;if(!(b&1)?(o=0,ra(42,47132,47420)|0,b=o,o=0,!(b&1)):0){c[11858]=47120;Pa(2544);break}b=Na()|0;sb(2544);Ya(b|0)}}while(0);return c[11858]|0}function ou(b){b=b|0;do{if((a[2560]|0)==0?(Ha(2560)|0)!=0:0){o=0;wa(5,47436,59256,8);b=o;o=0;if(b&1){b=Na()|0;sb(2560);Ya(b|0)}else{kb(199,47436,n|0)|0;Pa(2560);break}}}while(0);return 47436}function pu(b){b=b|0;var c=0;do{if((a[2568]|0)==0?(Ha(2568)|0)!=0:0){o=0;b=ka(76,47448)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47484,47448,b|0),c=o,o=0,!(c&1)):0){kb(200,47484,n|0)|0;Pa(2568);break}c=Na()|0;sb(2568);Ya(c|0)}}while(0);return 47484}function qu(b){b=b|0;do{if((a[2576]|0)==0?(Ha(2576)|0)!=0:0){o=0;wa(5,47496,59265,8);b=o;o=0;if(b&1){b=Na()|0;sb(2576);Ya(b|0)}else{kb(199,47496,n|0)|0;Pa(2576);break}}}while(0);return 47496}function ru(b){b=b|0;var c=0;do{if((a[2584]|0)==0?(Ha(2584)|0)!=0:0){o=0;b=ka(76,47508)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47544,47508,b|0),c=o,o=0,!(c&1)):0){kb(200,47544,n|0)|0;Pa(2584);break}c=Na()|0;sb(2584);Ya(c|0)}}while(0);return 47544}function su(b){b=b|0;do{if((a[2592]|0)==0?(Ha(2592)|0)!=0:0){o=0;wa(5,47556,59274,20);b=o;o=0;if(b&1){b=Na()|0;sb(2592);Ya(b|0)}else{kb(199,47556,n|0)|0;Pa(2592);break}}}while(0);return 47556}function tu(b){b=b|0;var c=0;do{if((a[2600]|0)==0?(Ha(2600)|0)!=0:0){o=0;b=ka(76,47568)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47652,47568,b|0),c=o,o=0,!(c&1)):0){kb(200,47652,n|0)|0;Pa(2600);break}c=Na()|0;sb(2600);Ya(c|0)}}while(0);return 47652}function uu(b){b=b|0;do{if((a[2608]|0)==0?(Ha(2608)|0)!=0:0){o=0;wa(5,47664,59295,11);b=o;o=0;if(b&1){b=Na()|0;sb(2608);Ya(b|0)}else{kb(199,47664,n|0)|0;Pa(2608);break}}}while(0);return 47664}function vu(b){b=b|0;var c=0;do{if((a[2616]|0)==0?(Ha(2616)|0)!=0:0){o=0;b=ka(76,47676)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47724,47676,b|0),c=o,o=0,!(c&1)):0){kb(200,47724,n|0)|0;Pa(2616);break}c=Na()|0;sb(2616);Ya(c|0)}}while(0);return 47724}function wu(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=44304;a=a+8|0;b=c[a>>2]|0;o=0;d=ua(3)|0;e=o;o=0;do{if(!(e&1)){if((b|0)!=(d|0)?(o=0,ha(188,c[a>>2]|0),e=o,o=0,e&1):0)break;return}}while(0);e=Na(0)|0;ec(e)}function xu(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+112|0;m=z;p=(g-f|0)/12|0;do{if(p>>>0>100){m=Fl(p)|0;if((m|0)==0?(o=0,xa(6),y=o,o=0,y&1):0){l=0;s=6;break}l=m;s=11}else{l=0;s=11}}while(0);a:do{if((s|0)==11){if((f|0)==(g|0))n=0;else{s=f;q=0;r=m;while(1){n=a[s>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[s+4>>2]|0;if(!n){a[r>>0]=2;n=q+1|0;p=p+-1|0}else{a[r>>0]=1;n=q}s=s+12|0;if((s|0)==(g|0))break;else{q=n;r=r+1|0}}}x=(f|0)==(g|0);y=(f|0)==(g|0);w=0;t=n;b:while(1){n=c[b>>2]|0;do{if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;v=o;o=0;if(v&1){s=5;break b}if((n|0)==-1){c[b>>2]=0;n=0;break}else{n=c[b>>2]|0;break}}}else n=0}while(0);s=(n|0)==0;q=c[e>>2]|0;if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;n=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;v=o;o=0;if(v&1){s=5;break}if((n|0)==-1){c[e>>2]=0;q=0}}}else q=0;r=(q|0)==0;n=c[b>>2]|0;if(!((p|0)!=0&(s^r))){s=64;break}q=c[n+12>>2]|0;if((q|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;v=o;o=0;if(v&1){s=5;break}}else n=d[q>>0]|0;n=n&255;if(!k){o=0;n=ra(c[(c[h>>2]|0)+12>>2]|0,h|0,n|0)|0;v=o;o=0;if(v&1){s=5;break}}v=w+1|0;if(x){n=0;s=t}else{r=0;u=f;s=t;t=m;while(1){do{if((a[t>>0]|0)==1){if(!(a[u>>0]&1))q=u+1|0;else q=c[u+8>>2]|0;q=a[q+w>>0]|0;if(!k){o=0;q=ra(c[(c[h>>2]|0)+12>>2]|0,h|0,q|0)|0;A=o;o=0;if(A&1){s=4;break b}}if(n<<24>>24!=q<<24>>24){a[t>>0]=0;q=r;p=p+-1|0;break}q=a[u>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[u+4>>2]|0;if((q|0)==(v|0)){a[t>>0]=2;q=1;s=s+1|0;p=p+-1|0}else q=1}else q=r}while(0);u=u+12|0;if((u|0)==(g|0)){n=q;break}else{r=q;t=t+1|0}}}if(!n){w=v;t=s;continue}n=c[b>>2]|0;q=n+12|0;r=c[q>>2]|0;if((r|0)==(c[n+16>>2]|0)){o=0;ka(c[(c[n>>2]|0)+40>>2]|0,n|0)|0;A=o;o=0;if(A&1){s=5;break}}else c[q>>2]=r+1;if((s+p|0)>>>0<2|y){w=v;t=s;continue}else{n=f;r=s;s=m}while(1){if((a[s>>0]|0)==2){q=a[n>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[n+4>>2]|0;if((q|0)!=(v|0)){a[s>>0]=0;r=r+-1|0}}n=n+12|0;if((n|0)==(g|0)){w=v;t=r;continue b}else s=s+1|0}}if((s|0)==4){f=Na()|0;break}else if((s|0)==5){f=Na()|0;break}else if((s|0)==64){do{if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;A=o;o=0;if(A&1){s=6;break a}if((n|0)==-1){c[b>>2]=0;n=0;break}else{n=c[b>>2]|0;break}}}else n=0}while(0);p=(n|0)==0;do{if(!r){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;n=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;A=o;o=0;if(A&1){s=6;break a}if((n|0)==-1){c[e>>2]=0;s=76;break}}if(!p)s=77}else s=76}while(0);if((s|0)==76?p:0)s=77;if((s|0)==77)c[j>>2]=c[j>>2]|2;c:do{if((f|0)==(g|0))s=81;else while(1){if((a[m>>0]|0)==2)break c;f=f+12|0;if((f|0)==(g|0)){s=81;break}else m=m+1|0}}while(0);if((s|0)==81){c[j>>2]=c[j>>2]|4;f=g}if(l)Gl(l);i=z;return f|0}}}while(0);if((s|0)==6)f=Na()|0;if(l)Gl(l);Ya(f|0);return 0}function yu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(21,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49}while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25}while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function zu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){E=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;k=(b|0)==0;l=c[f>>2]|0;do{if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(k)break;else break b;o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;n=o;o=0;if(n&1){E=24;break b}if((m|0)!=-1)if(k)break;else break b;else{c[f>>2]=0;E=16;break}}else E=16}while(0);if((E|0)==16){E=0;if(k){l=0;break}else l=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){E=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){E=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+k}m=b+12|0;k=c[m>>2]|0;n=b+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}}else k=d[k>>0]|0;if(Wo(k&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[m>>2]=k+1;continue}}if((E|0)==24){b=Na()|0;break}F=a[C>>0]|0;if((((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){F=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=F}o=0;g=va(22,g|0,c[v>>2]|0,h|0,u|0)|0;k=D;F=o;o=0;if(!(F&1)){F=j;c[F>>2]=g;c[F+4>>2]=k;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((b|0)==-1){c[f>>2]=0;E=49;break}}if(!g)E=50}else E=49}while(0);if((E|0)==49?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;F=c[e>>2]|0;Im(B);Im(C);i=A;return F|0}else E=25}else E=25}while(0);if((E|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Au(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=i;i=i+240|0;u=B+202|0;l=B+200|0;D=B+24|0;C=B+12|0;w=B+8|0;z=B+40|0;A=B+4|0;x=B;v=hu(h)|0;kp(D,h,u,l);c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if(!(a[C>>0]&1))e=10;else e=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,e|0,0);t=o;o=0;a:do{if(!(t&1)){r=C+8|0;s=C+1|0;h=(a[C>>0]&1)==0?s:c[r>>2]|0;c[w>>2]=h;c[A>>2]=z;c[x>>2]=0;t=C+4|0;q=a[l>>0]|0;e=c[f>>2]|0;b:while(1){if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)){o=0;l=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;p=o;o=0;if(p&1){E=24;break}if((l|0)==-1){c[f>>2]=0;e=0}}}else e=0;m=(e|0)==0;l=c[g>>2]|0;do{if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(m)break;else break b;o=0;n=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){E=24;break b}if((n|0)!=-1)if(m)break;else break b;else{c[g>>2]=0;E=16;break}}else E=16}while(0);if((E|0)==16){E=0;if(m){l=0;break}else l=0}m=a[C>>0]|0;m=(m&1)==0?(m&255)>>>1:c[t>>2]|0;if((c[w>>2]|0)==(h+m|0)){o=0;wa(8,C|0,m<<1|0,0);p=o;o=0;if(p&1){E=24;break}if(!(a[C>>0]&1))h=10;else h=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,h|0,0);p=o;o=0;if(p&1){E=24;break}h=(a[C>>0]&1)==0?s:c[r>>2]|0;c[w>>2]=h+m}n=e+12|0;m=c[n>>2]|0;p=e+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=24;break}}else m=d[m>>0]|0;if(Wo(m&255,v,h,w,x,q,D,z,A,u)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[e>>2]|0)+40>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[n>>2]=l+1;continue}}if((E|0)==24){e=Na()|0;break}F=a[D>>0]|0;if((((F&1)==0?(F&255)>>>1:c[D+4>>2]|0)|0)!=0?(y=c[A>>2]|0,(y-z|0)<160):0){F=c[x>>2]|0;c[A>>2]=y+4;c[y>>2]=F}o=0;h=va(23,h|0,c[w>>2]|0,j|0,v|0)|0;F=o;o=0;if(!(F&1)){b[k>>1]=h;Ur(D,z,c[A>>2]|0,j);if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)){o=0;h=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=25;break}if((h|0)==-1){c[f>>2]=0;e=0}}}else e=0;h=(e|0)==0;do{if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;e=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((e|0)==-1){c[g>>2]=0;E=49;break}}if(!h)E=50}else E=49}while(0);if((E|0)==49?h:0)E=50;if((E|0)==50)c[j>>2]=c[j>>2]|2;F=c[f>>2]|0;Im(C);Im(D);i=B;return F|0}else E=25}else E=25}while(0);if((E|0)==25)e=Na()|0;Im(C);Im(D);Ya(e|0);return 0}function Bu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(24,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49}while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25}while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Cu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(25,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49}while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25}while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Du(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){E=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;k=(b|0)==0;l=c[f>>2]|0;do{if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(k)break;else break b;o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;n=o;o=0;if(n&1){E=24;break b}if((m|0)!=-1)if(k)break;else break b;else{c[f>>2]=0;E=16;break}}else E=16}while(0);if((E|0)==16){E=0;if(k){l=0;break}else l=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){E=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){E=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+k}m=b+12|0;k=c[m>>2]|0;n=b+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}}else k=d[k>>0]|0;if(Wo(k&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[m>>2]=k+1;continue}}if((E|0)==24){b=Na()|0;break}F=a[C>>0]|0;if((((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){F=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=F}o=0;g=va(26,g|0,c[v>>2]|0,h|0,u|0)|0;k=D;F=o;o=0;if(!(F&1)){F=j;c[F>>2]=g;c[F+4>>2]=k;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((b|0)==-1){c[f>>2]=0;E=49;break}}if(!g)E=50}else E=49}while(0);if((E|0)==49?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;F=c[e>>2]|0;Im(B);Im(C);i=A;return F|0}else E=25}else E=25}while(0);if((E|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Eu(b,e,f,h,j,k){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,h,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do{if(!(v&1)){t=F+8|0;u=F+1|0;h=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=h;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16}while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(h+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))h=10;else h=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,h|0,0);q=o;o=0;if(q&1){H=24;break}h=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=h+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,h,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(1,h|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){g[k>>2]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;h=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((h|0)==-1){c[e>>2]=0;b=0}}}else b=0;h=(b|0)==0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!h)H=50}else H=49}while(0);if((H|0)==49?h:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25}while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Fu(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,g,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do{if(!(v&1)){t=F+8|0;u=F+1|0;g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16}while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(g+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))g=10;else g=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,g|0,0);q=o;o=0;if(q&1){H=24;break}g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,g,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(2,g|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){h[k>>3]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!g)H=50}else H=49}while(0);if((H|0)==49?g:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25}while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Gu(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,g,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do{if(!(v&1)){t=F+8|0;u=F+1|0;g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16}while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(g+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))g=10;else g=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,g|0,0);q=o;o=0;if(q&1){H=24;break}g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,g,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(3,g|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){h[k>>3]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!g)H=50}else H=49}while(0);if((H|0)==49?g:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25}while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Hu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=qk(b)|0;b=fl(a,d,g)|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}i=f;return b|0}function Iu(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+112|0;l=y;n=(f-e|0)/12|0;do{if(n>>>0>100){l=Fl(n)|0;if((l|0)==0?(o=0,xa(6),x=o,o=0,x&1):0){k=0;q=6;break}k=l;q=11}else{k=0;q=11}}while(0);a:do{if((q|0)==11){if((e|0)==(f|0))m=0;else{r=e;p=0;q=l;while(1){m=a[r>>0]|0;if(!(m&1))m=(m&255)>>>1;else m=c[r+4>>2]|0;if(!m){a[q>>0]=2;m=p+1|0;n=n+-1|0}else{a[q>>0]=1;m=p}r=r+12|0;if((r|0)==(f|0))break;else{p=m;q=q+1|0}}}w=(e|0)==(f|0);x=(e|0)==(f|0);v=0;s=n;b:while(1){n=c[b>>2]|0;do{if(n){p=c[n+12>>2]|0;if((p|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;u=o;o=0;if(u&1){q=5;break b}}else n=c[p>>2]|0;if((n|0)==-1){c[b>>2]=0;r=1;break}else{r=(c[b>>2]|0)==0;break}}else r=1}while(0);p=c[d>>2]|0;if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0)){o=0;n=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;u=o;o=0;if(u&1){q=5;break}}else n=c[n>>2]|0;if((n|0)==-1){c[d>>2]=0;p=0;q=1}else q=0}else{p=0;q=1}n=c[b>>2]|0;if(!((s|0)!=0&(r^q))){q=66;break}p=c[n+12>>2]|0;if((p|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;u=o;o=0;if(u&1){q=5;break}}else n=c[p>>2]|0;if(!j){o=0;n=ra(c[(c[g>>2]|0)+28>>2]|0,g|0,n|0)|0;u=o;o=0;if(u&1){q=5;break}}u=v+1|0;if(w){n=0;r=s}else{r=0;t=e;q=s;s=l;while(1){do{if((a[s>>0]|0)==1){if(!(a[t>>0]&1))p=t+4|0;else p=c[t+8>>2]|0;p=c[p+(v<<2)>>2]|0;if(!j){o=0;p=ra(c[(c[g>>2]|0)+28>>2]|0,g|0,p|0)|0;z=o;o=0;if(z&1){q=4;break b}}if((n|0)!=(p|0)){a[s>>0]=0;p=r;q=q+-1|0;break}p=a[t>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[t+4>>2]|0;if((p|0)==(u|0)){a[s>>0]=2;p=1;m=m+1|0;q=q+-1|0}else p=1}else p=r}while(0);t=t+12|0;if((t|0)==(f|0)){n=p;r=q;break}else{r=p;s=s+1|0}}}if(!n){v=u;s=r;continue}n=c[b>>2]|0;p=n+12|0;q=c[p>>2]|0;if((q|0)==(c[n+16>>2]|0)){o=0;ka(c[(c[n>>2]|0)+40>>2]|0,n|0)|0;z=o;o=0;if(z&1){q=5;break}}else c[p>>2]=q+4;if((m+r|0)>>>0<2|x){v=u;s=r;continue}else{n=e;q=l}while(1){if((a[q>>0]|0)==2){p=a[n>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[n+4>>2]|0;if((p|0)!=(u|0)){a[q>>0]=0;m=m+-1|0}}n=n+12|0;if((n|0)==(f|0)){v=u;s=r;continue b}else q=q+1|0}}if((q|0)==4){e=Na()|0;break}else if((q|0)==5){e=Na()|0;break}else if((q|0)==66){do{if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0)){o=0;m=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;z=o;o=0;if(z&1){q=6;break a}}else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;break}else{n=(c[b>>2]|0)==0;break}}else n=1}while(0);do{if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0)){o=0;m=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;z=o;o=0;if(z&1){q=6;break a}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else{q=81;break}else{c[d>>2]=0;q=79;break}}else q=79}while(0);if((q|0)==79?n:0)q=81;if((q|0)==81)c[h>>2]=c[h>>2]|2;c:do{if((e|0)==(f|0))q=85;else while(1){if((a[l>>0]|0)==2)break c;e=e+12|0;if((e|0)==(f|0)){q=85;break}else l=l+1|0}}while(0);if((q|0)==85){c[h>>2]=c[h>>2]|4;e=f}if(k)Gl(k);i=y;return e|0}}}while(0);if((q|0)==6)e=Na()|0;if(k)Gl(k);Ya(e|0);return 0}function Ju(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(21,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Ku(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do{if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0)){o=0;f=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;m=o;o=0;if(m&1){C=25;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(l)break;else break b;else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(l){k=0;break}else k=0}f=a[A>>0]|0;f=(f&1)==0?(f&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+f|0)){o=0;wa(8,A|0,f<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+f}l=j+12|0;f=c[l>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}}else f=c[f>>2]|0;if(jp(f,t,b,u,v,n,B,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0)){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}else continue}else{c[l>>2]=f+4;continue}}if((C|0)==25){b=Na()|0;break}E=a[B>>0]|0;if((((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){E=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=E}o=0;b=va(22,b|0,c[u>>2]|0,g|0,t|0)|0;f=D;E=o;o=0;if(!(E&1)){E=h;c[E>>2]=b;c[E+4>>2]=f;Ur(B,x,c[y>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;E=c[d>>2]|0;Im(A);Im(B);i=z;return E|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Lu(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+320|0;t=A+208|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;np(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))d=10;else d=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,d|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;d=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=d;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=c[k>>2]|0;k=c[e>>2]|0;b:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0)){o=0;g=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=25;break}}else g=c[g>>2]|0;if((g|0)==-1){c[e>>2]=0;g=0;l=1}else{g=k;l=0}}else{g=0;l=1}m=c[f>>2]|0;do{if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0)){o=0;k=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;n=o;o=0;if(n&1){D=25;break b}}else k=c[k>>2]|0;if((k|0)!=-1)if(l)break;else{k=m;break b}else{c[f>>2]=0;D=17;break}}else D=17}while(0);if((D|0)==17){D=0;if(l){k=0;break}else m=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(d+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){D=25;break}if(!(a[B>>0]&1))d=10;else d=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,d|0,0);n=o;o=0;if(n&1){D=25;break}d=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=d+k}l=g+12|0;k=c[l>>2]|0;n=g+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=25;break}}else k=c[k>>2]|0;if(jp(k,u,d,v,w,p,C,y,z,t)|0){k=m;break}k=c[l>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=25;break}else{k=g;continue}}else{c[l>>2]=k+4;k=g;continue}}if((D|0)==25){d=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;d=va(23,d|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){b[j>>1]=d;Ur(C,y,c[z>>2]|0,h);if(g){d=c[g+12>>2]|0;if((d|0)==(c[g+16>>2]|0)){o=0;d=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=26;break}}else d=c[d>>2]|0;if((d|0)==-1){c[e>>2]=0;g=1}else g=0}else g=1;do{if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0)){o=0;d=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=26;break a}}else d=c[d>>2]|0;if((d|0)!=-1)if(g)break;else{D=53;break}else{c[f>>2]=0;D=51;break}}else D=51}while(0);if((D|0)==51?g:0)D=53;if((D|0)==53)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=26}else D=26}while(0);if((D|0)==26)d=Na()|0;Im(B);Im(C);Ya(d|0);return 0}function Mu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(24,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Nu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(25,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Ou(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do{if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0)){o=0;f=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;m=o;o=0;if(m&1){C=25;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(l)break;else break b;else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(l){k=0;break}else k=0}f=a[A>>0]|0;f=(f&1)==0?(f&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+f|0)){o=0;wa(8,A|0,f<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+f}l=j+12|0;f=c[l>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}}else f=c[f>>2]|0;if(jp(f,t,b,u,v,n,B,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0)){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}else continue}else{c[l>>2]=f+4;continue}}if((C|0)==25){b=Na()|0;break}E=a[B>>0]|0;if((((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){E=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=E}o=0;b=va(26,b|0,c[u>>2]|0,g|0,t|0)|0;f=D;E=o;o=0;if(!(E&1)){E=h;c[E>>2]=b;c[E+4>>2]=f;Ur(B,x,c[y>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;E=c[d>>2]|0;Im(A);Im(B);i=z;return E|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Pu(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do{if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do{if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17}while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(1,b|0,c[x>>2]|0,h|0);H=o;o=0;if(!(H&1)){g[j>>2]=k;Ur(F,B,c[C>>2]|0,h);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51}while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[h>>2]=c[h>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26}while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Qu(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do{if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do{if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17}while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(2,b|0,c[x>>2]|0,g|0);H=o;o=0;if(!(H&1)){h[j>>3]=k;Ur(F,B,c[C>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51}while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[g>>2]=c[g>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26}while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Ru(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do{if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do{if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17}while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(3,b|0,c[x>>2]|0,g|0);H=o;o=0;if(!(H&1)){h[j>>3]=k;Ur(F,B,c[C>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51}while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[g>>2]=c[g>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26}while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Su(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[h>>2]=f;f=qk(d)|0;d=el(a,b,e,h)|0;if((f|0)!=0?(o=0,ka(75,f|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}i=g;return d|0}function Tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=qk(b)|0;o=0;b=ma(37,a|0,d|0,g|0)|0;a=o;o=0;if(a&1){b=Na()|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}Ya(b|0)}else{if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}i=f;return b|0}return 0}function Uu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0;p=i;i=i+16|0;n=p;j=c[b>>2]|0;a:do{if(!j)j=0;else{q=d;l=f-q>>2;m=g+12|0;k=c[m>>2]|0;l=(k|0)>(l|0)?k-l|0:0;k=e;q=k-q|0;g=q>>2;if((q|0)>0?(Gb[c[(c[j>>2]|0)+48>>2]&63](j,d,g)|0)!=(g|0):0){c[b>>2]=0;j=0;break}do{if((l|0)>0){Vm(n,l,h);o=0;g=ma(c[(c[j>>2]|0)+48>>2]|0,j|0,((a[n>>0]&1)==0?n+4|0:c[n+8>>2]|0)|0,l|0)|0;q=o;o=0;if(q&1){q=Na()|0;Wm(n);Ya(q|0)}if((g|0)==(l|0)){Wm(n);break}else{c[b>>2]=0;Wm(n);j=0;break a}}}while(0);q=f-k|0;f=q>>2;if((q|0)>0?(Gb[c[(c[j>>2]|0)+48>>2]&63](j,e,f)|0)!=(f|0):0){c[b>>2]=0;j=0;break}c[m>>2]=0}}while(0);i=p;return j|0}function Vu(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=c[a>>2]|0;do{if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0))if((Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1){c[a>>2]=0;i=0;break}else{i=c[a>>2]|0;break}}else i=0}while(0);j=(i|0)==0;i=c[e>>2]|0;do{if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;r=11;break}if(j)r=13;else r=12}else r=11}while(0);if((r|0)==11)if(j)r=12;else{i=0;r=13}a:do{if((r|0)==12){c[f>>2]=c[f>>2]|6;i=0}else if((r|0)==13){j=c[a>>2]|0;k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[k>>0]|0;k=j&255;if(k<<24>>24>-1?(q=g+8|0,(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048)!=0):0){m=(Gb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24;j=c[a>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0)){Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=h;n=i;h=i;i=m}else{c[k>>2]=l+1;o=h;n=i;h=i;i=m}while(1){i=i+-48|0;p=o+-1|0;j=c[a>>2]|0;do{if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0}while(0);l=(j|0)==0;if(h)if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;k=0;h=0}else{k=n;h=n}else k=n;else{k=n;h=0}j=c[a>>2]|0;if(!((o|0)>1&(l^(h|0)==0)))break;l=c[j+12>>2]|0;if((l|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[l>>0]|0;l=j&255;if(l<<24>>24<=-1)break a;if(!(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=((Gb[c[(c[g>>2]|0)+36>>2]&63](g,l,0)|0)<<24>>24)+(i*10|0)|0;j=c[a>>2]|0;l=j+12|0;m=c[l>>2]|0;if((m|0)==(c[j+16>>2]|0)){Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=p;n=k;continue}else{c[l>>2]=m+1;o=p;n=k;continue}}do{if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0}while(0);j=(j|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)?(Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0)==-1:0){c[e>>2]=0;r=50;break}if(j)break a}else r=50}while(0);if((r|0)==50?!j:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}}while(0);return i|0}function Wu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a>>2]|0;do{if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[h>>2]|0;if((g|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1}while(0);h=c[b>>2]|0;do{if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=c[g>>2]|0;if((g|0)!=-1)if(i){o=17;break}else{o=16;break}else{c[b>>2]=0;o=14;break}}else o=14}while(0);if((o|0)==14)if(i)o=16;else{h=0;o=17}a:do{if((o|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((o|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[i>>2]|0;if(!(Gb[c[(c[e>>2]|0)+12>>2]&63](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(Gb[c[(c[e>>2]|0)+52>>2]&63](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0)){Eb[c[(c[i>>2]|0)+40>>2]&127](i)|0;m=f;l=h;j=h}else{c[j>>2]=k+4;m=f;l=h;j=h}while(1){g=g+-48|0;n=m+-1|0;h=c[a>>2]|0;do{if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[i>>2]|0;if((h|0)==-1){c[a>>2]=0;k=1;break}else{k=(c[a>>2]|0)==0;break}}else k=1}while(0);do{if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;j=0;f=0;h=1;break}else{j=l;f=l;h=(l|0)==0;break}}else{j=l;f=0;h=1}}while(0);i=c[a>>2]|0;if(!((m|0)>1&(k^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if(!(Gb[c[(c[e>>2]|0)+12>>2]&63](e,2048,h)|0))break a;g=((Gb[c[(c[e>>2]|0)+52>>2]&63](e,h,0)|0)<<24>>24)+(g*10|0)|0;h=c[a>>2]|0;i=h+12|0;k=c[i>>2]|0;if((k|0)==(c[h+16>>2]|0)){Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;m=n;l=j;j=f;continue}else{c[i>>2]=k+4;m=n;l=j;j=f;continue}}do{if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if((h|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1}while(0);do{if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)!=-1)if(i)break a;else break;else{c[b>>2]=0;o=60;break}}else o=60}while(0);if((o|0)==60?!i:0)break;c[d>>2]=c[d>>2]|2}}while(0);return g|0}function Xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h|0;i=Il(e?i:0,f)|0;if(!i)Sj();do{if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}}while(0);c[g>>2]=201;c[b>>2]=j+h;c[d>>2]=(c[a>>2]|0)+f;return}function Yu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h>>2;i=Il(e?i:0,f)|0;if(!i)Sj();do{if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}}while(0);c[g>>2]=201;c[b>>2]=j+(h<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);return}function Zu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=10;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h|0;do{if((e|0)!=(d|0)){if((g-k|0)>>>0>>0){Tm(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+1|0;else i=c[b+8>>2]|0;h=e+(k-h)|0;if((d|0)!=(e|0)){f=d;g=i+k|0;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else g=g+1|0}}a[i+h>>0]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}}while(0);return b|0}function _u(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h>>2;i=Il(e?i:0,f)|0;if(!i)Sj();do{if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}}while(0);c[g>>2]=201;c[b>>2]=j+(h<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);return}function $u(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=1;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h>>2;do{if(j){if((g-k|0)>>>0>>0){an(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+4|0;else i=c[b+8>>2]|0;h=k+((e-h|0)>>>2)|0;if((d|0)!=(e|0)){f=d;g=i+(k<<2)|0;while(1){c[g>>2]=c[f>>2];f=f+4|0;if((f|0)==(e|0))break;else g=g+4|0}}c[i+(h<<2)>>2]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}}while(0);return b|0}function av(b,d){b=b|0;d=d|0;var e=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;do{if(d){o=0;ia(125,b|0,d|0);e=o;o=0;if(e&1){e=Na()|0;Dv(b);Ya(e|0)}else{Uv(b,d);break}}}while(0);return}function bv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43148)|0);return}function cv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43188)|0);return}function dv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44220)|0);return}function ev(a,b){a=a|0;b=b|0;xs(a,b,Hs(44212)|0);return}function fv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44280)|0);return}function gv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44288)|0);return}function hv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44344)|0);return}function iv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44352)|0);return}function jv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44360)|0);return}function kv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44368)|0);return}function lv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43260)|0);return}function mv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43332)|0);return}function nv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43392)|0);return}function ov(a,b){a=a|0;b=b|0;xs(a,b,Hs(43452)|0);return}function pv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43764)|0);return}function qv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43828)|0);return}function rv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43892)|0);return}function sv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43956)|0);return}function tv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43992)|0);return}function uv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44028)|0);return}function vv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44064)|0);return}function wv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44100)|0);return}function xv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43544)|0);return}function yv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43636)|0);return}function zv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43668)|0);return}function Av(a,b){a=a|0;b=b|0;xs(a,b,Hs(43700)|0);return}function Bv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44140)|0);return}function Cv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44180)|0);return}function Dv(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;do{if(e){f=b+4|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do{d=d+-4|0}while((d|0)!=(e|0));c[f>>2]=d}if((b+16|0)==(e|0)){a[b+128>>0]=0;break}else{cj(e);break}}}while(0);return}function Ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+4|0;d=c[h>>2]|0;e=c[a>>2]|0;f=d-e>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0?(g=e+(b<<2)|0,(d|0)!=(g|0)):0){do{d=d+-4|0}while((d|0)!=(g|0));c[h>>2]=d}}else Tv(a,b-f|0);return}function Fv(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;if((c[a+12>>2]|0)-d>>2>>>0>b>>>0)d=(c[d+(b<<2)>>2]|0)!=0;else d=0;return d|0}function Gv(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;d=c[d+4>>2]|0;a=(c[a>>2]|0)+(d>>1)|0;if(d&1)b=c[(c[a>>2]|0)+b>>2]|0;Bb[b&255](a);return}function Hv(d,f,g,h,i,j,k,l){d=d|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;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do{if((m|0)==4){n=f;d=c[g>>2]|0;if(d>>>0>>0)while(1){l=b[d>>1]|0;m=l&65535;if(m>>>0>k>>>0){d=2;break a}do{if((l&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=l}else{if((l&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)>=56320){if((l&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;l=e[d>>1]|0;if((l&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}h=m&960;if(((h<<10)+65536|m<<10&64512|l&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(h>>>6)+1|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=d>>>2|240;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>2&15|d<<4&48|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m<<4&48|l>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=l&63|128}}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d;if(d>>>0>=f>>>0){d=0;break}}else d=0}}while(0);return d|0}function Iv(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;l=f;if((((l-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0){c[g>>2]=e+3;m=c[j>>2]|0}else m=h}else{m=h;l=f}q=i;h=c[g>>2]|0;e=h>>>0>>0;a:do{if(e&m>>>0>>0)while(1){e=a[h>>0]|0;o=e&255;if(o>>>0>k>>>0){e=2;break a}do{if(e<<24>>24>-1){b[m>>1]=e&255;c[g>>2]=h+1}else{if((e&255)<194){e=2;break a}if((e&255)<224){if((l-h|0)<2){e=1;break a}e=d[h+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|o<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+2;break}if((e&255)<240){if((l-h|0)<3){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;switch(o|0){case 224:{if((n&-32)<<24>>24!=-96){e=2;break a}break}case 237:{if((n&-32)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(n&255)<<6&4032|o<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+3;break}if((e&255)>=245){e=2;break a}if((l-h|0)<4){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;h=a[h+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){e=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=h&255;if((e&192|0)!=128){e=2;break a}if((q-m|0)<4){e=1;break a}o=o&7;h=n&255;n=p<<6;e=e&63;if((h<<12&258048|o<<18|n&4032|e)>>>0>k>>>0){e=2;break a}b[m>>1]=h<<2&60|p>>>4&3|((h>>>4&3|o<<2)<<6)+16320|55296;p=m+2|0;c[j>>2]=p;b[p>>1]=e|n&960|56320;c[g>>2]=(c[g>>2]|0)+4}}while(0);m=(c[j>>2]|0)+2|0;c[j>>2]=m;h=c[g>>2]|0;e=h>>>0>>0;if(!(e&m>>>0>>0)){r=39;break}}else r=39}while(0);if((r|0)==39)e=e&1;return e|0}function Jv(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do{if((e|0)!=0&g>>>0>>0){m=g;h=0;b:while(1){g=a[m>>0]|0;l=g&255;if(l>>>0>f>>>0){g=m;h=42;break a}do{if(g<<24>>24>-1)g=m+1|0;else{if((g&255)<194){g=m;h=42;break a}if((g&255)<224){if((n-m|0)<2){g=m;h=42;break a}g=d[m+1>>0]|0;if((g&192|0)!=128){g=m;h=42;break a}if((g&63|l<<6&1984)>>>0>f>>>0){g=m;h=42;break a}g=m+2|0;break}if((g&255)<240){g=m;if((n-g|0)<3){g=m;h=42;break a}j=a[m+1>>0]|0;i=a[m+2>>0]|0;switch(l|0){case 224:{if((j&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((j&-32)<<24>>24!=-128){h=22;break b}break}default:if((j&-64)<<24>>24!=-128){h=24;break b}}g=i&255;if((g&192|0)!=128){g=m;h=42;break a}if(((j&255)<<6&4032|l<<12&61440|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+3|0;break}if((g&255)>=245){g=m;h=42;break a}g=m;if((e-h|0)>>>0<2|(n-g|0)<4){g=m;h=42;break a}k=a[m+1>>0]|0;i=a[m+2>>0]|0;j=a[m+3>>0]|0;switch(l|0){case 240:{if((k+112&255)>=48){h=32;break b}break}case 244:{if((k&-16)<<24>>24!=-128){h=34;break b}break}default:if((k&-64)<<24>>24!=-128){h=36;break b}}i=i&255;if((i&192|0)!=128){g=m;h=42;break a}g=j&255;if((g&192|0)!=128){g=m;h=42;break a}if(((k&255)<<12&258048|l<<18&1835008|i<<6&4032|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+4|0;h=h+1|0}}while(0);h=h+1|0;if(!(h>>>0>>0&g>>>0>>0)){h=42;break a}else m=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42}while(0);if((h|0)==42)g=g-b|0;return g|0}function Kv(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do{if((k|0)==4){b=c[e>>2]|0;if(b>>>0>>0)while(1){j=c[b>>2]|0;if(j>>>0>i>>>0|(j&-2048|0)==55296){b=2;break a}do{if(j>>>0>=128){if(j>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}b=c[h>>2]|0;g=l-b|0;if(j>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=j}}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b;if(b>>>0>=d>>>0){b=0;break}}else b=0}}while(0);return b|0}function Lv(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;k=e;if((((k-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0){c[f>>2]=b+3;g=c[i>>2]|0;p=k}else p=k}else p=e;k=c[f>>2]|0;b=k>>>0>>0;a:do{if(b&g>>>0>>0)while(1){b=a[k>>0]|0;o=b&255;do{if(b<<24>>24>-1){if(o>>>0>j>>>0){b=2;break a}c[g>>2]=o;c[f>>2]=k+1}else{if((b&255)<194){b=2;break a}if((b&255)<224){if((p-k|0)<2){b=1;break a}b=d[k+1>>0]|0;if((b&192|0)!=128){b=2;break a}b=b&63|o<<6&1984;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+2;break}if((b&255)<240){if((p-k|0)<3){b=1;break a}l=a[k+1>>0]|0;b=a[k+2>>0]|0;switch(o|0){case 224:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case 237:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}b=b&255;if((b&192|0)!=128){b=2;break a}b=(l&255)<<6&4032|o<<12&61440|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+3;break}if((b&255)>=245){b=2;break a}if((p-k|0)<4){b=1;break a}n=a[k+1>>0]|0;b=a[k+2>>0]|0;l=a[k+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){b=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){b=2;break a}break}default:if((n&-64)<<24>>24!=-128){b=2;break a}}m=b&255;if((m&192|0)!=128){b=2;break a}b=l&255;if((b&192|0)!=128){b=2;break a}b=(n&255)<<12&258048|o<<18&1835008|m<<6&4032|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+4}}while(0);g=(c[i>>2]|0)+4|0;c[i>>2]=g;k=c[f>>2]|0;b=k>>>0>>0;if(!(b&g>>>0>>0)){q=38;break}}else q=38}while(0);if((q|0)==38)b=b&1;return b|0}function Mv(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do{if((e|0)!=0&g>>>0>>0){l=g;m=0;b:while(1){g=a[l>>0]|0;k=g&255;do{if(g<<24>>24>-1){if(k>>>0>f>>>0){g=l;h=42;break a}g=l+1|0}else{if((g&255)<194){g=l;h=42;break a}if((g&255)<224){if((n-l|0)<2){g=l;h=42;break a}g=d[l+1>>0]|0;if((g&192|0)!=128){g=l;h=42;break a}if((g&63|k<<6&1984)>>>0>f>>>0){g=l;h=42;break a}g=l+2|0;break}if((g&255)<240){g=l;if((n-g|0)<3){g=l;h=42;break a}i=a[l+1>>0]|0;h=a[l+2>>0]|0;switch(k|0){case 224:{if((i&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((i&-32)<<24>>24!=-128){h=22;break b}break}default:if((i&-64)<<24>>24!=-128){h=24;break b}}g=h&255;if((g&192|0)!=128){g=l;h=42;break a}if(((i&255)<<6&4032|k<<12&61440|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+3|0;break}if((g&255)>=245){g=l;h=42;break a}g=l;if((n-g|0)<4){g=l;h=42;break a}j=a[l+1>>0]|0;h=a[l+2>>0]|0;i=a[l+3>>0]|0;switch(k|0){case 240:{if((j+112&255)>=48){h=32;break b}break}case 244:{if((j&-16)<<24>>24!=-128){h=34;break b}break}default:if((j&-64)<<24>>24!=-128){h=36;break b}}h=h&255;if((h&192|0)!=128){g=l;h=42;break a}g=i&255;if((g&192|0)!=128){g=l;h=42;break a}if(((j&255)<<12&258048|k<<18&1835008|h<<6&4032|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+4|0}}while(0);m=m+1|0;if(!(m>>>0>>0&g>>>0>>0)){h=42;break a}else l=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42}while(0);if((h|0)==42)g=g-b|0;return g|0}function Nv(a){a=a|0;Im(45196);Im(45184);Im(45172);Im(45160);Im(45148);Im(45136);Im(45124);Im(45112);Im(45100);Im(45088);Im(45076);Im(45064);Im(45052);Im(45040);return}function Ov(a){a=a|0;Wm(45368);Wm(45356);Wm(45344);Wm(45332);Wm(45320);Wm(45308);Wm(45296);Wm(45284);Wm(45272);Wm(45260);Wm(45248);Wm(45236);Wm(45224);Wm(45212);return}function Pv(a){a=a|0;Im(46e3);Im(45988);Im(45976);Im(45964);Im(45952);Im(45940);Im(45928);Im(45916);Im(45904);Im(45892);Im(45880);Im(45868);Im(45856);Im(45844);Im(45832);Im(45820);Im(45808);Im(45796);Im(45784);Im(45772);Im(45760);Im(45748);Im(45736);Im(45724);return}function Qv(a){a=a|0;Wm(46292);Wm(46280);Wm(46268);Wm(46256);Wm(46244);Wm(46232);Wm(46220);Wm(46208);Wm(46196);Wm(46184);Wm(46172);Wm(46160);Wm(46148);Wm(46136);Wm(46124);Wm(46112);Wm(46100);Wm(46088);Wm(46076);Wm(46064);Wm(46052);Wm(46040);Wm(46028);Wm(46016);return}function Rv(a){a=a|0;Im(47104);Im(47092);Im(47080);Im(47068);Im(47056);Im(47044);Im(47032);Im(47020);Im(47008);Im(46996);Im(46984);Im(46972);Im(46960);Im(46948);Im(46936);Im(46924);Im(46912);Im(46900);Im(46888);Im(46876);Im(46864);Im(46852);Im(46840);Im(46828);return}function Sv(a){a=a|0;Wm(47396);Wm(47384);Wm(47372);Wm(47360);Wm(47348);Wm(47336);Wm(47324);Wm(47312);Wm(47300);Wm(47288);Wm(47276);Wm(47264);Wm(47252);Wm(47240);Wm(47228);Wm(47216);Wm(47204);Wm(47192);Wm(47180);Wm(47168);Wm(47156);Wm(47144);Wm(47132);Wm(47120);return}function Tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;g=c[a+8>>2]|0;d=c[a+4>>2]|0;if(g-d>>2>>>0>>0){e=c[a>>2]|0;h=d-e>>2;f=h+b|0;if(f>>>0>1073741823)$i(a);d=g-e|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?f:d}else d=1073741823;Vv(j,d,h,a+16|0);h=j+8|0;g=c[h>>2]|0;iw(g|0,0,b<<2|0)|0;c[h>>2]=g+(b<<2);Wv(a,j);Xv(j)}else Uv(a,b);i=k;return}function Uv(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Vv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[b+12>>2]=0;c[b+16>>2]=f;do{if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=bj(d<<2)|0;break}}else f=0}while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[b+12>>2]=f+(d<<2);return}function Wv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;g=a+4|0;d=b+4|0;f=(c[g>>2]|0)-e|0;h=(c[d>>2]|0)+(0-(f>>2)<<2)|0;c[d>>2]=h;lw(h|0,e|0,f|0)|0;f=c[a>>2]|0;c[a>>2]=c[d>>2];c[d>>2]=f;f=b+8|0;e=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=e;f=a+8|0;a=b+12|0;e=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=e;c[b>>2]=c[d>>2];return}function Xv(b){b=b|0;var d=0,e=0,f=0;e=c[b+4>>2]|0;f=b+8|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do{d=d+-4|0}while((d|0)!=(e|0));c[f>>2]=d}e=c[b>>2]|0;do{if(e){d=c[b+16>>2]|0;if((d|0)==(e|0)){a[d+112>>0]=0;break}else{cj(e);break}}}while(0);return}function Yv(b,d){b=b|0;d=d|0;var e=0;if(d>>>0>1073741823)$i(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=bj(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function Zv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do{if((a|0)!=(b|0)){f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}}while(0);i=j;return+e}function _v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do{if((a|0)!=(b|0)){f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}}while(0);i=j;return+e}function $v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do{if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}}while(0);i=j;return+e}function aw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;f=0;b=0;break}g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;b=Xj(b,j,f,Xo()|0)|0;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(d|0)){c[e>>2]=4;f=0;b=0;break}if((f|0)==34){c[e>>2]=4;f=-1;b=-1}else f=D}else{c[e>>2]=4;f=0;b=0}}while(0);D=f;i=k;return b|0}function bw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}}while(0);i=l;return b|0}function cw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}}while(0);i=l;return b|0}function dw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==34){c[e>>2]=4;b=-1;break}else{b=b&65535;break}}else{c[e>>2]=4;b=0}}while(0);i=l;return b|0}function ew(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do{if((a|0)!=(b|0)){g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;a=Yj(a,j,e,Xo()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;e=0;a=0;break}if((f|0)==34){c[d>>2]=4;j=(e|0)>0|(e|0)==0&a>>>0>0;D=j?2147483647:-2147483648;i=k;return(j?-1:0)|0}}else{c[d>>2]=4;e=0;a=0}}while(0);D=e;i=k;return a|0}function fw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do{if((a|0)==(b|0)){c[d>>2]=4;a=0}else{g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;a=Yj(a,j,e,Xo()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;a=0;break}do{if((f|0)==34){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}}while(0);a=-2147483648}}while(0);i=k;return a|0}function gw(){}function hw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return(D=d,a-c>>>0|0)|0}function iw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function jw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return(D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function kw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function lw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Wa(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function mw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else lw(b,c,d)|0;return b|0}function ow(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function pw(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)>>0]|0)+24|0}function qw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return(D=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=hw(j^a,i^b,j,i)|0;g=D;a=f^j;b=e^i;return hw((ww(h,g,hw(f^c,e^d,f,e)|0,D,0)|0)^a,D^b,a,b)|0}function sw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=hw(h^a,g^b,h,g)|0;b=D;ww(a,b,hw(l^d,k^e,l,k)|0,D,j)|0;e=hw(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=D;i=f;return(D=d,e)|0}function tw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=qw(e,f)|0;a=D;return(D=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function uw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ww(a,b,c,d,0)|0}function vw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;ww(a,b,d,e,f)|0;i=g;return(D=c[f+4>>2]|0,c[f>>2]|0)|0}function ww(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return(D=n,f)|0}else{if(!g){n=0;f=0;return(D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return(D=n,f)|0}}g=(i|0)==0;do{if(h){if(!g){g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return(D=n,f)|0}g=h-1|0;if(g&h){i=(ba(h|0)|0)+33-(ba(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return(D=o,p)|0}else{p=pw(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return(D=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return(D=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return(D=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((pw(i|0)|0)>>>0);return(D=o,p)|0}g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return(D=o,p)|0}}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=jw(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;hw(k,d,e,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=hw(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return(D=o,p)|0}function xw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return yb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function yw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;zb[a&15](b|0,c|0,d|0,e|0,f|0)}function zw(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;return Ab[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function Aw(a,b){a=a|0;b=b|0;Bb[a&255](b|0)}function Bw(a,b,c){a=a|0;b=b|0;c=c|0;Cb[a&127](b|0,c|0)}function Cw(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 Db[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Dw(a,b){a=a|0;b=b|0;return Eb[a&127](b|0)|0}function Ew(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;return Fb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function Fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gb[a&63](b|0,c|0,d|0)|0}function Gw(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){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;o=o|0;p=p|0;Hb[a&3](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)}function Hw(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;Ib[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function Iw(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;Jb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Jw(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;Kb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Kw(a,b,c){a=a|0;b=b|0;c=c|0;return Lb[a&63](b|0,c|0)|0}function Lw(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 Mb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Mw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return+Nb[a&3](b|0,c|0,d|0)}function Nw(a){a=a|0;return Ob[a&15]()|0}function Ow(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Pb[a&31](b|0,c|0,d|0,e|0)|0}function Pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qb[a&15](b|0,c|0,d|0)}function Qw(a){a=a|0;Rb[a&7]()}function Rw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Sb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Sw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Tb[a&7](b|0,c|0,d|0,e|0,+f)|0}function Tw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ub[a&63](b|0,c|0,d|0,e|0)}function Uw(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;ca(0);return 0}function Vw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1)}function Ww(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ca(2);return 0}function Xw(a){a=a|0;ca(3)}function Yw(a,b){a=a|0;b=b|0;ca(4)}function Zw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(5);return 0}function _w(a){a=a|0;ca(6);return 0}function $w(a){a=a|0;return cb(a|0)|0}function ax(a){a=a|0;return rb(a|0)|0}function bx(a){a=a|0;return hb(a|0)|0}function cx(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;ca(7);return 0}function dx(a,b,c){a=a|0;b=b|0;c=c|0;ca(8);return 0}function ex(a,b,c,d,e,f,g,h,i,j,k,l,m,n,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;n=n|0;o=o|0;ca(9)}function fx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(10)}function gx(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;ca(11)}function hx(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;ca(12)}function ix(a,b){a=a|0;b=b|0;ca(13);return 0}function jx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(14);return 0}function kx(a,b,c){a=a|0;b=b|0;c=c|0;ca(15);return 0.0}function lx(){ca(16);return 0}function mx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(17);return 0}function nx(a,b,c){a=a|0;b=b|0;c=c|0;ca(18)}function ox(a,b,c){a=a|0;b=b|0;c=c|0;lb(a|0,b|0,c|0)}function px(){ca(19)}function qx(){pb()}function rx(){Xa()}function sx(){mb()}function tx(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;ca(20);return 0}function ux(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ca(21);return 0}function vx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(22)}function di(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8900]|0;c[b+4580>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+256;j=b+160|0;g=b+156|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function ei(a){a=a|0;var b=0,d=0;c[a>>2]=35660;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function fi(a){a=a|0;var b=0,d=0;c[a>>2]=35660;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function gi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function hi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;pi(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function ii(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);ji(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function ji(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;k=b+172|0;y=(c[k>>2]|0)+4|0;if((c[b+28>>2]|0)==1)l=c[b+20>>2]|0;else l=1;d=$(l<<1,y)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))x=6;if((x|0)==6?(o=0,e=ka(67,d|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[D>>2]|0)+1|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!l)x=19;else{if(!(l>>>0>1073741823?(o=0,ha(178,z|0),w=o,o=0,w&1):0))x=17;if((x|0)==17?(f=l<<2,o=0,g=ka(67,f|0)|0,w=o,o=0,!(w&1)):0){c[z>>2]=g;x=g+(l<<2)|0;c[z+8>>2]=x;iw(g|0,0,f|0)|0;c[B>>2]=x;x=19;break}e=Na()|0;d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((x|0)==19){m=b+8|0;d=c[m>>2]|0;b:do{if((d|0)>0){n=b+4596|0;p=$(l,y)|0;q=p+1|0;r=b+4600|0;s=b+160|0;t=b+168|0;u=b+164|0;v=b+156|0;w=b+88|0;j=b+4592|0;if((l|0)>0)h=0;else{h=0;while(1){g=c[C>>2]|0;e=g+1|0;c[n>>2]=e;f=g+q|0;c[r>>2]=f;if(!(h&1))e=q;else{c[n>>2]=f;c[r>>2]=e;e=1}l=c[s>>2]|0;if((l|0)<=(h|0)?(h|0)<((c[t>>2]|0)+l|0):0){l=c[w>>2]|0;o=0;Aa(c[(c[l>>2]|0)+8>>2]|0,l|0,g+(e+((c[v>>2]|0)-p))|0,c[u>>2]|0,y|0);l=o;o=0;if(l&1)break;d=c[m>>2]|0}h=h+1|0;if((h|0)>=(d|0)){x=50;break b}}e=Na()|0;break}c:while(1){e=c[C>>2]|0;d=e+1|0;c[n>>2]=d;e=e+q|0;c[r>>2]=e;if(h&1){c[n>>2]=e;c[r>>2]=d;d=e}g=c[z>>2]|0;e=d;f=0;do{c[j>>2]=c[g+(f<<2)>>2];x=c[k>>2]|0;a[e+x>>0]=a[e+(x+-1)>>0]|0;a[(c[r>>2]|0)+-1>>0]=a[c[n>>2]>>0]|0;o=0;ia(83,b|0,0);x=o;o=0;if(x&1){x=38;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[j>>2];e=(c[n>>2]|0)+y|0;c[n>>2]=e;d=c[r>>2]|0;c[r>>2]=d+y;f=f+1|0}while((f|0)<(l|0));x=c[s>>2]|0;if(((x|0)<=(h|0)?(h|0)<((c[t>>2]|0)+x|0):0)?(x=c[w>>2]|0,o=0,Aa(c[(c[x>>2]|0)+8>>2]|0,x|0,d+(y+((c[v>>2]|0)-p))|0,c[u>>2]|0,y|0),x=o,o=0,x&1):0){x=30;break}h=h+1|0;if((h|0)>=(c[m>>2]|0)){x=50;break b}}if((x|0)==30){e=Na()|0;break}else if((x|0)==38){e=Na()|0;break}}else x=50}while(0);do{if((x|0)==50){o=0;ha(183,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);i=A;return}}while(0);d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}function ki(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=b+4596|0;f=c[p>>2]|0;t=b+172|0;e=c[t>>2]|0;if((e|0)<=0)return;q=b+4600|0;r=b+4604|0;s=b+4592|0;k=f;i=d[f+-1>>0]|0;f=d[f>>0]|0;o=0;while(1){m=c[q>>2]|0;j=a[m+(o+-1)>>0]|0;n=j&255;h=o+1|0;g=d[k+h>>0]|0;l=c[r>>2]|0;k=f-i|0;i=i-n|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;m=m+o|0;if(!l){e=mi(b,j,m,e-o|0)|0;f=e+o|0;if((f|0)!=(c[t>>2]|0)){n=ni(b,n,d[(c[p>>2]|0)+f>>0]|0)|0;a[(c[q>>2]|0)+f>>0]=n;n=c[s>>2]|0;c[s>>2]=(n|0)<1?0:n+-1|0;e=e+1|0}h=e+o|0;g=c[p>>2]|0;f=d[g+(h+-1)>>0]|0;g=d[g+h>>0]|0}else{e=f-n>>31;if((e^i|0)<0)e=f;else e=n+((e^k|0)<0?0:k)|0;n=li(b,l,d[m>>0]|0,e,0)|0;a[(c[q>>2]|0)+o>>0]=n}e=c[t>>2]|0;if((e|0)<=(h|0))break;k=c[p>>2]|0;i=f;f=g;o=h}return}function li(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&255;return d|0}d=f&~(h>>31);d=d&255;return d|0}function mi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4592|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;iw(e|0,d|0,g|0)|0;return g|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=b-d|0;h=a+128|0;e=a+136|0;if((((g|0)>-1?g:0-g|0)|0)>(c[e>>2]|0)){b=$(oi(a,a+4568|0)|0,d-b>>31|1)|0;f=c[e>>2]|0;g=f<<1|1;b=($(b,g)|0)+d|0;if((b|0)>=(0-f|0)){e=c[h>>2]|0;if((e+f|0)<(b|0))b=b-($(c[a+132>>2]|0,g)|0)|0}else{b=($(c[a+132>>2]|0,g)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&255;return a|0}a=e&~(b>>31);a=a&255;return a|0}else{d=oi(a,a+4580|0)|0;g=c[e>>2]|0;f=g<<1|1;b=($(f,d)|0)+b|0;if((b|0)>=(0-g|0)){e=c[h>>2]|0;if((e+g|0)<(b|0))b=b-($(c[a+132>>2]|0,f)|0)|0}else{b=($(c[a+132>>2]|0,f)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&255;return a|0}a=e&~(b>>31);a=a&255;return a|0}return 0}function oi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function pi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function qi(a){a=a|0;cj(a);return}function ri(a){a=a|0;return 50767}function si(a,b,c){a=a|0;b=b|0;c=c|0;Gm(a,50754,12);return}function ti(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+16|0;t=s;c[t>>2]=0;u=t+4|0;c[u>>2]=0;c[t+8>>2]=0;q=t+8|0;o=0;g=ka(67,1)|0;p=o;o=0;a:do{if((!(p&1)?(p=g+1|0,a[g>>0]=e,c[t>>2]=g,c[u>>2]=p,c[q>>2]=p,o=0,ia(84,t|0,d&65535|0),p=o,o=0,!(p&1)):0)?(o=0,ia(84,t|0,b&65535|0),p=o,o=0,!(p&1)):0){m=f&255;g=c[u>>2]|0;e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);p=o;o=0;if(p&1){r=52;break}b=c[t>>2]|0;e=c[q>>2]|0;d=b}l=d;g=e-l|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;e=c[u>>2]|0;k=e-l|0;if(!g){g=0;j=0}else r=12}else{k=c[u>>2]|0;g=2147483647;e=k;k=k-l|0;r=12}if((r|0)==12){o=0;j=ka(67,g|0)|0;p=o;o=0;if(p&1){r=52;break}}a[j+k>>0]=m;n=e-l|0;p=j+(k-n)|0;lw(p|0,d|0,n|0)|0;c[t>>2]=p;c[u>>2]=j+(k+1);c[q>>2]=j+g;if(b)cj(b)}else{a[g>>0]=m;c[u>>2]=(c[u>>2]|0)+1}b:do{if((f|0)>0){p=0;while(1){p=p+1|0;n=p&255;g=c[u>>2]|0;d=c[q>>2]|0;if(g>>>0>=d>>>0){b=c[t>>2]|0;e=b;j=g-e+1|0;if((j|0)<0){o=0;ha(178,t|0);m=o;o=0;if(m&1)break;b=c[t>>2]|0;e=b;d=c[q>>2]|0}m=b;g=d-m|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;d=c[u>>2]|0;k=d-m|0;if(!g){l=0;j=0}else r=25}else{k=c[u>>2]|0;g=2147483647;d=k;k=k-m|0;r=25}if((r|0)==25){r=0;o=0;j=ka(67,g|0)|0;l=o;o=0;if(l&1)break;else l=g}a[j+k>>0]=n;g=j+(k+1)|0;m=d-m|0;n=j+(k-m)|0;lw(n|0,b|0,m|0)|0;c[t>>2]=n;c[u>>2]=g;c[q>>2]=j+l;if(e){cj(e);g=c[u>>2]|0}}else{a[g>>0]=n;g=(c[u>>2]|0)+1|0;c[u>>2]=g}e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);n=o;o=0;if(n&1)break;b=c[t>>2]|0;e=c[q>>2]|0;d=b}m=d;g=e-m|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;j=c[u>>2]|0;k=j-m|0;if(!g){l=0;e=0}else r=36}else{k=c[u>>2]|0;g=2147483647;j=k;k=k-m|0;r=36}if((r|0)==36){r=0;o=0;e=ka(67,g|0)|0;n=o;o=0;if(n&1)break;else l=g}a[e+k>>0]=17;g=e+(k+1)|0;m=j-m|0;n=e+(k-m)|0;lw(n|0,d|0,m|0)|0;c[t>>2]=n;c[u>>2]=g;c[q>>2]=e+l;if(b){cj(b);g=c[u>>2]|0}}else{a[g>>0]=17;g=(c[u>>2]|0)+1|0;c[u>>2]=g}e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);n=o;o=0;if(n&1)break;b=c[t>>2]|0;e=c[q>>2]|0;d=b}l=d;g=e-l|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;e=c[u>>2]|0;k=e-l|0;if(!g){g=0;j=0}else r=48}else{k=c[u>>2]|0;g=2147483647;e=k;k=k-l|0;r=48}if((r|0)==48){r=0;o=0;j=ka(67,g|0)|0;n=o;o=0;if(n&1)break}a[j+k>>0]=0;m=e-l|0;n=j+(k-m)|0;lw(n|0,d|0,m|0)|0;c[t>>2]=n;c[u>>2]=j+(k+1);c[q>>2]=j+g;if(b)cj(b)}else{a[g>>0]=0;c[u>>2]=(c[u>>2]|0)+1}if((p|0)>=(f|0))break b}h=Na()|0;break a}}while(0);o=0;k=ka(67,20)|0;f=o;o=0;if(!(f&1)){c[k>>2]=36800;a[k+4>>0]=-9;b=k+8|0;c[b>>2]=0;j=k+12|0;c[j>>2]=0;e=k+16|0;c[e>>2]=0;g=c[u>>2]|0;f=c[t>>2]|0;d=g-f|0;do{if((g|0)!=(f|0)){if(!((d|0)<0?(o=0,ha(178,b|0),f=o,o=0,f&1):0))r=62;if((r|0)==62?(o=0,h=ka(67,d|0)|0,f=o,o=0,!(f&1)):0){c[j>>2]=h;c[b>>2]=h;c[e>>2]=h+d;g=c[t>>2]|0;e=c[u>>2]|0;if((g|0)==(e|0))break;do{a[h>>0]=a[g>>0]|0;h=(c[j>>2]|0)+1|0;c[j>>2]=h;g=g+1|0}while((g|0)!=(e|0));g=c[t>>2]|0;break}h=Na()|0;g=c[b>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}cj(k);break a}}while(0);if(!g){i=s;return k|0}if((c[u>>2]|0)!=(g|0))c[u>>2]=g;cj(g);i=s;return k|0}else r=52}else r=52}while(0);if((r|0)==52)h=Na()|0;g=c[t>>2]|0;if(!g)Ya(h|0);if((c[u>>2]|0)!=(g|0))c[u>>2]=g;cj(g);Ya(h|0);return 0}function ui(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;r=u+28|0;w=u+16|0;t=u+4|0;s=u;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;p=bj(5)|0;c[w>>2]=p;q=w+8|0;c[q>>2]=p+5;a[p>>0]=74;a[p+1>>0]=70;a[p+2>>0]=73;a[p+3>>0]=70;a[p+4>>0]=0;c[x>>2]=p+5;o=0;ia(84,w|0,c[b>>2]&65535|0);p=o;o=0;a:do{if(!(p&1)){m=c[b+4>>2]&255;d=c[x>>2]|0;f=c[q>>2]|0;if(d>>>0>=f>>>0){g=c[w>>2]|0;h=g;j=d-h+1|0;if((j|0)<0){o=0;ha(178,w|0);p=o;o=0;if(p&1){v=43;break}h=c[w>>2]|0;f=c[q>>2]|0;g=h}l=g;d=f-l|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;f=c[x>>2]|0;k=f-l|0;if(!d){d=0;j=0}else v=10}else{k=c[x>>2]|0;d=2147483647;f=k;k=k-l|0;v=10}if((v|0)==10){o=0;j=ka(67,d|0)|0;p=o;o=0;if(p&1){v=43;break}}a[j+k>>0]=m;n=f-l|0;p=j+(k-n)|0;lw(p|0,g|0,n|0)|0;c[w>>2]=p;c[x>>2]=j+(k+1);c[q>>2]=j+d;if(h)cj(h)}else{a[d>>0]=m;c[x>>2]=(c[x>>2]|0)+1}o=0;ia(84,w|0,c[b+8>>2]&65535|0);p=o;o=0;if(!(p&1)?(o=0,ia(84,w|0,c[b+12>>2]&65535|0),p=o,o=0,!(p&1)):0){p=b+16|0;n=c[p>>2]&255;d=c[x>>2]|0;g=c[q>>2]|0;if(d>>>0>=g>>>0){h=c[w>>2]|0;f=h;j=d-f+1|0;if((j|0)<0){o=0;ha(178,w|0);m=o;o=0;if(m&1){v=43;break}h=c[w>>2]|0;f=h;g=c[q>>2]|0}m=h;d=g-m|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;j=c[x>>2]|0;k=j-m|0;if(!d){l=0;g=0}else v=23}else{k=c[x>>2]|0;d=2147483647;j=k;k=k-m|0;v=23}if((v|0)==23){o=0;g=ka(67,d|0)|0;l=o;o=0;if(l&1){v=43;break}else l=d}a[g+k>>0]=n;d=g+(k+1)|0;m=j-m|0;n=g+(k-m)|0;lw(n|0,h|0,m|0)|0;c[w>>2]=n;c[x>>2]=d;c[q>>2]=g+l;if(f){cj(f);d=c[x>>2]|0}}else{a[d>>0]=n;d=(c[x>>2]|0)+1|0;c[x>>2]=d}n=b+20|0;m=c[n>>2]&255;f=c[q>>2]|0;if(d>>>0>=f>>>0){g=c[w>>2]|0;h=g;j=d-h+1|0;if((j|0)<0){o=0;ha(178,w|0);l=o;o=0;if(l&1){v=43;break}h=c[w>>2]|0;f=c[q>>2]|0;g=h}l=g;d=f-l|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;f=c[x>>2]|0;k=f-l|0;if(!d){d=0;j=0}else v=34}else{k=c[x>>2]|0;d=2147483647;f=k;k=k-l|0;v=34}if((v|0)==34){o=0;j=ka(67,d|0)|0;y=o;o=0;if(y&1){v=43;break}}a[j+k>>0]=m;m=f-l|0;y=j+(k-m)|0;lw(y|0,g|0,m|0)|0;c[w>>2]=y;c[x>>2]=j+(k+1);c[q>>2]=j+d;if(h)cj(h)}else{a[d>>0]=m;c[x>>2]=(c[x>>2]|0)+1}d=c[p>>2]|0;do{if((d|0)>0){if(!(c[b+24>>2]|0)){c[s>>2]=c[x>>2];y=0+($(d*3|0,c[n>>2]|0)|0)|0;o=0;c[r>>2]=c[s>>2];va(15,w|0,r|0,0,y|0)|0;y=o;o=0;if(y&1){v=43;break a}else break}f=Ma(16)|0;o=0;wa(5,t|0,50792,57);y=o;o=0;if(!(y&1)){o=0;d=ua(1)|0;y=o;o=0;if(!(y&1)?(o=0,Aa(36,f|0,1,d|0,t|0),y=o,o=0,!(y&1)):0){o=0;wa(6,f|0,824,96);o=0;e=0}else e=1;d=Na()|0;Im(t);if(!e){e=d;break a}}else d=Na()|0;La(f|0);e=d;break a}}while(0);o=0;k=ka(67,20)|0;y=o;o=0;if(!(y&1)){c[k>>2]=36800;a[k+4>>0]=-32;h=k+8|0;c[h>>2]=0;j=k+12|0;c[j>>2]=0;f=k+16|0;c[f>>2]=0;d=c[x>>2]|0;y=c[w>>2]|0;g=d-y|0;do{if((d|0)!=(y|0)){if(!((g|0)<0?(o=0,ha(178,h|0),y=o,o=0,y&1):0))v=53;if((v|0)==53?(o=0,e=ka(67,g|0)|0,y=o,o=0,!(y&1)):0){c[j>>2]=e;c[h>>2]=e;c[f>>2]=e+g;d=c[w>>2]|0;f=c[x>>2]|0;if((d|0)==(f|0))break;do{a[e>>0]=a[d>>0]|0;e=(c[j>>2]|0)+1|0;c[j>>2]=e;d=d+1|0}while((d|0)!=(f|0));d=c[w>>2]|0;break}d=Na()|0;e=c[h>>2]|0;if(e){if((c[j>>2]|0)!=(e|0))c[j>>2]=e;cj(e)}cj(k);v=44;break a}}while(0);if(!d){i=u;return k|0}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return k|0}else v=43}else v=43}else v=43}while(0);if((v|0)==43){d=Na()|0;v=44}if((v|0)==44)e=d;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0);return 0}function vi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;k=i;i=i+16|0;m=k;c[m>>2]=0;n=m+4|0;c[n>>2]=0;c[m+8>>2]=0;o=0;d=ka(67,1)|0;j=o;o=0;a:do{if((((((!(j&1)?(j=d+1|0,a[d>>0]=1,c[m>>2]=d,c[n>>2]=j,c[m+8>>2]=j,o=0,ia(84,m|0,c[b>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+4>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+8>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+12>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+16>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,l=ka(67,20)|0,j=o,o=0,!(j&1)):0){c[l>>2]=36800;a[l+4>>0]=-8;g=l+8|0;c[g>>2]=0;j=l+12|0;c[j>>2]=0;b=l+16|0;c[b>>2]=0;d=c[n>>2]|0;p=c[m>>2]|0;f=d-p|0;do{if((d|0)!=(p|0)){if(!((f|0)<0?(o=0,ha(178,g|0),p=o,o=0,p&1):0))h=11;if((h|0)==11?(o=0,e=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[j>>2]=e;c[g>>2]=e;c[b>>2]=e+f;d=c[m>>2]|0;b=c[n>>2]|0;if((d|0)==(b|0))break;do{a[e>>0]=a[d>>0]|0;e=(c[j>>2]|0)+1|0;c[j>>2]=e;d=d+1|0}while((d|0)!=(b|0));d=c[m>>2]|0;break}e=Na()|0;d=c[g>>2]|0;if(d){if((c[j>>2]|0)!=(d|0))c[j>>2]=d;cj(d)}cj(l);break a}}while(0);if(!d){i=k;return l|0}if((c[n>>2]|0)!=(d|0))c[n>>2]=d;cj(d);i=k;return l|0}else h=25}while(0);if((h|0)==25)e=Na()|0;d=c[m>>2]|0;if(!d)Ya(e|0);if((c[n>>2]|0)!=(d|0))c[n>>2]=d;cj(d);Ya(e|0);return 0}function wi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=bj(5)|0;a[h>>0]=109;a[h+1>>0]=114;a[h+2>>0]=102;a[h+3>>0]=120;a[h+4>>0]=b;o=0;g=ka(67,20)|0;f=o;o=0;if(f&1){g=Na()|0;cj(h);Ya(g|0)}c[g>>2]=36800;a[g+4>>0]=-24;b=g+8|0;c[b>>2]=0;d=g+12|0;c[d>>2]=0;e=g+16|0;c[e>>2]=0;o=0;f=ka(67,5)|0;i=o;o=0;if(!(i&1)){c[d>>2]=f;c[b>>2]=f;c[e>>2]=f+5;a[f>>0]=109;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=h+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=f+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=f+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;a[i>>0]=a[f+1>>0]|0;c[d>>2]=(c[d>>2]|0)+1;cj(h);return g|0}i=Na()|0;cj(g);cj(h);Ya(i|0);return 0}function xi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;t=w+8|0;o=0;g=ka(67,1)|0;s=o;o=0;a:do{if(!(s&1)){k=g+1|0;s=k;a[g>>0]=d;c[w>>2]=g;c[x>>2]=s;c[t>>2]=s;if((d|0)>0){j=k;s=0;do{r=s+b&255;if(j>>>0>=k>>>0){g=c[w>>2]|0;l=g;j=j-l+1|0;if((j|0)<0){o=0;ha(178,w|0);q=o;o=0;if(q&1){u=28;break}l=c[w>>2]|0;k=c[t>>2]|0;q=l}else q=g;p=q;g=k-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;k=c[x>>2]|0;m=k-p|0;if(!g){n=0;j=0}else u=13}else{m=c[x>>2]|0;g=2147483647;k=m;m=m-p|0;u=13}if((u|0)==13){u=0;o=0;j=ka(67,g|0)|0;n=o;o=0;if(n&1){u=28;break}else n=g}a[j+m>>0]=r;g=j+(m+1)|0;p=k-p|0;r=j+(m-p)|0;lw(r|0,q|0,p|0)|0;c[w>>2]=r;c[x>>2]=g;c[t>>2]=j+n;if(l){cj(l);g=c[x>>2]|0}}else{a[j>>0]=r;g=(c[x>>2]|0)+1|0;c[x>>2]=g}k=c[t>>2]|0;if(g>>>0>=k>>>0){l=c[w>>2]|0;j=l;m=g-j+1|0;if((m|0)<0){o=0;ha(178,w|0);r=o;o=0;if(r&1){u=28;break}l=c[w>>2]|0;j=l;k=c[t>>2]|0}p=l;g=k-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?m:g;m=c[x>>2]|0;k=m-p|0;if(!g){g=0;n=0}else u=24}else{k=c[x>>2]|0;g=2147483647;m=k;k=k-p|0;u=24}if((u|0)==24){u=0;o=0;n=ka(67,g|0)|0;r=o;o=0;if(r&1){u=28;break}}a[n+k>>0]=0;q=m-p|0;r=n+(k-q)|0;lw(r|0,l|0,q|0)|0;c[w>>2]=r;c[x>>2]=n+(k+1);c[t>>2]=n+g;if(j)cj(j)}else{a[g>>0]=0;c[x>>2]=(c[x>>2]|0)+1}s=s+1|0;j=c[x>>2]|0;k=c[t>>2]|0}while((s|0)<(d|0));if((u|0)==28){h=Na()|0;break}g=e&255;if(j>>>0>>0){a[j>>0]=g;j=(c[x>>2]|0)+1|0;c[x>>2]=j}else u=37}else{j=k;g=e&255;u=37}if((u|0)==37){l=c[w>>2]|0;m=l;n=j-m+1|0;if((n|0)<0){o=0;ha(178,w|0);e=o;o=0;if(e&1){u=29;break}m=c[w>>2]|0;k=c[t>>2]|0;l=m}r=l;j=k-r|0;if(j>>>0<1073741823){j=j<<1;j=j>>>0>>0?n:j;n=c[x>>2]|0;p=n-r|0;if(!j){q=0;k=0}else u=43}else{p=c[x>>2]|0;j=2147483647;n=p;p=p-r|0;u=43}if((u|0)==43){o=0;k=ka(67,j|0)|0;e=o;o=0;if(e&1){u=29;break}else q=j}a[k+p>>0]=g;j=k+(p+1)|0;b=n-r|0;e=k+(p-b)|0;lw(e|0,l|0,b|0)|0;c[w>>2]=e;c[x>>2]=j;c[t>>2]=k+q;if(m){cj(m);j=c[x>>2]|0}}r=f&255;g=c[t>>2]|0;if(j>>>0>=g>>>0){k=c[w>>2]|0;l=k;j=j-l+1|0;if((j|0)<0){o=0;ha(178,w|0);f=o;o=0;if(f&1){u=29;break}l=c[w>>2]|0;g=c[t>>2]|0;k=l}q=k;g=g-q|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;m=c[x>>2]|0;n=m-q|0;if(!g){p=0;j=0}else u=54}else{n=c[x>>2]|0;g=2147483647;m=n;n=n-q|0;u=54}if((u|0)==54){o=0;j=ka(67,g|0)|0;f=o;o=0;if(f&1){u=29;break}else p=g}a[j+n>>0]=r;g=j+(n+1)|0;e=m-q|0;f=j+(n-e)|0;lw(f|0,k|0,e|0)|0;c[w>>2]=f;c[x>>2]=g;c[t>>2]=j+p;if(l){cj(l);g=c[x>>2]|0}}else{a[j>>0]=r;g=(c[x>>2]|0)+1|0;c[x>>2]=g}j=c[t>>2]|0;if(g>>>0>=j>>>0){k=c[w>>2]|0;l=k;m=g-l+1|0;if((m|0)<0){o=0;ha(178,w|0);f=o;o=0;if(f&1){u=29;break}l=c[w>>2]|0;j=c[t>>2]|0;k=l}p=k;g=j-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?m:g;j=c[x>>2]|0;n=j-p|0;if(!g){g=0;m=0}else u=65}else{n=c[x>>2]|0;g=2147483647;j=n;n=n-p|0;u=65}if((u|0)==65){o=0;m=ka(67,g|0)|0;f=o;o=0;if(f&1){u=29;break}}a[m+n>>0]=0;e=j-p|0;f=m+(n-e)|0;lw(f|0,k|0,e|0)|0;c[w>>2]=f;c[x>>2]=m+(n+1);c[t>>2]=m+g;if(l)cj(l)}else{a[g>>0]=0;c[x>>2]=(c[x>>2]|0)+1}o=0;n=ka(67,20)|0;t=o;o=0;if(!(t&1)){c[n>>2]=36800;a[n+4>>0]=-38;l=n+8|0;c[l>>2]=0;m=n+12|0;c[m>>2]=0;j=n+16|0;c[j>>2]=0;g=c[x>>2]|0;t=c[w>>2]|0;k=g-t|0;do{if((g|0)!=(t|0)){if(!((k|0)<0?(o=0,ha(178,l|0),t=o,o=0,t&1):0))u=72;if((u|0)==72?(o=0,h=ka(67,k|0)|0,t=o,o=0,!(t&1)):0){c[m>>2]=h;c[l>>2]=h;c[j>>2]=h+k;g=c[w>>2]|0;j=c[x>>2]|0;if((g|0)==(j|0))break;do{a[h>>0]=a[g>>0]|0;h=(c[m>>2]|0)+1|0;c[m>>2]=h;g=g+1|0}while((g|0)!=(j|0));g=c[w>>2]|0;break}h=Na()|0;g=c[l>>2]|0;if(g){if((c[m>>2]|0)!=(g|0))c[m>>2]=g;cj(g)}cj(n);break a}}while(0);if(!g){i=v;return n|0}if((c[x>>2]|0)!=(g|0))c[x>>2]=g;cj(g);i=v;return n|0}else u=29}else u=29}while(0);if((u|0)==29)h=Na()|0;g=c[w>>2]|0;if(!g)Ya(h|0);if((c[x>>2]|0)!=(g|0))c[x>>2]=g;cj(g);Ya(h|0);return 0}function yi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=(d&65535)>>>8&255;o=b+4|0;e=c[o>>2]|0;p=b+8|0;f=c[p>>2]|0;if(e>>>0>=f>>>0){g=c[b>>2]|0;h=g;i=e-h+1|0;if((i|0)<0){$i(b);h=c[b>>2]|0;f=c[p>>2]|0;g=h}m=g;e=f-m|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?i:e;i=c[o>>2]|0;f=i-m|0;if(!e){l=0;k=0;j=f;e=i}else q=8}else{f=c[o>>2]|0;e=2147483647;i=f;f=f-m|0;q=8}if((q|0)==8){l=e;k=bj(e)|0;j=f;e=i}a[k+j>>0]=n;f=k+(j+1)|0;m=e-m|0;n=k+(j-m)|0;lw(n|0,g|0,m|0)|0;c[b>>2]=n;c[o>>2]=f;c[p>>2]=k+l;if(h){cj(h);f=c[o>>2]|0}}else{a[e>>0]=n;f=(c[o>>2]|0)+1|0;c[o>>2]=f}m=d&255;e=c[p>>2]|0;if(f>>>0>>0){a[f>>0]=m;c[o>>2]=(c[o>>2]|0)+1;return}g=c[b>>2]|0;h=g;f=f-h+1|0;if((f|0)<0){$i(b);h=c[b>>2]|0;e=c[p>>2]|0;g=h}l=g;e=e-l|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?f:e;i=c[o>>2]|0;f=i-l|0;if(!e){k=0;j=0;e=i}else q=18}else{f=c[o>>2]|0;e=2147483647;i=f;f=f-l|0;q=18}if((q|0)==18){k=e;j=bj(e)|0;e=i}a[j+f>>0]=m;d=e-l|0;q=j+(f-d)|0;lw(q|0,g|0,d|0)|0;c[b>>2]=q;c[o>>2]=j+(f+1);c[p>>2]=j+k;if(!h)return;cj(h);return}function zi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=c[b>>2]|0;q=c[d>>2]|0;p=q;k=g;n=e;l=f-n|0;if((l|0)<=0){r=q;return r|0}o=b+8|0;d=c[o>>2]|0;r=b+4|0;m=c[r>>2]|0;h=m;if((l|0)<=(d-h|0)){j=h-p|0;if((l|0)>(j|0)){i=e+j|0;if((i|0)==(f|0))d=m;else{h=i;d=m;do{a[d>>0]=a[h>>0]|0;d=(c[r>>2]|0)+1|0;c[r>>2]=d;h=h+1|0}while((h|0)!=(f|0))}if((j|0)>0)j=d;else{r=q;return r|0}}else{j=m;i=f}g=j-(g+(l-k+p))|0;d=q+g|0;if(d>>>0>>0){h=j;do{a[h>>0]=a[d>>0]|0;d=d+1|0;h=(c[r>>2]|0)+1|0;c[r>>2]=h}while((d|0)!=(m|0))}nw(j+(0-g)|0,q|0,g|0)|0;nw(q|0,e|0,i-n|0)|0;r=q;return r|0}h=h-k+l|0;if((h|0)<0){$i(b);d=c[o>>2]|0;g=c[b>>2]|0}i=g;d=d-i|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?h:d;h=p-i|0;if(!d){i=0;l=0}else j=15}else{d=2147483647;h=p-i|0;j=15}if((j|0)==15){i=d;l=bj(d)|0}k=l+h|0;d=k;j=l+i|0;if((e|0)!=(f|0)){g=e;i=k;do{a[i>>0]=a[g>>0]|0;i=d+1|0;d=i;g=g+1|0}while((g|0)!=(f|0));g=c[b>>2]|0}e=p-g|0;f=l+(h-e)|0;lw(f|0,g|0,e|0)|0;p=(c[r>>2]|0)-p|0;e=d;lw(e|0,q|0,p|0)|0;d=c[b>>2]|0;c[b>>2]=f;c[r>>2]=e+p;c[o>>2]=j;if(!d){r=k;return r|0}cj(d);r=k;return r|0}function Ai(a){a=a|0;var b=0;c[a>>2]=36800;b=c[a+8>>2]|0;if(!b)return;a=a+12|0;if((c[a>>2]|0)!=(b|0))c[a>>2]=b;cj(b);return}function Bi(a){a=a|0;var b=0,d=0;c[a>>2]=36800;b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Ci(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Di(d,-1);Di(d,a[b+4>>0]|0);g=b+12|0;f=b+8|0;b=(c[g>>2]|0)-(c[f>>2]|0)+2|0;Di(d,(b&65535)>>>8&255);Di(d,b&255);b=c[f>>2]|0;if((c[g>>2]|0)==(b|0))return;else e=0;do{Di(d,a[b+e>>0]|0);e=e+1|0;b=c[f>>2]|0}while(e>>>0<((c[g>>2]|0)-b|0)>>>0);return}function Di(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=c[b+4>>2]|0;if(g){e=g+24|0;f=c[e>>2]|0;if((f|0)==(c[g+28>>2]|0)){Lb[c[(c[g>>2]|0)+52>>2]&63](g,d&255)|0;return}else{c[e>>2]=f+1;a[f>>0]=d;return}}e=b+16|0;f=c[e>>2]|0;if(f>>>0<(c[b+12>>2]|0)>>>0){c[e>>2]=f+1;a[(c[b+8>>2]|0)+f>>0]=d;return}e=Ma(16)|0;o=0;f=ua(1)|0;d=o;o=0;if(d&1){d=Na()|0;La(e|0);Ya(d|0)}o=0;wa(7,e|0,4,f|0);d=o;o=0;if(d&1){d=Na()|0;La(e|0);Ya(d|0)}else lb(e|0,824,96)}function Ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=(b|0)<4095?(b+128|0)/256|0:16;g=(d*3|0)+2+f|0;e=d+1|0;g=(g|0)<(e|0)|(g|0)>(b|0)?e:g;c[a+4>>2]=g;e=(f<<2|3)+(d*5|0)|0;e=(e|0)>(b|0)|(e|0)<(g|0)?g:e;c[a+8>>2]=e;d=(d*7|0)+4+(f*17|0)|0;c[a+12>>2]=(d|0)>(b|0)|(d|0)<(e|0)?e:d;c[a>>2]=b;c[a+16>>2]=64;return}function Fi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+128|0;k=m+100|0;f=m+16|0;e=m+112|0;l=m+4|0;n=m;g=f;h=b+20|0;j=g+84|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[f+16>>2]=c[b+4>>2];h=pc(e,f,b+56|0)|0;e=c[(c[h>>2]|0)+16>>2]|0;b=b+8|0;o=0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];e=ra(e|0,h|0,k|0)|0;b=o;o=0;do{if(b&1)e=Na()|0;else{g=d+4|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];g=d+16|0;b=c[g>>2]|0;k=l+8|0;c[k>>2]=(c[k>>2]|0)-b;k=l+4|0;c[k>>2]=(c[k>>2]|0)+b;k=c[(c[h>>2]|0)+12>>2]|0;c[n>>2]=e;o=0;e=va(k|0,h|0,n|0,l|0,((a[d>>0]|0)==0?0:(c[d+8>>2]|0)+b|0)|0)|0;l=o;o=0;if(l&1){e=Na()|0;f=c[n>>2]|0;c[n>>2]=0;if(!f)break;Bb[c[(c[f>>2]|0)+4>>2]&255](f);break}f=c[n>>2]|0;c[n>>2]=0;if(f)Bb[c[(c[f>>2]|0)+4>>2]&255](f);if(!(c[d+4>>2]|0))c[g>>2]=(c[g>>2]|0)+e;if(!h){i=m;return}Bb[c[(c[h>>2]|0)+4>>2]&255](h);i=m;return}}while(0);if(!h)Ya(e|0);Bb[c[(c[h>>2]|0)+4>>2]&255](h);Ya(e|0)}function Gi(b,d){b=b|0;d=d|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];a[b+12>>0]=0;d=b+16|0;b=d+100|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));return}function Hi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+32|0;u=v+4|0;q=v+16|0;w=v;Ii(b);r=b+16|0;g=c[b+24>>2]|0;a:do{if((g+-2|0)>>>0<=14){s=b+40|0;e=c[s>>2]|0;if(e>>>0>2)e=5;else{t=b+32|0;h=c[t>>2]|0;switch(h|0){case 0:{e=1;break a}case 4:{if((e|0)==2){e=2;break a}break}case 3:break;default:if(e){e=2;break a}}p=b+100|0;e=b+108|0;f=c[e>>2]|0;if((f|0)<1){f=c[r>>2]|0;c[e>>2]=f;e=c[b+20>>2]|0;c[b+112>>2]=e}else e=c[b+112>>2]|0;l=tw(e|0,((e|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;k=(g+7|0)/8|0;k=tw(l|0,D|0,k|0,((k|0)<0)<<31>>31|0)|0;l=d+4|0;e=c[l>>2]|0;j=d+8|0;if((e|0)!=0?(m=c[j>>2]|0,n=tw(h|0,((h|0)<0)<<31>>31|0,k|0,D|0)|0,g=D,0<(g|0)|0==(g|0)&m>>>0>>0):0){e=Ma(16)|0;o=0;f=ua(1)|0;w=o;o=0;if(!(w&1)?(o=0,wa(7,e|0,3,f|0),w=o,o=0,!(w&1)):0)lb(e|0,824,96);w=Na()|0;La(e|0);Ya(w|0)}m=b+52|0;n=b+12|0;if((h|0)>0)h=0;else{i=v;return}while(1){Ji(b,(h|0)==0);f=nc(q,r,m)|0;g=c[(c[f>>2]|0)+8>>2]|0;o=0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];g=ra(g|0,f|0,u|0)|0;x=o;o=0;if(x&1){g=32;break}x=c[(c[f>>2]|0)+16>>2]|0;c[w>>2]=g;o=0;fa(x|0,f|0,w|0,p|0,b|0,(a[n>>0]|0)!=0|0);x=o;o=0;if(x&1){g=30;break}g=c[w>>2]|0;c[w>>2]=0;if(g)Bb[c[(c[g>>2]|0)+4>>2]&255](g);if(!e)e=0;else{e=e+k|0;c[l>>2]=e;c[j>>2]=(c[j>>2]|0)-k}g=(c[s>>2]|0)==0;h=(g&1)+h|0;if(f)Bb[c[(c[f>>2]|0)+4>>2]&255](f);if(!g){g=34;break}if((h|0)>=(c[t>>2]|0)){g=34;break}}if((g|0)==30){e=Na()|0;g=c[w>>2]|0;c[w>>2]=0;if(g)Bb[c[(c[g>>2]|0)+4>>2]&255](g)}else if((g|0)==32){e=Na()|0;if(!f){x=e;Ya(x|0)}}else if((g|0)==34){i=v;return}Bb[c[(c[f>>2]|0)+4>>2]&255](f);x=e;Ya(x|0)}}else e=2}while(0);f=Ma(16)|0;o=0;g=ua(1)|0;x=o;o=0;if(!(x&1)?(o=0,wa(7,f|0,e|0,g|0),x=o,o=0,!(x&1)):0)lb(f|0,824,96);x=Na()|0;La(f|0);Ya(x|0)}function Ii(a){a=a|0;var b=0,c=0,d=0,e=0;if((Mi(a)|0)<<24>>24!=-40){b=Ma(16)|0;o=0;c=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,wa(7,b|0,5,c|0),e=o,o=0,!(e&1)):0)lb(b|0,824,96);e=Na()|0;La(b|0);Ya(e|0)}b=Mi(a)|0;if(b<<24>>24==-38)return;while(1){d=((Li(a)|0)&255)<<8;d=d|(Li(a)|0)&255;b=Ni(a,b)|0;c=-2-b+d|0;if((c|0)<0)break;if((c|0)>0){b=d+-2-b|0;c=0;do{Li(a)|0;c=c+1|0}while((c|0)!=(b|0))}b=Mi(a)|0;if(b<<24>>24==-38){e=8;break}}if((e|0)==8)return;b=Ma(16)|0;o=0;c=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,wa(7,b|0,5,c|0),e=o,o=0,!(e&1)):0)lb(b|0,824,96);e=Na()|0;La(b|0);Ya(e|0)}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!b){if((Li(a)|0)<<24>>24!=-1){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,12,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}if((Li(a)|0)<<24>>24!=-38){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}}Li(a)|0;Li(a)|0;d=Li(a)|0;e=d&255;do{if(d<<24>>24==1){Li(a)|0;d=0;f=20}else{if((e|0)==(c[a+32>>2]|0)){b=Li(a)|0;if(!(d<<24>>24))break;else{d=0;f=20;break}}b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,2,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}}while(0);if((f|0)==20)while(1){Li(a)|0;d=d+1|0;b=Li(a)|0;if((d|0)==(e|0))break;else f=20}c[a+36>>2]=b&255;f=Li(a)|0;d=a+40|0;c[d>>2]=f&255;if((f&255)>=3){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}if((Li(a)|0)<<24>>24){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}e=a+28|0;if(c[e>>2]|0)return;b=c[a+108>>2]|0;if(!b)b=c[a+16>>2]|0;if(!(c[d>>2]|0))d=1;else d=c[a+32>>2]|0;f=$(d,b)|0;c[e>>2]=$(f,((c[a+24>>2]|0)+7|0)/8|0)|0;return}function Ki(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((e|0)<=0)return;n=d+4|0;o=d+8|0;q=0;do{p=Li(b)|0;f=c[n>>2]|0;g=c[o>>2]|0;if(f>>>0>=g>>>0){h=c[d>>2]|0;i=h;j=f-i+1|0;if((j|0)<0){$i(d);i=c[d>>2]|0;g=c[o>>2]|0;h=i}m=h;f=g-m|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f;j=c[n>>2]|0;g=j-m|0;if(!f){l=0;k=0;f=j}else r=10}else{g=c[n>>2]|0;f=2147483647;j=g;g=g-m|0;r=10}if((r|0)==10){r=0;l=f;k=bj(f)|0;f=j}a[k+g>>0]=p;m=f-m|0;p=k+(g-m)|0;lw(p|0,h|0,m|0)|0;c[d>>2]=p;c[n>>2]=k+(g+1);c[o>>2]=k+l;if(i)cj(i)}else{a[f>>0]=p;c[n>>2]=(c[n>>2]|0)+1}q=q+1|0}while((q|0)!=(e|0));return}function Li(b){b=b|0;var e=0,f=0,g=0,h=0;f=c[b>>2]|0;if(f){b=f+12|0;e=c[b>>2]|0;if((e|0)==(c[f+16>>2]|0))b=Eb[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[b>>2]=e+1;b=d[e>>0]|0}h=b&255;return h|0}g=b+8|0;h=c[g>>2]|0;if(h){b=b+4|0;e=c[b>>2]|0;f=a[e>>0]|0;if(!e){h=f;return h|0}c[b>>2]=e+1;c[g>>2]=h+-1;h=f;return h|0}b=Ma(16)|0;o=0;e=ua(1)|0;h=o;o=0;if(h&1){h=Na()|0;La(b|0);Ya(h|0)}o=0;wa(7,b|0,4,e|0);h=o;o=0;if(h&1){h=Na()|0;La(b|0);Ya(h|0)}else lb(b|0,824,96);return 0}function Mi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+176|0;b=d+152|0;k=d+16|0;h=d;j=Li(a)|0;e=j&255;if(j<<24>>24==-1){do{b=Li(a)|0}while(b<<24>>24==-1);i=d;return b|0}j=k+56|0;g=k+4|0;c[k>>2]=36160;c[j>>2]=36180;o=0;ia(62,k+56|0,g|0);f=o;o=0;if(f&1){k=Na()|0;fn(j);Ya(k|0)}c[k+128>>2]=0;c[k+132>>2]=-1;c[k>>2]=36200;c[k+56>>2]=36220;o=0;ha(180,g|0);f=o;o=0;do{if(f&1)b=Na()|0;else{c[g>>2]=36236;f=k+36|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[k+52>>2]=16;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;o=0;ia(63,g|0,b|0);d=o;o=0;if(d&1){k=Na()|0;Im(b);Im(f);nn(g);b=k;break}Im(b);c[k+((c[(c[k>>2]|0)+-12>>2]|0)+76)>>2]=48;o=0;b=ma(28,k|0,50907,62)|0;d=o;o=0;if(!(d&1)?(d=b+((c[(c[b>>2]|0)+-12>>2]|0)+4)|0,c[d>>2]=c[d>>2]&-75|8,d=b+((c[(c[b>>2]|0)+-12>>2]|0)+4)|0,c[d>>2]=c[d>>2]|16384,c[b+((c[(c[b>>2]|0)+-12>>2]|0)+12)>>2]=2,o=0,ra(38,b|0,e|0)|0,e=o,o=0,!(e&1)):0){d=Ma(16)|0;o=0;ia(64,h|0,g|0);e=o;o=0;if(!(e&1)){o=0;b=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,Aa(36,d|0,12,b|0,h|0),e=o,o=0,!(e&1)):0){o=0;wa(6,d|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(h);if(!a){h=b;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}}else b=Na()|0;La(d|0);h=b;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}h=Na()|0;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}}while(0);k=b;fn(j);Ya(k|0);return 0}function Ni(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;d=i;i=i+320|0;j=d+300|0;m=d+152|0;k=d+288|0;n=d+16|0;l=d;switch(b<<24>>24){case-9:{c[a+24>>2]=(Li(a)|0)&255;p=((Li(a)|0)&255)<<8|(Li(a)|0)&255;c[a+16>>2]=((Li(a)|0)&255)<<8|(Li(a)|0)&255;c[a+20>>2]=p;c[a+32>>2]=(Li(a)|0)&255;p=6;i=d;return p|0}case-8:{p=Oi(a)|0;i=d;return p|0}case-24:{p=Pi(a)|0;i=d;return p|0}case-53:case-54:case-55:case-57:case-58:case-59:case-61:case-62:case-63:case-64:{h=m+56|0;f=m+4|0;c[m>>2]=36160;c[h>>2]=36180;o=0;ia(62,m+56|0,f|0);n=o;o=0;if(n&1){p=Na()|0;fn(h);Ya(p|0)}c[m+128>>2]=0;c[m+132>>2]=-1;c[m>>2]=36200;c[m+56>>2]=36220;o=0;ha(180,f|0);n=o;o=0;do{if(n&1)a=Na()|0;else{c[f>>2]=36236;g=m+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[m+52>>2]=16;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;o=0;ia(63,f|0,j|0);n=o;o=0;if(n&1){a=Na()|0;Im(j);Im(g);nn(f);break}Im(j);o=0;a=ma(28,m|0,50970,26)|0;n=o;o=0;do{if((!(n&1)?(o=0,e=ra(38,a|0,b&255|0)|0,n=o,o=0,!(n&1)):0)?(o=0,ma(28,e|0,50997,18)|0,n=o,o=0,!(n&1)):0){e=Ma(16)|0;o=0;ia(64,k|0,f|0);n=o;o=0;if(!(n&1)){o=0;a=ua(1)|0;n=o;o=0;if(!(n&1)?(o=0,Aa(36,e|0,10,a|0,k|0),n=o,o=0,!(n&1)):0){o=0;wa(6,e|0,824,96);o=0;d=0}else d=1;a=Na()|0;Im(k);if(!d)break}else a=Na()|0;La(e|0)}else p=20}while(0);if((p|0)==20)a=Na()|0;c[m>>2]=36200;c[h>>2]=36220;c[f>>2]=36236;Im(g);nn(f);fn(h);p=a;Ya(p|0)}}while(0);p=a;fn(h);Ya(p|0)}case-25:case-32:case-2:{p=0;i=d;return p|0}default:{k=n+56|0;g=n+4|0;c[n>>2]=36160;c[k>>2]=36180;o=0;ia(62,n+56|0,g|0);m=o;o=0;if(m&1){p=Na()|0;fn(k);Ya(p|0)}c[n+128>>2]=0;c[n+132>>2]=-1;c[n>>2]=36200;c[n+56>>2]=36220;o=0;ha(180,g|0);m=o;o=0;do{if(m&1)a=Na()|0;else{c[g>>2]=36236;h=n+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[n+52>>2]=16;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;o=0;ia(63,g|0,j|0);m=o;o=0;if(m&1){a=Na()|0;Im(j);Im(h);nn(g);break}Im(j);o=0;a=ma(28,n|0,51016,20)|0;m=o;o=0;do{if((!(m&1)?(o=0,f=ra(38,a|0,b&255|0)|0,m=o,o=0,!(m&1)):0)?(o=0,ma(28,f|0,51037,13)|0,m=o,o=0,!(m&1)):0){e=Ma(16)|0;o=0;ia(64,l|0,g|0);m=o;o=0;if(!(m&1)){o=0;a=ua(1)|0;m=o;o=0;if(!(m&1)?(o=0,Aa(36,e|0,11,a|0,l|0),m=o,o=0,!(m&1)):0){o=0;wa(6,e|0,824,96);o=0;d=0}else d=1;a=Na()|0;Im(l);if(!d)break}else a=Na()|0;La(e|0)}else p=40}while(0);if((p|0)==40)a=Na()|0;c[n>>2]=36200;c[k>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(k);p=a;Ya(p|0)}}while(0);p=a;fn(k);Ya(p|0)}}return 0}function Oi(a){a=a|0;var b=0;if((Li(a)|0)<<24>>24!=1){a=1;return a|0}b=((Li(a)|0)&255)<<8;c[a+52>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+56>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+60>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+64>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+68>>2]=b|(Li(a)|0)&255;a=11;return a|0}function Pi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d;c[f>>2]=0;g=f+4|0;c[g>>2]=0;c[f+8>>2]=0;o=0;wa(9,a|0,f|0,4);b=o;o=0;a:do{if(b&1)e=3;else{b=c[f>>2]|0;b:do{if(!(ol(b,51051,4)|0)){o=0;b=ka(69,a|0)|0;h=o;o=0;if(h&1){e=3;break a}b=b&255;switch(b|0){case 3:case 2:case 1:case 0:{c[a+44>>2]=b;a=5;b=c[f>>2]|0;break b}case 5:case 4:{b=Ma(16)|0;o=0;a=ua(1)|0;h=o;o=0;if(!(h&1)?(o=0,wa(7,b|0,7,a|0),h=o,o=0,!(h&1)):0){o=0;wa(6,b|0,824,96);o=0;e=3;break a}a=Na()|0;La(b|0);break a}default:{b=Ma(16)|0;o=0;a=ua(1)|0;h=o;o=0;if(!(h&1)?(o=0,wa(7,b|0,5,a|0),h=o,o=0,!(h&1)):0){o=0;wa(6,b|0,824,96);o=0;e=3;break a}a=Na()|0;La(b|0);break a}}}else a=4}while(0);if(!b){i=d;return a|0}if((c[g>>2]|0)!=(b|0))c[g>>2]=b;cj(b);i=d;return a|0}}while(0);if((e|0)==3)a=Na()|0;b=c[f>>2]|0;if(!b)Ya(a|0);if((c[g>>2]|0)!=(b|0))c[g>>2]=b;cj(b);Ya(a|0);return 0}function Qi(a){a=a|0;var b=0,d=0,e=0;e=c[(c[a>>2]|0)+-12>>2]|0;c[a+e>>2]=36200;b=a+(e+56)|0;c[b>>2]=36220;d=a+(e+4)|0;c[d>>2]=36236;Im(a+(e+36)|0);nn(d);fn(b);return}function Ri(a){a=a|0;return}function Si(a){a=a|0;cj(a);return}function Ti(b){b=b|0;a[b>>0]=0;b=b+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f;b=wi(b)|0;c[g>>2]=b;d=a+28|0;e=c[d>>2]|0;if(e>>>0<(c[a+32>>2]|0)>>>0){c[e>>2]=b;c[d>>2]=e+4;c[g>>2]=0;i=f;return}o=0;ia(57,a+24|0,g|0);a=o;o=0;if(a&1){b=Na()|0;d=c[g>>2]|0;c[g>>2]=0;if(!d)Ya(b|0);Bb[c[(c[d>>2]|0)+4>>2]&255](d);Ya(b|0)}else{b=c[g>>2]|0;c[g>>2]=0;if(!b){i=f;return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);i=f;return}}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+4|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];Di(a,-1);Di(a,-40);e=a+28|0;f=a+24|0;b=c[f>>2]|0;if((c[e>>2]|0)==(b|0)){Di(a,-1);Di(a,-39);a=a+16|0;a=c[a>>2]|0;return a|0}else d=0;do{g=c[b+(d<<2)>>2]|0;Cb[c[(c[g>>2]|0)+8>>2]&127](g,a);d=d+1|0;b=c[f>>2]|0}while(d>>>0<(c[e>>2]|0)-b>>2>>>0);Di(a,-1);Di(a,-39);g=a+16|0;g=c[g>>2]|0;return g|0}function Wi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i;i=i+48|0;j=n+32|0;f=n+12|0;k=n+8|0;m=n+4|0;p=n;e=d+36|0;do{if(((((c[e>>2]|0)==0?(c[d+40>>2]|0)==0:0)?(c[d+44>>2]|0)==0:0)?(c[d+48>>2]|0)==0:0)?(c[d+52>>2]|0)==0:0){e=c[d+8>>2]|0;if((e|0)<=12){g=a+28|0;h=a+32|0;break}Ei(f,(1<>2]|0);e=vi(f)|0;c[k>>2]=e;g=a+28|0;f=c[g>>2]|0;h=a+32|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[k>>2]=0;break}o=0;ia(57,a+24|0,k|0);j=o;o=0;if(!(j&1)){e=c[k>>2]|0;c[k>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[k>>2]|0;c[k>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}else l=6}while(0);do{if((l|0)==6){e=vi(e)|0;c[j>>2]=e;g=a+28|0;f=c[g>>2]|0;h=a+32|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[j>>2]=0;break}o=0;ia(57,a+24|0,j|0);l=o;o=0;if(!(l&1)){e=c[j>>2]|0;c[j>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[j>>2]|0;c[j>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}}while(0);e=a+20|0;f=(c[e>>2]|0)+1|0;c[e>>2]=f;e=c[d+24>>2]|0;j=(e|0)==0?1:c[d+16>>2]|0;e=xi(f,j,c[d+20>>2]|0,e)|0;c[m>>2]=e;f=c[g>>2]|0;do{if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[m>>2]=0}else{o=0;ia(57,a+24|0,m|0);l=o;o=0;if(!(l&1)){e=c[m>>2]|0;c[m>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[m>>2]|0;c[m>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}}while(0);k=bj(104)|0;c[k>>2]=36820;c[k+4>>2]=j;f=k+8|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];f=k+20|0;e=f+84|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));c[p>>2]=k;d=c[g>>2]|0;if(d>>>0<(c[h>>2]|0)>>>0){c[d>>2]=k;c[g>>2]=d+4;c[p>>2]=0;i=n;return}o=0;ia(57,a+24|0,p|0);a=o;o=0;if(a&1){d=Na()|0;e=c[p>>2]|0;c[p>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}else{d=c[p>>2]|0;c[p>>2]=0;if(!d){i=n;return}Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=n;return}}function Xi(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+96|0;p=q;o=ic(b,d,p,0)|0;if(o){g=o;i=q;return g|0}a[p+32>>0]=0;s=c[p+8>>2]|0;u=c[p>>2]|0;t=c[p+4>>2]|0;o=$(t,u)|0;r=c[p+16>>2]|0;o=$($(o,(s|0)<9?1:2)|0,r)|0;c[f>>2]=o;o=Fl(o)|0;c[e>>2]=o;c[g>>2]=u;c[h>>2]=t;c[j>>2]=s;c[k>>2]=c[p+12>>2];c[l>>2]=r;c[m>>2]=c[p+20>>2];c[n>>2]=c[p+24>>2];g=jc(o,c[f>>2]|0,b,d,0,0)|0;i=q;return g|0}function Yi(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;n=i;i=i+96|0;l=n+4|0;h=n;m=l;o=m+84|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(o|0));c[l+16>>2]=g;c[l+8>>2]=f;c[l>>2]=d;c[l+4>>2]=e;c[j>>2]=Fl(b)|0;c[h>>2]=0;d=hc(j,b,h,a,b,l,0)|0;c[k>>2]=c[h>>2];i=n;return d|0}function Zi(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;b=c[9320]|0;cl(b,a,d)|0;Wk(10,b)|0;Ga()}function _i(a){a=a|0;Ka(51337,51366,1164,51442)}function $i(a){a=a|0;Ka(51463,51486,303,51442)}function aj(){var a=0,b=0;a=i;i=i+16|0;if(!(db(37024,4)|0)){b=$a(c[9255]|0)|0;i=a;return b|0}else Zi(51562,a);return 0}function bj(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=Fl(b)|0;a:do{if(!a){while(1){a=kj()|0;if(!a)break;Rb[a&7]();a=Fl(b)|0;if(a)break a}b=Ma(4)|0;c[b>>2]=36844;lb(b|0,592,78)}}while(0);return a|0}function cj(a){a=a|0;Gl(a);return}function dj(a){a=a|0;cj(a);return}function ej(a){a=a|0;c[a>>2]=36844;return}function fj(a){a=a|0;return}function gj(a){a=a|0;cj(a);return}function hj(a){a=a|0;return 51611}function ij(a){a=a|0;var b=0;b=i;i=i+16|0;o=0;xa(a|0);a=o;o=0;if(!(a&1)){o=0;ia(85,51626,b|0);o=0}a=Na(0)|0;Va(a|0)|0;o=0;ia(85,51666,b+8|0);o=0;a=Na(0)|0;o=0;xa(3);b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else ec(a)}function jj(){var a=0,b=0,d=0;o=0;a=ua(2)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}if(((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0)?(d=b+48|0,(c[d>>2]&-256|0)==1126902528?(c[d+4>>2]|0)==1129074247:0):0)ij(c[b+12>>2]|0);d=c[9208]|0;c[9208]=d+0;ij(d)}function kj(){var a=0;a=c[9214]|0;c[9214]=a+0;return a|0}function lj(a){a=a|0;return}function mj(a){a=a|0;c[a>>2]=36868;Vj(a+4|0);return}function nj(a){a=a|0;mj(a);cj(a);return}function oj(a){a=a|0;return c[a+4>>2]|0}function pj(a){a=a|0;return}function qj(a){a=a|0;c[a>>2]=36888;return}function rj(a){a=a|0;return}function sj(a){a=a|0;cj(a);return}function tj(a){a=a|0;return 51716}function uj(a){a=a|0;return}function vj(a){a=a|0;return}function wj(a){a=a|0;return}function xj(a){a=a|0;cj(a);return}function yj(a){a=a|0;cj(a);return}function zj(a){a=a|0;cj(a);return}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=Gj(b,656,672,0)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Ub[c[(c[f>>2]|0)+28>>2]&63](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=h;return b|0}function Bj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do{if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}}while(0);return}function Cj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Bj(0,b,d,e);return}function Dj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Bj(0,b,d,e);else{a=c[a+8>>2]|0;Ub[c[(c[a>>2]|0)+28>>2]&63](a,b,d,e)}return}function Ej(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;Ub[c[(c[a>>2]|0)+28>>2]&63](a,b,d+f|0,(g&2|0)!=0?e:2);return}function Fj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do{if((b|0)!=(c[d+8>>2]|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Ej(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Ej(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else Bj(0,d,e,f)}while(0);return}function Gj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[q>>2]=f;c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=g;g=q+16|0;d=q+20|0;e=q+24|0;h=q+28|0;j=q+32|0;k=q+40|0;l=(p|0)==(f|0);m=g;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do{if(l){c[q+48>>2]=1;Ib[c[(c[f>>2]|0)+20>>2]&15](f,q,o,o,1,0);g=(c[e>>2]|0)==1?o:0}else{zb[c[(c[p>>2]|0)+24>>2]&15](p,q,o,1,0);switch(c[q+36>>2]|0){case 0:{g=(c[k>>2]|0)==1&(c[h>>2]|0)==1&(c[j>>2]|0)==1?c[d>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((c[e>>2]|0)!=1?!((c[k>>2]|0)==0&(c[h>>2]|0)==1&(c[j>>2]|0)==1):0){g=0;break}g=c[g>>2]|0}}while(0);i=r;return g|0}function Hj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do{if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;f=d+16|0;b=c[f>>2]|0;if(!b){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((b|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}b=d+24|0;f=c[b>>2]|0;if((f|0)==2){c[b>>2]=g;f=g}if((f|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}}while(0);return}function Ij(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do{if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){q=c[b+12>>2]|0;j=b+16+(q<<3)|0;Kj(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;i=c[b+8>>2]|0;if((i&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(i&1)){i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[k>>2]|0)==1)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+24|0;b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[k>>2]|0)==1?(c[i>>2]|0)==1:0)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+54|0;while(1){if(a[i>>0]|0)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;m=d+44|0;if((c[m>>2]|0)==4)break;i=c[b+12>>2]|0;j=b+16+(i<<3)|0;k=d+52|0;f=d+53|0;n=d+54|0;l=b+8|0;o=d+24|0;b:do{if((i|0)>0){i=0;h=0;b=b+16|0;while(1){a[k>>0]=0;a[f>>0]=0;Jj(b,d,e,e,1,g);if(a[n>>0]|0){q=20;break b}do{if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[l>>2]&1)){h=1;q=20;break b}else{h=1;break}if((c[o>>2]|0)==1)break b;if(!(c[l>>2]&2))break b;else{i=1;h=1}}}while(0);b=b+8|0;if(b>>>0>=j>>>0){q=20;break}}}else{i=0;h=0;q=20}}while(0);do{if((q|0)==20){if((!i?(c[p>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h)break}else q=24;if((q|0)==24?h:0)break;c[m>>2]=4;break a}}while(0);c[m>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}}while(0);return}function Jj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e+h|0,(i&2|0)!=0?f:2,g);return}function Kj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;zb[c[(c[a>>2]|0)+24>>2]&15](a,b,d+g|0,(h&2|0)!=0?e:2,f);return}function Lj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do{if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;zb[c[(c[j>>2]|0)+24>>2]&15](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;k=d+53|0;a[k>>0]=0;b=c[b+8>>2]|0;Ib[c[(c[b>>2]|0)+20>>2]&15](b,d,e,e,1,g);if(a[k>>0]|0){if(!(a[h>>0]|0)){h=1;j=13}}else{h=0;j=13}do{if((j|0)==13){c[i>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)break}else j=16;if((j|0)==16?h:0)break;c[f>>2]=4;break a}}while(0);c[f>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}}while(0);return}function Mj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do{if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}while(0);return}function Nj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((b|0)==(c[d+8>>2]|0))Hj(0,d,e,f,g);else{m=d+52|0;n=a[m>>0]|0;o=d+53|0;p=a[o>>0]|0;l=c[b+12>>2]|0;i=b+16+(l<<3)|0;a[m>>0]=0;a[o>>0]=0;Jj(b+16|0,d,e,f,g,h);a:do{if((l|0)>1){j=d+24|0;k=b+8|0;l=d+54|0;b=b+24|0;do{if(a[l>>0]|0)break a;if(!(a[m>>0]|0)){if((a[o>>0]|0)!=0?(c[k>>2]&1|0)==0:0)break a}else{if((c[j>>2]|0)==1)break a;if(!(c[k>>2]&2))break a}a[m>>0]=0;a[o>>0]=0;Jj(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}}while(0);a[m>>0]=n;a[o>>0]=p}return}function Oj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Hj(0,b,d,e,f);else{a=c[a+8>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e,f,g)}return}function Pj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Hj(0,b,d,e,f);return}function Qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=c[d>>2];a=Gb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];i=f;return a&1|0}function Rj(a){a=a|0;if(!a)a=0;else a=(Gj(a,656,704,0)|0)!=0;return a&1|0}function Sj(){var a=0;a=Ma(4)|0;ej(a);lb(a|0,592,78)}function Tj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+48|0;h=f+32|0;d=f+24|0;j=f+16|0;g=f;f=f+36|0;a=aj()|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=c[9257];Zi(51919,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Gb[c[(c[608>>2]|0)+16>>2]&63](608,e,f)|0){j=c[f>>2]|0;f=c[9257]|0;j=Eb[c[(c[j>>2]|0)+8>>2]&127](j)|0;c[g>>2]=f;c[g+4>>2]=a;c[g+8>>2]=j;Zi(51833,g)}else{c[j>>2]=c[9257];c[j+4>>2]=a;Zi(51878,j)}}Zi(51957,h)}function Uj(){var a=0;a=i;i=i+16|0;if(!(Fa(37020,184)|0)){i=a;return}else Zi(51730,a)}function Vj(a){a=a|0;var b=0,d=0;d=(c[a>>2]|0)+-4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if((b+-1|0)<0)cj((c[a>>2]|0)+-12|0);return}function Wj(a){a=a|0;var b=0;b=i;i=i+16|0;Gl(a);if(!(jb(c[9255]|0,0)|0)){i=b;return}else Zi(51780,b)}function Xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=hl(a,b,c)|0;return a|0}function Yj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=il(a,b,c)|0;return a|0}function Zj(){return 37296}function _j(){return 37300}function $j(){return 37304}function ak(a){a=a|0;return((a|0)==32|(a+-9|0)>>>0<5)&1|0}function bk(a){a=a|0;if((a+-48|0)>>>0<10)a=1;else a=((a|32)+-97|0)>>>0<6;return a&1|0}function ck(){var a=0;if(!(c[9258]|0))a=37308;else a=c[(bb()|0)+60>>2]|0;return a|0}function dk(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[51978+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=52066;e=5;break}}if((e|0)==2)if(!c)b=52066;else{b=52066;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do{if((A|0)==4){E=b+4|0;C=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0}while((ak(e)|0)!=0);b:do{switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=hk(b)|0;I=h;break b}}default:I=1}}while(0);h=e;e=0;do{if((h|32|0)!=(a[53870+e>>0]|0))break;do{if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=hk(b)|0;break}}}while(0);e=e+1|0}while(e>>>0<8);c:do{switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do{if(!e){e=0;do{if((h|32|0)!=(a[56747+e>>0]|0))break d;do{if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=hk(b)|0;break}}}while(0);e=e+1|0}while(e>>>0<3)}}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==40)e=1;else{if(!(c[C>>2]|0)){g=s;break a}c[E>>2]=(c[E>>2]|0)+-1;g=s;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=hk(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(ck()|0)>>2]=22;gk(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{do{if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|32|0)!=120){if(!(c[C>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=hk(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=hk(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;k=jw(k|0,h|0,-1,-1)|0;h=D}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do{if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){r=m*.0625;p=w;j=r;g=g+r*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}}while(0);l=jw(l|0,y|0,1,0)|0;v=x;u=D;n=1}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=hk(b)|0;w=p;m=j;continue}}if(!n){e=(c[C>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,(o|0)!=0):0)c[E>>2]=z+-2}else gk(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=jw(l|0,h|0,1,0)|0;h=D}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=tl(b,f)|0;e=D;if((h|0)==0&(e|0)==-2147483648){if(!f){gk(b,0);g=0.0;break a}if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=mw(o|0,n|0,2)|0;H=jw(H|0,D|0,-32,-1)|0;e=jw(H|0,D|0,h|0,e|0)|0;h=D;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(ck()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0>>0){c[(ck()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=jw(e|0,h|0,-1,-1)|0;h=D}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=hw(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=jw(l|0,h|0,e|0,D|0)|0;J=D;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+sk(+xk(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(ck()|0)>>2]=34;g=+yk(g,l);break a}else e=h}while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=hk(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48){h=0;e=0;while(1){h=jw(h|0,e|0,-1,-1)|0;k=D;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do{if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do{if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=jw(y|0,v|0,1,0)|0;v=D;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}}while(0);e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}}while(0);do{if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=tl(b,f)|0;e=D;if((n|0)==0&(e|0)==-2147483648){if(!f){gk(b,0);g=0.0;break}if(!(c[C>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=jw(n|0,e|0,h|0,p|0)|0;u=y;p=D;n=v;A=173}}while(0);if((A|0)==169)if(c[C>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do{if((A|0)==172){c[(ck()|0)>>2]=22;gk(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(ck()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0>>0){c[(ck()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[37312+(8-h<<2)>>2]|0);break}b=K+27+($(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[37312+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[37312+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{C=H+(p<<2)|0;E=c[C>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[C>>2]=b;e=$((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w)break i;if((c[x>>2]|0)>>>0>=9007199){h=18;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=mw(c[p>>2]|0,0,29)|0;o=jw(o|0,D|0,n|0,0)|0;n=D;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=uw(o|0,n|0,1e9,0)|0;o=vw(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){y=l+1&127;x=H+((l+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(l|0);do{if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(l|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;break j}}else A=219}while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(l|0))k=l;else break}u=(1<>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=$(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(l|0))break;else o=k}if(!n)continue;if((y|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(l<<2)>>2]=n;l=y}if((A|0)==220)if(p){c[H+(y+-1<<2)>>2]=0;h=l;l=y}else h=o;g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}r=+(I|0);j=r*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?(p|0)<0?0:p:K;if((o|0)<53){M=+sk(+xk(1.0,105-o|0),j);m=+uk(j,+xk(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do{if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do{if(n>>>0>=5e8){if(n>>>0>5e8){g=r*.75+g;break}if((k+3&127|0)==(l|0)){g=r*.5+g;break}else{g=r*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=r*.25+g}}while(0);if((53-o|0)<=1){j=g;break}if(+uk(g,1.0)!=0.0){j=g;break}j=g+1.0}}while(0);g=m+j-q;do{if((v&2147483647|0)>(-2-F|0)){if(+O(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(ck()|0)>>2]=34}}while(0);g=+yk(g,e)}}while(0);break a}default:{if(c[C>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(ck()|0)>>2]=22;gk(b,0);g=0.0;break a}}}}}while(0);if((A|0)==23){h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*t}}while(0);i=L;return+g}function fk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do{if(e>>>0>36){c[(ck()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0}while((ak(i)|0)!=0);b:do{switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=hk(b)|0;p=j;break b}}default:p=0}}while(0);j=(e|0)==0;do{if((e&-17|0)==0&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=hk(b)|0;if((d[53879+(i+1)>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){gk(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[53879+(i+1)>>0]|0)>>>0>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;gk(b,0);c[(ck()|0)>>2]=22;h=0;g=0;break a}}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=hk(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=tw(e|0,j|0,10,0)|0;l=D;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=jw(k|0,l|0,f|0,m|0)|0;j=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do{if((n|0)==46){if(!(e+-1&e)){n=a[54136+((e*23|0)>>>5&7)>>0]|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f|i<>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0>>0))break;else i=k}f=0}else{f=0;k=0}l=kw(-1,-1,n|0)|0;m=D;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=mw(k|0,i|0,n|0)|0;f=D;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[53879+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f+($(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0>>0){n=uw(-1,-1,e|0,0)|0;o=D;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=tw(k|0,m|0,e|0,0)|0;l=D;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=jw(j|0,0,f|0,l|0)|0;f=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}}while(0);if((n|0)==72)if((d[53879+(i+1)>>0]|0)>>>0>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0}while((d[53879+(i+1)>>0]|0)>>>0>>0);c[(ck()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0>>0|(j|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(ck()|0)>>2]=34;g=jw(g|0,h|0,-1,-1)|0;h=D;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(ck()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=hw(i^e|0,j^g|0,e|0,g|0)|0;h=D}}while(0);D=h;return g|0}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function hk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Uk(b)|0;if((e|0)>=0){h=c[f>>2]|0;f=b+8|0;if(h){g=c[f>>2]|0;i=c[b+4>>2]|0;f=g;h=h-(c[b+108>>2]|0)+-1|0;if((f-i|0)>(h|0))c[b+100>>2]=i+h;else j=9}else{g=c[f>>2]|0;f=g;j=9}if((j|0)==9)c[b+100>>2]=f;f=c[b+4>>2]|0;if(g){b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function ik(a){a=a|0;if(a>>>0>4294963200){c[(ck()|0)>>2]=0-a;a=-1}return a|0}function jk(a){a=a|0;return 0}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function lk(a,b){a=a|0;b=b|0;return-1|0}function mk(a){a=a|0;Gl(a);return}function nk(a,b){a=a|0;b=b|0;return(a+-48|0)>>>0<10|0}function ok(a,b){a=a|0;b=b|0;return bk(a)|0}function pk(b,c,d){b=b|0;c=c|0;d=d|0;if(((a[c>>0]|0)!=0?(ll(c,58885)|0)!=0:0)?(ll(c,54145)|0)!=0:0)d=0;else if(!d)d=Hl(1,4)|0;return d|0}function qk(a){a=a|0;var b=0,d=0;b=(bb()|0)+176|0;d=c[b>>2]|0;if(a)c[b>>2]=a;return d|0}function rk(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;h[k>>3]=b;d=c[k+4>>2]&-2147483648|d&2147483647;c[k>>2]=e;c[k+4>>2]=d;return+ +h[k>>3]}function sk(a,b){a=+a;b=+b;return+ +rk(a,b)}function tk(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=kw(d|0,m|0,52)|0;e=e&2047;j=kw(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=mw(n|0,o|0,1)|0;l=D;a:do{if(!((i|0)==0&(l|0)==0)?(g=o&2147483647,!(g>>>0>2146435072|(g|0)==2146435072&n>>>0>0|(e|0)==2047)):0){f=mw(d|0,m|0,1)|0;g=D;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return+((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=mw(d|0,m|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=mw(g|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=mw(d|0,m|0,1-e|0)|0;f=D}else f=m&1048575|1048576;if(!j){g=mw(n|0,o|0,12)|0;i=D;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=mw(g|0,i|0,1)|0;i=D}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=mw(n|0,o|0,1-j|0)|0;m=D}else m=o&1048575|1048576;l=hw(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do{if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=mw(d|0,f|0,1)|0;f=D;e=e+-1|0;l=hw(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=mw(d|0,f|0,1)|0;f=D;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=jw(d|0,f|0,0,-1048576)|0;d=D;e=mw(e|0,0,52)|0;d=d|D;e=o|e}else{e=kw(d|0,f|0,1-e|0)|0;d=D}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3}while(0);if((q|0)==3){b=a*b;b=b/b}return+b}function uk(a,b){a=+a;b=+b;return+ +tk(a,b)}function vk(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=kw(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+vk(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return+a}function wk(a,b){a=+a;b=b|0;return+ +vk(a,b)}function xk(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=mw(d+1023|0,0,52)|0;b=D;c[k>>2]=d;c[k+4>>2]=b;return+(a*+h[k>>3])}function yk(a,b){a=+a;b=b|0;return+ +xk(a,b)}function zk(a,b,c){a=a|0;b=b|0;c=c|0;return Ak(0,a,b,(c|0)!=0?c:37344)|0}function Ak(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?37348:f;f=c[j>>2]|0;a:do{if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[37076+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do{if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}}while(0);c[j>>2]=f;f=-2}}}while(0);if((k|0)==15){c[j>>2]=0;c[(ck()|0)>>2]=84;f=-1}i=l;return f|0}function Bk(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Ck(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+1040|0;l=o+8|0;n=o;k=c[b>>2]|0;c[n>>2]=k;m=(a|0)!=0;e=m?e:256;a=m?a:l;g=k;a:do{if((e|0)!=0&(k|0)!=0){j=e;k=g;e=0;while(1){g=d>>>2;h=g>>>0>=j>>>0;if(!(d>>>0>131|h)){g=k;break a}g=h?j:g;d=d-g|0;g=Dk(a,n,g,f)|0;if((g|0)==-1){e=d;break}p=(a|0)==(l|0);k=p?0:g;h=j-k|0;a=p?a:a+(g<<2)|0;e=g+e|0;g=c[n>>2]|0;if((j|0)!=(k|0)&(g|0)!=0){j=h;k=g}else{j=h;break a}}d=e;j=0;g=c[n>>2]|0;e=-1}else{j=e;e=0}}while(0);b:do{if((g|0)!=0?(j|0)!=0&(d|0)!=0:0){h=g;g=a;while(1){a=Ak(g,h,d,f)|0;if((a+2|0)>>>0<3)break;h=(c[n>>2]|0)+a|0;c[n>>2]=h;j=j+-1|0;e=e+1|0;if(!((j|0)!=0&(d|0)!=(a|0)))break b;else{d=d-a|0;g=g+4|0}}switch(a|0){case-1:{e=-1;break b}case 0:{c[n>>2]=0;break b}default:{c[f>>2]=0;break b}}}}while(0);if(m)c[b>>2]=c[n>>2];i=o;return e|0}function Dk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){g=f;j=h;m=16}else{c[g>>2]=0;l=b;g=f;k=i;m=37}else if(!b){g=f;m=7}else{i=b;g=f;m=6}a:while(1)if((m|0)==6){if(!g){m=26;break}else b=i;while(1){i=a[h>>0]|0;do{if(((i&255)+-1|0)>>>0<127?g>>>0>4&(h&3|0)==0:0){j=h;while(1){h=c[j>>2]|0;if((h+-16843009|h)&-2139062144){i=h;h=j;m=32;break}c[b>>2]=h&255;c[b+4>>2]=d[j+1>>0];c[b+8>>2]=d[j+2>>0];h=j+4|0;i=b+16|0;c[b+12>>2]=d[j+3>>0];g=g+-4|0;if(g>>>0>4){b=i;j=h}else{m=31;break}}if((m|0)==31){b=i;i=a[h>>0]|0;break}else if((m|0)==32){i=i&255;break}}}while(0);i=i&255;if((i+-1|0)>>>0>=127)break;h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g){m=26;break a}else b=b+4|0}i=i+-194|0;if(i>>>0>50){m=48;break}l=b;k=c[37076+(i<<2)>>2]|0;h=h+1|0;m=37;continue}else if((m|0)==7){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){i=c[h>>2]|0;if(!((i+-16843009|i)&-2139062144))do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(((i+-16843009|i)&-2139062144|0)==0);i=i&255}i=i&255;if((i+-1|0)>>>0<127){g=g+-1|0;h=h+1|0;m=7;continue}i=i+-194|0;if(i>>>0>50){m=48;break}i=c[37076+(i<<2)>>2]|0;j=h+1|0;m=16;continue}else if((m|0)==16){m=(d[j>>0]|0)>>>3;if((m+-16|m+(i>>26))>>>0>7){m=17;break}h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){m=20;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){m=23;break}h=j+3|0}}g=g+-1|0;m=7;continue}else if((m|0)==37){i=d[h>>0]|0;m=i>>>3;if((m+-16|m+(k>>26))>>>0>7){m=38;break}j=h+1|0;b=i+-128|k<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=41;break}j=h+2|0;b=i+-128|b<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=44;break}b=i+-128|b<<6;h=h+3|0}else h=j}else h=j;c[l>>2]=b;i=l+4|0;g=g+-1|0;m=6;continue}if((m|0)==17){h=j+-1|0;m=47}else if((m|0)==20){h=j+-1|0;m=47}else if((m|0)==23){h=j+-1|0;m=47}else if((m|0)==26)c[e>>2]=h;else if((m|0)==38){b=l;i=k;h=h+-1|0;m=47}else if((m|0)==41){g=l;f=h+-1|0;m=52}else if((m|0)==44){g=l;f=h+-1|0;m=52}if((m|0)==47)if(!i)m=48;else{g=b;f=h;m=52}if((m|0)==48)if(!(a[h>>0]|0)){if(b){c[b>>2]=0;c[e>>2]=0}f=f-g|0}else{g=b;f=h;m=52}if((m|0)==52){c[(ck()|0)>>2]=84;if(!g)f=-1;else{c[e>>2]=f;f=-1}}return f|0}function Ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k;a:do{if(!e)g=0;else{do{if(f){j=(b|0)==0?g:b;g=a[e>>0]|0;b=g&255;if(g<<24>>24>-1){c[j>>2]=b;g=g<<24>>24!=0&1;break a}g=b+-194|0;if(g>>>0<=50){b=e+1|0;h=c[37076+(g<<2)>>2]|0;if(f>>>0<4?(h&-2147483648>>>((f*6|0)+-6|0)|0)!=0:0)break;g=d[b>>0]|0;f=g>>>3;if((f+-16|f+(h>>26))>>>0<=7){g=g+-128|h<<6;if((g|0)>=0){c[j>>2]=g;g=2;break a}b=d[e+2>>0]|0;if((b&192|0)==128){b=b+-128|g<<6;if((b|0)>=0){c[j>>2]=b;g=3;break a}g=d[e+3>>0]|0;if((g&192|0)==128){c[j>>2]=g+-128|b<<6;g=4;break a}}}}}}while(0);c[(ck()|0)>>2]=84;g=-1}}while(0);i=k;return g|0}function Fk(b,d,e){b=b|0;d=d|0;e=e|0;do{if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(ck()|0)>>2]=84;b=-1;break}}else b=1}while(0);return b|0}function Gk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+272|0;j=m+8|0;l=m;h=c[b>>2]|0;c[l>>2]=h;k=(a|0)!=0;f=k?e:256;e=k?a:j;a=h;a:do{if((f|0)!=0&(h|0)!=0){h=f;g=a;f=0;while(1){a=d>>>0>=h>>>0;if(!(a|d>>>0>32)){a=g;break a}a=a?h:d;d=d-a|0;a=Hk(e,l,a,0)|0;if((a|0)==-1){f=d;break}o=(e|0)==(j|0);n=o?0:a;g=h-n|0;e=o?e:e+a|0;f=a+f|0;a=c[l>>2]|0;if((h|0)!=(n|0)&(a|0)!=0){h=g;g=a}else{h=g;break a}}d=f;h=0;a=c[l>>2]|0;f=-1}else{h=f;f=0}}while(0);b:do{if((a|0)!=0?(h|0)!=0&(d|0)!=0:0){g=a;a=e;while(1){e=Fk(a,c[g>>2]|0,0)|0;if((e+1|0)>>>0<2)break;g=(c[l>>2]|0)+4|0;c[l>>2]=g;d=d+-1|0;f=f+1|0;if(!((h|0)!=(e|0)&(d|0)!=0))break b;else{h=h-e|0;a=a+e|0}}if(!e)c[l>>2]=0;else f=-1}}while(0);if(k)c[b>>2]=c[l>>2];i=m;return f|0}function Hk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do{if(!b){b=c[d>>2]|0;f=c[b>>2]|0;if(!f)e=0;else{e=0;do{if(f>>>0>127){f=Fk(j,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do{if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=Fk(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e}while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=19;break}h=Fk(j,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=22;break}Fk(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==19){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==22){e=e-f|0;break}}}}while(0);i=k;return e|0}function Ik(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Fk(a,b,0)|0;return a|0}function Jk(a){a=a|0;return 0}function Kk(a){a=a|0;return}function Lk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Tk(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do{if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Gb[c[b+36>>2]&63](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}}while(0);i=m;return f|0}function Mk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=ik(nb(6,d|0)|0)|0;i=b;return a|0}function Nk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[9258]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=ik(vb(145,h|0)|0)|0}else{ob(185,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=ik(vb(145,g|0)|0)|0;gb(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((ik(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Pk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[9258]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=ik(wb(146,n|0)|0)|0}else{ob(186,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=ik(wb(146,m|0)|0)|0;gb(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Qk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=8;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(eb(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Pk(b,d,e)|0;i=g;return f|0}function Rk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=jl(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;lw(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Sk(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Gb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Tk(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Uk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Sk(a)|0)!=0:0)b=-1;else if((Gb[c[a+32>>2]&63](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Vk(a){a=a|0;var b=0,d=0;do{if(a){if((c[a+76>>2]|0)<=-1){b=wl(a)|0;break}d=(Jk(a)|0)==0;b=wl(a)|0;if(!d)Kk(a)}else{if(!(c[9323]|0))b=0;else b=Vk(c[9323]|0)|0;Ea(37060);a=c[9264]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Jk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=wl(a)|0|b;if(d)Kk(a);a=c[a+56>>2]|0}while((a|0)!=0);fb(37060)}}while(0);return b|0}function Wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Jk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Lk(d,b)|0;Kk(d)}else i=3;do{if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Lk(d,b)|0}}while(0);return e|0}function Xk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Tk(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do{if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Gb[c[e+36>>2]&63](e,b,d)|0;break}b:do{if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Gb[c[e+36>>2]&63](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}}while(0);lw(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}}while(0);return f|0}function Yk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Jk(e)|0)==0;a=Xk(a,f,e)|0;if(!g)Kk(e)}else a=Xk(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Zk(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Jk(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Uk(a)|0}else f=3;do{if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Uk(a)|0;break}}}while(0);return b|0}function _k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=el(a,b,d,g)|0;i=f;return e|0}function $k(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=fl(a,b,f)|0;i=e;return d|0}function al(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;do{if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Jk(d)|0;else g=0;if(!((c[d+8>>2]|0)==0?(Sk(d)|0)!=0:0))h=6;if((h|0)==6?(e=d+4|0,f=c[e>>2]|0,f>>>0>((c[d+44>>2]|0)+-8|0)>>>0):0){h=f+-1|0;c[e>>2]=h;a[h>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Kk(d);break}if(g){Kk(d);b=-1}else b=-1}else b=-1}while(0);return b|0}function bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j;f=Fl(240)|0;do{if(f){c[e>>2]=c[d>>2];e=el(f,240,b,e)|0;if(e>>>0<240){b=Il(f,e+1|0)|0;c[a>>2]=(b|0)!=0?b:f;break}Gl(f);if((e|0)>=0?(h=e+1|0,g=Fl(h)|0,c[a>>2]=g,(g|0)!=0):0)e=el(g,h,b,d)|0;else e=-1}else e=-1}while(0);i=j;return e|0}function cl(b,d,e){b=b|0;d=d|0;e=e|0;var f=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;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((xl(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Jk(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=xl(b,d,o,q,r)|0;if(h){Gb[c[b+36>>2]&63](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=xl(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Kk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function dl(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Jk(e)|0;else O=0;k=a[f>>0]|0;a:do{if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;C=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do{if(!(ak(m&255)|0)){m=(a[n>>0]|0)==37;d:do{if(m){q=n+1|0;o=a[q>>0]|0;e:do{switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=152;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case-2:{a[x>>0]=s;o=s;break c}case-1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{gk(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=hk(e)|0}while((ak(o)|0)!=0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}gk(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0>>0)c[L>>2]=o+1;else{if((hk(e)|0)<0){N=152;break b}q=c[M>>2]|0}if(q)c[L>>2]=(c[L>>2]|0)+-1;f:do{switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do{if((r&239|0)==99){iw(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{Q=n+1|0;s=(a[Q>>0]|0)==94;o=s&1;r=s?Q:n;n=s?n+2|0:Q;iw(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=r+2|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=r+2|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do{switch(o<<24>>24){case 0:{N=152;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do{if(s){if(t){f=Fl(r<<2)|0;if(!f){l=0;N=152;break b}}else f=x;c[J>>2]=0;c[C>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=hk(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Ak(K,y,1,J)|0){case-1:{l=0;N=152;break b}case-2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Il(f,l<<2)|0;if(!o){l=0;N=152;break b}Q=r;r=l;f=o;l=Q}if(!(Bk(J)|0)){l=0;N=152;break b}else{q=l;l=0}}else{if(t){l=Fl(r)|0;if(!l){l=0;f=0;N=152;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Il(l,f)|0;if(!o){f=0;N=152;break b}else{Q=r;r=f;l=o;o=Q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}}while(0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do{if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}}while(0);if(!u){if(f)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=134;break}case 111:{o=8;N=134;break}case 117:case 100:{o=10;N=134;break}case 105:{o=0;N=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+ek(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}}while(0);l:do{if((N|0)==134){N=0;o=fk(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case-2:{a[x>>0]=o;break l}case-1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{Q=x;c[Q>>2]=o;c[Q+4>>2]=D;break l}default:break l}}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}}while(0);n=n+(m&1)|0;gk(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=hk(e)|0;if((m|0)!=(d[n>>0]|0)){N=21;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(ak(d[m>>0]|0)|0))break;else n=m}gk(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=hk(e)|0}while((ak(m)|0)!=0);m=c[L>>2]|0;if(c[M>>2]|0){m=m+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==21){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=153}}else if((N|0)==152)if(!k){k=m;N=153}if((N|0)==153){m=k;k=-1}if(m){Gl(l);Gl(f)}}else k=0}while(0);if(O)Kk(e);i=P;return k|0}function el(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=37352;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(ck()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=cl(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=29;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=dl(e,b,d)|0;i=g;return h|0}function gl(a,b,c){a=a|0;b=b|0;c=c|0;return+ +zl(a,b,2)}function hl(a,b,c){a=a|0;b=b|0;c=c|0;a=Al(a,b,c,-1,-1)|0;return a|0}function il(a,b,c){a=a|0;b=b|0;c=c|0;a=Al(a,b,c,0,-2147483648)|0;return a|0}function jl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do{if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5}while(0);if((i|0)==5)if(f)i=6;else e=0;b:do{if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=$(h,16843009)|0;c:do{if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11}while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}}while(0);return((e|0)!=0?b:0)|0}function kl(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do{if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8}while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ll(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return(c&255)-(d&255)|0}function ml(a,b){a=a|0;b=b|0;kl(a,b)|0;return a|0}function nl(b){b=b|0;var d=0,e=0,f=0;f=b;a:do{if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do{b=b+1|0}while((a[b>>0]|0)!=0)}return b-f|0}function ol(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do{if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function pl(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(d|0)==0;if(a-b>>2>>>0>>0){if(!e)do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0)}else if(!e){e=b;b=a;while(1){d=d+-1|0;c[b>>2]=c[e>>2];if(!d)break;else{e=e+4|0;b=b+4|0}}}return a|0}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function tl(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=tw(f|0,b|0,10,0)|0;f=D;e=jw(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=jw(e|0,D|0,b|0,f|0)|0;b=D;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=hw(0,0,g|0,b|0)|0;f=a?D:b;e=a?e:g}D=f;return e|0}function ul(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function vl(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function wl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Gb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Gb[c[a+40>>2]&63](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}var yb=[Uw,Qq,Uq,Or,Sr,Xr,Zr,xu,Iu,Uw,Uw,Uw,Uw,Uw,Uw,Uw];var zb=[Vw,ii,Yh,Mh,Ah,oh,ch,Sg,Bg,Mj,Lj,Ij,Vw,Vw,Vw,Vw];var Ab=[Ww,bs,hs,Ww];var Bb=[Xw,ei,fi,Uh,Vh,Ih,Jh,wh,xh,kh,lh,_g,$g,Og,Pg,xg,yg,kg,lg,_f,$f,Of,Pf,Cf,Df,qf,rf,ye,ze,le,me,tc,uc,Pd,Td,Qd,bo,eo,co,fo,kd,ld,Qi,md,dd,ed,Ic,Jc,Qc,Rc,Xc,Yc,nd,od,ud,vd,Bd,Cd,Id,Jd,je,ke,He,Ie,Oe,Pe,Ve,We,af,bf,Mg,Ng,Dm,qi,Ai,Bi,Ri,Si,fj,gj,mj,nj,rj,sj,uj,xj,vj,wj,yj,zj,Cn,Tl,Zl,nn,cm,im,Bm,Cm,on,Dn,Rn,Tn,Sn,Un,Xn,Zn,Yn,_n,ko,mo,lo,no,uo,vo,en,wo,xo,yo,Ao,Ks,Eo,Fo,Jo,Ko,Yo,Zo,qp,rp,Fp,Gp,Sp,Tp,pq,qq,Nq,Pq,Sq,Tq,Wq,Xq,fr,gr,qr,rr,Br,Cr,Mr,Nr,Vr,Wr,$r,as,fs,gs,ls,ms,qs,rs,ys,zs,at,bt,wu,tt,Vt,Wt,Xt,Yt,zo,Js,Ms,kt,Bt,Jt,Rt,St,Ti,Ii,$i,sc,pn,Wn,_d,Eg,Wj,ul,vl,Ml,mk,Pr,Rr,Ls,Gv,Nv,Ov,Pv,Qv,Rv,Sv,Im,Wm,Gl,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw];var Cb=[Yw,hi,Xh,Lh,zh,nh,bh,Rg,Ag,mg,ag,Qf,Ef,sf,Ae,ne,vc,qn,Ci,Fi,Ul,Yl,dm,hm,Fn,_q,$q,ar,br,dr,er,jr,kr,lr,mr,or,pr,ur,vr,wr,xr,zr,Ar,Fr,Gr,Hr,Ir,Kr,Lr,ps,us,bu,du,fu,cu,eu,gu,kc,Ui,Gi,Hi,Ji,kn,Cc,Ec,go,dn,Qm,Zd,re,jf,wf,If,Uf,eg,qg,Dg,Ug,eh,qh,Ch,Oh,_h,ki,yi,Zi,sm,qm,hn,oo,rm,Om,_m,Zm,av,bv,cv,dv,ev,fv,st,gv,hv,iv,jv,kv,lv,mv,nv,ov,pv,qv,rv,sv,tv,uv,vv,wv,xv,yv,zv,Av,Bv,Cv,Ev,Yv,Yw,Yw];var Db=[Zw,Lo,Mo,No,Oo,Po,Qo,Ro,So,To,Uo,Vo,_o,$o,ap,bp,cp,dp,ep,fp,gp,hp,ip,xp,zp,Kp,Mp,Vp,Wp,Xp,Zp,$p,sq,tq,uq,wq,yq,es,ks,cd,Uu,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw];var Eb=[_w,un,vn,hd,yn,ri,hj,oj,tj,Mk,Vl,Kn,Mn,Nn,Jn,_l,$l,em,xn,jm,km,qo,Up,iu,ku,mu,su,uu,ou,qu,rq,ju,lu,nu,tu,vu,pu,ru,Yq,Zq,cr,hr,ir,nr,sr,tr,yr,Dr,Er,Jr,xt,yt,At,Zt,$t,_t,au,ot,pt,rt,Ft,Gt,It,Nt,Ot,Qt,ui,bj,jn,Li,Vn,$n,$w,ax,bx,qk,pl,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w];var Fb=[cx,Qr,Yr,cx];var Gb=[dx,rn,wn,An,um,vm,Aj,Bl,Pk,Ok,Nk,Qk,Gn,Ln,Wl,Pn,fm,Do,Io,ns,ss,dt,ft,it,Ns,Us,Xs,_s,Dc,yl,Rm,pk,Zu,$u,Fk,Ek,zk,bl,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx];var Hb=[ex,ds,js,ex];var Ib=[fx,fd,Pj,Oj,Nj,Hn,sn,os,ts,fx,fx,fx,fx,fx,fx,fx];var Jb=[gx,wp,Cp,Jp,Op,gx,gx,gx];var Kb=[hx,Tr,_r,cs,is,hx,hx,hx];var Lb=[ix,gi,Wh,Kh,yh,mh,ah,Qg,zg,og,cg,Sf,Gf,uf,Ce,pe,xc,id,jd,On,Xl,am,Qn,zn,gm,lm,Bn,ct,et,gt,Ss,Vs,Ys,Vi,oc,qc,io,Is,jo,ok,nk,Km,Xm,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix];var Mb=[jx,Bo,Go,sp,tp,yp,Ep,Hp,Ip,Lp,Qp,jt,wt,zt,$s,nt,qt,Et,Ht,Mt,Pt,Gk,Ck,jx,jx,jx,jx,jx,jx,jx,jx,jx];var Nb=[kx,$v,_v,Zv];var Ob=[lx,lc,aj,Xo,Bs,Cs,Ds,Zj,$j,_j,lx,lx,lx,lx,lx,lx];var Pb=[mx,ng,bg,Rf,Ff,tf,Be,oe,wc,ht,Ps,Qs,Rs,Zs,ti,zi,Hu,Tu,Dk,kk,Ak,fw,ew,dw,cw,bw,aw,mx,mx,mx,mx,mx];var Qb=[nx,tm,si,ro,Wi,Gm,ox,Am,Mm,Ki,xm,to,Xu,Yu,_u,Um];var Rb=[px,qx,Tj,rx,Uj,sx,Sj,px];var Sb=[tx,bq,Aq,ut,vt,lt,mt,Ct,Dt,Kt,Lt,tx,tx,tx,tx,tx];var Tb=[ux,Ap,Dp,Np,Pp,ux,ux,ux];var Ub=[vx,Ud,Vd,Rd,Sd,gd,Kc,Lc,Sc,Tc,Zc,_c,pd,qd,wd,xd,Dd,Ed,Kd,Ld,Je,Ke,Qe,Re,Xe,Ye,cf,df,Cj,Dj,Fj,In,tn,Co,Ho,dc,zm,yc,zc,Ac,Bc,Fc,Gc,Hc,De,Ee,Fe,Ge,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx];return{_jpegls_encode:Yi,___cxa_can_catch:Qj,_free:Gl,_jpegls_decode:Xi,___cxa_is_pointer_type:Rj,_i64Add:jw,_memmove:nw,_i64Subtract:hw,_memset:iw,_malloc:Fl,_memcpy:lw,_bitshift64Lshr:kw,_bitshift64Shl:mw,__GLOBAL__I_000101:Nl,__GLOBAL__sub_I_jpegls_cpp:rc,__GLOBAL__sub_I_iostream_cpp:Ol,runPostSets:gw,stackAlloc:Vb,stackSave:Wb,stackRestore:Xb,establishStackSpace:Yb,setThrew:Zb,setTempRet0:ac,getTempRet0:bc,dynCall_iiiiiiii:xw,dynCall_viiiii:yw,dynCall_iiiiiid:zw,dynCall_vi:Aw,dynCall_vii:Bw,dynCall_iiiiiii:Cw,dynCall_ii:Dw,dynCall_iiiiiiiiiiii:Ew,dynCall_iiii:Fw,dynCall_viiiiiiiiiiiiiii:Gw,dynCall_viiiiii:Hw,dynCall_viiiiiii:Iw,dynCall_viiiiiiiiii:Jw,dynCall_iii:Kw,dynCall_iiiiii:Lw,dynCall_diii:Mw,dynCall_i:Nw,dynCall_iiiii:Ow,dynCall_viii:Pw,dynCall_v:Qw,dynCall_iiiiiiiii:Rw,dynCall_iiiiid:Sw,dynCall_viiii:Tw}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _jpegls_encode=Module["_jpegls_encode"]=asm["_jpegls_encode"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var _jpegls_decode=Module["_jpegls_decode"]=asm["_jpegls_decode"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var __GLOBAL__sub_I_jpegls_cpp=Module["__GLOBAL__sub_I_jpegls_cpp"]=asm["__GLOBAL__sub_I_jpegls_cpp"];var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",function(){process["exit"](status)});console.log(" ");setTimeout(function(){process["exit"](status)},500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach(function(decorator){output=decorator(output,what)})}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();return Module};var ColorSpace={Unkown:0,Grayscale:1,AdobeRGB:2,RGB:3,CYMK:4};var JpegImage=function jpegImage(){"use strict";var dctZigZag=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);var dctCos1=4017;var dctSin1=799;var dctCos3=3406;var dctSin3=2276;var dctCos6=1567;var dctSin6=3784;var dctSqrt2=5793;var dctSqrt1d2=2896;function constructor(){}function buildHuffmanTable(codeLengths,values){var k=0,code=[],i,j,length=16;while(length>0&&!codeLengths[length-1])length--;code.push({children:[],index:0});var p=code[0],q;for(i=0;i0){p=code.pop()}p.index++;code.push(p);while(code.length<=i){code.push(q={children:[],index:0});p.children[p.index]=q.children;p=q}k++}if(i+10){bitsCount--;return bitsData>>bitsCount&1}bitsData=data[offset++];if(bitsData==255){var nextByte=data[offset++];if(nextByte){throw"unexpected marker: "+(bitsData<<8|nextByte).toString(16)}}bitsCount=7;return bitsData>>>7}function decodeHuffman(tree){var node=tree;var bit;while((bit=readBit())!==null){node=node[bit];if(typeof node==="number")return node;if(typeof node!=="object")throw"invalid huffman sequence"}return null}function receive(length){var n=0;while(length>0){var bit=readBit();if(bit===null)return;n=n<<1|bit;length--}return n}function receiveAndExtend(length){var n=receive(length);if(n>=1<>4;if(s===0){if(r<15)break;k+=16;continue}k+=r;var z=dctZigZag[k];component.blockData[offset+z]=receiveAndExtend(s);k++}}function decodeDCFirst(component,offset){var t=decodeHuffman(component.huffmanTableDC);var diff=t===0?0:receiveAndExtend(t)<0){eobrun--;return}var k=spectralStart,e=spectralEnd;while(k<=e){var rs=decodeHuffman(component.huffmanTableAC);var s=rs&15,r=rs>>4;if(s===0){if(r<15){eobrun=receive(r)+(1<>4;if(s===0){if(r<15){eobrun=receive(r)+(1<=65488&&marker<=65495){offset+=2}else{break}}return offset-startOffset}function quantizeAndInverse(component,blockBufferOffset,p){var qt=component.quantizationTable;var v0,v1,v2,v3,v4,v5,v6,v7,t;var i;for(i=0;i<64;i++){p[i]=component.blockData[blockBufferOffset+i]*qt[i]}for(i=0;i<8;++i){var row=8*i;if(p[1+row]===0&&p[2+row]===0&&p[3+row]===0&&p[4+row]===0&&p[5+row]===0&&p[6+row]===0&&p[7+row]===0){t=dctSqrt2*p[0+row]+512>>10;p[0+row]=t;p[1+row]=t;p[2+row]=t;p[3+row]=t;p[4+row]=t;p[5+row]=t;p[6+row]=t;p[7+row]=t;continue}v0=dctSqrt2*p[0+row]+128>>8;v1=dctSqrt2*p[4+row]+128>>8;v2=p[2+row];v3=p[6+row];v4=dctSqrt1d2*(p[1+row]-p[7+row])+128>>8;v7=dctSqrt1d2*(p[1+row]+p[7+row])+128>>8;v5=p[3+row]<<4;v6=p[5+row]<<4;t=v0-v1+1>>1;v0=v0+v1+1>>1;v1=t;t=v2*dctSin6+v3*dctCos6+128>>8;v2=v2*dctCos6-v3*dctSin6+128>>8;v3=t;t=v4-v6+1>>1;v4=v4+v6+1>>1;v6=t;t=v7+v5+1>>1;v5=v7-v5+1>>1;v7=t;t=v0-v3+1>>1;v0=v0+v3+1>>1;v3=t;t=v1-v2+1>>1;v1=v1+v2+1>>1;v2=t;t=v4*dctSin3+v7*dctCos3+2048>>12;v4=v4*dctCos3-v7*dctSin3+2048>>12;v7=t;t=v5*dctSin1+v6*dctCos1+2048>>12;v5=v5*dctCos1-v6*dctSin1+2048>>12;v6=t;p[0+row]=v0+v7;p[7+row]=v0-v7;p[1+row]=v1+v6;p[6+row]=v1-v6;p[2+row]=v2+v5;p[5+row]=v2-v5;p[3+row]=v3+v4;p[4+row]=v3-v4}for(i=0;i<8;++i){var col=i;if(p[1*8+col]===0&&p[2*8+col]===0&&p[3*8+col]===0&&p[4*8+col]===0&&p[5*8+col]===0&&p[6*8+col]===0&&p[7*8+col]===0){t=dctSqrt2*p[i+0]+8192>>14;p[0*8+col]=t;p[1*8+col]=t;p[2*8+col]=t;p[3*8+col]=t;p[4*8+col]=t;p[5*8+col]=t;p[6*8+col]=t;p[7*8+col]=t;continue}v0=dctSqrt2*p[0*8+col]+2048>>12;v1=dctSqrt2*p[4*8+col]+2048>>12;v2=p[2*8+col];v3=p[6*8+col];v4=dctSqrt1d2*(p[1*8+col]-p[7*8+col])+2048>>12;v7=dctSqrt1d2*(p[1*8+col]+p[7*8+col])+2048>>12;v5=p[3*8+col];v6=p[5*8+col];t=v0-v1+1>>1;v0=v0+v1+1>>1;v1=t;t=v2*dctSin6+v3*dctCos6+2048>>12;v2=v2*dctCos6-v3*dctSin6+2048>>12;v3=t;t=v4-v6+1>>1;v4=v4+v6+1>>1;v6=t;t=v7+v5+1>>1;v5=v7-v5+1>>1;v7=t;t=v0-v3+1>>1;v0=v0+v3+1>>1;v3=t;t=v1-v2+1>>1;v1=v1+v2+1>>1;v2=t;t=v4*dctSin3+v7*dctCos3+2048>>12;v4=v4*dctCos3-v7*dctSin3+2048>>12;v7=t;t=v5*dctSin1+v6*dctCos1+2048>>12;v5=v5*dctCos1-v6*dctSin1+2048>>12;v6=t;p[0*8+col]=v0+v7;p[7*8+col]=v0-v7;p[1*8+col]=v1+v6;p[6*8+col]=v1-v6;p[2*8+col]=v2+v5;p[5*8+col]=v2-v5;p[3*8+col]=v3+v4;p[4*8+col]=v3-v4}for(i=0;i<64;++i){var index=blockBufferOffset+i;var q=p[i];q=q<=-2056/component.bitConversion?0:q>=2024/component.bitConversion?255/component.bitConversion:q+2056/component.bitConversion>>4;component.blockData[index]=q}}function buildComponentData(frame,component){var lines=[];var blocksPerLine=component.blocksPerLine;var blocksPerColumn=component.blocksPerColumn;var samplesPerLine=blocksPerLine<<3;var computationBuffer=new Int32Array(64);var i,j,ll=0;for(var blockRow=0;blockRow=255?255:a|0}constructor.prototype={load:function load(path){var handleData=function(data){this.parse(data);if(this.onload)this.onload()}.bind(this);if(path.indexOf("data:")>-1){var offset=path.indexOf("base64,")+7;var data=atob(path.substring(offset));var arr=new Uint8Array(data.length);for(var i=data.length-1;i>=0;i--){arr[i]=data.charCodeAt(i)}handleData(data)}else{var xhr=new XMLHttpRequest;xhr.open("GET",path,true);xhr.responseType="arraybuffer";xhr.onload=function(){var data=new Uint8Array(xhr.response);handleData(data)}.bind(this);xhr.send(null)}},parse:function parse(data){function readUint16(){var value=data[offset]<<8|data[offset+1];offset+=2;return value}function readDataBlock(){var length=readUint16();var array=data.subarray(offset,offset+length-2);offset+=array.length;return array}function prepareComponents(frame){var mcusPerLine=Math.ceil(frame.samplesPerLine/8/frame.maxH);var mcusPerColumn=Math.ceil(frame.scanLines/8/frame.maxV);for(var i=0;i>4===0){for(j=0;j<64;j++){var z=dctZigZag[j];tableData[z]=data[offset++]}}else if(quantizationTableSpec>>4===1){for(j=0;j<64;j++){var zz=dctZigZag[j];tableData[zz]=readUint16()}}else throw"DQT: invalid table spec";quantizationTables[quantizationTableSpec&15]=tableData}break;case 65472:case 65473:case 65474:if(frame){throw"Only single frame JPEGs supported"}readUint16();frame={};frame.extended=fileMarker===65473;frame.progressive=fileMarker===65474;frame.precision=data[offset++];frame.scanLines=readUint16();frame.samplesPerLine=readUint16();frame.components=[];frame.componentIds={};var componentsCount=data[offset++],componentId;var maxH=0,maxV=0;for(i=0;i>4;var v=data[offset+1]&15;if(maxH>4===0?huffmanTablesDC:huffmanTablesAC)[huffmanTableSpec&15]=buildHuffmanTable(codeLengths,huffmanValues)}break;case 65501:readUint16();resetInterval=readUint16();break;case 65498:var scanLength=readUint16();var selectorsCount=data[offset++];var components=[],component;for(i=0;i>4];component.huffmanTableAC=huffmanTablesAC[tableSpec&15];components.push(component)}var spectralStart=data[offset++];var spectralEnd=data[offset++];var successiveApproximation=data[offset++];var processed=decodeScan(data,offset,frame,components,resetInterval,spectralStart,spectralEnd,successiveApproximation>>4,successiveApproximation&15);offset+=processed;break;case 65535:if(data[offset]!==255){offset--}break;default:if(data[offset-3]==255&&data[offset-2]>=192&&data[offset-2]<=254){offset-=3;break}throw"unknown JPEG marker "+fileMarker.toString(16)}fileMarker=readUint16()}this.width=frame.samplesPerLine;this.height=frame.scanLines;this.jfif=jfif;this.adobe=adobe;this.components=[];switch(frame.components.length){case 1:this.colorspace=ColorSpace.Grayscale;break;case 3:if(this.adobe)this.colorspace=ColorSpace.AdobeRGB;else this.colorspace=ColorSpace.RGB;break;case 4:this.colorspace=ColorSpace.CYMK;break;default:this.colorspace=ColorSpace.Unknown}for(var i=0;i>4!==4092||current===65476){switch(current){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,jpeg.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(current>>8!==255){throw new Error("ERROR: format throw new IOException! (decode)")}}current=this.stream.get16()}if(current<65472||current>65479){throw new Error("ERROR: could not handle arithmetic code!")}this.frame.read(this.stream);current=this.stream.get16();do{while(current!==65498){switch(current){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,jpeg.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(current>>8!==255){throw new Error("ERROR: format throw new IOException! (Parser.decode)")}}current=this.stream.get16()}this.precision=this.frame.precision;this.components=this.frame.components;if(!this.numBytes){this.numBytes=parseInt(Math.ceil(this.precision/8))}if(this.numBytes==1){this.mask=255}else{this.mask=65535}this.scan.read(this.stream);this.numComp=this.scan.numComp;this.selection=this.scan.selection;if(this.numBytes===1){if(this.numComp===3){this.getter=this.getValueRGB;this.setter=this.setValueRGB;this.output=this.outputRGB}else{this.getter=this.getValue8;this.setter=this.setValue8;this.output=this.outputSingle}}else{this.getter=this.getValue16;this.setter=this.setValue16;this.output=this.outputSingle}switch(this.selection){case 2:this.selector=this.select2;break;case 3:this.selector=this.select3;break;case 4:this.selector=this.select4;break;case 5:this.selector=this.select5;break;case 6:this.selector=this.select6;break;case 7:this.selector=this.select7;break;default:this.selector=this.select1;break}this.scanComps=this.scan.components;this.quantTables=this.quantTable.quantTables;for(i=0;i=jpeg.lossless.Decoder.RESTART_MARKER_BEGIN&¤t<=jpeg.lossless.Decoder.RESTART_MARKER_END)){break}}if(current===65500&&scanNum===1){this.readNumber();current=this.stream.get16()}}while(current!==65497&&(this.xLoc>1)};jpeg.lossless.Decoder.prototype.select6=function(compOffset){return this.getPreviousY(compOffset)+(this.getPreviousX(compOffset)-this.getPreviousXY(compOffset)>>1)};jpeg.lossless.Decoder.prototype.select7=function(compOffset){return(this.getPreviousX(compOffset)+this.getPreviousY(compOffset))/2};jpeg.lossless.Decoder.prototype.decodeRGB=function(prev,temp,index){var value,actab,dctab,qtab,ctrC,i,k,j;prev[0]=this.selector(0);prev[1]=this.selector(1);prev[2]=this.selector(2);for(ctrC=0;ctrC=65280){return value}prev[ctrC]=this.IDCT_Source[0]=prev[ctrC]+this.getn(index,value,temp,index);this.IDCT_Source[0]*=qtab[0];for(j=1;j<64;j+=1){value=this.getHuffmanValue(actab,temp,index);if(value>=65280){return value}j+=value>>4;if((value&15)===0){if(value>>4===0){break}}else{this.IDCT_Source[jpeg.lossless.Decoder.IDCT_P[j]]=this.getn(index,value&15,temp,index)*qtab[j]}}}}return 0};jpeg.lossless.Decoder.prototype.decodeSingle=function(prev,temp,index){var value,i,n,nRestart;if(this.restarting){this.restarting=false;prev[0]=1<=65280){return value}n=this.getn(prev,value,temp,index);nRestart=n>>8;if(nRestart>=jpeg.lossless.Decoder.RESTART_MARKER_BEGIN&&nRestart<=jpeg.lossless.Decoder.RESTART_MARKER_END){return nRestart}prev[0]+=n}return 0};jpeg.lossless.Decoder.prototype.getHuffmanValue=function(table,temp,index){var code,input,mask;mask=65535;if(index[0]<8){temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input}else{index[0]-=8}code=table[temp[0]>>index[0]];if((code&jpeg.lossless.Decoder.MSB)!==0){if(this.markerIndex!==0){this.markerIndex=0;return 65280|this.marker}temp[0]&=mask>>16-index[0];temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input;code=table[(code&255)*256+(temp[0]>>index[0])];index[0]+=8}index[0]+=8-(code>>8);if(index[0]<0){throw new Error("index="+index[0]+" temp="+temp[0]+" code="+code+" in HuffmanValue()")}if(index[0]>16-index[0];return code&255};jpeg.lossless.Decoder.prototype.getn=function(PRED,n,temp,index){var result,one,n_one,mask,input;one=1;n_one=-1;mask=65535;if(n===0){return 0}if(n===16){if(PRED[0]>=0){return-32768}else{return 32768}}index[0]-=n;if(index[0]>=0){if(index[0]>index[0];temp[0]&=mask>>16-index[0]}else{temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input;index[0]+=8;if(index[0]<0){if(this.markerIndex!==0){this.markerIndex=0;return(65280|this.marker)<<8}temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input;index[0]+=8}if(index[0]<0){throw new Error("index="+index[0]+" in getn()")}if(index[0]>index[0];temp[0]&=mask>>16-index[0]}if(result0){return this.getter(this.yLoc*this.xDim+this.xLoc-1,compOffset)}else if(this.yLoc>0){return this.getPreviousY(compOffset)}else{return 1<0&&this.yLoc>0){return this.getter((this.yLoc-1)*this.xDim+this.xLoc-1,compOffset)}else{return this.getPreviousY(compOffset)}};jpeg.lossless.Decoder.prototype.getPreviousY=function(compOffset){if(this.yLoc>0){return this.getter((this.yLoc-1)*this.xDim+this.xLoc,compOffset)}else{return this.getPreviousX(compOffset)}};jpeg.lossless.Decoder.prototype.isLastPixel=function(){return this.xLoc===this.xDim-1&&this.yLoc===this.yDim-1};jpeg.lossless.Decoder.prototype.outputSingle=function(PRED){if(this.xLoc=this.xDim){this.yLoc+=1;this.xLoc=0}}};jpeg.lossless.Decoder.prototype.outputRGB=function(PRED){var offset=this.yLoc*this.xDim+this.xLoc;if(this.xLoc=this.xDim){this.yLoc+=1;this.xLoc=0}}};jpeg.lossless.Decoder.prototype.setValue8=function(index,val){this.outputData[index]=val};jpeg.lossless.Decoder.prototype.getValue8=function(index){return this.outputData[index]};var littleEndian=function(){var buffer=new ArrayBuffer(2);new DataView(buffer).setInt16(0,256,true);return new Int16Array(buffer)[0]===256}();if(littleEndian){jpeg.lossless.Decoder.prototype.setValue16=jpeg.lossless.Decoder.prototype.setValue8;jpeg.lossless.Decoder.prototype.getValue16=jpeg.lossless.Decoder.prototype.getValue8}else{jpeg.lossless.Decoder.prototype.setValue16=function(index,val){this.outputData[index]=(val&255)<<8|val>>8&255};jpeg.lossless.Decoder.prototype.getValue16=function(index){var val=this.outputData[index];return(val&255)<<8|val>>8&255}}jpeg.lossless.Decoder.prototype.setValueRGB=function(index,val,compOffset){this.outputData[index*3+compOffset]=val};jpeg.lossless.Decoder.prototype.getValueRGB=function(index,compOffset){return this.outputData[index*3+compOffset]};jpeg.lossless.Decoder.prototype.readApp=function(){var count=0,length=this.stream.get16();count+=2;while(countlength){throw new Error("ERROR: frame format error")}c=data.get8();count+=1;if(count>=length){throw new Error("ERROR: frame format error [c>=Lf]")}temp=data.get8();count+=1;if(!this.components[c]){this.components[c]=new jpeg.lossless.ComponentSpec}this.components[c].hSamp=temp>>4;this.components[c].vSamp=temp&15;this.components[c].quantTableSel=data.get8();count+=1}if(count!==length){throw new Error("ERROR: frame format error [Lf!=count]")}return 1};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.FrameHeader}},{"./component-spec.js":1,"./data-stream.js":2}],5:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.Utils=jpeg.lossless.Utils||(typeof require!=="undefined"?require("./utils.js"):null);jpeg.lossless.HuffmanTable=jpeg.lossless.HuffmanTable||function(){this.l=jpeg.lossless.Utils.createArray(4,2,16);this.th=[];this.v=jpeg.lossless.Utils.createArray(4,2,16,200);this.tc=jpeg.lossless.Utils.createArray(4,2);this.tc[0][0]=0;this.tc[1][0]=0;this.tc[2][0]=0;this.tc[3][0]=0;this.tc[0][1]=0;this.tc[1][1]=0;this.tc[2][1]=0;this.tc[3][1]=0;this.th[0]=0;this.th[1]=0;this.th[2]=0;this.th[3]=0};jpeg.lossless.HuffmanTable.MSB=2147483648;jpeg.lossless.HuffmanTable.prototype.read=function(data,HuffTab){var count=0,length,temp,t,c,i,j;length=data.get16();count+=2;while(count3){throw new Error("ERROR: Huffman table ID > 3")}c=temp>>4;if(c>2){throw new Error("ERROR: Huffman table [Table class > 2 ]")}this.th[t]=1;this.tc[t][c]=1;for(i=0;i<16;i+=1){this.l[t][c][i]=data.get8();count+=1}for(i=0;i<16;i+=1){for(j=0;jlength){throw new Error("ERROR: Huffman table format error [count>Lh]")}this.v[t][c][i][j]=data.get8();count+=1}}}if(count!==length){throw new Error("ERROR: Huffman table format error [count!=Lf]")}for(i=0;i<4;i+=1){for(j=0;j<2;j+=1){if(this.tc[i][j]!==0){this.buildHuffTable(HuffTab[i][j],this.l[i][j],this.v[i][j])}}}return 1};jpeg.lossless.HuffmanTable.prototype.buildHuffTable=function(tab,L,V){var currentTable,temp,k,i,j,n;temp=256;k=0;for(i=0;i<8;i+=1){for(j=0;j>i+1;n+=1){tab[k]=V[i][j]|i+1<<8;k+=1}}}for(i=1;k<256;i+=1,k+=1){tab[k]=i|jpeg.lossless.HuffmanTable.MSB}currentTable=1;k=0;for(i=8;i<16;i+=1){for(j=0;j>i-7;n+=1){tab[currentTable*256+k]=V[i][j]|i+1<<8;k+=1}if(k>=256){if(k>256){throw new Error("ERROR: Huffman table error(1)!")}k=0;currentTable+=1}}}};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.HuffmanTable}},{"./data-stream.js":2,"./utils.js":10}],6:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.ComponentSpec=jpeg.lossless.ComponentSpec||(typeof require!=="undefined"?require("./component-spec.js"):null);jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.Decoder=jpeg.lossless.Decoder||(typeof require!=="undefined"?require("./decoder.js"):null);jpeg.lossless.FrameHeader=jpeg.lossless.FrameHeader||(typeof require!=="undefined"?require("./frame-header.js"):null);jpeg.lossless.HuffmanTable=jpeg.lossless.HuffmanTable||(typeof require!=="undefined"?require("./huffman-table.js"):null);jpeg.lossless.QuantizationTable=jpeg.lossless.QuantizationTable||(typeof require!=="undefined"?require("./quantization-table.js"):null);jpeg.lossless.ScanComponent=jpeg.lossless.ScanComponent||(typeof require!=="undefined"?require("./scan-component.js"):null);jpeg.lossless.ScanHeader=jpeg.lossless.ScanHeader||(typeof require!=="undefined"?require("./scan-header.js"):null);jpeg.lossless.Utils=jpeg.lossless.Utils||(typeof require!=="undefined"?require("./utils.js"):null);var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg}},{"./component-spec.js":1,"./data-stream.js":2,"./decoder.js":3,"./frame-header.js":4,"./huffman-table.js":5,"./quantization-table.js":7,"./scan-component.js":8,"./scan-header.js":9,"./utils.js":10}],7:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.Utils=jpeg.lossless.Utils||(typeof require!=="undefined"?require("./utils.js"):null);jpeg.lossless.QuantizationTable=jpeg.lossless.QuantizationTable||function(){this.precision=[];this.tq=[];this.quantTables=jpeg.lossless.Utils.createArray(4,64);this.tq[0]=0;this.tq[1]=0;this.tq[2]=0;this.tq[3]=0};jpeg.lossless.QuantizationTable.enhanceQuantizationTable=function(qtab,table){var i;for(i=0;i<8;i+=1){qtab[table[0*8+i]]*=90;qtab[table[4*8+i]]*=90;qtab[table[2*8+i]]*=118;qtab[table[6*8+i]]*=49;qtab[table[5*8+i]]*=71;qtab[table[1*8+i]]*=126;qtab[table[7*8+i]]*=25;qtab[table[3*8+i]]*=106}for(i=0;i<8;i+=1){qtab[table[0+8*i]]*=90;qtab[table[4+8*i]]*=90;qtab[table[2+8*i]]*=118;qtab[table[6+8*i]]*=49;qtab[table[5+8*i]]*=71;qtab[table[1+8*i]]*=126;qtab[table[7+8*i]]*=25;qtab[table[3+8*i]]*=106}for(i=0;i<64;i+=1){qtab[i]>>=6}};jpeg.lossless.QuantizationTable.prototype.read=function(data,table){var count=0,length,temp,t,i;length=data.get16();count+=2;while(count3){throw new Error("ERROR: Quantization table ID > 3")}this.precision[t]=temp>>4;if(this.precision[t]===0){this.precision[t]=8}else if(this.precision[t]===1){this.precision[t]=16}else{throw new Error("ERROR: Quantization table precision error")}this.tq[t]=1;if(this.precision[t]===8){for(i=0;i<64;i+=1){if(count>length){throw new Error("ERROR: Quantization table format error")}this.quantTables[t][i]=data.get8();count+=1}jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t],table)}else{for(i=0;i<64;i+=1){if(count>length){throw new Error("ERROR: Quantization table format error")}this.quantTables[t][i]=data.get16();count+=2}jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t],table)}}if(count!==length){throw new Error("ERROR: Quantization table error [count!=Lq]")}return 1};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.QuantizationTable}},{"./data-stream.js":2,"./utils.js":10}],8:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.ScanComponent=jpeg.lossless.ScanComponent||function(){this.acTabSel=0;this.dcTabSel=0;this.scanCompSel=0};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.ScanComponent}},{}],9:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.ScanComponent=jpeg.lossless.ScanComponent||(typeof require!=="undefined"?require("./scan-component.js"):null);jpeg.lossless.ScanHeader=jpeg.lossless.ScanHeader||function(){this.ah=0;this.al=0;this.numComp=0;this.selection=0;this.spectralEnd=0;this.components=[]};jpeg.lossless.ScanHeader.prototype.read=function(data){var count=0,length,i,temp;length=data.get16();count+=2;this.numComp=data.get8();count+=1;for(i=0;ilength){throw new Error("ERROR: scan header format error")}this.components[i].scanCompSel=data.get8();count+=1;temp=data.get8();count+=1;this.components[i].dcTabSel=temp>>4;this.components[i].acTabSel=temp&15}this.selection=data.get8();count+=1;this.spectralEnd=data.get8();count+=1;temp=data.get8();this.ah=temp>>4;this.al=temp&15;count+=1;if(count!==length){throw new Error("ERROR: scan header format error [count!=Ns]")}return 1};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.ScanHeader}},{"./data-stream.js":2,"./scan-component.js":8}],10:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.Utils=jpeg.lossless.Utils||{};jpeg.lossless.Utils.createArray=function(length){var arr=new Array(length||0),i=length;if(arguments.length>1){var args=Array.prototype.slice.call(arguments,1);while(i--)arr[length-1-i]=jpeg.lossless.Utils.createArray.apply(this,args)}return arr};jpeg.lossless.Utils.makeCRCTable=function(){var c;var crcTable=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++){c=c&1?3988292384^c>>>1:c>>>1}crcTable[n]=c}return crcTable};jpeg.lossless.Utils.crc32=function(dataView){var uint8view=new Uint8Array(dataView.buffer);var crcTable=jpeg.lossless.Utils.crcTable||(jpeg.lossless.Utils.crcTable=jpeg.lossless.Utils.makeCRCTable());var crc=0^-1;for(var i=0;i>>8^crcTable[(crc^uint8view[i])&255]}return(crc^-1)>>>0};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.Utils}},{}]},{},[6])(6)}); -/*! image-JPEG2000 - v0.3.1 - 2015-08-26 | https://github.com/OHIF/image-JPEG2000 */"use strict";function info(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.infos&&console.log("Info: "+a)}function warn(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.warnings&&console.log("Warning: "+a)}function error(a){if(arguments.length>1){var b=["Error:"];b.push.apply(b,arguments),console.log.apply(console,b),a=[].join.call(arguments," ")}else console.log("Error: "+a);throw console.log(backtrace()),UnsupportedManager.notify(UNSUPPORTED_FEATURES.unknown),new Error(a)}function backtrace(){try{throw new Error}catch(a){return a.stack?a.stack.split("\n").slice(2).join("\n"):""}}function assert(a,b){a||error(b)}function combineUrl(a,b){if(!b)return a;if(/^[a-z][a-z0-9+\-.]*:/i.test(b))return b;var c;if("/"===b.charAt(0))return c=a.indexOf("://"),"/"===b.charAt(1)?++c:c=a.indexOf("/",c+3),a.substring(0,c)+b;var d=a.length;c=a.lastIndexOf("#"),d=c>=0?c:d,c=a.lastIndexOf("?",d),d=c>=0?c:d;var e=a.lastIndexOf("/",d);return a.substring(0,e+1)+b}function isValidUrl(a,b){if(!a)return!1;var c=/^[a-z][a-z0-9+\-.]*(?=:)/i.exec(a);if(!c)return b;switch(c=c[0].toLowerCase()){case"http":case"https":case"ftp":case"mailto":case"tel":return!0;default:return!1}}function shadow(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!1}),c}function bytesToString(a){assert(null!==a&&"object"==typeof a&&void 0!==a.length,"Invalid argument for bytesToString");var b=a.length,c=8192;if(c>b)return String.fromCharCode.apply(null,a);for(var d=[],e=0;b>e;e+=c){var f=Math.min(e+c,b),g=a.subarray(e,f);d.push(String.fromCharCode.apply(null,g))}return d.join("")}function stringToBytes(a){assert("string"==typeof a,"Invalid argument for stringToBytes");for(var b=a.length,c=new Uint8Array(b),d=0;b>d;++d)c[d]=255&a.charCodeAt(d);return c}function string32(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,255&a)}function log2(a){for(var b=1,c=0;a>b;)b<<=1,c++;return c}function readInt8(a,b){return a[b]<<24>>24}function readUint16(a,b){return a[b]<<8|a[b+1]}function readUint32(a,b){return(a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3])>>>0}function isLittleEndian(){var a=new Uint8Array(2);a[0]=1;var b=new Uint16Array(a.buffer);return 1===b[0]}function hasCanvasTypedArrays(){var a=document.createElement("canvas");a.width=a.height=1;var b=a.getContext("2d"),c=b.createImageData(1,1);return"undefined"!=typeof c.data.buffer}function stringToPDFString(a){var b,c=a.length,d=[];if("þ"===a[0]&&"ÿ"===a[1])for(b=2;c>b;b+=2)d.push(String.fromCharCode(a.charCodeAt(b)<<8|a.charCodeAt(b+1)));else for(b=0;c>b;++b){var e=PDFStringTranslateTable[a.charCodeAt(b)];d.push(e?String.fromCharCode(e):a.charAt(b))}return d.join("")}function stringToUTF8String(a){return decodeURIComponent(escape(a))}function isEmptyObj(a){for(var b in a)return!1;return!0}function isBool(a){return"boolean"==typeof a}function isInt(a){return"number"==typeof a&&(0|a)===a}function isNum(a){return"number"==typeof a}function isString(a){return"string"==typeof a}function isNull(a){return null===a}function isName(a){return a instanceof Name}function isCmd(a,b){return a instanceof Cmd&&(void 0===b||a.cmd===b)}function isDict(a,b){if(!(a instanceof Dict))return!1;if(!b)return!0;var c=a.get("Type");return isName(c)&&c.name===b}function isArray(a){return a instanceof Array}function isStream(a){return"object"==typeof a&&null!==a&&void 0!==a.getBytes}function isArrayBuffer(a){return"object"==typeof a&&null!==a&&void 0!==a.byteLength}function isRef(a){return a instanceof Ref}function createPromiseCapability(){var a={};return a.promise=new Promise(function(b,c){a.resolve=b,a.reject=c}),a}function MessageHandler(a,b){this.name=a,this.comObj=b,this.callbackIndex=1,this.postMessageTransfers=!0;var c=this.callbacksCapabilities={},d=this.actionHandler={};d.console_log=[function(a){console.log.apply(console,a)}],d.console_error=[function(a){console.error.apply(console,a)}],d._unsupported_feature=[function(a){UnsupportedManager.notify(a)}],b.onmessage=function(a){var e=a.data;if(e.isReply){var f=e.callbackId;if(e.callbackId in c){var g=c[f];delete c[f],"error"in e?g.reject(e.error):g.resolve(e.data)}else error("Cannot resolve callback "+f)}else if(e.action in d){var h=d[e.action];e.callbackId?Promise.resolve().then(function(){return h[0].call(h[1],e.data)}).then(function(a){b.postMessage({isReply:!0,callbackId:e.callbackId,data:a})},function(a){b.postMessage({isReply:!0,callbackId:e.callbackId,error:a})}):h[0].call(h[1],e.data)}else error("Unknown action from worker: "+e.action)}}function loadJpegStream(a,b,c){var d=new Image;d.onload=function(){c.resolve(a,d)},d.onerror=function(){c.resolve(a,null),warn("Error during JPEG image loading")},d.src=b}var JpxImage=function(){function a(){this.failOnCorruptedImage=!1}function b(a,b){a.x0=Math.ceil(b.XOsiz/a.XRsiz),a.x1=Math.ceil(b.Xsiz/a.XRsiz),a.y0=Math.ceil(b.YOsiz/a.YRsiz),a.y1=Math.ceil(b.Ysiz/a.YRsiz),a.width=a.x1-a.x0,a.height=a.y1-a.y0}function c(a,b){for(var c,d=a.SIZ,e=[],f=Math.ceil((d.Xsiz-d.XTOsiz)/d.XTsiz),g=Math.ceil((d.Ysiz-d.YTOsiz)/d.YTsiz),h=0;g>h;h++)for(var i=0;f>i;i++)c={},c.tx0=Math.max(d.XTOsiz+i*d.XTsiz,d.XOsiz),c.ty0=Math.max(d.YTOsiz+h*d.YTsiz,d.YOsiz),c.tx1=Math.min(d.XTOsiz+(i+1)*d.XTsiz,d.Xsiz),c.ty1=Math.min(d.YTOsiz+(h+1)*d.YTsiz,d.Ysiz),c.width=c.tx1-c.tx0,c.height=c.ty1-c.ty0,c.components=[],e.push(c);a.tiles=e;for(var j=d.Csiz,k=0,l=j;l>k;k++)for(var m=b[k],n=0,o=e.length;o>n;n++){var p={};c=e[n],p.tcx0=Math.ceil(c.tx0/m.XRsiz),p.tcy0=Math.ceil(c.ty0/m.YRsiz),p.tcx1=Math.ceil(c.tx1/m.XRsiz),p.tcy1=Math.ceil(c.ty1/m.YRsiz),p.width=p.tcx1-p.tcx0,p.height=p.tcy1-p.tcy0,c.components[k]=p}}function d(a,b,c){var d=b.codingStyleParameters,e={};return d.entropyCoderWithCustomPrecincts?(e.PPx=d.precinctsSizes[c].PPx,e.PPy=d.precinctsSizes[c].PPy):(e.PPx=15,e.PPy=15),e.xcb_=c>0?Math.min(d.xcb,e.PPx-1):Math.min(d.xcb,e.PPx),e.ycb_=c>0?Math.min(d.ycb,e.PPy-1):Math.min(d.ycb,e.PPy),e}function e(a,b,c){var d=1<b.trx0?Math.ceil(b.trx1/d)-Math.floor(b.trx0/d):0,j=b.try1>b.try0?Math.ceil(b.try1/e)-Math.floor(b.try0/e):0,k=i*j;b.precinctParameters={precinctWidth:d,precinctHeight:e,numprecinctswide:i,numprecinctshigh:j,numprecincts:k,precinctWidthInSubband:g,precinctHeightInSubband:h}}function f(a,b,c){var d,e,f,g,h=c.xcb_,i=c.ycb_,j=1<>h,m=b.tby0>>i,n=b.tbx1+j-1>>h,o=b.tby1+k-1>>i,p=b.resolution.precinctParameters,q=[],r=[];for(e=m;o>e;e++)for(d=l;n>d;d++){f={cbx:d,cby:e,tbx0:j*d,tby0:k*e,tbx1:j*(d+1),tby1:k*(e+1)},f.tbx0_=Math.max(b.tbx0,f.tbx0),f.tby0_=Math.max(b.tby0,f.tby0),f.tbx1_=Math.min(b.tbx1,f.tbx1),f.tby1_=Math.min(b.tby1,f.tby1);var s=Math.floor((f.tbx0_-b.tbx0)/p.precinctWidthInSubband),t=Math.floor((f.tby0_-b.tby0)/p.precinctHeightInSubband);if(g=s+t*p.numprecinctswide,f.precinctNumber=g,f.subbandType=b.type,f.Lblock=3,!(f.tbx1_<=f.tbx0_||f.tby1_<=f.tby0_)){q.push(f);var u=r[g];void 0!==u?(du.cbxMax&&(u.cbxMax=d),eu.cbyMax&&(u.cbyMax=e)):r[g]=u={cbxMin:d,cbyMin:e,cbxMax:d,cbyMax:e},f.precinct=u}}b.codeblockParameters={codeblockWidth:h,codeblockHeight:i,numcodeblockwide:n-l+1,numcodeblockhigh:o-m+1},b.codeblocks=q,b.precincts=r}function g(a,b,c){for(var d=[],e=a.subbands,f=0,g=e.length;g>f;f++)for(var h=e[f],i=h.codeblocks,j=0,k=i.length;k>j;j++){var l=i[j];l.precinctNumber===b&&d.push(l)}return{layerNumber:c,codeblocks:d}}function h(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=0,i=0;f>i;i++)h=Math.max(h,d.components[i].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;e>j;j++){for(;h>=k;k++){for(;f>l;l++){var a=d.components[l];if(!(k>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[k],c=b.precinctParameters.numprecincts;c>m;){var i=g(b,m,j);return m++,i}m=0}}l=0}k=0}}}function i(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=0,i=0;f>i;i++)h=Math.max(h,d.components[i].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;h>=j;j++){for(;e>k;k++){for(;f>l;l++){var a=d.components[l];if(!(j>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[j],c=b.precinctParameters.numprecincts;c>m;){var i=g(b,m,k);return m++,i}m=0}}l=0}k=0}}}function j(a){var b,c,d,e,f=a.SIZ,h=a.currentTile.index,i=a.tiles[h],j=i.codingStyleDefaultParameters.layersCount,k=f.Csiz,l=0;for(d=0;k>d;d++){var m=i.components[d];l=Math.max(l,m.codingStyleParameters.decompositionLevelsCount)}var n=new Int32Array(l+1);for(c=0;l>=c;++c){var o=0;for(d=0;k>d;++d){var p=i.components[d].resolutions;c=c;c++){for(;ed;d++){var a=i.components[d];if(!(c>a.codingStyleParameters.decompositionLevelsCount)){var f=a.resolutions[c],h=f.precinctParameters.numprecincts;if(!(e>=h)){for(;j>b;){var m=g(f,e,b);return b++,m}b=0}}}d=0}e=0}}}function k(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=n(d),i=h,j=0,k=0,l=0,o=0,p=0;this.nextPacket=function(){for(;pl;l++){for(var a=d.components[l],b=a.codingStyleParameters.decompositionLevelsCount;b>=k;k++){var c=a.resolutions[k],n=h.components[l].resolutions[k],q=m(o,p,n,i,c);if(null!==q){for(;e>j;){var r=g(c,q,j);return j++,r}j=0}}k=0}l=0}o=0}}}function l(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=n(d),i=0,j=0,k=0,l=0,o=0;this.nextPacket=function(){for(;f>k;++k){for(var a=d.components[k],b=h.components[k],c=a.codingStyleParameters.decompositionLevelsCount;o=j;j++){var n=a.resolutions[j],p=b.resolutions[j],q=m(l,o,p,b,n);if(null!==q){for(;e>i;){var r=g(n,q,i);return i++,r}i=0}}j=0}l=0}o=0}}}function m(a,b,c,d,e){var f=a*d.minWidth,g=b*d.minHeight;if(f%c.width!==0||g%c.height!==0)return null;var h=g/c.width*e.precinctParameters.numprecinctswide;return f/c.height+h}function n(a){for(var b=a.components.length,c=Number.MAX_VALUE,d=Number.MAX_VALUE,e=0,f=0,g=new Array(b),h=0;b>h;h++){for(var i=a.components[h],j=i.codingStyleParameters.decompositionLevelsCount,k=new Array(j+1),l=Number.MAX_VALUE,m=Number.MAX_VALUE,n=0,o=0,p=1,q=j;q>=0;--q){var r=i.resolutions[q],s=p*r.precinctParameters.precinctWidth,t=p*r.precinctParameters.precinctHeight;l=Math.min(l,s),m=Math.min(m,t),n=Math.max(n,r.precinctParameters.numprecinctswide),o=Math.max(o,r.precinctParameters.numprecinctshigh),k[q]={width:s,height:t},p<<=1}c=Math.min(c,l),d=Math.min(d,m),e=Math.max(e,n),f=Math.max(f,o),g[h]={resolutions:k,minWidth:l,minHeight:m,maxNumWide:n,maxNumHigh:o}}return{components:g,minWidth:c,minHeight:d,maxNumWide:e,maxNumHigh:f}}function o(a){for(var b=a.SIZ,c=a.currentTile.index,g=a.tiles[c],m=b.Csiz,n=0;m>n;n++){for(var o=g.components[n],p=o.codingStyleParameters.decompositionLevelsCount,q=[],r=[],s=0;p>=s;s++){var t=d(a,o,s),u={},v=1<l;){if(c+k>=b.length)throw new Error("Unexpected EOF");var d=b[c+k];k++,m?(j=j<<7|d,l+=7,m=!1):(j=j<<8|d,l+=8),255===d&&(m=!0)}return l-=a,j>>>l&(1<a?a+3:(a=e(5),31>a?a+6:(a=e(7),a+37))}for(var j,k=0,l=0,m=!1,n=a.currentTile.index,o=a.tiles[n],p=a.COD.sopMarkerUsed,q=a.COD.ephMarkerUsed,r=o.packetsIterator;d>k;)try{h(),p&&f(145)&&g(4);var s=r.nextPacket();if(void 0===s)return;if(!e(1))continue;for(var t,u=s.layerNumber,x=[],y=0,z=s.codeblocks.length;z>y;y++){t=s.codeblocks[y];var A,B=t.precinct,C=t.cbx-B.cbxMin,D=t.cby-B.cbyMin,E=!1,F=!1;if(void 0!==t.included)E=!!e(1);else{B=t.precinct;var G,H;if(void 0!==B.inclusionTree)G=B.inclusionTree;else{var I=B.cbxMax-B.cbxMin+1,J=B.cbyMax-B.cbyMin+1;G=new w(I,J),H=new v(I,J),B.inclusionTree=G,B.zeroBitPlanesTree=H}for(G.reset(C,D,u);;){if(k>=b.length)return;if(G.isAboveThreshold())break;if(G.isKnown())G.nextLevel();else if(e(1)){if(G.setKnown(),G.isLeaf()){t.included=!0,E=F=!0;break}G.nextLevel()}else G.incrementValue()}}if(E){if(F){for(H=B.zeroBitPlanesTree,H.reset(C,D);;){if(k>=b.length)return;if(e(1)){if(A=!H.nextLevel())break}else H.incrementValue()}t.zeroBitPlanes=H.value}for(var K=i();e(1);)t.Lblock++;var L=log2(K),M=(1<K?L-1:L)+t.Lblock,N=e(M);x.push({codeblock:t,codingpasses:K,dataLength:N})}}for(h(),q&&f(146);x.length>0;){var O=x.shift();t=O.codeblock,void 0===t.data&&(t.data=[]),t.data.push({data:b,start:c+k,end:c+k+O.dataLength,codingpasses:O.codingpasses}),k+=O.dataLength}}catch(P){return}return k}function q(a,b,c,d,e,f,g,h){for(var i=d.tbx0,j=d.tby0,k=d.tbx1-d.tbx0,l=d.codeblocks,m="H"===d.type.charAt(0)?1:0,n="H"===d.type.charAt(1)?b:0,o=0,p=l.length;p>o;++o){var q=l[o],r=q.tbx1_-q.tbx0_,s=q.tby1_-q.tby0_;if(0!==r&&0!==s&&void 0!==q.data){var t,u;t=new x(r,s,q.subbandType,q.zeroBitPlanes,f),u=2;var v,w,y,z=q.data,A=0,B=0;for(v=0,w=z.length;w>v;v++)y=z[v],A+=y.end-y.start,B+=y.codingpasses;var C=new Int16Array(A),D=0;for(v=0,w=z.length;w>v;v++){y=z[v];var E=y.data.subarray(y.start,y.end);C.set(E,D),D+=E.length}var F=new ArithmeticDecoder(C,0,A);for(t.setDecoder(F),v=0;B>v;v++){switch(u){case 0:t.runSignificancePropogationPass();break;case 1:t.runMagnitudeRefinementPass();break;case 2:t.runCleanupPass(),h&&t.checkSegmentationSymbol()}u=(u+1)%3}var G,H,I,J=q.tbx0_-i+(q.tby0_-j)*k,K=t.coefficentsSign,L=t.coefficentsMagnitude,M=t.bitsDecoded,N=g?0:.5;D=0;var O="LL"!==d.type;for(v=0;s>v;v++){var P=J/k|0,Q=2*P*(b-k)+m+n;for(G=0;r>G;G++){if(H=L[D],0!==H){H=(H+N)*e,0!==K[D]&&(H=-H),I=M[D];var R=O?Q+(J<<1):J;g&&I>=f?a[R]=H:a[R]=H*(1<=r;r++){for(var s=d.resolutions[r],t=s.trx1-s.trx0,v=s.try1-s.try0,w=new Float32Array(t*v),x=0,y=s.subbands.length;y>x;x++){var B,C;i?(B=h[p].mu,C=h[p].epsilon,p++):(B=h[0].mu,C=h[0].epsilon+(r>0?1-r:0));var D=s.subbands[x],E=u[D.type],F=m?1:Math.pow(2,l+E-C)*(1+B/2048),G=j+C-1;q(w,t,v,D,F,G,m,k)}o.push({width:t,height:v,items:w})}var H=n.calculate(o,d.tcx0,d.tcy0);return{left:d.tcx0,top:d.tcy0,width:H.width,height:H.height,items:H.items}}function s(a){for(var b=a.SIZ,c=a.components,d=b.Csiz,e=[],f=0,g=a.tiles.length;g>f;f++){var h,i=a.tiles[f],j=[];for(h=0;d>h;h++)j[h]=r(a,i,h);var k=j[0],l=c[0].isSigned;if(l)var m=new Int16Array(k.items.length*d);else var m=new Uint16Array(k.items.length*d);var n,o,p,q,s,t,u,v,w,x,y,z,A,B,C,D={left:k.left,top:k.top,width:k.width,height:k.height,items:m},E=0;if(i.codingStyleDefaultParameters.multipleComponentTransform){var F=4===d,G=j[0].items,H=j[1].items,I=j[2].items,J=F?j[3].items:null;n=c[0].precision-8,o=(128<t;t++,E+=L)v=G[t]+o,w=H[t],x=I[t],z=v-(x+w>>2),y=z+x,A=z+w,m[E++]=0>=y?0:y>=p?255:y>>n,m[E++]=0>=z?0:z>=p?255:z>>n,m[E++]=0>=A?0:A>=p?255:A>>n;else for(t=0;u>t;t++,E+=L)v=G[t]+o,w=H[t],x=I[t],y=v+1.402*x,z=v-.34413*w-.71414*x,A=v+1.772*w,m[E++]=0>=y?0:y>=p?255:y>>n,m[E++]=0>=z?0:z>=p?255:z>>n,m[E++]=0>=A?0:A>=p?255:A>>n;if(F)for(t=0,E=3;u>t;t++,E+=4)B=J[t],m[E]=q>=B?0:B>=s?255:B+o>>n}else for(h=0;d>h;h++)if(8===c[h].precision){var M=j[h].items;for(n=c[h].precision-8,o=(128<t;t++)C=M[t],m[E]=q>=C?0:C>=p?255:C+o>>n,E+=d}else{var l=c[h].isSigned,M=j[h].items;if(l)for(E=h,t=0,u=M.length;u>t;t++)m[E]=M[t],E+=d;else{n=c[h].precision-8,o=(128<t;t++)C=M[t],m[E]=Math.max(Math.min(C+o,N),0),E+=d}}e.push(D)}return e}function t(a,b){for(var c=a.SIZ,d=c.Csiz,e=a.tiles[b],f=0;d>f;f++){var g=e.components[f],h=void 0!==a.currentTile.QCC[f]?a.currentTile.QCC[f]:a.currentTile.QCD;g.quantizationParameters=h;var i=void 0!==a.currentTile.COC[f]?a.currentTile.COC[f]:a.currentTile.COD;g.codingStyleParameters=i}e.codingStyleDefaultParameters=a.currentTile.COD}var u={LL:0,LH:1,HL:1,HH:2};a.prototype={parse:function(a){var b=readUint16(a,0);if(65359===b)return void this.parseCodestream(a,0,a.length);for(var c=0,d=a.length;d>c;){var e=8,f=readUint32(a,c),g=readUint32(a,c+4);if(c+=e,1===f&&(f=4294967296*readUint32(a,c)+readUint32(a,c+4),c+=8,e+=8),0===f&&(f=d-c+e),e>f)throw new Error("JPX Error: Invalid box field size");var h=f-e,i=!0;switch(g){case 1785737832:i=!1;break;case 1668246642:var j=a[c];a[c+1],a[c+2];if(1===j){var k=readUint32(a,c+3);switch(k){case 16:case 17:case 18:break;default:warn("Unknown colorspace "+k)}}else 2===j&&info("ICC profile not supported");break;case 1785737827:this.parseCodestream(a,c,c+h);break;case 1783636e3:218793738!==readUint32(a,c)&&warn("Invalid JP2 signature");break;case 1783634458:case 1718909296:case 1920099697:case 1919251232:case 1768449138:break;default:var l=String.fromCharCode(g>>24&255,g>>16&255,g>>8&255,255&g);warn("Unsupported header type "+g+" ("+l+")")}i&&(c+=h)}},parseImageProperties:function(a){for(var b=a.getByte();b>=0;){var c=b;b=a.getByte();var d=c<<8|b;if(65361===d){a.skip(4);var e=a.getInt32()>>>0,f=a.getInt32()>>>0,g=a.getInt32()>>>0,h=a.getInt32()>>>0;a.skip(16);var i=a.getUint16();return this.width=e-g,this.height=f-h,this.componentsCount=i,void(this.bitsPerComponent=8)}}throw new Error("JPX Error: No size marker found in JPX stream")},parseCodestream:function(a,d,e){var f={};try{for(var g=!1,h=d;e>h+1;){var i=readUint16(a,h);h+=2;var j,k,l,m,n,q,r=0;switch(i){case 65359:f.mainHeader=!0;break;case 65497:break;case 65361:r=readUint16(a,h);var u={};u.Xsiz=readUint32(a,h+4),u.Ysiz=readUint32(a,h+8),u.XOsiz=readUint32(a,h+12),u.YOsiz=readUint32(a,h+16),u.XTsiz=readUint32(a,h+20),u.YTsiz=readUint32(a,h+24),u.XTOsiz=readUint32(a,h+28),u.YTOsiz=readUint32(a,h+32);var v=readUint16(a,h+36);u.Csiz=v;var w=[];j=h+38;for(var x=0;v>x;x++){var y={precision:(127&a[j])+1,isSigned:!!(128&a[j]),XRsiz:a[j+1],YRsiz:a[j+1]};b(y,u),w.push(y)}f.SIZ=u,f.components=w,c(f,w),f.QCC=[],f.COC=[];break;case 65372:r=readUint16(a,h);var z={};switch(j=h+2,k=a[j++],31&k){case 0:m=8,n=!0;break;case 1:m=16,n=!1;break;case 2:m=16,n=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+k)}for(z.noQuantization=8===m,z.scalarExpounded=n,z.guardBits=k>>5,l=[];r+h>j;){var A={};8===m?(A.epsilon=a[j++]>>3,A.mu=0):(A.epsilon=a[j]>>3,A.mu=(7&a[j])<<8|a[j+1],j+=2),l.push(A)}z.SPqcds=l,f.mainHeader?f.QCD=z:(f.currentTile.QCD=z,f.currentTile.QCC=[]);break;case 65373:r=readUint16(a,h);var B={};j=h+2;var C;switch(f.SIZ.Csiz<257?C=a[j++]:(C=readUint16(a,j),j+=2),k=a[j++],31&k){case 0:m=8,n=!0;break;case 1:m=16,n=!1;break;case 2:m=16,n=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+k)}for(B.noQuantization=8===m,B.scalarExpounded=n,B.guardBits=k>>5,l=[];r+h>j;)A={},8===m?(A.epsilon=a[j++]>>3,A.mu=0):(A.epsilon=a[j]>>3,A.mu=(7&a[j])<<8|a[j+1],j+=2),l.push(A);B.SPqcds=l,f.mainHeader?f.QCC[C]=B:f.currentTile.QCC[C]=B;break;case 65362:r=readUint16(a,h);var D={};j=h+2;var E=a[j++];D.entropyCoderWithCustomPrecincts=!!(1&E),D.sopMarkerUsed=!!(2&E),D.ephMarkerUsed=!!(4&E),D.progressionOrder=a[j++],D.layersCount=readUint16(a,j),j+=2,D.multipleComponentTransform=a[j++],D.decompositionLevelsCount=a[j++],D.xcb=(15&a[j++])+2,D.ycb=(15&a[j++])+2;var F=a[j++];if(D.selectiveArithmeticCodingBypass=!!(1&F),D.resetContextProbabilities=!!(2&F),D.terminationOnEachCodingPass=!!(4&F),D.verticalyStripe=!!(8&F),D.predictableTermination=!!(16&F),D.segmentationSymbolUsed=!!(32&F),D.reversibleTransformation=a[j++],D.entropyCoderWithCustomPrecincts){for(var G=[];r+h>j;){var H=a[j++];G.push({PPx:15&H,PPy:H>>4})}D.precinctsSizes=G}var I=[];if(D.selectiveArithmeticCodingBypass&&I.push("selectiveArithmeticCodingBypass"),D.resetContextProbabilities&&I.push("resetContextProbabilities"),D.terminationOnEachCodingPass&&I.push("terminationOnEachCodingPass"),D.verticalyStripe&&I.push("verticalyStripe"),D.predictableTermination&&I.push("predictableTermination"),I.length>0)throw g=!0,new Error("JPX Error: Unsupported COD options ("+I.join(", ")+")");f.mainHeader?f.COD=D:(f.currentTile.COD=D,f.currentTile.COC=[]);break;case 65424:r=readUint16(a,h),q={},q.index=readUint16(a,h+2),q.length=readUint32(a,h+4),q.dataEnd=q.length+h-2,q.partIndex=a[h+8],q.partsCount=a[h+9],f.mainHeader=!1,0===q.partIndex&&(q.COD=f.COD,q.COC=f.COC.slice(0),q.QCD=f.QCD,q.QCC=f.QCC.slice(0)),f.currentTile=q;break;case 65427:q=f.currentTile,0===q.partIndex&&(t(f,q.index),o(f)),r=q.dataEnd-h,p(f,a,h,r);break;case 65365:case 65367:case 65368:case 65380:r=readUint16(a,h);break;case 65363:throw new Error("JPX Error: Codestream code 0xFF53 (COC) is not implemented");default:throw new Error("JPX Error: Unknown codestream code: "+i.toString(16))}h+=r}}catch(J){if(g||this.failOnCorruptedImage)throw J;warn("Trying to recover from "+J.message)}this.tiles=s(f),this.width=f.SIZ.Xsiz-f.SIZ.XOsiz,this.height=f.SIZ.Ysiz-f.SIZ.YOsiz,this.componentsCount=f.SIZ.Csiz}};var v=function(){function a(a,b){var c=log2(Math.max(a,b))+1;this.levels=[];for(var d=0;c>d;d++){var e={width:a,height:b,items:[]};this.levels.push(e),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b){for(var c,d=0,e=0;d>=1,b>>=1,d++}d--,c=this.levels[d],c.items[c.index]=e,this.currentLevel=d,delete this.value},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]++},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];return a--,0>a?(this.value=c,!1):(this.currentLevel=a,b=this.levels[a],b.items[b.index]=c,!0)}},a}(),w=function(){function a(a,b){var c=log2(Math.max(a,b))+1;this.levels=[];for(var d=0;c>d;d++){for(var e=new Uint8Array(a*b),f=new Uint8Array(a*b),g=0,h=e.length;h>g;g++)e[g]=0,f[g]=0;var i={width:a,height:b,items:e,status:f};this.levels.push(i),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b,c){this.currentStopValue=c;for(var d=0;d>=1,b>>=1,d++}this.currentLevel=this.levels.length-1,this.minValue=this.levels[this.currentLevel].items[0]},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]=a.items[a.index]+1,a.items[a.index]>this.minValue&&(this.minValue=a.items[a.index])},nextLevel:function(){var a=this.currentLevel;if(a--,0>a)return!1;this.currentLevel=a;var b=this.levels[a];return b.items[b.index]this.minValue&&(this.minValue=b.items[b.index]),!0},isLeaf:function(){return 0===this.currentLevel},isAboveThreshold:function(){var a=this.currentLevel,b=this.levels[a];return b.items[b.index]>this.currentStopValue},isKnown:function(){var a=this.currentLevel,b=this.levels[a];return b.status[b.index]>0},setKnown:function(){var a=this.currentLevel,b=this.levels[a];b.status[b.index]=1}},a}(),x=function(){function a(a,b,c,g,h){this.width=a,this.height=b,this.contextLabelTable="HH"===c?f:"HL"===c?e:d;var i=a*b;this.neighborsSignificance=new Uint8Array(i),this.coefficentsSign=new Uint8Array(i),this.coefficentsMagnitude=h>14?new Uint32Array(i):h>6?new Uint16Array(i):new Uint8Array(i),this.processingFlags=new Uint8Array(i);var j=new Uint8Array(i);if(0!==g)for(var k=0;i>k;k++)j[k]=g;this.bitsDecoded=j,this.reset()}var b=17,c=18,d=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),e=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),f=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);return a.prototype={setDecoder:function(a){this.decoder=a},reset:function(){this.contexts=new Int8Array(19),this.contexts[0]=8,this.contexts[b]=92,this.contexts[c]=6},setNeighborsSignificance:function(a,b,c){var d,e=this.neighborsSignificance,f=this.width,g=this.height,h=b>0,i=f>b+1;a>0&&(d=c-f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),g>a+1&&(d=c+f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),h&&(e[c-1]+=1),i&&(e[c+1]+=1),e[c]|=128},runSignificancePropogationPass:function(){for(var a=this.decoder,b=this.width,c=this.height,d=this.coefficentsMagnitude,e=this.coefficentsSign,f=this.neighborsSignificance,g=this.processingFlags,h=this.contexts,i=this.contextLabelTable,j=this.bitsDecoded,k=-2,l=1,m=2,n=0;c>n;n+=4)for(var o=0;b>o;o++)for(var p=n*b+o,q=0;4>q;q++,p+=b){var r=n+q;if(r>=c)break;if(g[p]&=k,!d[p]&&f[p]){var s=i[f[p]],t=a.readBit(h,s);if(t){var u=this.decodeSignBit(r,o,p);e[p]=u,d[p]=1,this.setNeighborsSignificance(r,o,p),g[p]|=m}j[p]++,g[p]|=l}}},decodeSignBit:function(a,b,c){var d,e,f,g,h,i,j=this.width,k=this.height,l=this.coefficentsMagnitude,m=this.coefficentsSign;g=b>0&&0!==l[c-1],j>b+1&&0!==l[c+1]?(f=m[c+1],g?(e=m[c-1],d=1-f-e):d=1-f-f):g?(e=m[c-1],d=1-e-e):d=0;var n=3*d;return g=a>0&&0!==l[c-j],k>a+1&&0!==l[c+j]?(f=m[c+j],g?(e=m[c-j],d=1-f-e+n):d=1-f-f+n):g?(e=m[c-j],d=1-e-e+n):d=n,d>=0?(h=9+d,i=this.decoder.readBit(this.contexts,h)):(h=9-d,i=1^this.decoder.readBit(this.contexts,h)),i},runMagnitudeRefinementPass:function(){for(var a,b=this.decoder,c=this.width,d=this.height,e=this.coefficentsMagnitude,f=this.neighborsSignificance,g=this.contexts,h=this.bitsDecoded,i=this.processingFlags,j=1,k=2,l=c*d,m=4*c,n=0;l>n;n=a){a=Math.min(l,n+m);for(var o=0;c>o;o++)for(var p=n+o;a>p;p+=c)if(e[p]&&0===(i[p]&j)){var q=16;if(0!==(i[p]&k)){i[p]^=k;var r=127&f[p];q=0===r?15:14}var s=b.readBit(g,q);e[p]=e[p]<<1|s,h[p]++,i[p]|=j}}},runCleanupPass:function(){for(var a,d=this.decoder,e=this.width,f=this.height,g=this.neighborsSignificance,h=this.coefficentsMagnitude,i=this.coefficentsSign,j=this.contexts,k=this.contextLabelTable,l=this.bitsDecoded,m=this.processingFlags,n=1,o=2,p=e,q=2*e,r=3*e,s=0;f>s;s=a){a=Math.min(s+4,f);for(var t=s*e,u=f>s+3,v=0;e>v;v++){var w,x=t+v,y=u&&0===m[x]&&0===m[x+p]&&0===m[x+q]&&0===m[x+r]&&0===g[x]&&0===g[x+p]&&0===g[x+q]&&0===g[x+r],z=0,A=x,B=s;if(y){var C=d.readBit(j,c);if(!C){l[x]++,l[x+p]++,l[x+q]++,l[x+r]++;continue}z=d.readBit(j,b)<<1|d.readBit(j,b),0!==z&&(B=s+z,A+=z*e),w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o,A=x;for(var D=s;B>=D;D++,A+=e)l[A]++;z++}for(B=s+z;a>B;B++,A+=e)if(!h[A]&&0===(m[A]&n)){var E=k[g[A]],F=d.readBit(j,E);1===F&&(w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o),l[A]++}}}},checkSegmentationSymbol:function(){var a=this.decoder,c=this.contexts,d=a.readBit(c,b)<<3|a.readBit(c,b)<<2|a.readBit(c,b)<<1|a.readBit(c,b);if(10!==d)throw new Error("JPX Error: Invalid segmentation symbol")}},a}(),y=function(){function a(){}return a.prototype.calculate=function(a,b,c){for(var d=a[0],e=1,f=a.length;f>e;e++)d=this.iterate(d,a[e],b,c);return d},a.prototype.extend=function(a,b,c){var d=b-1,e=b+1,f=b+c-2,g=b+c;a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d]=a[e],a[g]=a[f]},a.prototype.iterate=function(a,b,c,d){var e,f,g,h,i,j,k=a.width,l=a.height,m=a.items,n=b.width,o=b.height,p=b.items;for(g=0,e=0;l>e;e++)for(h=2*e*n,f=0;k>f;f++,g++,h+=2)p[h]=m[g];m=a.items=null;var q=4,r=new Float32Array(n+2*q);if(1===n){if(0!==(1&c))for(j=0,g=0;o>j;j++,g+=n)p[g]*=.5}else for(j=0,g=0;o>j;j++,g+=n)r.set(p.subarray(g,g+n),q),this.extend(r,q,n),this.filter(r,q,n),p.set(r.subarray(q,q+n),g);var s=16,t=[];for(e=0;s>e;e++)t.push(new Float32Array(o+2*q));var u,v=0;if(a=q+o,1===o){if(0!==(1&d))for(i=0;n>i;i++)p[i]*=.5}else for(i=0;n>i;i++){if(0===v){for(s=Math.min(n-i,s),g=i,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)t[u][h]=p[g+u];v=s}v--;var w=t[v];if(this.extend(w,q,o),this.filter(w,q,o),0===v)for(g=i-s+1,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)p[g+u]=t[u][h]}return{width:n,height:o,items:p}},a}(),z=function(){function a(){y.call(this)}return a.prototype=Object.create(y.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f,g,h,i=-1.586134342059924,j=-.052980118572961,k=.882911075530934,l=.443506852043971,m=1.230174104914001,n=1/m;for(e=b-3,f=d+4;f--;e+=2)a[e]*=n;for(e=b-2,g=l*a[e-1],f=d+3;f--&&(h=l*a[e+1],a[e]=m*a[e]-g-h,f--);e+=2)e+=2,g=l*a[e+1],a[e]=m*a[e]-g-h;for(e=b-1,g=k*a[e-1],f=d+2;f--&&(h=k*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=k*a[e+1],a[e]-=g+h;for(e=b,g=j*a[e-1],f=d+1;f--&&(h=j*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=j*a[e+1],a[e]-=g+h;if(0!==d)for(e=b+1,g=i*a[e-1],f=d;f--&&(h=i*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=i*a[e+1],a[e]-=g+h},a}(),A=function(){function a(){y.call(this)}return a.prototype=Object.create(y.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f;for(e=b,f=d+1;f--;e+=2)a[e]-=a[e-1]+a[e+1]+2>>2;for(e=b+1,f=d;f--;e+=2)a[e]+=a[e-1]+a[e+1]>>1},a}();return a}(),ArithmeticDecoder=function(){function a(a,b,c){this.data=a,this.bp=b,this.dataEnd=c,this.chigh=a[b],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}var b=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];return a.prototype={byteIn:function(){var a=this.data,b=this.bp;if(255===a[b]){var c=a[b+1];c>143?(this.clow+=65280,this.ct=8):(b++,this.clow+=a[b]<<9,this.ct=7,this.bp=b)}else b++,this.clow+=b65535&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(a,c){var d,e=a[c]>>1,f=1&a[c],g=b[e],h=g.qe,i=this.a-h;if(this.chighi?(i=h,d=f,e=g.nmps):(i=h,d=1^f,1===g.switchFlag&&(f=d),e=g.nlps);else{if(this.chigh-=h,0!==(32768&i))return this.a=i,f;h>i?(d=1^f,1===g.switchFlag&&(f=d),e=g.nlps):(d=f,e=g.nmps)}do{0===this.ct&&this.byteIn(),i<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--}while(0===(32768&i));return this.a=i,a[c]=e<<1|f,d}},a}(),globalScope="undefined"==typeof window?this:window,isWorker="undefined"==typeof window,FONT_IDENTITY_MATRIX=[.001,0,0,.001,0,0],TextRenderingMode={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},AnnotationType={WIDGET:1,TEXT:2,LINK:3},StreamType={UNKNOWN:0,FLATE:1,LZW:2,DCT:3,JPX:4,JBIG:5,A85:6,AHX:7,CCF:8,RL:9},FontType={UNKNOWN:0,TYPE1:1,TYPE1C:2,CIDFONTTYPE0:3,CIDFONTTYPE0C:4,TRUETYPE:5,CIDFONTTYPE2:6,TYPE3:7,OPENTYPE:8,TYPE0:9,MMTYPE1:10};globalScope.PDFJS||(globalScope.PDFJS={}),globalScope.PDFJS.pdfBug=!1,PDFJS.VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var OPS=PDFJS.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},UNSUPPORTED_FEATURES=PDFJS.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",smask:"smask",shadingPattern:"shadingPattern",font:"font"},UnsupportedManager=PDFJS.UnsupportedManager=function(){var a=[];return{listen:function(b){a.push(b)},notify:function(b){warn('Unsupported feature "'+b+'"');for(var c=0,d=a.length;d>c;c++)a[c](b)}}}();PDFJS.isValidUrl=isValidUrl,PDFJS.shadow=shadow;var PasswordResponses=PDFJS.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},PasswordException=function(){function a(a,b){this.name="PasswordException",this.message=a,this.code=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.PasswordException=PasswordException;var UnknownErrorException=function(){function a(a,b){this.name="UnknownErrorException",this.message=a,this.details=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnknownErrorException=UnknownErrorException;var InvalidPDFException=function(){function a(a){this.name="InvalidPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.InvalidPDFException=InvalidPDFException;var MissingPDFException=function(){function a(a){this.name="MissingPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.MissingPDFException=MissingPDFException;var UnexpectedResponseException=function(){function a(a,b){this.name="UnexpectedResponseException",this.message=a,this.status=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnexpectedResponseException=UnexpectedResponseException;var NotImplementedException=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="NotImplementedException",a.constructor=a,a}(),MissingDataException=function(){function a(a,b){this.begin=a,this.end=b,this.message="Missing data ["+a+", "+b+")"}return a.prototype=new Error,a.prototype.name="MissingDataException",a.constructor=a,a}(),XRefParseException=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="XRefParseException",a.constructor=a,a}();Object.defineProperty(PDFJS,"isLittleEndian",{configurable:!0,get:function(){return shadow(PDFJS,"isLittleEndian",isLittleEndian())}}),Object.defineProperty(PDFJS,"hasCanvasTypedArrays",{configurable:!0,get:function(){return shadow(PDFJS,"hasCanvasTypedArrays",hasCanvasTypedArrays())}});var Uint32ArrayView=function(){function a(a,b){this.buffer=a,this.byteLength=a.length,this.length=void 0===b?this.byteLength>>2:b,c(this.length)}function b(a){return{get:function(){var b=this.buffer,c=a<<2;return(b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24)>>>0},set:function(b){var c=this.buffer,d=a<<2;c[d]=255&b,c[d+1]=b>>8&255,c[d+2]=b>>16&255,c[d+3]=b>>>24&255}}}function c(c){for(;c>d;)Object.defineProperty(a.prototype,d,b(d)),d++}a.prototype=Object.create(null);var d=0;return a}(),IDENTITY_MATRIX=[1,0,0,1,0,0],Util=PDFJS.Util=function(){function a(){}var b=["rgb(",0,",",0,",",0,")"];return a.makeCssRgb=function(a,c,d){return b[1]=a,b[3]=c,b[5]=d,b.join("")},a.transform=function(a,b){return[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],a[0]*b[4]+a[2]*b[5]+a[4],a[1]*b[4]+a[3]*b[5]+a[5]]},a.applyTransform=function(a,b){var c=a[0]*b[0]+a[1]*b[2]+b[4],d=a[0]*b[1]+a[1]*b[3]+b[5];return[c,d]},a.applyInverseTransform=function(a,b){var c=b[0]*b[3]-b[1]*b[2],d=(a[0]*b[3]-a[1]*b[2]+b[2]*b[5]-b[4]*b[3])/c,e=(-a[0]*b[1]+a[1]*b[0]+b[4]*b[1]-b[5]*b[0])/c;return[d,e]},a.getAxialAlignedBoundingBox=function(b,c){var d=a.applyTransform(b,c),e=a.applyTransform(b.slice(2,4),c),f=a.applyTransform([b[0],b[3]],c),g=a.applyTransform([b[2],b[1]],c);return[Math.min(d[0],e[0],f[0],g[0]),Math.min(d[1],e[1],f[1],g[1]),Math.max(d[0],e[0],f[0],g[0]),Math.max(d[1],e[1],f[1],g[1])]},a.inverseTransform=function(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[4]*a[3])/b,(a[4]*a[1]-a[5]*a[0])/b]},a.apply3dTransform=function(a,b){return[a[0]*b[0]+a[1]*b[1]+a[2]*b[2],a[3]*b[0]+a[4]*b[1]+a[5]*b[2],a[6]*b[0]+a[7]*b[1]+a[8]*b[2]]},a.singularValueDecompose2dScale=function(a){var b=[a[0],a[2],a[1],a[3]],c=a[0]*b[0]+a[1]*b[2],d=a[0]*b[1]+a[1]*b[3],e=a[2]*b[0]+a[3]*b[2],f=a[2]*b[1]+a[3]*b[3],g=(c+f)/2,h=Math.sqrt((c+f)*(c+f)-4*(c*f-e*d))/2,i=g+h||1,j=g-h||1;return[Math.sqrt(i),Math.sqrt(j)]},a.normalizeRect=function(a){var b=a.slice(0);return a[0]>a[2]&&(b[0]=a[2],b[2]=a[0]),a[1]>a[3]&&(b[1]=a[3],b[3]=a[1]),b},a.intersect=function(b,c){function d(a,b){return a-b}var e=[b[0],b[2],c[0],c[2]].sort(d),f=[b[1],b[3],c[1],c[3]].sort(d),g=[];return b=a.normalizeRect(b),c=a.normalizeRect(c),e[0]===b[0]&&e[1]===c[0]||e[0]===c[0]&&e[1]===b[0]?(g[0]=e[1],g[2]=e[2],f[0]===b[1]&&f[1]===c[1]||f[0]===c[1]&&f[1]===b[1]?(g[1]=f[1],g[3]=f[2],g):!1):!1},a.sign=function(a){return 0>a?-1:1},a.appendToArray=function(a,b){Array.prototype.push.apply(a,b)},a.prependToArray=function(a,b){Array.prototype.unshift.apply(a,b)},a.extendObj=function(a,b){for(var c in b)a[c]=b[c]},a.getInheritableProperty=function(a,b){for(;a&&!a.has(b);)a=a.get("Parent");return a?a.get(b):null},a.inherit=function(a,b,c){a.prototype=Object.create(b.prototype),a.prototype.constructor=a;for(var d in c)a.prototype[d]=c[d]},a.loadScript=function(a,b){var c=document.createElement("script"),d=!1;c.setAttribute("src",a),b&&(c.onload=function(){d||b(),d=!0}),document.getElementsByTagName("head")[0].appendChild(c)},a}(),PageViewport=PDFJS.PageViewport=function(){function a(a,b,c,d,e,f){this.viewBox=a,this.scale=b,this.rotation=c,this.offsetX=d,this.offsetY=e;var g,h,i,j,k=(a[2]+a[0])/2,l=(a[3]+a[1])/2;switch(c%=360,c=0>c?c+360:c){case 180:g=-1,h=0,i=0,j=1;break;case 90:g=0,h=1,i=1,j=0;break;case 270:g=0,h=-1,i=-1,j=0;break;default:g=1,h=0,i=0,j=-1}f&&(i=-i,j=-j);var m,n,o,p;0===g?(m=Math.abs(l-a[1])*b+d,n=Math.abs(k-a[0])*b+e,o=Math.abs(a[3]-a[1])*b,p=Math.abs(a[2]-a[0])*b):(m=Math.abs(k-a[0])*b+d,n=Math.abs(l-a[1])*b+e,o=Math.abs(a[2]-a[0])*b,p=Math.abs(a[3]-a[1])*b),this.transform=[g*b,h*b,i*b,j*b,m-g*b*k-i*b*l,n-h*b*k-j*b*l],this.width=o,this.height=p,this.fontScale=b}return a.prototype={clone:function(b){b=b||{};var c="scale"in b?b.scale:this.scale,d="rotation"in b?b.rotation:this.rotation;return new a(this.viewBox.slice(),c,d,this.offsetX,this.offsetY,b.dontFlip)},convertToViewportPoint:function(a,b){return Util.applyTransform([a,b],this.transform)},convertToViewportRectangle:function(a){var b=Util.applyTransform([a[0],a[1]],this.transform),c=Util.applyTransform([a[2],a[3]],this.transform);return[b[0],b[1],c[0],c[1]]},convertToPdfPoint:function(a,b){return Util.applyInverseTransform([a,b],this.transform)}},a}(),PDFStringTranslateTable=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];PDFJS.createPromiseCapability=createPromiseCapability,function(){function a(a){this._status=b,this._handlers=[];try{a.call(this,this._resolve.bind(this),this._reject.bind(this))}catch(c){this._reject(c)}}if(globalScope.Promise)return"function"!=typeof globalScope.Promise.all&&(globalScope.Promise.all=function(a){var b,c,d=0,e=[],f=new globalScope.Promise(function(a,d){b=a,c=d});return a.forEach(function(a,f){d++,a.then(function(a){e[f]=a,d--,0===d&&b(e)},c)}),0===d&&b(e),f}),"function"!=typeof globalScope.Promise.resolve&&(globalScope.Promise.resolve=function(a){return new globalScope.Promise(function(b){b(a)})}),"function"!=typeof globalScope.Promise.reject&&(globalScope.Promise.reject=function(a){return new globalScope.Promise(function(b,c){c(a)})}),void("function"!=typeof globalScope.Promise.prototype["catch"]&&(globalScope.Promise.prototype["catch"]=function(a){return globalScope.Promise.prototype.then(void 0,a)}));var b=0,c=1,d=2,e=500,f={handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(a){a._status!==b&&(this.handlers=this.handlers.concat(a._handlers),a._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(var a=1,b=Date.now()+a;this.handlers.length>0;){var e=this.handlers.shift(),f=e.thisPromise._status,g=e.thisPromise._value;try{f===c?"function"==typeof e.onResolve&&(g=e.onResolve(g)):"function"==typeof e.onReject&&(g=e.onReject(g),f=c,e.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(e.thisPromise))}catch(h){f=d,g=h}if(e.nextPromise._updateStatus(f,g),Date.now()>=b)break}return this.handlers.length>0?void setTimeout(this.runHandlers.bind(this),0):void(this.running=!1)},addUnhandledRejection:function(a){this.unhandledRejections.push({promise:a,time:Date.now()}),this.scheduleRejectionCheck()},removeUnhandeledRejection:function(a){a._unhandledRejection=!1;for(var b=0;be){var c=this.unhandledRejections[b].promise._value,d="Unhandled rejection: "+c;c.stack&&(d+="\n"+c.stack),warn(d),this.unhandledRejections.splice(b),b--}this.unhandledRejections.length&&this.scheduleRejectionCheck()}.bind(this),e))}};a.all=function(b){function c(a){g._status!==d&&(i=[],f(a))}var e,f,g=new a(function(a,b){e=a,f=b}),h=b.length,i=[];if(0===h)return e(i),g;for(var j=0,k=b.length;k>j;++j){var l=b[j],m=function(a){return function(b){g._status!==d&&(i[a]=b,h--,0===h&&e(i))}}(j);a.isPromise(l)?l.then(m,c):m(l)}return g},a.isPromise=function(a){return a&&"function"==typeof a.then},a.resolve=function(b){return new a(function(a){a(b)})},a.reject=function(b){return new a(function(a,c){c(b)})},a.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null,_updateStatus:function(b,e){if(this._status!==c&&this._status!==d){if(b===c&&a.isPromise(e))return void e.then(this._updateStatus.bind(this,c),this._updateStatus.bind(this,d));this._status=b,this._value=e,b===d&&0===this._handlers.length&&(this._unhandledRejection=!0,f.addUnhandledRejection(this)),f.scheduleHandlers(this)}},_resolve:function(a){this._updateStatus(c,a)},_reject:function(a){this._updateStatus(d,a)},then:function(b,c){var d=new a(function(a,b){this.resolve=a,this.reject=b});return this._handlers.push({thisPromise:this,onResolve:b,onReject:c,nextPromise:d}),f.scheduleHandlers(this),d},catch:function(a){return this.then(void 0,a)}},globalScope.Promise=a}();var StatTimer=function(){function a(a,b,c){for(;a.lengthb;++b){var g=d[b].name;g.length>f&&(f=g.length)}for(b=0,c=d.length;c>b;++b){var h=d[b],i=h.end-h.start;e+=a(h.name," ",f)+" "+i+"ms\n"}return e}},b}();PDFJS.createBlob=function(a,b){if("undefined"!=typeof Blob)return new Blob([a],{type:b});var c=new MozBlobBuilder;return c.append(a),c.getBlob(b)},PDFJS.createObjectURL=function(){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return function(b,c){if(!PDFJS.disableCreateObjectURL&&"undefined"!=typeof URL&&URL.createObjectURL){var d=PDFJS.createBlob(b,c);return URL.createObjectURL(d)}for(var e="data:"+c+";base64,",f=0,g=b.length;g>f;f+=3){var h=255&b[f],i=255&b[f+1],j=255&b[f+2],k=h>>2,l=(3&h)<<4|i>>4,m=g>f+1?(15&i)<<2|j>>6:64,n=g>f+2?63&j:64;e+=a[k]+a[l]+a[m]+a[n]}return e}}(),MessageHandler.prototype={on:function(a,b,c){var d=this.actionHandler;d[a]&&error('There is already an actionName called "'+a+'"'),d[a]=[b,c]},send:function(a,b,c){var d={action:a,data:b};this.postMessage(d,c)},sendWithPromise:function(a,b,c){var d=this.callbackIndex++,e={action:a,data:b,callbackId:d},f=createPromiseCapability();this.callbacksCapabilities[d]=f;try{this.postMessage(e,c)}catch(g){f.reject(g)}return f.promise},postMessage:function(a,b){b&&this.postMessageTransfers?this.comObj.postMessage(a,b):this.comObj.postMessage(a)}}; -/*! OpenJPEG.js - v0.2.0 - 2016-06-07 | (c) 2016 Chris Hafey | https://github.com/chafey/openjpeg */var OpenJPEG=function(Module){Module=Module||{};var Module;if(!Module)Module=(typeof OpenJPEG!=="undefined"?OpenJPEG:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?function(x){dump(x)}:function(x){}}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=function(title){document.title=title}}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=function(){}}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:function(value){tempRet0=value},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(stackTop){STACKTOP=stackTop},getNativeTypeSize:function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}},getNativeFieldSize:function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr},getAlignSize:function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)},dynCall:function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}},functionPointers:[],addFunction:function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret},alignMemory:function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret},makeBigInt:function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret},stringToC:function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret}};var toC={string:JSfuncs["stringToC"],array:JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||4e8;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32};Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;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["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+25664;__ATINIT__.push();allocate([131,192,202,161,69,182,251,63,127,251,58,112,206,136,234,63,127,251,58,112,206,136,234,63,131,192,202,161,69,182,251,63,225,122,20,174,71,225,252,63,94,186,73,12,2,43,249,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,6,64,0,0,0,0,0,128,21,64,92,143,194,245,40,92,37,64,215,163,112,61,10,87,53,64,246,40,92,143,194,85,69,64,133,235,81,184,30,85,85,64,102,102,102,102,102,86,101,64,205,204,204,204,204,84,117,64,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,173,250,92,109,197,254,230,63,86,125,174,182,98,127,237,63,199,75,55,137,65,96,249,63,242,210,77,98,16,88,8,64,250,126,106,188,116,19,24,64,133,235,81,184,30,5,40,64,0,0,0,0,0,0,56,64,92,143,194,245,40,252,71,64,236,81,184,30,133,251,87,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,113,61,10,215,163,112,255,63,104,145,237,124,63,181,16,64,117,147,24,4,86,206,32,64,102,102,102,102,102,230,48,64,236,81,184,30,133,235,64,64,92,143,194,245,40,236,80,64,154,153,153,153,153,233,96,64,154,153,153,153,153,233,112,64,51,51,51,51,51,231,128,64,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,164,112,61,10,215,163,0,64,236,81,184,30,133,235,14,64,119,190,159,26,47,157,32,64,174,71,225,122,20,46,49,64,123,20,174,71,225,90,65,64,246,40,92,143,194,101,81,64,154,153,153,153,153,105,97,64,154,153,153,153,153,105,113,64,154,153,153,153,153,105,129,64,0,0,0,0,0,0,0,0,4,0,0,0,67,80,82,76,0,0,0,0,0,0,0,0,76,82,67,80,0,0,0,0,3,0,0,0,80,67,82,76,0,0,0,0,1,0,0,0,82,76,67,80,0,0,0,0,2,0,0,0,82,80,67,76,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,144,255,0,0,12,0,0,0,1,0,0,0,82,255,0,0,20,0,0,0,2,0,0,0,83,255,0,0,20,0,0,0,3,0,0,0,94,255,0,0,20,0,0,0,4,0,0,0,92,255,0,0,20,0,0,0,5,0,0,0,93,255,0,0,20,0,0,0,6,0,0,0,95,255,0,0,20,0,0,0,7,0,0,0,81,255,0,0,2,0,0,0,8,0,0,0,85,255,0,0,4,0,0,0,9,0,0,0,87,255,0,0,4,0,0,0,10,0,0,0,88,255,0,0,16,0,0,0,11,0,0,0,96,255,0,0,4,0,0,0,12,0,0,0,97,255,0,0,16,0,0,0,13,0,0,0,145,255,0,0,0,0,0,0,0,0,0,0,99,255,0,0,4,0,0,0,14,0,0,0,100,255,0,0,20,0,0,0,15,0,0,0,116,255,0,0,20,0,0,0,16,0,0,0,120,255,0,0,4,0,0,0,17,0,0,0,117,255,0,0,20,0,0,0,18,0,0,0,119,255,0,0,20,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,32,32,80,106,20,0,0,0,112,121,116,102,21,0,0,0,104,50,112,106,22,0,0,0,114,100,104,105,23,0,0,0,114,108,111,99,24,0,0,0,99,99,112,98,25,0,0,0,114,108,99,112,26,0,0,0,112,97,109,99,27,0,0,0,102,101,100,99,28,0,0,0,1,86,0,0,0,0,0,0,164,4,0,0,180,4,0,0,1,86,0,0,1,0,0,0,180,4,0,0,164,4,0,0,1,52,0,0,0,0,0,0,196,4,0,0,68,5,0,0,1,52,0,0,1,0,0,0,212,4,0,0,84,5,0,0,1,24,0,0,0,0,0,0,228,4,0,0,164,5,0,0,1,24,0,0,1,0,0,0,244,4,0,0,180,5,0,0,193,10,0,0,0,0,0,0,4,5,0,0,4,6,0,0,193,10,0,0,1,0,0,0,20,5,0,0,20,6,0,0,33,5,0,0,0,0,0,0,36,5,0,0,36,8,0,0,33,5,0,0,1,0,0,0,52,5,0,0,52,8,0,0,33,2,0,0,0,0,0,0,68,9,0,0,164,8,0,0,33,2,0,0,1,0,0,0,84,9,0,0,180,8,0,0,1,86,0,0,0,0,0,0,100,5,0,0,84,5,0,0,1,86,0,0,1,0,0,0,116,5,0,0,68,5,0,0,1,84,0,0,0,0,0,0,132,5,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,5,0,0,84,6,0,0,1,72,0,0,0,0,0,0,164,5,0,0,68,6,0,0,1,72,0,0,1,0,0,0,180,5,0,0,84,6,0,0,1,56,0,0,0,0,0,0,196,5,0,0,68,6,0,0,1,56,0,0,1,0,0,0,212,5,0,0,84,6,0,0,1,48,0,0,0,0,0,0,228,5,0,0,164,6,0,0,1,48,0,0,1,0,0,0,244,5,0,0,180,6,0,0,1,36,0,0,0,0,0,0,4,6,0,0,196,6,0,0,1,36,0,0,1,0,0,0,20,6,0,0,212,6,0,0,1,28,0,0,0,0,0,0,36,6,0,0,4,7,0,0,1,28,0,0,1,0,0,0,52,6,0,0,20,7,0,0,1,22,0,0,0,0,0,0,36,8,0,0,36,7,0,0,1,22,0,0,1,0,0,0,52,8,0,0,52,7,0,0,1,86,0,0,0,0,0,0,100,6,0,0,84,6,0,0,1,86,0,0,1,0,0,0,116,6,0,0,68,6,0,0,1,84,0,0,0,0,0,0,132,6,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,6,0,0,84,6,0,0,1,81,0,0,0,0,0,0,164,6,0,0,100,6,0,0,1,81,0,0,1,0,0,0,180,6,0,0,116,6,0,0,1,72,0,0,0,0,0,0,196,6,0,0,132,6,0,0,1,72,0,0,1,0,0,0,212,6,0,0,148,6,0,0,1,56,0,0,0,0,0,0,228,6,0,0,164,6,0,0,1,56,0,0,1,0,0,0,244,6,0,0,180,6,0,0,1,52,0,0,0,0,0,0,4,7,0,0,196,6,0,0,1,52,0,0,1,0,0,0,20,7,0,0,212,6,0,0,1,48,0,0,0,0,0,0,36,7,0,0,228,6,0,0,1,48,0,0,1,0,0,0,52,7,0,0,244,6,0,0,1,40,0,0,0,0,0,0,68,7,0,0,228,6,0,0,1,40,0,0,1,0,0,0,84,7,0,0,244,6,0,0,1,36,0,0,0,0,0,0,100,7,0,0,4,7,0,0,1,36,0,0,1,0,0,0,116,7,0,0,20,7,0,0,1,34,0,0,0,0,0,0,132,7,0,0,36,7,0,0,1,34,0,0,1,0,0,0,148,7,0,0,52,7,0,0,1,28,0,0,0,0,0,0,164,7,0,0,68,7,0,0,1,28,0,0,1,0,0,0,180,7,0,0,84,7,0,0,1,24,0,0,0,0,0,0,196,7,0,0,100,7,0,0,1,24,0,0,1,0,0,0,212,7,0,0,116,7,0,0,1,22,0,0,0,0,0,0,228,7,0,0,132,7,0,0,1,22,0,0,1,0,0,0,244,7,0,0,148,7,0,0,1,20,0,0,0,0,0,0,4,8,0,0,164,7,0,0,1,20,0,0,1,0,0,0,20,8,0,0,180,7,0,0,1,18,0,0,0,0,0,0,36,8,0,0,196,7,0,0,1,18,0,0,1,0,0,0,52,8,0,0,212,7,0,0,1,17,0,0,0,0,0,0,68,8,0,0,228,7,0,0,1,17,0,0,1,0,0,0,84,8,0,0,244,7,0,0,193,10,0,0,0,0,0,0,100,8,0,0,4,8,0,0,193,10,0,0,1,0,0,0,116,8,0,0,20,8,0,0,193,9,0,0,0,0,0,0,132,8,0,0,36,8,0,0,193,9,0,0,1,0,0,0,148,8,0,0,52,8,0,0,161,8,0,0,0,0,0,0,164,8,0,0,68,8,0,0,161,8,0,0,1,0,0,0,180,8,0,0,84,8,0,0,33,5,0,0,0,0,0,0,196,8,0,0,100,8,0,0,33,5,0,0,1,0,0,0,212,8,0,0,116,8,0,0,65,4,0,0,0,0,0,0,228,8,0,0,132,8,0,0,65,4,0,0,1,0,0,0,244,8,0,0,148,8,0,0,161,2,0,0,0,0,0,0,4,9,0,0,164,8,0,0,161,2,0,0,1,0,0,0,20,9,0,0,180,8,0,0,33,2,0,0,0,0,0,0,36,9,0,0,196,8,0,0,33,2,0,0,1,0,0,0,52,9,0,0,212,8,0,0,65,1,0,0,0,0,0,0,68,9,0,0,228,8,0,0,65,1,0,0,1,0,0,0,84,9,0,0,244,8,0,0,17,1,0,0,0,0,0,0,100,9,0,0,4,9,0,0,17,1,0,0,1,0,0,0,116,9,0,0,20,9,0,0,133,0,0,0,0,0,0,0,132,9,0,0,36,9,0,0,133,0,0,0,1,0,0,0,148,9,0,0,52,9,0,0,73,0,0,0,0,0,0,0,164,9,0,0,68,9,0,0,73,0,0,0,1,0,0,0,180,9,0,0,84,9,0,0,37,0,0,0,0,0,0,0,196,9,0,0,100,9,0,0,37,0,0,0,1,0,0,0,212,9,0,0,116,9,0,0,21,0,0,0,0,0,0,0,228,9,0,0,132,9,0,0,21,0,0,0,1,0,0,0,244,9,0,0,148,9,0,0,9,0,0,0,0,0,0,0,4,10,0,0,164,9,0,0,9,0,0,0,1,0,0,0,20,10,0,0,180,9,0,0,5,0,0,0,0,0,0,0,36,10,0,0,196,9,0,0,5,0,0,0,1,0,0,0,52,10,0,0,212,9,0,0,1,0,0,0,0,0,0,0,36,10,0,0,228,9,0,0,1,0,0,0,1,0,0,0,52,10,0,0,244,9,0,0,1,86,0,0,0,0,0,0,68,10,0,0,68,10,0,0,1,86,0,0,1,0,0,0,84,10,0,0,84,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,11,0,0,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,38,94,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,64,4,32,0,32,2,128,0,128,8,16,0,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,0,3,128,4,0,6,128,7,0,9,128,10,0,12,128,13,0,15,128,16,0,18,128,19,0,21,128,22,0,24,128,25,0,27,128,28,0,30,128,31,0,33,128,34,0,36,128,37,0,39,128,40,0,42,128,43,0,45,128,46,0,48,128,49,0,51,128,52,0,54,128,55,0,57,128,58,0,60,128,61,0,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,0,81,128,82,0,84,128,85,0,87,128,88,0,90,128,91,0,93,128,94,0,96,128,97,0,99,128,100,0,102,128,103,0,105,128,106,0,108,128,109,0,111,128,112,0,114,128,115,0,117,128,118,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,128,38,128,39,128,40,128,41,0,43,0,44,0,45,128,46,128,47,0,49,0,50,128,51,128,52,0,54,0,55,128,56,0,58,0,59,128,60,0,62,128,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,128,81,0,83,128,84,0,86,0,88,128,89,0,91,0,93,128,94,128,96,0,98,0,100,128,101,128,103,0,105,0,107,0,109,128,110,128,112,128,114,128,116,0,118,0,120,0,122,0,124,0,126,0,24,128,23,0,23,128,22,0,22,128,21,0,21,128,20,0,20,128,19,0,19,128,18,0,18,128,17,0,17,128,16,0,16,128,15,0,15,128,14,0,14,128,13,0,13,128,12,0,12,128,11,0,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,0,5,128,4,0,4,128,3,0,3,128,2,0,2,128,1,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,1,128,1,0,2,128,2,0,3,128,3,0,4,128,4,0,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,0,11,128,11,0,12,128,12,0,13,128,13,0,14,128,14,0,15,128,15,0,16,128,16,0,17,128,17,0,18,128,18,0,19,128,19,0,20,128,20,0,21,128,21,0,22,128,22,0,23,128,23,0,32,0,31,0,30,0,29,0,28,0,27,128,26,128,25,128,24,128,23,0,23,0,22,0,21,128,20,128,19,0,19,0,18,128,17,128,16,0,16,0,15,128,14,0,14,0,13,128,12,0,12,128,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,128,5,0,5,128,4,0,4,0,4,128,3,0,3,0,3,128,2,128,2,0,2,0,2,128,1,128,1,0,1,0,1,0,1,128,0,128,0,128,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,116,104,101,32,100,101,99,111,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,104,101,97,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,33,0,91,69,82,82,79,82,93,32,37,115,0,83,116,114,101,97,109,32,114,101,97,99,104,101,100,32,105,116,115,32,101,110,100,32,33,10,0,69,114,114,111,114,32,111,110,32,119,114,105,116,105,110,103,32,115,116,114,101,97,109,33,10,0,83,116,114,101,97,109,32,101,114,114,111,114,33,10,0,50,46,49,46,48,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,115,101,116,117,112,95,100,101,99,111,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,114,101,97,100,95,104,101,97,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,119,98,0,114,98,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,44,37,100,93,10,0,68,101,112,114,101,99,97,116,101,100,32,102,105,101,108,100,115,32,99,112,95,99,105,110,101,109,97,32,111,114,32,99,112,95,114,115,105,122,32,97,114,101,32,117,115,101,100,10,80,108,101,97,115,101,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32,111,110,108,121,32,116,104,101,32,114,115,105,122,32,102,105,101,108,100,10,83,101,101,32,111,112,101,110,106,112,101,103,46,104,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,10,0,84,104,101,32,100,101,115,105,114,101,100,32,109,97,120,105,109,117,109,32,99,111,100,101,115,116,114,101,97,109,32,115,105,122,101,32,104,97,115,32,108,105,109,105,116,101,100,10,97,116,32,108,101,97,115,116,32,111,110,101,32,111,102,32,116,104,101,32,100,101,115,105,114,101,100,32,113,117,97,108,105,116,121,32,108,97,121,101,114,115,10,0,74,80,69,71,32,50,48,48,48,32,83,99,97,108,97,98,108,101,32,68,105,103,105,116,97,108,32,67,105,110,101,109,97,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,49,32,115,105,110,103,108,101,32,113,117,97,108,105,116,121,32,108,97,121,101,114,45,62,32,78,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,45,62,32,82,97,116,101,32,111,102,32,116,104,101,32,108,97,115,116,32,108,97,121,101,114,32,40,37,51,46,49,102,41,32,119,105,108,108,32,98,101,32,117,115,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,60,61,32,53,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,53,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,54,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,51,48,50,48,56,51,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,48,52,49,54,54,54,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,51,32,99,111,109,112,111,110,101,110,116,115,45,62,32,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,115,105,103,110,101,100,0,117,110,115,105,103,110,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,80,114,101,99,105,115,105,111,110,32,111,102,32,101,97,99,104,32,99,111,109,112,111,110,101,110,116,32,115,104,97,108,108,32,98,101,32,49,50,32,98,105,116,115,32,117,110,115,105,103,110,101,100,45,62,32,65,116,32,108,101,97,115,116,32,99,111,109,112,111,110,101,110,116,32,37,100,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,32,98,105,116,115,44,32,37,115,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,50,48,52,56,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,49,48,56,48,10,45,62,32,73,110,112,117,116,32,105,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,52,48,57,54,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,50,49,54,48,10,45,62,32,73,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,52,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,76,111,110,103,32,84,101,114,109,32,83,116,111,114,97,103,101,32,112,114,111,102,105,108,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,66,114,111,97,100,99,97,115,116,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,73,77,70,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,97,114,116,45,50,32,112,114,111,102,105,108,101,32,100,101,102,105,110,101,100,10,98,117,116,32,110,111,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,46,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,85,110,115,117,112,112,111,114,116,101,100,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,117,115,101,114,32,101,110,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,37,115,37,115,0,67,114,101,97,116,101,100,32,98,121,32,79,112,101,110,74,80,69,71,32,118,101,114,115,105,111,110,32,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,104,101,99,107,105,110,103,32,116,104,101,32,112,111,99,32,118,97,108,117,101,115,46,10,0,77,105,115,115,105,110,103,32,112,97,99,107,101,116,115,32,112,111,115,115,105,98,108,101,32,108,111,115,115,32,111,102,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,101,109,112,32,98,117,102,102,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,70,97,105,108,101,100,32,116,111,32,105,110,118,101,114,115,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,110,111,114,109,115,32,10,0,70,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,106,50,107,32,109,99,116,32,101,110,99,111,100,105,110,103,10,0,67,97,110,110,111,116,32,112,101,114,102,111,114,109,32,77,67,84,32,111,110,32,99,111,109,112,111,110,101,110,116,115,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,46,32,68,105,115,97,98,108,105,110,103,32,77,67,84,46,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,10,0,73,110,99,111,110,115,105,115,116,101,110,116,32,109,97,114,107,101,114,32,115,105,122,101,10,0,77,97,114,107,101,114,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,32,119,105,116,104,32,105,116,115,32,112,111,115,105,116,105,111,110,10,0,77,97,114,107,101,114,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,104,101,97,100,101,114,10,0,78,111,116,32,115,117,114,101,32,104,111,119,32,116,104,97,116,32,104,97,112,112,101,110,101,100,46,10,0,70,97,105,108,32,116,111,32,114,101,97,100,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,40,37,35,120,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,116,108,32,109,97,114,107,101,114,10,0,84,105,108,101,32,112,97,114,116,32,108,101,110,103,116,104,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,79,84,32,109,97,114,107,101,114,10,0,111,112,106,95,106,50,107,95,97,112,112,108,121,95,110,98,95,116,105,108,101,95,112,97,114,116,115,95,99,111,114,114,101,99,116,105,111,110,32,101,114,114,111,114,10,0,78,111,110,32,99,111,110,102,111,114,109,97,110,116,32,99,111,100,101,115,116,114,101,97,109,32,84,80,115,111,116,61,61,84,78,115,111,116,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,84,32,109,97,114,107,101,114,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,84,32,100,97,116,97,10,0,67,97,110,110,111,116,32,100,101,99,111,100,101,32,116,105,108,101,44,32,109,101,109,111,114,121,32,101,114,114,111,114,10,0,72,101,97,100,101,114,32,111,102,32,116,105,108,101,32,37,100,32,47,32,37,100,32,104,97,115,32,98,101,101,110,32,114,101,97,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,46,10,0,78,111,32,69,79,67,32,109,97,114,107,101,114,46,32,80,111,115,115,105,98,108,121,32,97,32,116,114,117,110,99,97,116,101,100,32,115,116,114,101,97,109,10,0,83,116,114,101,97,109,32,100,111,101,115,32,110,111,116,32,101,110,100,32,119,105,116,104,32,69,79,67,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,44,32,101,120,112,101,99,116,101,100,32,83,79,84,10,0,78,101,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,98,101,102,111,114,101,32,98,101,103,105,110,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,99,111,100,101,115,116,114,101,97,109,0,78,111,32,100,101,99,111,100,101,100,32,97,114,101,97,32,112,97,114,97,109,101,116,101,114,115,44,32,115,101,116,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,116,111,32,116,104,101,32,119,104,111,108,101,32,105,109,97,103,101,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,83,105,122,101,32,120,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,119,61,37,100,41,46,10,0,83,105,122,101,32,121,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,104,61,37,100,41,46,10,0,83,101,116,116,105,110,103,32,100,101,99,111,100,105,110,103,32,97,114,101,97,32,116,111,32,37,100,44,37,100,44,37,100,44,37,100,10,0,87,114,111,110,103,32,102,108,97,103,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,102,111,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,116,120,48,61,37,100,44,32,116,121,48,61,37,100,10,0,9,32,116,100,120,61,37,100,44,32,116,100,121,61,37,100,10,0,9,32,116,119,61,37,100,44,32,116,104,61,37,100,10,0,125,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,100,101,120,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,77,97,105,110,32,104,101,97,100,101,114,32,115,116,97,114,116,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,9,32,77,97,105,110,32,104,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([97,100,101,114,32,101,110,100,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,0,9,32,77,97,114,107,101,114,32,108,105,115,116,58,32,123,10,0,9,9,32,116,121,112,101,61,37,35,120,44,32,112,111,115,61,37,108,108,105,44,32,108,101,110,61,37,100,10,0,9,32,125,10,0,9,32,84,105,108,101,32,105,110,100,101,120,58,32,123,10,0,9,9,32,110,98,32,111,102,32,116,105,108,101,45,112,97,114,116,32,105,110,32,116,105,108,101,32,91,37,100,93,61,37,100,10,0,9,9,9,32,116,105,108,101,45,112,97,114,116,91,37,100,93,58,32,115,116,97,114,95,112,111,115,61,37,108,108,105,44,32,101,110,100,95,104,101,97,100,101,114,61,37,108,108,105,44,32,101,110,100,95,112,111,115,61,37,108,108,105,46,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,73,109,97,103,101,32,105,110,102,111,32,123,10,0,37,115,32,120,48,61,37,100,44,32,121,48,61,37,100,10,0,37,115,32,120,49,61,37,100,44,32,121,49,61,37,100,10,0,37,115,32,110,117,109,99,111,109,112,115,61,37,100,10,0,37,115,9,32,99,111,109,112,111,110,101,110,116,32,37,100,32,123,10,0,37,115,125,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,99,111,109,112,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,37,115,32,100,120,61,37,100,44,32,100,121,61,37,100,10,0,37,115,32,112,114,101,99,61,37,100,10,0,37,115,32,115,103,110,100,61,37,100,10,0,87,101,32,110,101,101,100,32,97,110,32,105,109,97,103,101,32,112,114,101,118,105,111,117,115,108,121,32,99,114,101,97,116,101,100,46,10,0,84,105,108,101,32,105,110,100,101,120,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,117,115,101,114,32,105,115,32,105,110,99,111,114,114,101,99,116,32,37,100,32,40,109,97,120,32,61,32,37,100,41,32,10,0,82,101,115,111,108,117,116,105,111,110,32,102,97,99,116,111,114,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,109,97,120,105,109,117,109,32,114,101,115,111,108,117,116,105,111,110,32,105,110,32,116,104,101,32,99,111,109,112,111,110,101,110,116,46,10,0,84,104,101,32,103,105,118,101,110,32,116,105,108,101,32,105,110,100,101,120,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,46,0,116,105,108,101,32,110,117,109,98,101,114,32,37,100,32,47,32,37,100,10,0,69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,100,97,116,97,46,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,101,110,99,111,100,101,32,97,108,108,32,116,105,108,101,115,10,0,83,105,122,101,32,109,105,115,109,97,116,99,104,32,98,101,116,119,101,101,110,32,116,105,108,101,32,100,97,116,97,32,97,110,100,32,115,101,110,116,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,105,109,97,103,101,32,104,101,97,100,101,114,46,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,114,101,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,111,115,116,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,105,108,101,32,67,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,66,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,84,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,79,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,116,104,101,32,67,79,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,80,79,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,84,76,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,81,99,100,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,104,101,32,83,73,90,32,109,97,114,107,101,114,10,0,78,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,105,115,32,116,111,111,32,104,105,103,104,32,105,110,32,99,111,109,112,97,114,105,115,111,110,32,116,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,105,108,101,115,10,0,67,97,110,110,111,116,32,101,110,99,111,100,101,32,116,105,108,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,111,110,101,32,116,105,108,101,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,101,101,107,32,102,117,110,99,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,84,105,108,101,32,37,100,47,37,100,32,104,97,115,32,98,101,101,110,32,100,101,99,111,100,101,100,46,10,0,73,109,97,103,101,32,100,97,116,97,32,104,97,115,32,98,101,101,110,32,117,112,100,97,116,101,100,32,119,105,116,104,32,116,105,108,101,32,37,100,46,10,10,0,84,105,108,101,32,114,101,97,100,44,32,100,101,99,111,100,101,100,32,97,110,100,32,117,112,100,97,116,101,100,32,105,115,32,110,111,116,32,116,104,101,32,100,101,115,105,114,101,100,32,111,110,101,32,40,37,100,32,118,115,32,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,115,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,9,32,100,101,102,97,117,108,116,32,116,105,108,101,32,123,10,0,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,32,112,114,103,61,37,35,120,10,0,9,9,32,110,117,109,108,97,121,101,114,115,61,37,100,10,0,9,9,32,109,99,116,61,37,120,10,0,9,9,32,99,111,109,112,32,37,100,32,123,10,0,9,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,9,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,61,37,100,10,0,9,9,9,32,99,98,108,107,119,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,104,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,115,116,121,61,37,35,120,10,0,9,9,9,32,113,109,102,98,105,100,61,37,100,10,0,9,9,9,32,112,114,101,99,99,105,110,116,115,105,122,101,32,40,119,44,104,41,61,0,40,37,100,44,37,100,41,32,0,9,9,9,32,113,110,116,115,116,121,61,37,100,10,0,9,9,9,32,110,117,109,103,98,105,116,115,61,37,100,10,0,9,9,9,32,115,116,101,112,115,105,122,101,115,32,40,109,44,101,41,61,0,9,9,9,32,114,111,105,115,104,105,102,116,61,37,100,10,0,9,9,32,125,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,79,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,115,116,97,103,101,115,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,100,97,116,97,32,115,112,97,110,110,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,99,111,108,108,101,99,116,105,111,110,115,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,111,116,104,101,114,32,116,104,97,110,32,97,114,114,97,121,32,100,101,99,111,114,114,101,108,97,116,105,111,110,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32,105,110,100,105,120,32,115,104,117,102,102,108,101,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,111,117,116,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,105,110,100,105,120,101,115,10,0,67,114,114,111,114,32,114,101,97,100,105,110,103,32,67,66,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,99,116,32,100,97,116,97,32,119,105,116,104,105,110,32,109,117,108,116,105,112,108,101,32,77,67,84,32,114,101,99,111,114,100,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,77,67,84,32,109,97,114,107,101,114,115,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,82,71,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,58,32,112,97,99,107,101,116,32,104,101,97,100,101,114,32,104,97,118,101,32,98,101,101,110,32,112,114,101,118,105,111,117,115,108,121,32,102,111,117,110,100,32,105,110,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,40,80,80,77,32,109,97,114,107,101,114,41,46,10,0,90,112,112,116,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,77,32,109,97,114,107,101,114,10,0,90,112,112,109,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,84,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,105,108,108,101,103,97,108,32,45,62,32,37,100,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,110,117,109,98,101,114,32,111,102,32,112,97,114,97,109,101,116,101,114,115,32,40,32,37,100,32,118,115,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,101,103,97,116,105,118,101,32,111,114,32,122,101,114,111,32,105,109,97,103,101,32,115,105,122,101,32,40,37,100,32,120,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,110,118,97,108,105,100,32,116,105,108,101,32,115,105,122,101,32,40,116,100,120,58,32,37,100,44,32,116,100,121,58,32,37,100,41,10,0,80,114,101,118,101,110,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,32,40,120,49,58,32,37,100,44,32,121,49,58,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,108,108,101,103,97,108,32,116,105,108,101,32,111,102,102,115,101,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,83,73,90,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32,99,111,109,112,32,61,32,37,100,32,58,32,100,120,61,37,117,32,100,121,61,37,117,10,32,40,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,50,53,53,32,97,99,99,111,114,100,105,110,103,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,41,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,115,32,58,32,37,117,32,120,32,37,117,32,40,109,97,120,105,109,117,109,32,102,105,120,101,100,32,98,121,32,106,112,101,103,50,48,48,48,32,110,111,114,109,32,105,115,32,54,53,53,51,53,32,116,105,108,101,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,79,67,32,109,97,114,107,101,114,10,0,84,111,111,32,109,97,110,121,32,80,79,67,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,67,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,58,32,37,100,44,32,114,101,103,97,114,100,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,81,99,100,32,111,114,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,87,104,105,108,101,32,114,101,97,100,105,110,103,32,67,67,80,95,81,78,84,83,84,89,32,101,108,101,109,101,110,116,32,105,110,115,105,100,101,32,81,67,68,32,111,114,32,81,67,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,44,32,110,117,109,98,101,114,32,111,102,32,115,117,98,98,97,110,100,115,32,40,37,100,41,32,105,115,32,103,114,101,97,116,101,114,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,46,32,83,111,32,119,101,32,108,105,109,105,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,115,116,111,114,101,100,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,32,97,110,100,32,115,107,105,112,32,116,104,101,32,114,101,115,116,46,32,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,82,71,78,32,109,97,114,107,101,114,10,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,32,105,110,32,82,71,78,32,40,37,100,32,119,104,101,110,32,116,104,101,114,101,32,97,114,101,32,111,110,108,121,32,37,100,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,32,40,98,97,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,102,111,114,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,44,32,109,97,120,32,118,97,108,117,101,32,105,115,32,115,101,116,32,105,110,32,111,112,101,110,106,112,101,103,46,104,32,97,116,32,37,100,10,0,69,114,114,111,114,32,100,101,99,111,100,105,110,103,32,99,111,109,112,111,110,101,110,116,32,37,100,46,10,84,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,116,111,32,114,101,109,111,118,101,32,105,115,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,111,102,32,116,104,105,115,32,99,111,109,112,111,110,101,110,116,10,77,111,100,105,102,121,32,116,104,101,32,99,112,95,114,101,100,117,99,101,32,112,97,114,97,109,101,116,101,114,46,10,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,44,32,73,110,118,97,108,105,100,32,99,98,108,107,119,47,99,98,108,107,104,32,99,111,109,98,105,110,97,116,105,111,110,10,0,73,110,118,97,108,105,100,32,112,114,101,99,105,110,99,116,32,115,105,122,101,10,0,67,79,68,32,109,97,114,107,101,114,32,97,108,114,101,97,100,121,32,114,101,97,100,46,32,78,111,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,67,79,68,32,109,97,114,107,101,114,32,112,101,114,32,116,105,108,101,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,83,99,111,100,32,118,97,108,117,101,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,112,114,111,103,114,101,115,115,105,111,110,32,111,114,100,101,114,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,105,110,32,67,79,68,32,109,97,114,107,101,114,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,45,54,53,53,51,53,93,10,0,73,110,118,97,108,105,100,32,116,105,108,101,32,110,117,109,98,101,114,32,37,100,10,0,69,109,112,116,121,32,83,79,84,32,109,97,114,107,101,114,32,100,101,116,101,99,116,101,100,58,32,80,115,111,116,61,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,105,115,32,110,111,116,32,99,111,114,114,101,99,116,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,58,32,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,108,101,45,112,97,114,116,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,44,32,119,101,32,97,115,115,117,109,105,110,103,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,116,105,108,101,45,112,97,114,116,32,111,102,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,46,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,104,101,97,100,101,114,41,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,83,79,84,32,109,97,114,107,101,114,46,32,84,105,108,101,32,105,110,100,101,120,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,10,0,83,116,97,114,116,32,116,111,32,114,101,97,100,32,106,50,107,32,109,97,105,110,32,104,101,97,100,101,114,32,40,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,109,104,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,97,32,83,79,67,32,109,97,114,107,101,114,32,10,0,65,32,109,97,114,107,101,114,32,73,68,32,119,97,115,32,101,120,112,101,99,116,101,100,32,40,48,120,102,102,45,45,41,32,105,110,115,116,101,97,100,32,111,102,32,37,46,56,120,10,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,32,109,97,114,107,101,114,32,104,97,118,101,32,98,101,101,110,32,100,101,116,101,99,116,101,100,32,97,110,100,32,103,101,110,101,114,97,116,101,100,32,101,114,114,111,114,46,10,0,77,97,114,107,101,114,32,104,97,110,100,108,101,114,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,10,0,114,101,113,117,105,114,101,100,32,83,73,90,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,67,79,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,81,67,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,98,121,116,101,115,32,116,111,32,114,101,97,100,32,78,112,112,109,10,0,67,111,114,114,117,112,116,101,100,32,80,80,77,32,109,97,114,107,101,114,115,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,77,32,100,97,116,97,10,0,77,97,105,110,32,104,101,97,100,101,114,32,104,97,115,32,98,101,101,110,32,99,111,114,114,101,99,116,108,121,32,100,101,99,111,100,101,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,105,110,32,116,104,101,32,74,80,50,32,102,105,108,101,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,119,104,105,108,101,32,115,101,116,116,105,110,103,32,117,112,32,74,80,50,32,101,110,99,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,104,101,110,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,117,110,107,110,111,119,110,32,101,110,117,109,99,115,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,110,111,116,32,101,110,111,117,103,104,32,105,109,97,103,101,32,99,111,109,112,111,110,101,110,116,115,32,102,111,114,32,97,110,32,97,117,116,111,109,97,116,105,99,32,99,100,101,102,32,98,111,120,32,99,114,101,97,116,105,111,110,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,112,111,115,105,116,105,111,110,32,99,111,110,102,108,105,99,116,115,32,119,105,116,104,32,99,111,108,111,114,32,99,104,97,110,110,101,108,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,77,117,108,116,105,112,108,101,32,97,108,112,104,97,32,99,104,97,110,110,101,108,115,32,115,112,101,99,105,102,105,101,100,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,74,80,50,32,98,111,120,32,119,104,105,99,104,32,97,114,101,32,97,102,116,101,114,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,110,111,116,32,98,101,32,114,101,97,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,111,108,100,32,74,80,50,32,72,101,97,100,101,114,32,100,97,116,97,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,102,116,121,112,32,100,97,116,97,10,0,69,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,102,116,121,112,32,100,97,116,97,32,116,111,32,115,116,114,101,97,109,10,0,70,97,105,108,101,100,32,116,111,32,115,101,101,107,32,105,110,32,116,104,101,32,115,116,114,101,97,109,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,102,105,108,101,32,104,101,97,100,101,114,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,115,105,122,101,115,32,104,105,103,104,101,114,32,116,104,97,110,32,50,94,51,50,10,0,98,97,100,32,112,108,97,99,101,100,32,106,112,101,103,32,99,111,100,101,115,116,114,101,97,109,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,117,110,100,101,102,105,110,101,100,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,40,37,120,41,10,0,70,111,117,110,100,32,97,32,109,105,115,112,108,97,99,101,100,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,111,117,116,115,105,100,101,32,106,112,50,104,32,98,111,120,10,0,74,80,69,71,50,48,48,48,32,72,101,97,100,101,114,32,98,111,120,32,110,111,116,32,114,101,97,100,32,121,101,116,44,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,107,105,112,112,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,73,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,102,111,114,32,98,111,120,32,39,37,99,37,99,37,99,37,99,39,46,32,78,101,101,100,32,37,100,32,98,121,116,101,115,44,32,37,100,32,98,121,116,101,115,32,114,101,109,97,105,110,105,110,103,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,98,111,120,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,114,101,97,100,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,102,105,114,115,116,32,98,111,120,32,109,117,115,116,32,98,101,32,74,80,69,71,32,50,48,48,48,32,115,105,103,110,97,116,117,114,101,32,98,111,120,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,115,101,99,111,110,100,32,98,111,120,32,109,117,115,116,32,98,101,32,102,105,108,101,32,116,121,112,101,32,98,111,120,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,68,69,70,32,98,111,120,46,10,0,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,32,100,101,115,99,114,105,112,116,105,111,110,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,32,105,110,32,67,68,69,70,32,98,111,120,46,10,0,78,101,101,100,32,116,111,32,114,101,97,100,32,97,32,80,67,76,82,32,98,111,120,32,98,101,102,111,114,101,32,116,104,101,32,67,77,65,80,32,98,111,120,46,10,0,79,110,108,121,32,111,110,101,32,67,77,65,80,32,98,111,120,32,105,115,32,97,108,108,111,119,101,100,46,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,77,65,80,32,98,111,120,46,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,37,100,32,101,110,116,114,105,101,115,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,48,32,112,97,108,101,116,116,101,32,99,111,108,117,109,110,115,10,0,65,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,108,116,104,111,117,103,104,32,66,80,67,32,103,105,118,101,110,32,98,121,32,116,104,101,32,73,72,68,82,32,98,111,120,32,40,37,100,41,32,105,110,100,105,99,97,116,101,32,99,111,109,112,111,110,101,110,116,115,32,98,105,116,32,100,101,112,116,104,32,105,115,32,99,111,110,115,116,97,110,116,10,0,66,97,100,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,65,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,114,101,97,100,101,114,32,115,104,97,108,108,32,105,103,110,111,114,101,32,97,108,108,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,101,115,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,44,32,115,111,32,119,101,32,105,103,110,111,114,101,32,116,104,105,115,32,111,110,101,46,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,67,73,69,76,97,98,44,32,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,67,79,76,82,32,66,79,88,32,109,101,116,104,32,118,97,108,117,101,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,118,97,108,117,101,32,40,37,100,41,44,32,115,111,32,119,101,32,119,105,108,108,32,105,103,110,111,114,101,32,116,104,101,32,101,110,116,105,114,101,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,46,32,10,0,66,97,100,32,105,109,97,103,101,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,105,109,97,103,101,32,104,101,97,100,101,114,32,40,105,104,100,114,41,10,0,74,80,50,32,73,72,68,82,32,98,111,120,58,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,32,105,110,100,105,99,97,116,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,97,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,102,105,108,101,32,40,37,100,41,32,10,0,84,104,101,32,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,56,32,98,121,116,101,115,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,88,76,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,49,54,32,98,121,116,101,115,10,0,66,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,98,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,110,111,32,39,105,104,100,114,39,32,98,111,120,46,10,0,84,104,101,32,102,116,121,112,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,115,101,99,111,110,100,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,70,84,89,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,105,116,104,32,70,84,89,80,32,66,111,120,10,0,84,104,101,32,115,105,103,110,97,116,117,114,101,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,83,105,103,110,97,116,117,114,101,32,58,32,98,97,100,32,109,97,103,105,99,32,110,117,109,98,101,114,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,97,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,32,40,62,61,32,37,100,41,46,10,0,73,110,99,111,109,112,108,101,116,101,32,99,104,97,110,110,101,108,32,100,101,102,105,110,105,116,105,111,110,115,46,10,0,85,110,101,120,112,101,99,116,101,100,32,79,79,77,46,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,47,112,97,108,101,116,116,101,32,105,110,100,101,120,32,102,111,114,32,100,105,114,101,99,116,32,109,97,112,112,105,110,103,32,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,105,115,32,109,97,112,112,101,100,32,116,119,105,99,101,46,10,0,68,105,114,101,99,116,32,117,115,101,32,97,116,32,35,37,100,32,104,111,119,101,118,101,114,32,112,99,111,108,61,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,100,111,101,115,110,39,116,32,104,97,118,101,32,97,32,109,97,112,112,105,110,103,46,10,0,67,111,109,112,111,110,101,110,116,32,109,97,112,112,105,110,103,32,115,101,101,109,115,32,119,114,111,110,103,46,32,84,114,121,105,110,103,32,116,111,32,99,111,114,114,101,99,116,46,10,0,84,105,108,101,115,32,100,111,110,39,116,32,97,108,108,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,100,105,109,101,110,115,105,111,110,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,40,37,100,41,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,97,32,77,67,84,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,116,105,108,101,115,32,114,101,113,117,105,114,101,32,97,116,32,108,101,97,115,116,32,111,110,101,32,114,101,115,111,108,117,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,114,101,115,111,108,117,116,105,111,110,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,98,97,110,100,32,112,114,101,99,105,110,116,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,117,114,114,101,110,116,32,112,114,101,99,105,110,99,116,32,99,111,100,101,98,108,111,99,107,32,101,108,101,109,101,110,116,10,0,78,111,32,105,110,99,108,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,32,105,109,115,98,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,10,0,116,103,116,95,99,114,101,97,116,101,32,116,114,101,101,45,62,110,117,109,110,111,100,101,115,32,61,61,32,48,44,32,110,111,32,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,32,110,111,100,101,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,116,97,103,32,116,114,101,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,97,32,110,101,119,32,118,97,108,105,100,97,116,105,111,110,32,112,114,111,99,101,100,117,114,101,10,0,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,3,3,6,3,6,6,8,3,6,6,8,6,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,99,117,114,114,101,110,116,32,115,105,122,101,32,40,37,100,32,62,32,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,115,107,105,112,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+25118);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}Module["_i64Subtract"]=_i64Subtract;var _floorf=Math_floor;Module["_bitshift64Ashr"]=_bitshift64Ashr;var _SItoF=true;Module["_memset"]=_memset;var _BDtoILow=true;var _ceilf=Math_ceil;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}Module["_i64Add"]=_i64Add;var _floor=Math_floor;var _sqrt=Math_sqrt;var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}});if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||function(){};canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){Module["noExitRuntime"]=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){Module["noExitRuntime"]=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},xhrLoad:function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)},asyncLoad:function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(!noRunDep)addRunDependency("al "+url)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];return ret},getStr:function(){var ret=Pointer_stringify(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push(function(){Runtime.dynCall("vi",routine,[arg])});_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _llvm_pow_f64=Math_pow;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")}}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}var _BItoD=true;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE>2]=d;if((c[a+8>>2]|0)==16)k=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else k=c[a+12>>2]|0;g=(c[a+80>>2]|0)+16|0;h=(c[g>>2]|0)>>>0<257?1:2;j=h+1|0;if(j>>>0>d>>>0){Ub(e,1,14585,m)|0;e=0;i=m;return e|0}c[f>>2]=d-j;qb(b,l,h);d=c[l>>2]|0;if(d>>>0>=(c[g>>2]|0)>>>0){Ub(e,1,14611,m+8|0)|0;e=0;i=m;return e|0}qb(b+h|0,(c[k+5584>>2]|0)+(d*1080|0)|0,1);if(!(Fe(a,c[l>>2]|0,b+j|0,f,e)|0)){Ub(e,1,14585,m+16|0)|0;e=0;i=m;return e|0}if(!(c[f>>2]|0)){e=1;i=m;return e|0}Ub(e,1,14585,m+24|0)|0;e=0;i=m;return e|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+8|0;f=k+20|0;h=c[(c[a+80>>2]|0)+16>>2]|0;g=h>>>0<257?1:2;if((g+2|0)!=(d|0)){Ub(e,1,14502,k)|0;j=0;i=k;return j|0}if((c[a+8>>2]|0)==16)a=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else a=c[a+12>>2]|0;qb(b,f,g);qb(b+g|0,k+16|0,1);d=c[f>>2]|0;if(d>>>0>>0){qb(b+(g+1)|0,(c[a+5584>>2]|0)+(d*1080|0)+808|0,1);j=1;i=k;return j|0}else{c[j>>2]=d;c[j+4>>2]=h;Ub(e,1,14528,j)|0;j=0;i=k;return j|0}return 0}function he(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+12|0;c[f>>2]=d;if(!(Ee(a,0,b,f,e)|0)){Ub(e,1,14476,h)|0;g=0;i=h;return g|0}if(c[f>>2]|0){Ub(e,1,14476,h+8|0)|0;g=0;i=h;return g|0}if((c[a+8>>2]|0)==16)f=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else f=c[a+12>>2]|0;f=c[f+5584>>2]|0;d=a+80|0;if((c[(c[d>>2]|0)+16>>2]|0)>>>0<=1){g=1;i=h;return g|0}e=f+24|0;a=f+804|0;g=f+28|0;b=1;while(1){c[f+1104>>2]=c[e>>2];c[f+1884>>2]=c[a>>2];Ui(f+1108|0,g|0,776)|0;b=b+1|0;if(b>>>0>=(c[(c[d>>2]|0)+16>>2]|0)>>>0){f=1;break}else f=f+1080|0}i=h;return f|0}function ie(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+32|0;m=o+24|0;l=o+16|0;g=o+8|0;f=o;k=o+40|0;h=o+36|0;c[k>>2]=d;j=a+80|0;do{if((c[(c[j>>2]|0)+16>>2]|0)>>>0<257){if(d){qb(b,h,1);g=b+1|0;b=d+-1|0;break}Ub(e,1,14129,f)|0;n=0;i=o;return n|0}else{if(d>>>0>=2){qb(b,h,2);g=b+2|0;b=d+-2|0;break}Ub(e,1,14129,g)|0;n=0;i=o;return n|0}}while(0);c[k>>2]=b;f=c[h>>2]|0;b=c[(c[j>>2]|0)+16>>2]|0;if(f>>>0>=b>>>0){c[l>>2]=f;c[l+4>>2]=b;Ub(e,1,14155,l)|0;n=0;i=o;return n|0}if(!(Ee(a,f,g,k,e)|0)){Ub(e,1,14129,m)|0;n=0;i=o;return n|0}if(!(c[k>>2]|0)){n=1;i=o;return n|0}Ub(e,1,14129,n)|0;n=0;i=o;return n|0}function je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var 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;t=i;i=i+16|0;h=t+8|0;s=t+12|0;r=c[(c[b+80>>2]|0)+16>>2]|0;q=r>>>0<257?1:2;p=(q<<1)+5|0;g=(e>>>0)/(p>>>0)|0;if((g|0)==0|((e>>>0)%(p>>>0)|0|0)!=0){Ub(f,1,14085,t)|0;s=0;i=t;return s|0}if((c[b+8>>2]|0)==16)p=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else p=c[b+12>>2]|0;e=p+5636|0;b=a[e>>0]|0;if(!(b&4))o=0;else o=(c[p+420>>2]|0)+1|0;n=o+g|0;if(n>>>0>31){c[h>>2]=n;Ub(f,1,14111,h)|0;s=0;i=t;return s|0}a[e>>0]=b|4;if(o>>>0>>0){f=q+1|0;m=p+8|0;h=q+3|0;j=q|4;k=j+q|0;l=k+1|0;b=d;g=o;e=p+424+(o*148|0)|0;while(1){qb(b,e,1);qb(b+1|0,e+4|0,q);d=e+8|0;qb(b+f|0,d,2);u=c[d>>2]|0;o=c[m>>2]|0;c[d>>2]=u>>>0>>0?u:o;qb(b+h|0,e+12|0,1);d=e+16|0;qb(b+j|0,d,q);qb(b+k|0,s,1);c[e+36>>2]=c[s>>2];o=c[d>>2]|0;c[d>>2]=o>>>0>>0?o:r;g=g+1|0;if(g>>>0>=n>>>0)break;else{b=b+l|0;e=e+148|0}}}c[p+420>>2]=n+-1;u=1;i=t;return u|0}function ke(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+144|0;L=M+128|0;H=M+120|0;G=M+112|0;F=M+104|0;E=M+96|0;D=M+88|0;A=M+72|0;t=M+64|0;r=M+56|0;q=M+48|0;p=M+40|0;s=M+32|0;l=M+24|0;j=M+16|0;h=M+136|0;w=M+132|0;J=c[d+80>>2]|0;K=d+88|0;if(f>>>0<36){Ub(g,1,13440,M)|0;g=0;i=M;return g|0}I=f+-36|0;o=(I>>>0)/3|0;if((I>>>0)%3|0){Ub(g,1,13440,M+8|0)|0;g=0;i=M;return g|0}qb(e,h,2);b[K>>1]=c[h>>2];x=J+8|0;qb(e+2|0,x,4);B=J+12|0;qb(e+6|0,B,4);qb(e+10|0,J,4);n=J+4|0;qb(e+14|0,n,4);v=d+100|0;qb(e+18|0,v,4);z=d+104|0;qb(e+22|0,z,4);u=d+92|0;qb(e+26|0,u,4);y=d+96|0;qb(e+30|0,y,4);qb(e+34|0,h,2);k=e+36|0;f=c[h>>2]|0;if(f>>>0>=16385){c[j>>2]=f;Ub(g,1,13468,j)|0;g=0;i=M;return g|0}f=f&65535;I=J+16|0;c[I>>2]=f;if((f|0)!=(o|0)){c[l>>2]=f;c[l+4>>2]=o;Ub(g,1,13529,l)|0;g=0;i=M;return g|0}l=c[J>>2]|0;m=c[x>>2]|0;if(m>>>0>l>>>0){f=c[n>>2]|0;e=c[B>>2]|0;if(f>>>0>>0){h=c[v>>2]|0;j=c[z>>2]|0;if(!(_(j,h)|0)){c[p>>2]=h;c[p+4>>2]=j;Ub(g,1,13705,p)|0;g=0;i=M;return g|0}s=Zi(e|0,0,m|0,0)|0;if(!((s|0)==(_(e,m)|0)&(C|0)==0)){c[q>>2]=m;c[q+4>>2]=e;Ub(g,1,13766,q)|0;g=0;i=M;return g|0}m=c[u>>2]|0;p=Si(m|0,0,h|0,0)|0;q=C;n=c[y>>2]|0;s=Si(n|0,0,j|0,0)|0;if(m>>>0<=l>>>0?n>>>0<=f>>>0&(p|0-q)>>>0>l>>>0&(s|0-C)>>>0>f>>>0:0){e=Qc(o,52)|0;o=J+24|0;c[o>>2]=e;if(!e){c[I>>2]=0;Ub(g,1,13852,t)|0;g=0;i=M;return g|0}a:do{if(c[I>>2]|0){l=d+168|0;f=0;j=e;while(1){qb(k,w,1);c[j+24>>2]=(c[w>>2]&127)+1;c[j+32>>2]=(c[w>>2]|0)>>>7;qb(k+1|0,w,1);c[j>>2]=c[w>>2];qb(k+2|0,w,1);h=c[w>>2]|0;c[j+4>>2]=h;e=c[j>>2]|0;if((h+-1|0)>>>0>254|(e+-1|0)>>>0>254)break;c[j+36>>2]=0;c[j+40>>2]=c[l>>2];f=f+1|0;if(f>>>0>=(c[I>>2]|0)>>>0)break a;else{k=k+3|0;j=j+52|0}}c[A>>2]=f;c[A+4>>2]=e;c[A+8>>2]=h;Ub(g,1,13900,A)|0;g=0;i=M;return g|0}}while(0);m=c[u>>2]|0;l=c[v>>2]|0;k=((c[x>>2]|0)+-1-m+l|0)/(l|0)|0;c[d+112>>2]=k;j=c[y>>2]|0;h=c[z>>2]|0;e=((c[B>>2]|0)+-1-j+h|0)/(h|0)|0;c[d+116>>2]=e;if(!((e|0)==0|(k|0)==0)?k>>>0<=(65535/(e>>>0)|0)>>>0:0){n=_(k,e)|0;f=d+28|0;if(!(a[d+76>>0]&2)){c[f>>2]=0;c[d+32>>2]=0;c[d+36>>2]=k;c[d+40>>2]=e}else{c[f>>2]=(((c[f>>2]|0)-m|0)>>>0)/(l>>>0)|0;D=d+32|0;c[D>>2]=(((c[D>>2]|0)-j|0)>>>0)/(h>>>0)|0;D=d+36|0;c[D>>2]=((c[D>>2]|0)+-1-m+l|0)/(l|0)|0;D=d+40|0;c[D>>2]=((c[D>>2]|0)+-1-j+h|0)/(h|0)|0}D=Qc(n,5640)|0;k=d+164|0;c[k>>2]=D;if(!D){Ub(g,1,13852,E)|0;g=0;i=M;return g|0}E=Qc(c[I>>2]|0,1080)|0;e=d+12|0;c[(c[e>>2]|0)+5584>>2]=E;if(!E){Ub(g,1,13852,F)|0;g=0;i=M;return g|0}F=Qc(10,20)|0;f=c[e>>2]|0;c[f+5612>>2]=F;if(!F){Ub(g,1,13852,G)|0;g=0;i=M;return g|0}c[f+5620>>2]=10;G=Qc(10,20)|0;f=c[e>>2]|0;c[f+5624>>2]=G;if(!G){Ub(g,1,13852,H)|0;g=0;i=M;return g|0}c[f+5632>>2]=10;j=c[I>>2]|0;if(j){h=c[o>>2]|0;f=f+5584|0;e=0;do{if(!(c[h+(e*52|0)+32>>2]|0))c[(c[f>>2]|0)+(e*1080|0)+1076>>2]=1<<(c[h+(e*52|0)+24>>2]|0)+-1;e=e+1|0}while(e>>>0>>0)}b:do{if(n){f=c[k>>2]|0;H=Qc(j,1080)|0;c[f+5584>>2]=H;if(H){e=0;while(1){e=e+1|0;if(e>>>0>=n>>>0)break b;H=Qc(c[I>>2]|0,1080)|0;c[f+11224>>2]=H;if(!H)break;else f=f+5640|0}}Ub(g,1,13852,L)|0;g=0;i=M;return g|0}}while(0);c[d+8>>2]=4;_b(J,K);g=1;i=M;return g|0}c[D>>2]=k;c[D+4>>2]=e;Ub(g,1,14002,D)|0;g=0;i=M;return g|0}Ub(g,1,13808,r)|0;g=0;i=M;return g|0}}else{e=c[B>>2]|0;f=c[n>>2]|0}c[s>>2]=m-l;c[s+4>>2]=e-f;Ub(g,1,13643,s)|0;g=0;i=M;return g|0}function le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+32|0;a=f+12|0;if(d>>>0<2){Ub(e,1,13414,f)|0;e=0;i=f;return e|0}qb(b,f+16|0,1);qb(b+1|0,a,1);b=c[a>>2]|0;if(!(((d+-2|0)>>>0)%(((b>>>5&2)+2+(b>>>4&3)|0)>>>0)|0)){e=1;i=f;return e|0}Ub(e,1,13414,f+8|0)|0;e=0;i=f;return e|0}function me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=i;i=i+16|0;if(!c){Ub(d,1,13388,a)|0;b=0}else b=1;i=a;return b|0}function ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+8|0;h=k+12|0;if(!d){Ub(e,1,13362,k)|0;e=0;i=k;return e|0}qb(b,k+16|0,1);f=d+-1|0;if(!f){e=1;i=k;return e|0}else{g=0;a=0}do{b=b+1|0;qb(b,h,1);d=c[h>>2]|0;if(!(d&128))a=0;else a=(d&127|a)<<7;g=g+1|0}while((g|0)!=(f|0));if(!a){e=1;i=k;return e|0}Ub(e,1,13362,j)|0;e=0;i=k;return e|0}function oe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;o=p+32|0;l=p+24|0;h=p+16|0;g=p+8|0;n=p+36|0;if(e>>>0<2){Ub(f,1,13276,p)|0;o=0;i=p;return o|0}m=b+184|0;a[m>>0]=a[m>>0]|1;qb(d,n,1);m=d+1|0;k=e+-1|0;j=b+124|0;e=c[j>>2]|0;do{if(e){g=b+120|0;d=c[n>>2]|0;if((c[g>>2]|0)>>>0<=d>>>0){b=d+1|0;d=Tc(e,b<<3)|0;if(d){c[j>>2]=d;e=c[g>>2]|0;Qi(d+(e<<3)|0,0,b-e<<3|0)|0;c[g>>2]=b;e=c[j>>2]|0;break}Ub(f,1,13302,h)|0;o=0;i=p;return o|0}}else{d=(c[n>>2]|0)+1|0;e=Qc(d,8)|0;c[j>>2]=e;if(e){c[b+120>>2]=d;break}Ub(f,1,13302,g)|0;o=0;i=p;return o|0}}while(0);d=c[n>>2]|0;if(c[e+(d<<3)>>2]|0){c[l>>2]=d;Ub(f,1,13340,l)|0;o=0;i=p;return o|0}l=Pc(k)|0;e=c[n>>2]|0;d=c[j>>2]|0;c[d+(e<<3)>>2]=l;if(!l){Ub(f,1,13302,o)|0;o=0;i=p;return o|0}else{c[d+(e<<3)+4>>2]=k;Ui(c[d+(c[n>>2]<<3)>>2]|0,m|0,k|0)|0;o=1;i=p;return o|0}return 0}function pe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;o=r+32|0;k=r+24|0;j=r+16|0;p=r+44|0;if(e>>>0<2){Ub(f,1,13127,r)|0;q=0;i=r;return q|0}if(a[b+184>>0]&1){Ub(f,1,13153,r+8|0)|0;q=0;i=r;return q|0}h=c[b+200>>2]|0;g=c[b+164>>2]|0;n=g+(h*5640|0)+5636|0;a[n>>0]=a[n>>0]|2;qb(d,p,1);n=d+1|0;m=e+-1|0;l=g+(h*5640|0)+5164|0;d=c[l>>2]|0;do{if(d){g=g+(h*5640|0)+5160|0;b=c[p>>2]|0;if((c[g>>2]|0)>>>0<=b>>>0){e=b+1|0;b=Tc(d,e<<3)|0;if(b){c[l>>2]=b;d=c[g>>2]|0;Qi(b+(d<<3)|0,0,e-d<<3|0)|0;c[g>>2]=e;d=c[l>>2]|0;break}Ub(f,1,8775,k)|0;q=0;i=r;return q|0}}else{b=(c[p>>2]|0)+1|0;d=Qc(b,8)|0;c[l>>2]=d;if(d){c[g+(h*5640|0)+5160>>2]=b;break}Ub(f,1,8775,j)|0;q=0;i=r;return q|0}}while(0);b=c[p>>2]|0;if(c[d+(b<<3)>>2]|0){c[o>>2]=b;Ub(f,1,13254,o)|0;q=0;i=r;return q|0}o=Pc(m)|0;d=c[p>>2]|0;b=c[l>>2]|0;c[b+(d<<3)>>2]=o;if(!o){Ub(f,1,8775,q)|0;q=0;i=r;return q|0}else{c[b+(d<<3)+4>>2]=m;Ui(c[b+(c[p>>2]<<3)>>2]|0,n|0,m|0)|0;q=1;i=r;return q|0}return 0}function qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=i;i=i+16|0;if((c[(c[a+80>>2]|0)+16>>2]<<2|0)==(d|0)){e=1;i=b;return e|0}Ub(e,1,13101,b)|0;e=0;i=b;return e|0}function re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 1}function se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;r=s+40|0;q=s+32|0;l=s+24|0;p=s+44|0;if((c[a+8>>2]|0)==16)j=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else j=c[a+12>>2]|0;if(d>>>0<2){Ub(e,1,12933,s)|0;r=0;i=s;return r|0}qb(b,p,2);if(c[p>>2]|0){Ub(e,2,12959,s+8|0)|0;r=1;i=s;return r|0}if(d>>>0<7){Ub(e,1,12933,s+16|0)|0;r=0;i=s;return r|0}qb(b+2|0,p,2);n=b+4|0;o=c[p>>2]&255;k=j+5612|0;f=c[k>>2]|0;m=j+5616|0;a=c[m>>2]|0;a:do{if(!a){g=0;h=f}else{g=0;h=f;do{if((c[h+8>>2]|0)==(o|0))break a;h=h+20|0;g=g+1|0}while(g>>>0>>0)}}while(0);if((g|0)==(a|0)){g=j+5620|0;do{if((a|0)==(c[g>>2]|0)){a=a+10|0;c[g>>2]=a;a=Tc(f,a*20|0)|0;if(a){c[k>>2]=a;f=c[m>>2]|0;Qi(a+(f*20|0)|0,0,((c[g>>2]|0)-f|0)*20|0)|0;f=c[k>>2]|0;a=c[m>>2]|0;break}Uc(c[k>>2]|0);c[k>>2]=0;c[g>>2]=0;c[m>>2]=0;Ub(e,1,13019,l)|0;r=0;i=s;return r|0}}while(0);c[m>>2]=a+1;h=f+(a*20|0)|0}g=h+12|0;a=c[g>>2]|0;if(a){Uc(a);c[g>>2]=0}c[h+8>>2]=o;o=c[p>>2]|0;c[h+4>>2]=o>>>8&3;c[h>>2]=o>>>10&3;qb(n,p,2);if(c[p>>2]|0){Ub(e,2,13057,q)|0;r=1;i=s;return r|0}a=d+-6|0;f=Pc(a)|0;c[g>>2]=f;if(!f){Ub(e,1,12933,r)|0;r=0;i=s;return r|0}else{Ui(f|0,b+6|0,a|0)|0;c[h+16>>2]=a;r=1;i=s;return r|0}return 0}function te(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;h=j+12|0;a=a+80|0;g=c[(c[a>>2]|0)+16>>2]|0;if((g+2|0)!=(d|0)){Ub(e,1,12907,j)|0;h=0;i=j;return h|0}qb(b,f,2);if((c[f>>2]|0)!=(g|0)){Ub(e,1,12907,j+8|0)|0;h=0;i=j;return h|0}if(!g){h=1;i=j;return h|0}f=b+2|0;b=0;a=c[(c[a>>2]|0)+24>>2]|0;while(1){qb(f,h,1);c[a+32>>2]=(c[h>>2]|0)>>>7&1;c[a+24>>2]=(c[h>>2]&127)+1;b=b+1|0;if((b|0)==(g|0)){a=1;break}else{f=f+1|0;a=a+52|0}}i=j;return a|0}function ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+144|0;I=J+120|0;H=J+112|0;G=J+104|0;F=J+96|0;E=J+88|0;D=J+80|0;C=J+72|0;B=J+64|0;A=J+56|0;z=J+48|0;p=J+40|0;o=J+32|0;m=J+24|0;x=J+136|0;u=J+132|0;v=J+128|0;w=J+124|0;if((c[b+8>>2]|0)==16)q=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else q=c[b+12>>2]|0;if(e>>>0<2){Ub(f,1,12567,J)|0;I=0;i=J;return I|0}qb(d,x,2);if(c[x>>2]|0){Ub(f,2,12593,J+8|0)|0;I=1;i=J;return I|0}if(e>>>0<7){Ub(f,1,12567,J+16|0)|0;I=0;i=J;return I|0}qb(d+2|0,u,1);n=d+3|0;l=q+5624|0;g=c[l>>2]|0;y=q+5628|0;b=c[y>>2]|0;a:do{if(!b){j=0;h=g}else{k=c[u>>2]|0;j=0;h=g;do{if((c[h>>2]|0)==(k|0))break a;h=h+20|0;j=j+1|0}while(j>>>0>>0)}}while(0);if((j|0)==(b|0)){h=q+5632|0;do{if((b|0)==(c[h>>2]|0)){b=b+10|0;c[h>>2]=b;b=Tc(g,b*20|0)|0;if(b){c[l>>2]=b;g=c[y>>2]|0;Qi(b+(g*20|0)|0,0,((c[h>>2]|0)-g|0)*20|0)|0;g=c[l>>2]|0;b=c[y>>2]|0;break}Uc(c[l>>2]|0);c[l>>2]=0;c[h>>2]=0;c[y>>2]=0;Ub(f,1,12639,m)|0;I=0;i=J;return I|0}}while(0);h=g+(b*20|0)|0}c[h>>2]=c[u>>2];qb(n,x,2);if(c[x>>2]|0){Ub(f,2,12593,o)|0;I=1;i=J;return I|0}qb(d+5|0,v,2);g=c[v>>2]|0;if(g>>>0>1){Ub(f,2,12677,p)|0;I=1;i=J;return I|0}b=e+-7|0;b:do{if(g){r=h+4|0;s=h+16|0;t=h+8|0;e=h+12|0;p=q+5612|0;o=q+5616|0;m=d+7|0;n=0;c:while(1){if(b>>>0<3){g=27;break}qb(m,x,1);if((c[x>>2]|0)!=1){g=29;break}qb(m+1|0,w,2);g=b+-3|0;j=c[w>>2]|0;k=(j>>>15)+1|0;j=j&32767;c[r>>2]=j;h=(_(k,j)|0)+2|0;if(g>>>0>>0){g=31;break}b=m+3|0;l=g-h|0;if(j){g=0;do{qb(b,x,k);if((c[x>>2]|0)!=(g|0)){g=34;break c}b=b+k|0;g=g+1|0}while(g>>>0<(c[r>>2]|0)>>>0)}qb(b,w,2);g=b+2|0;h=c[w>>2]|0;j=(h>>>15)+1|0;h=h&32767;c[w>>2]=h;if((h|0)!=(c[r>>2]|0)){g=37;break}b=(_(j,h)|0)+3|0;if(l>>>0>>0){g=39;break}b=l-b|0;if(h){h=0;do{qb(g,x,j);if((c[x>>2]|0)!=(h|0)){g=42;break c}g=g+j|0;h=h+1|0}while(h>>>0<(c[r>>2]|0)>>>0)}qb(g,x,3);m=g+3|0;a[s>>0]=((c[x>>2]|0)>>>16^1)&1|a[s>>0]&-2;c[t>>2]=0;c[e>>2]=0;l=c[x>>2]|0;h=l&255;c[u>>2]=h;if(h){j=c[o>>2]|0;if(!j){g=50;break}k=0;g=c[p>>2]|0;while(1){if((c[g+8>>2]|0)==(h|0))break;k=k+1|0;if(k>>>0>=j>>>0){g=50;break c}else g=g+20|0}c[t>>2]=g}h=l>>>8&255;c[u>>2]=h;if(h){j=c[o>>2]|0;if(!j){g=57;break}k=0;g=c[p>>2]|0;while(1){if((c[g+8>>2]|0)==(h|0))break;k=k+1|0;if(k>>>0>=j>>>0){g=57;break c}else g=g+20|0}c[e>>2]=g}n=n+1|0;if(n>>>0>=(c[v>>2]|0)>>>0)break b}if((g|0)==27){Ub(f,1,12567,z)|0;I=0;i=J;return I|0}else if((g|0)==29){Ub(f,2,12721,A)|0;I=1;i=J;return I|0}else if((g|0)==31){Ub(f,1,12567,B)|0;I=0;i=J;return I|0}else if((g|0)==34){Ub(f,2,12787,C)|0;I=1;i=J;return I|0}else if((g|0)==37){Ub(f,2,12841,D)|0;I=1;i=J;return I|0}else if((g|0)==39){Ub(f,1,12567,E)|0;I=0;i=J;return I|0}else if((g|0)==42){Ub(f,2,12787,F)|0;I=1;i=J;return I|0}else if((g|0)==50){Ub(f,1,12567,G)|0;I=0;i=J;return I|0}else if((g|0)==57){Ub(f,1,12567,H)|0;I=0;i=J;return I|0}}}while(0);if(!b){c[y>>2]=(c[y>>2]|0)+1;I=1;i=J;return I|0}else{Ub(f,1,12567,I)|0;I=0;i=J;return I|0}return 0}function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;r=s+24|0;q=s+20|0;n=a+80|0;f=c[n>>2]|0;if((c[a+8>>2]|0)==16)g=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else g=c[a+12>>2]|0;if(!d){Ub(e,1,12486,s)|0;r=0;i=s;return r|0}qb(b,q,1);a=c[q>>2]|0;if(a>>>0>1){Ub(e,2,12512,s+8|0)|0;r=1;i=s;return r|0}if((a+1|0)!=(d|0)){Ub(e,2,12486,s+16|0)|0;r=0;i=s;return r|0}m=g+5584|0;a=c[f+16>>2]|0;if(a){d=0;e=c[m>>2]|0;while(1){c[e+1076>>2]=0;d=d+1|0;if(d>>>0>=a>>>0)break;else e=e+1080|0}}l=g+5604|0;a=c[l>>2]|0;if(a){Uc(a);c[l>>2]=0}if(!(c[q>>2]|0)){r=1;i=s;return r|0}k=g+5624|0;h=g+5628|0;j=0;while(1){b=b+1|0;qb(b,r,1);a=c[n>>2]|0;f=c[k>>2]|0;g=c[h>>2]|0;if(((g|0)!=0?!((g|0)==0?1:(c[f>>2]|0)!=(c[r>>2]|0)):0)?(o=c[f+4>>2]|0,p=a+16|0,(o|0)==(c[p>>2]|0)):0){a=c[f+8>>2]|0;if(a){d=_(o,o)|0;g=_(c[1036+(c[a>>2]<<2)>>2]|0,d)|0;if((c[a+16>>2]|0)!=(g|0)){a=0;d=32;break}e=Pc(d<<2)|0;c[l>>2]=e;if(!e){a=0;d=32;break}Xa[c[1052+(c[a>>2]<<2)>>2]&15](c[a+12>>2]|0,e,d)}a=c[f+12>>2]|0;if(a){d=c[p>>2]|0;g=_(d,c[1036+(c[a>>2]<<2)>>2]|0)|0;if((c[a+16>>2]|0)!=(g|0)){a=0;d=32;break}g=Pc(d<<2)|0;if(!g){a=0;d=32;break}Xa[c[1068+(c[a>>2]<<2)>>2]&15](c[a+12>>2]|0,g,d);a=c[p>>2]|0;if(a){d=0;e=g;f=c[m>>2]|0;while(1){c[f+1076>>2]=c[e>>2];d=d+1|0;if((d|0)==(a|0))break;else{e=e+4|0;f=f+1080|0}}}Uc(g)}}j=j+1|0;if(j>>>0>=(c[q>>2]|0)>>>0){a=1;d=32;break}}if((d|0)==32){i=s;return a|0}return 0}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){qb(a,f,2);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+2|0}}i=g;return}function xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){qb(a,f,4);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=g;return}function ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){ub(a,f);c[b>>2]=~~+g[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=h;return}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){sb(a,f);c[b>>2]=~~+h[f>>3];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+8|0}}i=g;return}function Ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){qb(a,f,2);g[b>>2]=+((c[f>>2]|0)>>>0);e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+2|0}}i=h;return}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){qb(a,f,4);g[b>>2]=+((c[f>>2]|0)>>>0);e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=h;return}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){ub(a,f);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=g;return}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;if(!c){i=f;return}d=0;while(1){sb(a,e);g[b>>2]=+h[e>>3];d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+8|0}}i=f;return}function Ee(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+8|0;k=n+20|0;if((c[a+8>>2]|0)==16)a=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else a=c[a+12>>2]|0;m=c[a+5584>>2]|0;a=c[e>>2]|0;if(!a){Ub(f,1,14224,n)|0;b=0;i=n;return b|0}c[e>>2]=a+-1;qb(d,k,1);d=d+1|0;g=c[k>>2]&31;j=m+(b*1080|0)+24|0;c[j>>2]=g;c[m+(b*1080|0)+804>>2]=(c[k>>2]|0)>>>5;do{if((g|0)==1){a=1;l=8}else{a=(c[e>>2]|0)>>>((g|0)!=0&1);if(a>>>0>97){c[h>>2]=a;c[h+4>>2]=97;c[h+8>>2]=97;Ub(f,2,14260,h)|0;g=c[j>>2]|0}f=(a|0)==0;if(g)if(f){a=0;l=20;break}else{l=8;break}if(!f){g=0;while(1){qb(d,k,1);if(g>>>0<97){c[m+(b*1080|0)+28+(g<<3)>>2]=(c[k>>2]|0)>>>3;c[m+(b*1080|0)+28+(g<<3)+4>>2]=0}g=g+1|0;if((g|0)==(a|0))break;else d=d+1|0}}a=(c[e>>2]|0)-a|0}}while(0);if((l|0)==8){g=0;while(1){qb(d,k,2);if(g>>>0<97){c[m+(b*1080|0)+28+(g<<3)>>2]=(c[k>>2]|0)>>>11;c[m+(b*1080|0)+28+(g<<3)+4>>2]=c[k>>2]&2047}g=g+1|0;if((g|0)==(a|0)){l=20;break}else d=d+2|0}}if((l|0)==20)a=(c[e>>2]|0)-(a<<1)|0;c[e>>2]=a;if((c[j>>2]|0)!=1){b=1;i=n;return b|0}a=m+(b*1080|0)+28|0;d=m+(b*1080|0)+32|0;g=1;do{e=(c[a>>2]|0)-(((g+-1|0)>>>0)/3|0)|0;c[m+(b*1080|0)+28+(g<<3)>>2]=(e|0)>0?e:0;c[m+(b*1080|0)+28+(g<<3)+4>>2]=c[d>>2];g=g+1|0}while((g|0)!=97);a=1;i=n;return a|0}function Fe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r+40|0;l=r+32|0;k=r+16|0;j=r+8|0;o=r+44|0;h=a+8|0;if((c[h>>2]|0)==16)g=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else g=c[a+12>>2]|0;m=c[g+5584>>2]|0;if((c[e>>2]|0)>>>0<5){Ub(f,1,14664,r)|0;e=0;i=r;return e|0}n=m+(b*1080|0)+4|0;qb(d,n,1);g=(c[n>>2]|0)+1|0;c[n>>2]=g;if(g>>>0>33){c[j>>2]=g;c[j+4>>2]=33;Ub(f,1,14699,j)|0;e=0;i=r;return e|0}if((c[a+168>>2]|0)>>>0>=g>>>0){c[k>>2]=b;Ub(f,1,14776,k)|0;c[h>>2]=c[h>>2]|32768;e=0;i=r;return e|0}j=m+(b*1080|0)+8|0;qb(d+1|0,j,1);c[j>>2]=(c[j>>2]|0)+2;a=m+(b*1080|0)+12|0;qb(d+2|0,a,1);k=(c[a>>2]|0)+2|0;c[a>>2]=k;j=c[j>>2]|0;if(j>>>0>10|k>>>0>10|(j+k|0)>>>0>12){Ub(f,1,14934,r+24|0)|0;e=0;i=r;return e|0}qb(d+3|0,m+(b*1080|0)+16|0,1);qb(d+4|0,m+(b*1080|0)+20|0,1);h=(c[e>>2]|0)+-5|0;c[e>>2]=h;g=c[n>>2]|0;if(!(c[m+(b*1080|0)>>2]&1)){if(!g){e=1;i=r;return e|0}else g=0;do{c[m+(b*1080|0)+812+(g<<2)>>2]=15;c[m+(b*1080|0)+944+(g<<2)>>2]=15;g=g+1|0}while(g>>>0<(c[n>>2]|0)>>>0);g=1;i=r;return g|0}if(h>>>0>>0){Ub(f,1,14664,l)|0;e=0;i=r;return e|0}do{if(!g)g=0;else{a=0;h=d+5|0;while(1){qb(h,o,1);h=h+1|0;g=c[o>>2]|0;if((a|0)!=0?g>>>0<16|(g&15|0)==0:0)break;c[m+(b*1080|0)+812+(a<<2)>>2]=g&15;c[m+(b*1080|0)+944+(a<<2)>>2]=(c[o>>2]|0)>>>4;a=a+1|0;g=c[n>>2]|0;if(a>>>0>=g>>>0){q=22;break}}if((q|0)==22){h=c[e>>2]|0;break}Ub(f,1,15002,p)|0;e=0;i=r;return e|0}}while(0);c[e>>2]=h-g;e=1;i=r;return e|0}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){pb(b,~~+g[a>>2]>>>0,2);d=d+1|0;if((d|0)==(c|0))break;else{b=b+2|0;a=a+4|0}}return}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){pb(b,~~+g[a>>2]>>>0,4);d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+4|0}}return}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){tb(b,+g[a>>2]);d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+4|0}}return}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){rb(b,+g[a>>2]);d=d+1|0;if((d|0)==(c|0))break;else{b=b+8|0;a=a+4|0}}return}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;if(!d){d=0;i=j;return d|0}if(!(ld(c[a>>2]|0,b,d,e)|0)){Ub(e,1,16303,j)|0;d=0;i=j;return d|0}if(c[a+128>>2]|0){d=1;i=j;return d|0}h=a+108|0;if(!(bf(d,h,e)|0)){d=0;i=j;return d|0}b=c[a+48>>2]|0;a:do{switch(b|0){case 16:{c[d+20>>2]=1;break}case 17:{c[d+20>>2]=2;break}case 18:{c[d+20>>2]=3;break}case 24:{c[d+20>>2]=4;break}default:{f=d+20|0;if((b|0)==12){c[f>>2]=5;break a}else{c[f>>2]=-1;break a}}}}while(0);g=a+120|0;b=c[g>>2]|0;do{if(b){if(c[b+12>>2]|0){cf(d,h);break}Uc(c[b+4>>2]|0);Uc(c[(c[g>>2]|0)+8>>2]|0);Uc(c[c[g>>2]>>2]|0);b=c[g>>2]|0;f=c[b+12>>2]|0;if(f){Uc(f);b=c[g>>2]|0}Uc(b);c[g>>2]=0}}while(0);if(c[a+116>>2]|0)df(d,h,e);b=c[h>>2]|0;if(!b){d=1;i=j;return d|0}c[d+28>>2]=b;c[d+32>>2]=c[a+112>>2];c[h>>2]=0;d=1;i=j;return d|0}function Le(b,d){b=b|0;d=d|0;Wc(c[b>>2]|0,d);a[b+124>>0]=0;c[b+128>>2]=c[d+8248>>2]&1;return}function Me(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var 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;w=i;i=i+80|0;v=w+64|0;s=w+56|0;o=w+48|0;r=w+40|0;q=w+32|0;p=w+24|0;if(!((a|0)!=0&(d|0)!=0&(e|0)!=0)){d=0;i=w;return d|0}t=e+16|0;if(((c[t>>2]|0)+-1|0)>>>0>16383){Ub(f,1,16352,w)|0;d=0;i=w;return d|0}if(!(Zc(c[a>>2]|0,d,e,f)|0)){d=0;i=w;return d|0}c[a+56>>2]=1785737760;c[a+60>>2]=0;c[a+64>>2]=1;g=Pc(4)|0;h=a+68|0;c[h>>2]=g;if(!g){c[h>>2]=0;Ub(f,1,16421,w+8|0)|0;d=0;i=w;return d|0}c[g>>2]=1785737760;l=c[t>>2]|0;c[a+20>>2]=l;l=Pc(l*12|0)|0;g=a+72|0;c[g>>2]=l;if(!l){c[g>>2]=0;Ub(f,1,16421,w+16|0)|0;d=0;i=w;return d|0}c[a+16>>2]=(c[e+12>>2]|0)-(c[e+4>>2]|0);c[a+12>>2]=(c[e+8>>2]|0)-(c[e>>2]|0);u=e+24|0;m=c[u>>2]|0;j=c[m+24>>2]|0;k=c[m+32>>2]|0;g=a+24|0;c[g>>2]=j+-1+(k<<7);n=c[t>>2]|0;if(n>>>0>1){h=1;do{if((j|0)!=(c[m+(h*52|0)+24>>2]|0))c[g>>2]=255;h=h+1|0}while(h>>>0>>0)}c[a+28>>2]=7;c[a+32>>2]=0;c[a+36>>2]=0;h=(n|0)==0;if(!h?(c[l+8>>2]=j+-1+(k<<7),n>>>0>1):0){g=1;do{c[l+(g*12|0)+8>>2]=(c[m+(g*52|0)+24>>2]|0)+-1+(c[m+(g*52|0)+32>>2]<<7);g=g+1|0}while(g>>>0>>0)}g=a+40|0;a:do{if(!(c[e+32>>2]|0)){c[g>>2]=1;switch(c[e+20>>2]|0){case 1:{c[a+48>>2]=16;break a}case 2:{c[a+48>>2]=17;break a}case 3:{c[a+48>>2]=18;break a}default:break a}}else{c[g>>2]=2;c[a+48>>2]=0}}while(0);b:do{if(!h){h=0;g=0;j=0;do{e=(b[m+(j*52|0)+48>>1]|0)==0;g=(e&1^1)+g|0;h=e?h:j;j=j+1|0}while(j>>>0>>0);j=h;if((g|0)!=1){if(g>>>0<=1)break;Ub(f,2,16717,o)|0;break}switch(c[a+48>>2]|0){case 18:case 16:{h=3;break}case 17:{h=1;break}default:{Ub(f,2,16467,p)|0;break b}}if(n>>>0<(h+1|0)>>>0){Ub(f,2,16541,q)|0;break}if(j>>>0>>0){Ub(f,2,16634,r)|0;break}r=Pc(8)|0;g=a+116|0;c[g>>2]=r;if(!r){Ub(f,1,16782,s)|0;d=0;i=w;return d|0}s=Pc((c[t>>2]|0)*6|0)|0;e=c[g>>2]|0;c[e>>2]=s;if(!s){Ub(f,1,16782,v)|0;d=0;i=w;return d|0}l=c[t>>2]|0;b[e+4>>1]=l;k=c[e>>2]|0;g=0;do{b[k+(g*6|0)>>1]=g;b[k+(g*6|0)+2>>1]=0;v=g;g=g+1|0;b[k+(v*6|0)+4>>1]=g}while((g|0)!=(h|0));if(h>>>0>>0){j=c[u>>2]|0;do{v=(b[j+(h*52|0)+48>>1]|0)==0;b[k+(h*6|0)>>1]=h;g=k+(h*6|0)+2|0;if(v){b[g>>1]=-1;b[k+(h*6|0)+4>>1]=-1}else{b[g>>1]=1;b[(c[e>>2]|0)+(h*6|0)+4>>1]=0}h=h+1|0}while(h>>>0>>0)}}}while(0);c[a+52>>2]=0;c[a+44>>2]=0;c[a+96>>2]=c[d+18692>>2];d=1;i=w;return d|0}function Ne(a,b,d){a=a|0;b=b|0;d=d|0;return od(c[a>>2]|0,b,d)|0}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+8|0;if(!(sg(c[e>>2]|0,52,d)|0)){d=0;return d|0}g=c[e>>2]|0;h=tg(g)|0;e=ug(g)|0;if(h){i=0;f=1;while(1){if(!f)f=0;else f=(Ra[c[e>>2]&63](a,b,d)|0)!=0;i=i+1|0;if((i|0)==(h|0))break;else{e=e+4|0;f=f&1}}vg(g);if(!f){d=0;return d|0}}else vg(g);d=$c(c[a>>2]|0,b,d)|0;return d|0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+8|0;if(!(sg(c[e>>2]|0,53,d)|0)){d=0;return d|0}if(!(pd(c[a>>2]|0,b,d)|0)){d=0;return d|0}i=c[e>>2]|0;g=tg(i)|0;e=ug(i)|0;if(!g)e=1;else{h=0;f=e;e=1;while(1){if(!e)e=0;else e=(Ra[c[f>>2]&63](a,b,d)|0)!=0;e=e&1;h=h+1|0;if((h|0)==(g|0))break;else f=f+4|0}}vg(i);d=e;return d|0}function Qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+4|0;if(!(sg(c[f>>2]|0,54,e)|0)){b=0;return b|0}h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){b=0;return b|0}}else vg(h);f=a+8|0;if(!(sg(c[f>>2]|0,55,e)|0)){b=0;return b|0}if(!(sg(c[f>>2]|0,56,e)|0)){b=0;return b|0}if(!(sg(c[f>>2]|0,57,e)|0)){b=0;return b|0}if((c[a+96>>2]|0)!=0?(sg(c[f>>2]|0,58,e)|0)==0:0){b=0;return b|0}if(!(sg(c[f>>2]|0,59,e)|0)){b=0;return b|0}h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){b=0;return b|0}}else vg(h);b=qd(c[a>>2]|0,b,d,e)|0;return b|0}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=b+8|0;if(!(sg(c[k>>2]|0,52,e)|0)){a=0;return a|0}h=c[b+4>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){a=0;return a|0}}else vg(h);h=c[k>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){a=0;return a|0}}else vg(h);a=ad(a,c[b>>2]|0,d,e)|0;return a|0}function Se(a,b,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return cd(c[a>>2]|0,b,d,e,f,g,h,i,j,k,l)|0}function Te(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;return rd(c[a>>2]|0,b,d,e,f,g)|0}function Ue(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;return dd(c[a>>2]|0,b,d,e,f,g)|0}function Ve(a){a=a|0;var b=0,d=0,e=0;if(!a)return;Yc(c[a>>2]|0);c[a>>2]=0;b=a+72|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+68|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+108|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}e=a+116|0;b=c[e>>2]|0;if(b){d=c[b>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b>>2]=0}Uc(b);c[e>>2]=0}e=a+120|0;b=c[e>>2]|0;if(b){d=c[b+12>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+12>>2]=0}d=c[b+4>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+4>>2]=0}d=c[b+8>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+8>>2]=0}d=c[b>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b>>2]=0}Uc(b);c[e>>2]=0}b=a+4|0;d=c[b>>2]|0;if(d){rg(d);c[b>>2]=0}b=a+8|0;d=c[b>>2]|0;if(d){rg(d);c[b>>2]=0}Uc(a);return}function We(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ed(c[a>>2]|0,b,d,e,f,g,h)|0}function Xe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;if(!d){a=0;i=j;return a|0}Ub(e,2,16826,j)|0;if(!(md(c[a>>2]|0,b,d,e,f)|0)){Ub(e,1,16303,j+8|0)|0;a=0;i=j;return a|0}h=a+108|0;if(!(bf(d,h,e)|0)){a=0;i=j;return a|0}f=c[a+48>>2]|0;a:do{switch(f|0){case 16:{c[d+20>>2]=1;break}case 17:{c[d+20>>2]=2;break}case 18:{c[d+20>>2]=3;break}case 24:{c[d+20>>2]=4;break}default:{b=d+20|0;if((f|0)==12){c[b>>2]=5;break a}else{c[b>>2]=-1;break a}}}}while(0);g=a+120|0;b=c[g>>2]|0;do{if(b){if(c[b+12>>2]|0){cf(d,h);break}Uc(c[b+4>>2]|0);Uc(c[(c[g>>2]|0)+8>>2]|0);Uc(c[c[g>>2]>>2]|0);b=c[g>>2]|0;f=c[b+12>>2]|0;if(f){Uc(f);b=c[g>>2]|0}Uc(b);c[g>>2]=0}}while(0);if(c[a+116>>2]|0)df(d,h,e);b=c[h>>2]|0;if(!b){a=1;i=j;return a|0}c[d+28>>2]=b;c[d+32>>2]=c[a+112>>2];c[h>>2]=0;a=1;i=j;return a|0}function Ye(b){b=b|0;var d=0;d=Qc(1,136)|0;if(!d)return d|0;if(!b){b=Xc()|0;c[d>>2]=b}else{b=fd()|0;c[d>>2]=b}if(!b){Ve(d);d=0;return d|0}b=d+108|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=0;b=qg()|0;c[d+4>>2]=b;if(!b){Ve(d);d=0;return d|0}b=qg()|0;c[d+8>>2]=b;if(b)return d|0;Ve(d);d=0;return d|0}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;gd(c[a>>2]|0,b,d);return}function _e(a){a=a|0;return kd(c[a>>2]|0)|0}function $e(a){a=a|0;return jd(c[a>>2]|0)|0}function af(a,b,d){a=a|0;b=b|0;d=d|0;return nd(c[a>>2]|0,b,d)|0}function bf(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;A=B+72|0;z=B+64|0;y=B+56|0;x=B+48|0;w=B+40|0;v=B+32|0;u=B+24|0;s=B+16|0;o=B+8|0;n=B;j=c[g+8>>2]|0;a:do{if(j){r=c[j>>2]|0;q=b[j+4>>1]|0;j=c[f+16>>2]|0;p=c[g+12>>2]|0;if((p|0)!=0?(c[p+12>>2]|0)!=0:0)g=d[p+18>>0]|0;else g=j;m=q<<16>>16==0;b:do{if(!m){l=0;c:while(1){k=l&65535;j=e[r+(k*6|0)>>1]|0;if(j>>>0>=g>>>0){k=15;break}j=b[r+(k*6|0)+4>>1]|0;switch(j<<16>>16){case 0:case-1:break;default:{j=(j&65535)+-1|0;if(j>>>0>=g>>>0){k=18;break c}}}l=l+1<<16>>16;if((l&65535)>=(q&65535))break b}if((k|0)==15){c[n>>2]=j;c[n+4>>2]=g;Ub(h,1,19343,n)|0;h=0;i=B;return h|0}else if((k|0)==18){c[o>>2]=j;c[o+4>>2]=g;Ub(h,1,19343,o)|0;h=0;i=B;return h|0}}}while(0);if(!g)j=p;else{d:do{if(!m)while(1){g=g+-1|0;j=0;do{if((e[r+((j&65535)*6|0)>>1]|0)==(g|0))break;j=j+1<<16>>16}while((j&65535)<(q&65535));if(j<<16>>16==q<<16>>16)break d;if(!g){j=p;break a}}}while(0);Ub(h,1,19380,s)|0;h=0;i=B;return h|0}}else j=c[g+12>>2]|0}while(0);if(!j){h=1;i=B;return h|0}t=c[j+12>>2]|0;if(!t){h=1;i=B;return h|0}p=a[j+18>>0]|0;s=p&255;r=p<<24>>24==0;if(r)j=1;else{l=f+16|0;g=0;m=0;j=1;do{g=e[t+(g<<2)>>1]|0;k=c[l>>2]|0;if(g>>>0>=k>>>0){c[u>>2]=g;c[u+4>>2]=k;Ub(h,1,19343,u)|0;j=0}m=m+1<<16>>16;g=m&65535}while(g>>>0>>0)}q=Qc(s,4)|0;if(!q){Ub(h,1,19413,v)|0;h=0;i=B;return h|0}if(!r){n=0;o=0;do{k=a[t+(n<<2)+3>>0]|0;l=k&255;do{if((k&255)<(p&255)){m=q+(l<<2)|0;g=a[t+(n<<2)+2>>0]|0;if((c[m>>2]|0)!=0&g<<24>>24==1){c[x>>2]=l;Ub(h,1,19486,x)|0;j=0;break}if(g<<24>>24!=0|k<<24>>24==0){c[m>>2]=1;break}else{c[y>>2]=n;c[y+4>>2]=l;Ub(h,1,19517,y)|0;j=0;break}}else{c[w>>2]=l;Ub(h,1,19430,w)|0;j=0}}while(0);o=o+1<<16>>16;n=o&65535}while(n>>>0>>0);if(!r){g=0;k=0;do{if((c[q+(g<<2)>>2]|0)==0?(a[t+(g<<2)+2>>0]|0)!=0:0){c[z>>2]=g;Ub(h,1,19553,z)|0;j=0}k=k+1<<16>>16;g=k&65535}while(g>>>0>>0)}}if(!j){Uc(q);h=0;i=B;return h|0}e:do{if(!((c[f+16>>2]|0)!=1|r)){j=0;g=0;while(1){g=g+1<<16>>16;if(!(c[q+(j<<2)>>2]|0))break;j=g&65535;if(j>>>0>=s>>>0)break e}c[A>>2]=j;Ub(h,2,19591,A)|0;if(!r){j=0;g=0;do{a[t+(j<<2)+2>>0]=1;a[t+(j<<2)+3>>0]=g;g=g+1<<16>>16;j=g&65535}while(j>>>0>>0)}}}while(0);Uc(q);h=1;i=B;return h|0}function cf(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=g+12|0;g=c[w>>2]|0;m=c[g+8>>2]|0;o=c[g+4>>2]|0;q=c[g>>2]|0;r=c[g+12>>2]|0;g=a[g+18>>0]|0;s=f+24|0;t=c[s>>2]|0;u=g&255;v=Pc(u*52|0)|0;if(!v)return;n=g<<24>>24==0;if(!n){k=0;l=0;do{g=b[r+(k<<2)>>1]|0;if(!(a[r+(k<<2)+2>>0]|0)){g=g&65535;h=v+(k*52|0)|0;i=t+(g*52|0)|0;j=h+52|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0))}else{g=g&65535;h=v+((d[r+(k<<2)+3>>0]|0)*52|0)|0;i=t+(g*52|0)|0;j=h+52|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0))}j=Pc(_(c[t+(g*52|0)+8>>2]<<2,c[t+(g*52|0)+12>>2]|0)|0)|0;c[v+(k*52|0)+44>>2]=j;if(!j){p=7;break}c[v+(k*52|0)+24>>2]=d[m+k>>0];c[v+(k*52|0)+32>>2]=d[o+k>>0];l=l+1<<16>>16;k=l&65535}while(k>>>0>>0);if((p|0)==7){Uc(v);return}m=(e[(c[w>>2]|0)+16>>1]|0)+-1|0;if(!n){g=0;l=0;do{j=c[t+((e[r+(g<<2)>>1]|0)*52|0)+44>>2]|0;i=d[r+(g<<2)+3>>0]|0;k=_(c[v+(i*52|0)+12>>2]|0,c[v+(i*52|0)+8>>2]|0)|0;if(!(a[r+(g<<2)+2>>0]|0)){g=c[v+(g*52|0)+44>>2]|0;if(k){h=0;do{c[g+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}}else{g=c[v+(i*52|0)+44>>2]|0;if(k){h=0;do{p=c[j+(h<<2)>>2]|0;c[g+(h<<2)>>2]=c[q+((_((p|0)<0?0:(p|0)>(m|0)?m:p,u)|0)+i<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}}l=l+1<<16>>16;g=l&65535}while(g>>>0>>0)}}h=f+16|0;i=c[h>>2]|0;if(i){g=0;j=0;do{g=c[t+(g*52|0)+44>>2]|0;if(g)Uc(g);j=j+1<<16>>16;g=j&65535}while(g>>>0>>0)}Uc(t);c[s>>2]=v;c[h>>2]=u;Uc(c[(c[w>>2]|0)+4>>2]|0);Uc(c[(c[w>>2]|0)+8>>2]|0);Uc(c[c[w>>2]>>2]|0);g=c[w>>2]|0;h=c[g+12>>2]|0;if(h){Uc(h);g=c[w>>2]|0}Uc(g);c[w>>2]=0;return}function df(a,d,e){a=a|0;d=d|0;e=e|0;var f=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;y=i;i=i+80|0;w=y+8|0;v=y;u=y+16|0;x=d+8|0;f=c[x>>2]|0;d=c[f>>2]|0;t=b[f+4>>1]|0;if(t<<16>>16){s=a+16|0;o=a+24|0;q=1;r=0;while(1){p=b[d+(r*6|0)>>1]|0;n=p&65535;a=c[s>>2]|0;a:do{if(n>>>0>>0){f=b[d+(r*6|0)+4>>1]|0;switch(f<<16>>16){case-1:case 0:{b[(c[o>>2]|0)+(n*52|0)+48>>1]=b[d+(r*6|0)+2>>1]|0;break a}default:{}}k=(f&65535)+65535|0;m=k&65535;k=k&65535;if(k>>>0>=a>>>0){c[w>>2]=k;c[w+4>>2]=a;Ub(e,2,19302,w)|0;break}l=d+(r*6|0)+2|0;if((n|0)!=(k|0)?(b[l>>1]|0)==0:0){f=c[o>>2]|0;a=f+(n*52|0)|0;g=u;h=a;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));g=a;h=f+(k*52|0)|0;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));g=(c[o>>2]|0)+(k*52|0)|0;h=u;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));if((r+1&65535)<(t&65535)){g=q;do{f=d+(g*6|0)|0;a=b[f>>1]|0;if(a<<16>>16!=p<<16>>16){if(a<<16>>16==m<<16>>16)b[f>>1]=p}else b[f>>1]=m;g=g+1|0}while((g&65535)<<16>>16!=t<<16>>16)}}b[(c[o>>2]|0)+(n*52|0)+48>>1]=b[l>>1]|0}else{c[v>>2]=n;c[v+4>>2]=a;Ub(e,2,19262,v)|0}}while(0);r=r+1|0;if((r&65535)<<16>>16==t<<16>>16)break;else q=q+1|0}d=c[x>>2]|0;f=d;d=c[d>>2]|0}if(!d){w=f;Uc(w);c[x>>2]=0;i=y;return}else{Uc(d);w=c[x>>2]|0;Uc(w);c[x>>2]=0;i=y;return}}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;y=I+152|0;x=I+144|0;w=I+136|0;v=I+128|0;u=I+120|0;E=I+88|0;s=I+80|0;q=I+64|0;p=I+48|0;G=I+40|0;z=I+32|0;F=I+24|0;t=I+16|0;r=I+8|0;n=I+176|0;o=I+168|0;D=I+156|0;e=Qc(1,1024)|0;if(!e){Ub(d,1,17098,I)|0;H=0;i=I;return H|0}m=n+4|0;A=D+4|0;B=a+100|0;l=1024;a:while(1){if((Mb(b,n,8,d)|0)!=8)break;while(1){qb(n,D,4);qb(m,A,4);switch(c[D>>2]|0){case 0:{f=Qb(b)|0;k=C;if((k|0)>0|(k|0)==0&f>>>0>4294967287){H=6;break a}c[D>>2]=f+8;j=8;break}case 1:{if((Mb(b,n,8,d)|0)!=8)break a;qb(n,o,4);if(c[o>>2]|0){H=10;break a}qb(m,D,4);j=16;break}default:j=8}g=c[A>>2]|0;if((g|0)==1785737827){H=13;break a}f=c[D>>2]|0;if(!f){H=17;break a}if(f>>>0>>0){H=19;break a}if((g|0)==1783636e3){h=1084;g=j;H=22;break}if((g|0)==1718909296){h=1092;g=j;H=22;break}k=(g|0)==1785737832;b:do{if((g|0)!=1768449138)if((g|0)!=1668246642)if((g|0)!=1651532643)if((g|0)!=1885564018)if((g|0)!=1668112752){h=(g|0)==1667523942?1148:0;f=f-j|0;if((g|0)<1785737832)switch(g|0){case 1667523942:{H=30;break b}default:{}}else switch(g|0){case 1785737832:{H=30;break b}default:{}}g=c[B>>2]|0;if(!(g&1)){H=45;break a}if(!(g&2)){H=47;break a}c[B>>2]=g|2147483647;k=Rb(b,f,0,d)|0;if(!((k|0)==(f|0)&(C|0)==0)){H=50;break a}}else{h=1140;H=28}else{h=1132;H=28}else{h=1124;H=28}else{h=1116;H=28}else{h=1108;H=28}}while(0);if((H|0)==28){f=f-j|0;H=30}if((H|0)==30){H=0;if(k){h=1100;break}c[p>>2]=g>>>24;c[p+4>>2]=g>>>16&255;c[p+8>>2]=g>>>8&255;c[p+12>>2]=g&255;Ub(d,2,17282,p)|0;if(c[B>>2]&4)break;k=c[A>>2]|0;c[q>>2]=k>>>24;c[q+4>>2]=k>>>16&255;c[q+8>>2]=k>>>8&255;c[q+12>>2]=k&255;Ub(d,2,17333,q)|0;c[B>>2]=c[B>>2]|2147483647;k=Rb(b,f,0,d)|0;if(!((k|0)==(f|0)&(C|0)==0)){H=33;break a}}if((Mb(b,n,8,d)|0)!=8)break a}if((H|0)==22){H=0;f=f-g|0}k=Qb(b)|0;j=C;if(0>(j|0)|0==(j|0)&f>>>0>k>>>0){H=35;break}if(f>>>0>l>>>0){g=Tc(e,f)|0;if(!g){H=38;break}else{e=g;g=f}}else g=l;if((Mb(b,e,f,d)|0)!=(f|0)){H=40;break}if(!(Za[c[h+4>>2]&63](a,e,f,d)|0)){H=43;break}else l=g}switch(H|0){case 6:{Ub(d,1,17148,r)|0;break}case 10:{Ub(d,1,17148,t)|0;break}case 13:{f=c[B>>2]|0;if(!(f&4)){Ub(d,1,17190,F)|0;Uc(e);H=0;i=I;return H|0}else{c[B>>2]=f|8;Uc(e);H=1;i=I;return H|0}}case 17:{Ub(d,1,17218,z)|0;Uc(e);H=0;i=I;return H|0}case 19:{c[G>>2]=f;c[G+4>>2]=g;Ub(d,1,17256,G)|0;Uc(e);H=0;i=I;return H|0}case 33:{Ub(d,1,17399,s)|0;Uc(e);H=0;i=I;return H|0}case 35:{F=c[D>>2]|0;G=c[A>>2]|0;H=Qb(b)|0;c[E>>2]=F;c[E+4>>2]=G>>>24;c[E+8>>2]=G>>>16&255;c[E+12>>2]=G>>>8&255;c[E+16>>2]=G&255;c[E+20>>2]=f;c[E+24>>2]=H;Ub(d,1,17449,E)|0;Uc(e);H=0;i=I;return H|0}case 38:{Uc(e);Ub(d,1,17525,u)|0;H=0;i=I;return H|0}case 40:{Ub(d,1,17567,v)|0;Uc(e);H=0;i=I;return H|0}case 43:{Uc(e);H=0;i=I;return H|0}case 45:{Ub(d,1,17616,w)|0;Uc(e);H=0;i=I;return H|0}case 47:{Ub(d,1,17686,x)|0;Uc(e);H=0;i=I;return H|0}case 50:{Ub(d,1,17399,y)|0;Uc(e);H=0;i=I;return H|0}}Uc(e);H=1;i=I;return H|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+24|0;e=Pb(b)|0;f=C;a=a+80|0;j=a;j=Oi(e|0,f|0,c[j>>2]|0,c[j+4>>2]|0)|0;pb(g,j,4);pb(g+4|0,1785737827,4);if(!(Sb(b,c[a>>2]|0,c[a+4>>2]|0,d)|0)){Ub(d,1,17067,h)|0;j=0;i=h;return j|0}if((Nb(b,g,8,d)|0)!=8){Ub(d,1,17067,h+8|0)|0;j=0;i=h;return j|0}if(Sb(b,e,f,d)|0){j=1;i=h;return j|0}Ub(d,1,17067,h+16|0)|0;j=0;i=h;return j|0}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;d=((c[a>>2]|0)!=0?(c[a+104>>2]|c[a+100>>2]|0)==0:0)&(c[a+8>>2]|0)!=0&(c[a+4>>2]|0)!=0&(c[a+64>>2]|0)!=0&(c[a+16>>2]|0)!=0&(c[a+12>>2]|0)!=0&1;e=c[a+20>>2]|0;if(!e){g=d;a=a+40|0;a=c[a>>2]|0;a=a+-1|0;a=a>>>0<2;a=a&1;b=Tb(b)|0;b=b&g;a=b&a;return a|0}f=c[a+72>>2]|0;g=0;do{d=(c[f+(g*12|0)+8>>2]&126)>>>0<38&d;g=g+1|0}while(g>>>0>>0);a=a+40|0;a=c[a>>2]|0;a=a+-1|0;a=a>>>0<2;a=a&1;b=Tb(b)|0;b=b&d;a=b&a;return a|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=i;i=i+16|0;d=a;pb(d,12,4);pb(d+4|0,1783636e3,4);pb(d+8|0,218793738,4);c=(Nb(b,d,12,c)|0)==12&1;i=a;return c|0}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+8|0;f=a+64|0;h=(c[f>>2]<<2)+16|0;j=Qc(1,h)|0;if(!j){Ub(d,1,16987,l)|0;k=0;i=l;return k|0}pb(j,h,4);pb(j+4|0,1718909296,4);pb(j+8|0,c[a+56>>2]|0,4);pb(j+12|0,c[a+60>>2]|0,4);g=j+16|0;if(c[f>>2]|0){a=a+68|0;e=0;do{pb(g,c[(c[a>>2]|0)+(e<<2)>>2]|0,4);e=e+1|0}while(e>>>0<(c[f>>2]|0)>>>0)}a=(Nb(b,j,h,d)|0)==(h|0);if(!a)Ub(d,1,17026,k)|0;Uc(j);k=a&1;i=l;return k|0}function kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;o=q+16|0;m=q+8|0;k=q;f=q+24|0;l=q+72|0;e=f;g=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));p=(c[a+24>>2]|0)==255;c[f>>2]=2;e=f+12|0;if(p){c[e>>2]=3;c[f+24>>2]=4;e=3}else{c[e>>2]=4;e=2}if(!(c[a+116>>2]|0))p=e;else{c[f+(e*12|0)>>2]=5;p=e+1|0}pb(l+4|0,1785737832,4);h=0;j=f;e=8;while(1){g=j+8|0;r=_a[c[j>>2]&7](a,g)|0;c[j+4>>2]=r;if(!r){n=8;break}e=(c[g>>2]|0)+e|0;h=h+1|0;if((h|0)>=(p|0))break;else j=j+12|0}if((n|0)==8){Ub(d,1,16901,k)|0;g=0;while(1){e=c[f+4>>2]|0;if(e)Uc(e);g=g+1|0;if((g|0)>=(p|0)){e=0;break}else f=f+12|0}i=q;return e|0}pb(l,e,4);a:do{if((Nb(b,l,8,d)|0)==8){e=0;g=f;while(1){r=g+8|0;n=Nb(b,c[g+4>>2]|0,c[r>>2]|0,d)|0;if((n|0)!=(c[r>>2]|0))break;e=e+1|0;if((e|0)>=(p|0)){e=1;break a}else g=g+12|0}Ub(d,1,16944,o)|0;e=0}else{Ub(d,1,16944,m)|0;e=0}}while(0);h=0;while(1){g=c[f+4>>2]|0;if(g)Uc(g);h=h+1|0;if((h|0)>=(p|0))break;else f=f+12|0}i=q;return e|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Pb(b)|0;a=a+88|0;c[a>>2]=e;c[a+4>>2]=C;b=Rb(b,24,0,d)|0;return(b|0)==24&(C|0)==0&1|0}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Pb(b)|0;a=a+80|0;c[a>>2]=e;c[a+4>>2]=C;b=Rb(b,8,0,d)|0;return(b|0)==8&(C|0)==0&1|0}function nf(a,b){a=a|0;b=b|0;var d=0;d=Qc(1,22)|0;if(!d){b=0;return b|0}pb(d,22,4);pb(d+4|0,1768449138,4);pb(d+8|0,c[a+16>>2]|0,4);pb(d+12|0,c[a+12>>2]|0,4);pb(d+16|0,c[a+20>>2]|0,2);pb(d+18|0,c[a+24>>2]|0,1);pb(d+19|0,c[a+28>>2]|0,1);pb(d+20|0,c[a+32>>2]|0,1);pb(d+21|0,c[a+36>>2]|0,1);c[b>>2]=22;b=d;return b|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=(c[f>>2]|0)+8|0;h=Qc(1,g)|0;if(!h){b=0;return b|0}pb(h,g,4);pb(h+4|0,1651532643,4);if(c[f>>2]|0){a=a+72|0;d=0;e=h+8|0;while(1){pb(e,c[(c[a>>2]|0)+(d*12|0)+8>>2]|0,1);d=d+1|0;if(d>>>0>=(c[f>>2]|0)>>>0)break;else e=e+1|0}}c[b>>2]=g;b=h;return b|0}function pf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=a+40|0;switch(c[e>>2]|0){case 1:{j=15;break}case 2:{j=(c[a+112>>2]|0)+11|0;break}default:{b=0;return b|0}}i=Qc(1,j)|0;if(!i){b=0;return b|0}pb(i,j,4);pb(i+4|0,1668246642,4);pb(i+8|0,c[e>>2]|0,1);pb(i+9|0,c[a+52>>2]|0,1);pb(i+10|0,c[a+44>>2]|0,1);g=i+11|0;switch(c[e>>2]|0){case 1:{pb(g,c[a+48>>2]|0,4);break}case 2:{h=a+112|0;if(c[h>>2]|0){a=a+108|0;f=0;e=g;while(1){pb(e,d[(c[a>>2]|0)+f>>0]|0,1);f=f+1|0;if(f>>>0>=(c[h>>2]|0)>>>0)break;else e=e+1|0}}break}default:{}}c[b>>2]=j;b=i;return b|0}function qf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=a+116|0;j=((e[(c[i>>2]|0)+4>>1]|0)*6|0)+10|0;k=Pc(j)|0;if(!k){d=0;return d|0}pb(k,j,4);pb(k+4|0,1667523942,4);pb(k+8|0,e[(c[i>>2]|0)+4>>1]|0,2);a=c[i>>2]|0;if(b[a+4>>1]|0){g=0;f=0;h=k+10|0;while(1){pb(h,e[(c[a>>2]|0)+(g*6|0)>>1]|0,2);pb(h+2|0,e[(c[c[i>>2]>>2]|0)+(g*6|0)+2>>1]|0,2);pb(h+4|0,e[(c[c[i>>2]>>2]|0)+(g*6|0)+4>>1]|0,2);f=f+1<<16>>16;a=c[i>>2]|0;if((f&65535)>=(e[a+4>>1]|0))break;else{g=f&65535;h=h+6|0}}}c[d>>2]=j;d=k;return d|0}function rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;f=g+16|0;if((d|0)!=14){Ub(e,1,18507,g)|0;f=0;i=g;return f|0}qb(b,a+16|0,4);qb(b+4|0,a+12|0,4);d=a+20|0;qb(b+8|0,d,2);d=Qc(c[d>>2]|0,12)|0;c[a+72>>2]=d;if(!d){Ub(e,1,18540,g+8|0)|0;f=0;i=g;return f|0}qb(b+10|0,a+24|0,1);d=a+28|0;qb(b+11|0,d,1);d=c[d>>2]|0;if((d|0)!=7){c[f>>2]=d;Ub(e,4,18589,f)|0}qb(b+12|0,a+32|0,1);qb(b+13|0,a+36|0,1);f=1;i=g;return f|0}function sf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var 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;x=i;i=i+80|0;j=x+40|0;t=x+32|0;l=x+24|0;k=x+16|0;u=x+72|0;s=x+68|0;p=x+64|0;q=x+60|0;n=x+56|0;r=x+52|0;o=x+48|0;m=x+44|0;if(e>>>0<3){Ub(f,1,18180,x)|0;w=0;i=x;return w|0}v=b+108|0;w=b+124|0;if(a[w>>0]|0){Ub(f,4,18212,x+8|0)|0;w=1;i=x;return w|0}h=b+40|0;qb(d,h,1);qb(d+1|0,b+52|0,1);qb(d+2|0,b+44|0,1);g=d+3|0;h=c[h>>2]|0;switch(h|0){case 1:{if(e>>>0<7){c[k>>2]=e;Ub(f,1,18321,k)|0;w=0;i=x;return w|0}h=b+48|0;if(e>>>0>7?(c[h>>2]|0)!=14:0){c[l>>2]=e;Ub(f,2,18321,l)|0}qb(g,h,4);if((c[h>>2]|0)==14){g=Pc(36)|0;c[g>>2]=14;c[o>>2]=0;c[n>>2]=0;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=0;c[m>>2]=4470064;h=g+4|0;c[h>>2]=1145390592;switch(e|0){case 35:{qb(d+7|0,s,4);qb(d+11|0,p,4);qb(d+15|0,q,4);qb(d+19|0,n,4);qb(d+23|0,r,4);qb(d+27|0,o,4);qb(d+31|0,m,4);c[h>>2]=0;break}case 7:break;default:{c[t>>2]=e;Ub(f,2,18357,t)|0}}c[g+8>>2]=c[s>>2];c[g+16>>2]=c[q>>2];c[g+24>>2]=c[r>>2];c[g+12>>2]=c[p>>2];c[g+20>>2]=c[n>>2];c[g+28>>2]=c[o>>2];c[g+32>>2]=c[m>>2];c[v>>2]=g;c[b+112>>2]=0}a[w>>0]=1;w=1;i=x;return w|0}case 2:{j=e+-3|0;h=b+112|0;c[h>>2]=j;b=Qc(1,j)|0;c[v>>2]=b;if(!b){c[h>>2]=0;w=0;i=x;return w|0}if((e|0)>3){h=0;while(1){qb(g,u,1);a[(c[v>>2]|0)+h>>0]=c[u>>2];h=h+1|0;if((h|0)==(j|0))break;else g=g+1|0}}a[w>>0]=1;w=1;i=x;return w|0}default:{if(h>>>0<=2){w=1;i=x;return w|0}c[j>>2]=h;Ub(f,4,18401,j)|0;w=1;i=x;return w|0}}return 0}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j;f=c[a+24>>2]|0;if((f|0)!=255){c[g>>2]=f;Ub(e,2,18034,g)|0}h=a+20|0;if((c[h>>2]|0)!=(d|0)){Ub(e,1,18148,j+8|0)|0;h=0;i=j;return h|0}if(!d){h=1;i=j;return h|0}g=a+72|0;f=0;while(1){qb(b,(c[g>>2]|0)+(f*12|0)+8|0,1);f=f+1|0;if(f>>>0>=(c[h>>2]|0)>>>0){b=1;break}else b=b+1|0}i=j;return b|0}function uf(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;j=r;q=r+12|0;k=e+120|0;if(g>>>0<3|(c[k>>2]|0)!=0){g=0;i=r;return g|0}qb(f,q,2);l=c[q>>2]|0;p=l&65535;if((p+-1|0)>>>0>1023){c[j>>2]=p;Ub(h,1,17951,j)|0;g=0;i=r;return g|0}qb(f+2|0,q,1);o=c[q>>2]&65535;if(!o){Ub(h,1,17989,r+8|0)|0;g=0;i=r;return g|0}if((o+3|0)>>>0>g>>>0){g=0;i=r;return g|0}j=Pc(_(p<<2,o)|0)|0;if(!j){g=0;i=r;return g|0}n=Pc(o)|0;if(!n){Uc(j);g=0;i=r;return g|0}m=Pc(o)|0;if(!m){Uc(j);Uc(n);g=0;i=r;return g|0}e=Pc(20)|0;if(!e){Uc(j);Uc(n);Uc(m);g=0;i=r;return g|0}c[e+4>>2]=m;c[e+8>>2]=n;c[e>>2]=j;b[e+16>>1]=l;a[e+18>>0]=c[q>>2];c[e+12>>2]=0;c[k>>2]=e;e=f+3|0;h=0;k=0;do{qb(e,q,1);e=e+1|0;a[n+h>>0]=(c[q>>2]&127)+1;a[m+h>>0]=(c[q>>2]|0)>>>7&1;k=k+1<<16>>16;h=k&65535}while(h>>>0>>0);if(!p){g=1;i=r;return g|0}h=0;a:while(1){l=0;k=j;m=0;while(1){j=((d[n+l>>0]|0)+7|0)>>>3;j=j>>>0>4?4:j;if((e-f+j|0)>(g|0)){e=0;j=22;break a}qb(e,q,j);e=e+j|0;c[k>>2]=c[q>>2];j=k+4|0;m=m+1<<16>>16;l=m&65535;if(l>>>0>=o>>>0)break;else k=j}h=h+1<<16>>16;if((h&65535)>>>0>=p>>>0){e=1;j=22;break}}if((j|0)==22){i=r;return e|0}return 0}function vf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+20|0;j=d+120|0;d=c[j>>2]|0;if(!d){Ub(g,1,17841,l)|0;k=0;i=l;return k|0}if(c[d+12>>2]|0){Ub(g,1,17887,l+8|0)|0;k=0;i=l;return k|0}h=a[d+18>>0]|0;d=(h&255)<<2;if(d>>>0>f>>>0){Ub(g,1,17918,l+16|0)|0;k=0;i=l;return k|0}g=Pc(d)|0;if(!g){k=0;i=l;return k|0}if(h<<24>>24){d=e;f=0;while(1){qb(d,k,2);b[g+(f<<2)>>1]=c[k>>2];qb(d+2|0,k,1);a[g+(f<<2)+2>>0]=c[k>>2];qb(d+3|0,k,1);a[g+(f<<2)+3>>0]=c[k>>2];f=f+1|0;if((f&255)<<24>>24==h<<24>>24)break;else d=d+4|0}}c[(c[j>>2]|0)+12>>2]=g;k=1;i=l;return k|0}function wf(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+20|0;j=a+116|0;if(c[j>>2]|0){k=0;i=l;return k|0}if(f>>>0<2){Ub(g,1,17747,l)|0;k=0;i=l;return k|0}qb(d,k,2);a=c[k>>2]|0;h=a&65535;if(!h){Ub(g,1,17780,l+8|0)|0;k=0;i=l;return k|0}if(((h*6|0)+2|0)>>>0>f>>>0){Ub(g,1,17747,l+16|0)|0;k=0;i=l;return k|0}f=Pc(a*6|0)|0;if(!f){k=0;i=l;return k|0}a=Pc(8)|0;c[j>>2]=a;if(!a){Uc(f);k=0;i=l;return k|0}c[a>>2]=f;g=c[k>>2]&65535;b[a+4>>1]=g;if(!(g<<16>>16)){k=1;i=l;return k|0}else{h=0;a=d}do{d=h&65535;qb(a+2|0,k,2);b[f+(d*6|0)>>1]=c[k>>2];qb(a+4|0,k,2);a=a+6|0;b[f+(d*6|0)+2>>1]=c[k>>2];qb(a,k,2);b[f+(d*6|0)+4>>1]=c[k>>2];h=h+1<<16>>16}while((h&65535)<(e[(c[j>>2]|0)+4>>1]|0));a=1;i=l;return a|0}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;f=g+20|0;a=a+100|0;if(c[a>>2]|0){Ub(e,1,19130,g)|0;e=0;i=g;return e|0}if((d|0)!=4){Ub(e,1,19184,g+8|0)|0;e=0;i=g;return e|0}qb(b,f,4);if((c[f>>2]|0)==218793738){c[a>>2]=c[a>>2]|1;e=1;i=g;return e|0}else{Ub(e,1,19218,g+16|0)|0;e=0;i=g;return e|0}return 0}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;g=j+24|0;h=a+100|0;if((c[h>>2]|0)!=1){Ub(e,1,19011,j)|0;h=0;i=j;return h|0}if(d>>>0<8){Ub(e,1,19061,j+8|0)|0;h=0;i=j;return h|0}qb(b,a+56|0,4);qb(b+4|0,a+60|0,4);b=b+8|0;d=d+-8|0;if(d&3){Ub(e,1,19061,j+16|0)|0;h=0;i=j;return h|0}d=d>>>2;f=a+64|0;c[f>>2]=d;if(d){d=Qc(d,4)|0;c[a+68>>2]=d;if(!d){Ub(e,1,19097,g)|0;h=0;i=j;return h|0}if(c[f>>2]|0){a=a+68|0;d=0;while(1){qb(b,(c[a>>2]|0)+(d<<2)|0,4);d=d+1|0;if(d>>>0>=(c[f>>2]|0)>>>0)break;else b=b+4|0}}}c[h>>2]=c[h>>2]|2;h=1;i=j;return h|0}function zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;y=A+72|0;s=A+64|0;r=A+56|0;q=A+48|0;w=A+40|0;v=A+32|0;u=A+24|0;t=A+16|0;p=A+8|0;n=A+80|0;o=A+76|0;x=a+100|0;if(!(c[x>>2]&2)){Ub(e,1,18679,A)|0;z=0;i=A;return z|0}m=a+104|0;c[m>>2]=0;do{if(d){k=b;b=0;a:while(1){if(d>>>0<8){z=6;break}qb(k,n,4);f=c[n>>2]|0;qb(k+4|0,n,4);j=c[n>>2]|0;switch(f|0){case 0:{z=14;break a}case 1:{if(d>>>0<16){z=9;break a}qb(k+8|0,o,4);if(c[o>>2]|0){z=11;break a}qb(k+12|0,n,4);f=c[n>>2]|0;if(!f){z=13;break a}else g=16;break}default:g=8}if(f>>>0>>0){z=16;break}if(d>>>0>>0){z=19;break}h=(j|0)==1768449138;if(!h)if((j|0)!=1668246642)if((j|0)!=1651532643)if((j|0)!=1885564018)if((j|0)!=1668112752)if((j|0)==1667523942){l=1148;z=26}else c[m>>2]=c[m>>2]|2147483647;else{l=1140;z=26}else{l=1132;z=26}else{l=1124;z=26}else{l=1116;z=26}else{l=1108;z=26}if((z|0)==26?(z=0,(Za[c[l+4>>2]&63](a,k+g|0,f-g|0,e)|0)==0):0){b=0;z=32;break}b=h?1:b;if((d|0)==(f|0)){z=29;break}else{k=k+f|0;d=d-f|0}}if((z|0)==6)Ub(e,1,18724,p)|0;else if((z|0)==9)Ub(e,1,18764,t)|0;else if((z|0)==11)Ub(e,1,17148,u)|0;else if((z|0)==13)Ub(e,1,17218,v)|0;else if((z|0)==14)Ub(e,1,17218,w)|0;else if((z|0)==16)Ub(e,1,18808,q)|0;else if((z|0)==19){Ub(e,1,18880,s)|0;z=0;i=A;return z|0}else if((z|0)==29){if(!b)break;c[x>>2]=c[x>>2]|4;z=1;i=A;return z|0}else if((z|0)==32){i=A;return b|0}Ub(e,1,18837,r)|0;z=0;i=A;return z|0}}while(0);Ub(e,1,18952,y)|0;z=0;i=A;return z|0}function Af(){return 8}function Bf(){return 32}function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!e)return;else f=0;do{l=a+(f<<2)|0;i=c[l>>2]|0;j=b+(f<<2)|0;h=c[j>>2]|0;g=d+(f<<2)|0;k=c[g>>2]|0;c[l>>2]=(h<<1)+i+k>>2;c[j>>2]=k-h;c[g>>2]=i-h;f=f+1|0}while((f|0)!=(e|0));return}function Df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!e)return;else f=0;do{k=a+(f<<2)|0;j=b+(f<<2)|0;h=c[j>>2]|0;g=d+(f<<2)|0;l=c[g>>2]|0;i=(c[k>>2]|0)-(l+h>>2)|0;c[k>>2]=i+l;c[j>>2]=i;c[g>>2]=i+h;f=f+1|0}while((f|0)!=(e|0));return}function Ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!e)return;else f=0;do{o=a+(f<<2)|0;u=c[o>>2]|0;k=b+(f<<2)|0;t=c[k>>2]|0;g=d+(f<<2)|0;s=c[g>>2]|0;j=((u|0)<0)<<31>>31;q=Zi(u|0,j|0,2449,0)|0;q=Si(q|0,C|0,4096,0)|0;q=Ti(q|0,C|0,13)|0;i=((t|0)<0)<<31>>31;r=Zi(t|0,i|0,4809,0)|0;r=Si(r|0,C|0,4096,0)|0;r=Ti(r|0,C|0,13)|0;h=((s|0)<0)<<31>>31;p=Zi(s|0,h|0,934,0)|0;p=Si(p|0,C|0,4096,0)|0;p=Ti(p|0,C|0,13)|0;l=Zi(u|0,j|0,1382,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=Zi(t|0,i|0,2714,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;n=Ri(s|0,h|0,12)|0;n=Si(n|0,C|0,4096,0)|0;n=Ti(n|0,C|0,13)|0;j=Ri(u|0,j|0,12)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;i=Zi(t|0,i|0,3430,0)|0;i=Si(i|0,C|0,4096,0)|0;i=Ti(i|0,C|0,13)|0;h=Zi(s|0,h|0,666,0)|0;h=Si(h|0,C|0,4096,0)|0;h=Ti(h|0,C|0,13)|0;c[o>>2]=r+q+p;c[k>>2]=n-(m+l);c[g>>2]=j-i-h;f=f+1|0}while((f|0)!=(e|0));return}function Ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0,k=0.0,l=0;if(!d)return;else e=0;do{l=a+(e<<2)|0;i=+g[l>>2];j=b+(e<<2)|0;h=+g[j>>2];f=c+(e<<2)|0;k=+g[f>>2];g[l>>2]=i+k*1.4019999504089355;g[j>>2]=i-h*.3441300094127655-k*.714139997959137;g[f>>2]=i+h*1.7719999551773071;e=e+1|0}while((e|0)!=(d|0));return}function Gf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=_(e,e)|0;o=Pc(h+e<<2)|0;if(!o){e=0;return e|0}if(h){i=0;f=a;while(1){c[o+(i+e<<2)>>2]=~~(+g[f>>2]*8192.0);i=i+1|0;if((i|0)==(h|0))break;else f=f+4|0}}if(b){m=(e|0)==0;n=0;do{if(!m){f=0;do{c[o+(f<<2)>>2]=c[c[d+(f<<2)>>2]>>2];f=f+1|0}while((f|0)!=(e|0));if(!m){a=0;k=o;do{k=k+(e<<2)|0;h=d+(a<<2)|0;f=c[h>>2]|0;c[f>>2]=0;i=0;j=0;l=k;while(1){p=c[l>>2]|0;q=c[o+(j<<2)>>2]|0;p=Zi(q|0,((q|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=Si(p|0,C|0,4096,0)|0;p=Ti(p|0,C|0,13)|0;i=p+i|0;c[f>>2]=i;j=j+1|0;if((j|0)==(e|0))break;else l=l+4|0}c[h>>2]=f+4;a=a+1|0}while((a|0)!=(e|0))}}n=n+1|0}while((n|0)!=(b|0))}Uc(o);q=1;return q|0}function Hf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Pc(e<<3)|0;if(!m){e=0;return e|0}if(b){n=(e|0)==0;o=0;do{if(!n){f=0;do{c[m+(f<<2)>>2]=c[c[d+(f<<2)>>2]>>2];f=f+1|0}while((f|0)!=(e|0));if(!n){k=0;l=a;while(1){f=m+(k+e<<2)|0;g[f>>2]=0.0;h=0.0;i=0;j=l;while(1){h=h+ +g[j>>2]*+g[m+(i<<2)>>2];g[f>>2]=h;i=i+1|0;if((i|0)==(e|0))break;else j=j+4|0}i=d+(k<<2)|0;j=c[i>>2]|0;c[i>>2]=j+4;g[j>>2]=h;k=k+1|0;if((k|0)==(e|0))break;else l=l+(e<<2)|0}}}o=o+1|0}while((o|0)!=(b|0))}Uc(m);e=1;return e|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,i=0,j=0,k=0.0;if(!b)return;else j=0;do{i=a+(j<<3)|0;h[i>>3]=0.0;d=0.0;e=0;f=j;while(1){k=+g[c+(f<<2)>>2];d=d+k*k;e=e+1|0;if((e|0)==(b|0))break;else f=f+b|0}h[i>>3]=+O(+d);j=j+1|0}while((j|0)!=(b|0));return}function Jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=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,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+32|0;B=F+28|0;w=F+24|0;x=F+20|0;y=F+16|0;z=F+12|0;A=F+8|0;k=F+4|0;l=F;f=d+76|0;D=c[f>>2]|0;C=D+(e*5640|0)+420|0;E=(c[C>>2]|0)+1|0;m=b+16|0;v=Pc((c[m>>2]|0)*528|0)|0;if(!v){E=0;i=F;return E|0}u=Pc(c[m>>2]<<2)|0;if(!u){Uc(v);E=0;i=F;return E|0}f=Pf(b,c[f>>2]|0,e)|0;if(!f){Uc(v);Uc(u);E=0;i=F;return E|0}g=c[m>>2]|0;if(g){h=0;j=v;while(1){c[u+(h<<2)>>2]=j;h=h+1|0;if(h>>>0>=g>>>0)break;else j=j+528|0}}Qf(b,d,e,x,y,z,A,k,l,w,B,u);s=c[w>>2]|0;q=_(c[m>>2]|0,s)|0;r=_(c[B>>2]|0,q)|0;t=D+(e*5640|0)+8|0;p=Qc(_((c[t>>2]|0)+1|0,r)|0,2)|0;h=f+4|0;c[h>>2]=p;if(!p){Uc(v);Uc(u);g=c[h>>2]|0;if(g){Uc(g);c[h>>2]=0}if(E){b=f;n=0;while(1){m=b+196|0;g=c[m>>2]|0;if(g){d=b+192|0;h=c[d>>2]|0;if(h){l=0;while(1){j=g+12|0;k=c[j>>2]|0;if(k){Uc(k);c[j>>2]=0;h=c[d>>2]|0}l=l+1|0;if(l>>>0>=h>>>0)break;else g=g+16|0}g=c[m>>2]|0}Uc(g);c[m>>2]=0}n=n+1|0;if((n|0)==(E|0))break;else b=b+232|0}}Uc(f);E=0;i=F;return E|0}g=c[f+196>>2]|0;p=c[b+24>>2]|0;c[f+200>>2]=c[x>>2];c[f+204>>2]=c[z>>2];c[f+208>>2]=c[y>>2];c[f+212>>2]=c[A>>2];c[f+20>>2]=1;c[f+16>>2]=s;c[f+12>>2]=q;c[f+8>>2]=r;m=c[f+192>>2]|0;if(m){b=0;d=p;while(1){j=c[g+12>>2]|0;h=c[u+(b<<2)>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];l=c[g+8>>2]|0;if(l){k=0;while(1){c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];k=k+1|0;if(k>>>0>=l>>>0)break;else{h=h+16|0;j=j+16|0}}}b=b+1|0;if(b>>>0>=m>>>0)break;else{g=g+16|0;d=d+52|0}}}if(E>>>0>1){m=f;o=1;do{g=c[m+428>>2]|0;c[m+432>>2]=c[x>>2];c[m+436>>2]=c[z>>2];c[m+440>>2]=c[y>>2];c[m+444>>2]=c[A>>2];c[m+252>>2]=1;c[m+248>>2]=s;c[m+244>>2]=q;c[m+240>>2]=r;b=c[m+424>>2]|0;if(b){n=0;d=p;while(1){j=c[g+12>>2]|0;h=c[u+(n<<2)>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];l=c[g+8>>2]|0;if(l){k=0;while(1){c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];k=k+1|0;if(k>>>0>=l>>>0)break;else{h=h+16|0;j=j+16|0}}}n=n+1|0;if(n>>>0>=b>>>0)break;else{g=g+16|0;d=d+52|0}}}c[m+236>>2]=c[m+4>>2];m=m+232|0;o=o+1|0}while((o|0)!=(E|0))}Uc(v);Uc(u);m=c[w>>2]|0;if(!(a[D+(e*5640|0)+5636>>0]&4)){d=c[B>>2]|0;l=(c[C>>2]|0)+1|0;if(!l){E=f;i=F;return E|0}k=c[D+(e*5640|0)+4>>2]|0;g=c[t>>2]|0;h=f;j=0;while(1){c[h+80>>2]=k;c[h+40>>2]=1;c[h+44>>2]=0;c[h+48>>2]=0;c[h+64>>2]=0;c[h+68>>2]=0;c[h+56>>2]=d;c[h+60>>2]=c[h+192>>2];c[h+52>>2]=g;c[h+72>>2]=m;j=j+1|0;if((j|0)==(l|0))break;else h=h+232|0}i=F;return f|0}else{j=(c[C>>2]|0)+1|0;if(!j){E=f;i=F;return E|0}k=f;g=D+(e*5640|0)+424|0;h=0;while(1){c[k+80>>2]=c[g+36>>2];c[k+40>>2]=1;c[k+44>>2]=c[g>>2];c[k+48>>2]=c[g+4>>2];c[k+64>>2]=0;c[k+68>>2]=0;c[k+56>>2]=c[g+12>>2];c[k+60>>2]=c[g+16>>2];c[k+52>>2]=c[g+8>>2];c[k+72>>2]=m;h=h+1|0;if((h|0)==(j|0))break;else{k=k+232|0;g=g+148|0}}i=F;return f|0}return 0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!a)return;d=a+4|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0}if(b){k=a;l=0;while(1){j=k+196|0;d=c[j>>2]|0;if(d){i=k+192|0;e=c[i>>2]|0;if(e){h=0;while(1){f=d+12|0;g=c[f>>2]|0;if(g){Uc(g);c[f>>2]=0;e=c[i>>2]|0}h=h+1|0;if(h>>>0>=e>>>0)break;else d=d+16|0}d=c[j>>2]|0}Uc(d);c[j>>2]=0}l=l+1|0;if((l|0)==(b|0))break;else k=k+232|0}}Uc(a);return}function Lf(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+32|0;G=L+28|0;F=L+24|0;B=L+20|0;C=L+16|0;D=L+12|0;E=L+8|0;H=L+4|0;I=L;J=f+76|0;x=c[J>>2]|0;K=(c[x+(g*5640|0)+420>>2]|0)+1|0;A=e+16|0;z=Pc((c[A>>2]|0)*528|0)|0;if(!z){g=0;i=L;return g|0}y=Pc(c[A>>2]<<2)|0;if(!y){Uc(z);g=0;i=L;return g|0}j=Pf(e,c[J>>2]|0,g)|0;if(!j){Uc(z);Uc(y);g=0;i=L;return g|0}k=c[A>>2]|0;if(k){l=0;m=z;while(1){c[y+(l<<2)>>2]=m;l=l+1|0;if(l>>>0>=k>>>0)break;else m=m+528|0}}Qf(e,f,g,B,C,D,E,H,I,F,G,y);u=c[F>>2]|0;v=_(c[A>>2]|0,u)|0;w=_(c[G>>2]|0,v)|0;a[j>>0]=(d[f+93>>0]|0)>>>3&1;t=Qc(_(c[x+(g*5640|0)+8>>2]|0,w)|0,2)|0;l=j+4|0;c[l>>2]=t;if(!t){Uc(z);Uc(y);k=c[l>>2]|0;if(k){Uc(k);c[l>>2]=0}if(K){q=j;r=0;while(1){p=q+196|0;k=c[p>>2]|0;if(k){o=q+192|0;l=c[o>>2]|0;if(l){n=0;while(1){m=k+12|0;e=c[m>>2]|0;if(e){Uc(e);c[m>>2]=0;l=c[o>>2]|0}n=n+1|0;if(n>>>0>=l>>>0)break;else k=k+16|0}k=c[p>>2]|0}Uc(k);c[p>>2]=0}r=r+1|0;if((r|0)==(K|0))break;else q=q+232|0}}Uc(j);g=0;i=L;return g|0}k=c[j+196>>2]|0;t=c[e+24>>2]|0;c[j+200>>2]=c[B>>2];c[j+204>>2]=c[D>>2];c[j+208>>2]=c[C>>2];c[j+212>>2]=c[E>>2];c[j+224>>2]=c[H>>2];c[j+228>>2]=c[I>>2];c[j+20>>2]=1;c[j+16>>2]=u;c[j+12>>2]=v;c[j+8>>2]=w;p=c[j+192>>2]|0;if(p){q=0;o=t;while(1){m=c[k+12>>2]|0;l=c[y+(q<<2)>>2]|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];n=c[k+8>>2]|0;if(n){e=0;while(1){c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];e=e+1|0;if(e>>>0>=n>>>0)break;else{l=l+16|0;m=m+16|0}}}q=q+1|0;if(q>>>0>=p>>>0)break;else{k=k+16|0;o=o+52|0}}}if(K>>>0>1){p=j;s=1;do{k=c[p+428>>2]|0;c[p+432>>2]=c[B>>2];c[p+436>>2]=c[D>>2];c[p+440>>2]=c[C>>2];c[p+444>>2]=c[E>>2];c[p+456>>2]=c[H>>2];c[p+460>>2]=c[I>>2];c[p+252>>2]=1;c[p+248>>2]=u;c[p+244>>2]=v;c[p+240>>2]=w;q=c[p+424>>2]|0;if(q){r=0;o=t;while(1){m=c[k+12>>2]|0;l=c[y+(r<<2)>>2]|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];n=c[k+8>>2]|0;if(n){e=0;while(1){c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];e=e+1|0;if(e>>>0>=n>>>0)break;else{l=l+16|0;m=m+16|0}}}r=r+1|0;if(r>>>0>=q>>>0)break;else{k=k+16|0;o=o+52|0}}}c[p+236>>2]=c[p+4>>2];p=p+232|0;s=s+1|0}while((s|0)!=(K|0))}Uc(z);Uc(y);do{if(a[x+(g*5640|0)+5636>>0]&4){k=b[f>>1]|0;if((k&65535)>2){if(!((h|0)==1|(k&65535)<7))break}else if((h|0)!=1)break;Rf(c[J>>2]|0,g,c[B>>2]|0,c[C>>2]|0,c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,c[H>>2]|0,c[I>>2]|0);g=j;i=L;return g|0}}while(0);w=c[A>>2]|0;v=c[B>>2]|0;u=c[C>>2]|0;t=c[D>>2]|0;s=c[E>>2]|0;r=c[F>>2]|0;q=c[G>>2]|0;p=c[H>>2]|0;o=c[I>>2]|0;k=c[J>>2]|0;m=(c[k+(g*5640|0)+420>>2]|0)+1|0;if(!m){g=j;i=L;return g|0}e=c[k+(g*5640|0)+8>>2]|0;n=c[k+(g*5640|0)+4>>2]|0;k=k+(g*5640|0)+424|0;l=0;while(1){c[k+76>>2]=0;c[k+92>>2]=w;c[k+72>>2]=0;c[k+88>>2]=q;c[k+68>>2]=0;c[k+84>>2]=e;c[k+36>>2]=n;c[k+80>>2]=0;c[k+96>>2]=r;c[k+100>>2]=v;c[k+104>>2]=u;c[k+108>>2]=t;c[k+112>>2]=s;c[k+116>>2]=p;c[k+120>>2]=o;l=l+1|0;if((l|0)==(m|0))break;else k=k+148|0}i=L;return j|0}function Mf(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;Q=c[e+76>>2]|0;R=Q+(f*5640|0)+424+(g*148|0)+36|0;S=Vc(c[R>>2]|0)|0;c[d+(g*232|0)+40>>2]=1;T=d+(g*232|0)+44|0;c[d+(g*232|0)+80>>2]=c[R>>2];do{if(a[e+93>>0]&8){k=b[e>>1]|0;if((k&65535)>2){if(!((j|0)==1&(k&65535)>6|(k+-3&65535)<4))break}else if(!((j|0)==1|(k+-3&65535)<4))break;k=i+1|0;a:do{if((k|0)<4){j=Q+(f*5640|0)+424+(g*148|0)+72|0;l=Q+(f*5640|0)+424+(g*148|0)+88|0;m=d+(g*232|0)+56|0;n=Q+(f*5640|0)+424+(g*148|0)+76|0;o=d+(g*232|0)+48|0;p=Q+(f*5640|0)+424+(g*148|0)+92|0;q=d+(g*232|0)+60|0;r=Q+(f*5640|0)+424+(g*148|0)+68|0;s=d+(g*232|0)+64|0;t=Q+(f*5640|0)+424+(g*148|0)+84|0;u=d+(g*232|0)+52|0;v=Q+(f*5640|0)+424+(g*148|0)+80|0;w=d+(g*232|0)+68|0;x=Q+(f*5640|0)+424+(g*148|0)+96|0;y=d+(g*232|0)+72|0;z=Q+(f*5640|0)+424+(g*148|0)+100|0;A=d+(g*232|0)+96|0;B=Q+(f*5640|0)+424+(g*148|0)+108|0;C=d+(g*232|0)+104|0;D=Q+(f*5640|0)+424+(g*148|0)+104|0;E=d+(g*232|0)+100|0;F=Q+(f*5640|0)+424+(g*148|0)+112|0;G=d+(g*232|0)+108|0;while(1){b:do{switch(a[S+k>>0]|0){case 82:{c[T>>2]=c[j>>2];c[m>>2]=c[l>>2];break}case 67:{c[o>>2]=c[n>>2];c[q>>2]=c[p>>2];break}case 76:{c[s>>2]=c[r>>2];c[u>>2]=c[t>>2];break}case 80:if((c[R>>2]|0)>>>0<2){c[w>>2]=c[v>>2];c[y>>2]=c[x>>2];break b}else{c[A>>2]=c[z>>2];c[C>>2]=c[B>>2];c[E>>2]=c[D>>2];c[G>>2]=c[F>>2];break b}default:{}}}while(0);k=k+1|0;if((k|0)==4)break a}}}while(0);k=(i|0)>-1;if(!h){if(!k)return;m=Q+(f*5640|0)+424+(g*148|0)+76|0;n=Q+(f*5640|0)+424+(g*148|0)+132|0;o=d+(g*232|0)+48|0;p=d+(g*232|0)+60|0;q=Q+(f*5640|0)+424+(g*148|0)+72|0;r=Q+(f*5640|0)+424+(g*148|0)+128|0;s=d+(g*232|0)+56|0;t=Q+(f*5640|0)+424+(g*148|0)+68|0;u=Q+(f*5640|0)+424+(g*148|0)+124|0;v=d+(g*232|0)+64|0;w=d+(g*232|0)+52|0;x=Q+(f*5640|0)+424+(g*148|0)+80|0;y=Q+(f*5640|0)+424+(g*148|0)+136|0;z=d+(g*232|0)+68|0;A=d+(g*232|0)+72|0;B=Q+(f*5640|0)+424+(g*148|0)+100|0;C=Q+(f*5640|0)+424+(g*148|0)+140|0;D=Q+(f*5640|0)+424+(g*148|0)+108|0;E=Q+(f*5640|0)+424+(g*148|0)+144|0;F=d+(g*232|0)+96|0;G=Q+(f*5640|0)+424+(g*148|0)+116|0;h=d+(g*232|0)+100|0;H=d+(g*232|0)+104|0;l=Q+(f*5640|0)+424+(g*148|0)+120|0;j=d+(g*232|0)+108|0;k=i;while(1){c:do{switch(a[S+k>>0]|0){case 67:{g=c[m>>2]|0;c[o>>2]=g;g=g+1|0;c[p>>2]=g;c[n>>2]=g;break}case 82:{g=c[q>>2]|0;c[T>>2]=g;g=g+1|0;c[s>>2]=g;c[r>>2]=g;break}case 76:{g=c[t>>2]|0;c[v>>2]=g;g=g+1|0;c[w>>2]=g;c[u>>2]=g;break}case 80:if((c[R>>2]|0)>>>0<2){g=c[x>>2]|0;c[z>>2]=g;g=g+1|0;c[A>>2]=g;c[y>>2]=g;break c}else{g=c[B>>2]|0;i=c[D>>2]|0;c[F>>2]=g;f=c[G>>2]|0;f=f+g-((g>>>0)%(f>>>0)|0)|0;c[h>>2]=f;c[H>>2]=i;g=c[l>>2]|0;g=g+i-((i>>>0)%(g>>>0)|0)|0;c[j>>2]=g;c[C>>2]=f;c[E>>2]=g;break c}default:{}}}while(0);if((k|0)>0)k=k+-1|0;else break}return}if(!k)return;L=Q+(f*5640|0)+424+(g*148|0)+128|0;M=Q+(f*5640|0)+424+(g*148|0)+88|0;N=Q+(f*5640|0)+424+(g*148|0)+72|0;O=d+(g*232|0)+56|0;P=Q+(f*5640|0)+424+(g*148|0)+132|0;p=Q+(f*5640|0)+424+(g*148|0)+92|0;q=Q+(f*5640|0)+424+(g*148|0)+76|0;r=d+(g*232|0)+48|0;s=d+(g*232|0)+60|0;t=Q+(f*5640|0)+424+(g*148|0)+124|0;u=Q+(f*5640|0)+424+(g*148|0)+84|0;v=Q+(f*5640|0)+424+(g*148|0)+68|0;w=d+(g*232|0)+64|0;x=d+(g*232|0)+52|0;y=Q+(f*5640|0)+424+(g*148|0)+136|0;z=Q+(f*5640|0)+424+(g*148|0)+96|0;A=Q+(f*5640|0)+424+(g*148|0)+80|0;B=d+(g*232|0)+68|0;C=d+(g*232|0)+72|0;D=Q+(f*5640|0)+424+(g*148|0)+140|0;E=Q+(f*5640|0)+424+(g*148|0)+104|0;F=d+(g*232|0)+96|0;G=Q+(f*5640|0)+424+(g*148|0)+116|0;h=d+(g*232|0)+100|0;H=Q+(f*5640|0)+424+(g*148|0)+144|0;I=Q+(f*5640|0)+424+(g*148|0)+112|0;J=d+(g*232|0)+104|0;K=Q+(f*5640|0)+424+(g*148|0)+120|0;n=d+(g*232|0)+108|0;o=Q+(f*5640|0)+424+(g*148|0)+100|0;m=Q+(f*5640|0)+424+(g*148|0)+108|0;l=i;k=1;while(1){j=S+l|0;d:do{switch(a[j>>0]|0){case 67:{i=c[P>>2]|0;c[r>>2]=i+-1;c[s>>2]=i;break}case 82:{i=c[L>>2]|0;c[T>>2]=i+-1;c[O>>2]=i;break}case 76:{i=c[t>>2]|0;c[w>>2]=i+-1;c[x>>2]=i;break}case 80:if((c[R>>2]|0)>>>0<2){i=c[y>>2]|0;c[B>>2]=i+-1;c[C>>2]=i;break d}else{i=c[D>>2]|0;Q=c[G>>2]|0;c[F>>2]=i-Q-((i>>>0)%(Q>>>0)|0);c[h>>2]=i;i=c[H>>2]|0;Q=c[K>>2]|0;c[J>>2]=i-Q-((i>>>0)%(Q>>>0)|0);c[n>>2]=i;break d}default:{}}}while(0);e:do{if((k|0)==1)switch(a[j>>0]|0){case 82:{k=c[L>>2]|0;if((k|0)!=(c[M>>2]|0)){c[T>>2]=k;k=k+1|0;c[O>>2]=k;c[L>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[N>>2]|0;c[T>>2]=k;k=k+1|0;c[O>>2]=k;c[L>>2]=k;k=1;break e}case 67:{k=c[P>>2]|0;if((k|0)!=(c[p>>2]|0)){c[r>>2]=k;k=k+1|0;c[s>>2]=k;c[P>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[q>>2]|0;c[r>>2]=k;k=k+1|0;c[s>>2]=k;c[P>>2]=k;k=1;break e}case 76:{k=c[t>>2]|0;if((k|0)!=(c[u>>2]|0)){c[w>>2]=k;k=k+1|0;c[x>>2]=k;c[t>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[v>>2]|0;c[w>>2]=k;k=k+1|0;c[x>>2]=k;c[t>>2]=k;k=1;break e}case 80:{if((c[R>>2]|0)>>>0<2){k=c[y>>2]|0;if((k|0)!=(c[z>>2]|0)){c[B>>2]=k;k=k+1|0;c[C>>2]=k;c[y>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[A>>2]|0;c[B>>2]=k;k=k+1|0;c[C>>2]=k;c[y>>2]=k;k=1;break e}k=c[D>>2]|0;if(k>>>0<(c[E>>2]|0)>>>0){c[F>>2]=k;i=c[G>>2]|0;k=i+k-((k>>>0)%(i>>>0)|0)|0;c[h>>2]=k;c[D>>2]=k;k=0;break e}j=c[H>>2]|0;if(j>>>0<(c[I>>2]|0)>>>0){c[J>>2]=j;i=c[K>>2]|0;k=0;j=i+j-((j>>>0)%(i>>>0)|0)|0}else{if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}i=c[m>>2]|0;c[H>>2]=i;c[J>>2]=i;j=c[K>>2]|0;k=1;j=j+i-((i>>>0)%(j>>>0)|0)|0}c[n>>2]=j;c[H>>2]=j;Q=c[o>>2]|0;c[F>>2]=Q;i=c[G>>2]|0;i=i+Q-((Q>>>0)%(i>>>0)|0)|0;c[h>>2]=i;c[D>>2]=i;break e}default:{k=1;break e}}}while(0);if((l|0)>0)l=l+-1|0;else break}return}}while(0);c[T>>2]=c[Q+(f*5640|0)+424+(g*148|0)+72>>2];c[d+(g*232|0)+56>>2]=c[Q+(f*5640|0)+424+(g*148|0)+88>>2];c[d+(g*232|0)+48>>2]=c[Q+(f*5640|0)+424+(g*148|0)+76>>2];c[d+(g*232|0)+60>>2]=c[Q+(f*5640|0)+424+(g*148|0)+92>>2];c[d+(g*232|0)+64>>2]=c[Q+(f*5640|0)+424+(g*148|0)+68>>2];c[d+(g*232|0)+52>>2]=c[Q+(f*5640|0)+424+(g*148|0)+84>>2];c[d+(g*232|0)+68>>2]=c[Q+(f*5640|0)+424+(g*148|0)+80>>2];c[d+(g*232|0)+72>>2]=c[Q+(f*5640|0)+424+(g*148|0)+96>>2];c[d+(g*232|0)+96>>2]=c[Q+(f*5640|0)+424+(g*148|0)+100>>2];c[d+(g*232|0)+104>>2]=c[Q+(f*5640|0)+424+(g*148|0)+108>>2];c[d+(g*232|0)+100>>2]=c[Q+(f*5640|0)+424+(g*148|0)+104>>2];c[d+(g*232|0)+108>>2]=c[Q+(f*5640|0)+424+(g*148|0)+112>>2];return}function Nf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;I=c[d+76>>2]|0;K=c[d+24>>2]|0;N=(e>>>0)%(K>>>0)|0;K=(e>>>0)/(K>>>0)|0;L=c[d+4>>2]|0;H=c[d+12>>2]|0;G=(_(H,N)|0)+L|0;M=c[b>>2]|0;M=(G|0)>(M|0)?G:M;L=(_(H,N+1|0)|0)+L|0;N=c[b+8>>2]|0;N=(L|0)<(N|0)?L:N;L=c[d+8>>2]|0;H=c[d+16>>2]|0;G=(_(H,K)|0)+L|0;J=c[b+4>>2]|0;J=(G|0)>(J|0)?G:J;L=(_(H,K+1|0)|0)+L|0;K=c[b+12>>2]|0;K=(L|0)<(K|0)?L:K;L=c[b+16>>2]|0;if(!L){l=0;k=2147483647;j=2147483647;i=0}else{D=K+-1|0;E=N+-1|0;F=J+-1|0;G=M+-1|0;l=0;k=2147483647;j=2147483647;i=0;H=0;A=c[b+24>>2]|0;B=c[I+(e*5640|0)+5584>>2]|0;while(1){x=c[A>>2]|0;y=c[A+4>>2]|0;z=c[B+4>>2]|0;i=z>>>0>i>>>0?z:i;if(z){v=(D+y|0)/(y|0)|0;t=(E+x|0)/(x|0)|0;r=(F+y|0)/(y|0)|0;p=(G+x|0)/(x|0)|0;p=Si(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;q=C;r=Si(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;s=C;t=Si(t|0,((t|0)<0)<<31>>31|0,-1,-1)|0;u=C;v=Si(v|0,((v|0)<0)<<31>>31|0,-1,-1)|0;w=C;d=0;o=0;while(1){m=c[B+812+(o<<2)>>2]|0;n=c[B+944+(o<<2)>>2]|0;g=d+-1+z|0;h=x<>>0>>0?k:h;j=j>>>0>>0?j:O;O=Ri(1,0,g|0)|0;h=C;d=Si(p|0,q|0,O|0,h|0)|0;d=Pi(d|0,C|0,g|0)|0;f=Si(r|0,s|0,O|0,h|0)|0;f=Pi(f|0,C|0,g|0)|0;b=Si(t|0,u|0,O|0,h|0)|0;b=Pi(b|0,C|0,g|0)|0;h=Si(v|0,w|0,O|0,h|0)|0;g=Pi(h|0,C|0,g|0)|0;h=Ri(1,0,n|0)|0;h=Si(h|0,C|0,-1,-1)|0;h=Si(h|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;h=Pi(h|0,C|0,n|0)|0;if((d|0)==(b|0))d=0;else{O=Ri(1,0,m|0)|0;O=Si(O|0,C|0,-1,-1)|0;O=Si(O|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;O=Pi(O|0,C|0,m|0)|0;d=(O<>m<>m}b=_(d,(f|0)==(g|0)?0:(h<>n<>n)|0;l=b>>>0>l>>>0?b:l;b=o+1|0;if(b>>>0>>0){d=~o;o=b}else break}}H=H+1|0;if(H>>>0>=L>>>0)break;else{A=A+52|0;B=B+1080|0}}}if(a[I+(e*5640|0)+5636>>0]&4){Rf(I,e,M,N,J,K,l,k,j);return}f=(c[I+(e*5640|0)+420>>2]|0)+1|0;if(!f)return;g=c[I+(e*5640|0)+8>>2]|0;h=c[I+(e*5640|0)+4>>2]|0;d=I+(e*5640|0)+424|0;b=0;while(1){c[d+76>>2]=0;c[d+92>>2]=L;c[d+72>>2]=0;c[d+88>>2]=i;c[d+68>>2]=0;c[d+84>>2]=g;c[d+36>>2]=h;c[d+80>>2]=0;c[d+96>>2]=l;c[d+100>>2]=M;c[d+104>>2]=N;c[d+108>>2]=J;c[d+112>>2]=K;c[d+116>>2]=k;c[d+120>>2]=j;b=b+1|0;if((b|0)==(f|0))break;else d=d+148|0}return}function Of(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0;switch(c[d+80>>2]|0){case 0:{e=d+40|0;if(!(c[e>>2]|0)){E=d+32|0;l=E;E=c[E>>2]|0;f=18}else{c[e>>2]=0;t=c[d+64>>2]|0;c[d+36>>2]=t;f=5}while(1){if((f|0)==5){if(t>>>0>=(c[d+52>>2]|0)>>>0){nb=0;f=153;break}z=c[d+44>>2]|0;c[d+28>>2]=z;f=7}else if((f|0)==18){j=E+1|0;c[l>>2]=j;h=l;f=14}while(1){if((f|0)==7){f=0;if(z>>>0>=(c[d+56>>2]|0)>>>0){f=21;break}A=c[d+48>>2]|0;p=d+24|0;c[p>>2]=A}else if((f|0)==14){if(j>>>0<(c[d+72>>2]|0)>>>0){f=16;break}F=d+24|0;n=F;F=c[F>>2]|0;f=19}while(1){if((f|0)==19){f=0;A=F+1|0;c[n>>2]=A;p=n}if(A>>>0>=(c[d+60>>2]|0)>>>0){f=20;break}B=c[d+196>>2]|0;C=c[d+28>>2]|0;if(C>>>0<(c[B+(A<<4)+8>>2]|0)>>>0)break;else{n=p;F=A;f=19}}if((f|0)==20){f=d+28|0;z=(c[f>>2]|0)+1|0;c[f>>2]=z;f=7;continue}e=c[B+(A<<4)+12>>2]|0;if(!(a[d>>0]|0))c[d+72>>2]=_(c[e+(C<<4)+12>>2]|0,c[e+(C<<4)+8>>2]|0)|0;j=c[d+68>>2]|0;h=d+32|0;c[h>>2]=j;f=14}if((f|0)==16){f=0;D=_(c[d+8>>2]|0,c[d+36>>2]|0)|0;D=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+D|0;D=D+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;D=D+(_(c[d+20>>2]|0,j)|0)|0;D=(c[d+4>>2]|0)+(D<<1)|0;if(!(b[D>>1]|0))break;else{l=h;E=j;f=18;continue}}else if((f|0)==21){f=d+36|0;t=(c[f>>2]|0)+1|0;c[f>>2]=t;f=5;continue}}if((f|0)==153)return nb|0;b[D>>1]=1;d=1;return d|0}case 1:{e=d+40|0;if(!(c[e>>2]|0)){x=d+32|0;k=x;x=c[x>>2]|0;f=38}else{c[e>>2]=0;G=c[d+44>>2]|0;c[d+28>>2]=G;f=25}while(1){if((f|0)==25){if(G>>>0>=(c[d+56>>2]|0)>>>0){nb=0;f=153;break}r=c[d+64>>2]|0;c[d+36>>2]=r;f=27}else if((f|0)==38){i=x+1|0;c[k>>2]=i;g=k;f=34}while(1){if((f|0)==27){f=0;if(r>>>0>=(c[d+52>>2]|0)>>>0){f=41;break}s=c[d+48>>2]|0;o=d+24|0;c[o>>2]=s}else if((f|0)==34){if(i>>>0<(c[d+72>>2]|0)>>>0){f=36;break}y=d+24|0;m=y;y=c[y>>2]|0;f=39}while(1){if((f|0)==39){f=0;s=y+1|0;c[m>>2]=s;o=m}if(s>>>0>=(c[d+60>>2]|0)>>>0){f=40;break}u=c[d+196>>2]|0;v=c[d+28>>2]|0;if(v>>>0<(c[u+(s<<4)+8>>2]|0)>>>0)break;else{m=o;y=s;f=39}}if((f|0)==40){f=d+36|0;r=(c[f>>2]|0)+1|0;c[f>>2]=r;f=27;continue}e=c[u+(s<<4)+12>>2]|0;if(!(a[d>>0]|0))c[d+72>>2]=_(c[e+(v<<4)+12>>2]|0,c[e+(v<<4)+8>>2]|0)|0;i=c[d+68>>2]|0;g=d+32|0;c[g>>2]=i;f=34}if((f|0)==36){f=0;w=_(c[d+8>>2]|0,c[d+36>>2]|0)|0;w=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+w|0;w=w+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;w=w+(_(c[d+20>>2]|0,i)|0)|0;w=(c[d+4>>2]|0)+(w<<1)|0;if(!(b[w>>1]|0))break;else{k=g;x=i;f=38;continue}}else if((f|0)==41){f=d+28|0;G=(c[f>>2]|0)+1|0;c[f>>2]=G;f=25;continue}}if((f|0)==153)return nb|0;b[w>>1]=1;d=1;return d|0}case 2:{e=d+40|0;if(!(c[e>>2]|0)){lb=d+36|0;Ta=lb;lb=c[lb>>2]|0;f=75}else{c[e>>2]=0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;q=c[d+192>>2]|0;if(q){r=c[d+196>>2]|0;e=0;f=0;s=0;do{j=c[r+(s<<4)+8>>2]|0;if(j){k=c[r+(s<<4)+12>>2]|0;l=c[r+(s<<4)>>2]|0;m=c[r+(s<<4)+4>>2]|0;n=j+-1|0;g=0;i=0;while(1){h=n+g|0;Sa=l<>2]|0);h=m<<(c[k+(i<<4)+4>>2]|0)+h;e=(e|0)==0?Sa:e>>>0>>0?e:Sa;f=(f|0)==0?h:f>>>0>>0?f:h;h=i+1|0;if((h|0)==(j|0))break;else{g=~i;i=h}}c[o>>2]=e;c[p>>2]=f}s=s+1|0}while((s|0)!=(q|0))}if(!(a[d>>0]|0)){c[d+104>>2]=c[d+204>>2];c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}J=c[d+44>>2]|0;c[d+28>>2]=J;f=54}while(1){if((f|0)==54){if(J>>>0>=(c[d+56>>2]|0)>>>0){nb=0;f=153;break}Xa=c[d+104>>2]|0;c[d+220>>2]=Xa;f=56}else if((f|0)==75){jb=lb+1|0;c[Ta>>2]=jb;Ua=Ta;f=71}while(1){if((f|0)==56){if((Xa|0)>=(c[d+108>>2]|0)){f=79;break}Ya=c[d+96>>2]|0;c[d+216>>2]=Ya;f=58}else if((f|0)==71){if(jb>>>0<(c[d+52>>2]|0)>>>0){f=73;break}mb=d+24|0;Va=mb;mb=c[mb>>2]|0;f=76}while(1){if((f|0)==58){if((Ya|0)>=(c[d+100>>2]|0)){f=78;break}Za=c[d+48>>2]|0;Wa=d+24|0;c[Wa>>2]=Za}else if((f|0)==76){Za=mb+1|0;c[Va>>2]=Za;Wa=Va}if(Za>>>0>=(c[d+60>>2]|0)>>>0){Ya=c[d+224>>2]|0;f=d+216|0;Sa=c[f>>2]|0;Ya=Sa+Ya-((Sa|0)%(Ya|0)|0)|0;c[f>>2]=Ya;f=58;continue}f=c[d+196>>2]|0;m=c[d+28>>2]|0;e=c[f+(Za<<4)+8>>2]|0;if(m>>>0>=e>>>0){Va=Wa;mb=Za;f=76;continue}n=c[f+(Za<<4)+12>>2]|0;i=e+~m|0;j=c[d+200>>2]|0;k=c[f+(Za<<4)>>2]|0;_a=k<>2]|0;Sa=c[f+(Za<<4)+4>>2]|0;ab=Sa<>2]|0)|0)/(_a|0)|0;db=ab+-1|0;f=(db+(c[d+212>>2]|0)|0)/(ab|0)|0;eb=c[n+(m<<4)>>2]|0;g=eb+i|0;fb=c[n+(m<<4)+4>>2]|0;h=fb+i|0;gb=c[d+220>>2]|0;if((gb|0)%(Sa<>2]|0;if((hb|0)%(k<>2]|0;if(!ib){Va=Wa;mb=Za;f=76;continue}if((bb|0)==(f|0)|(($a|0)==(e|0)?1:(c[n+(m<<4)+12>>2]|0)==0)){Va=Wa;mb=Za;f=76}else{f=70;break}}if((f|0)==70){c[d+32>>2]=(((cb+hb|0)/(_a|0)|0)>>eb)-($a>>eb)+(_((((db+gb|0)/(ab|0)|0)>>fb)-(bb>>fb)|0,ib)|0);jb=c[d+64>>2]|0;Ua=d+36|0;c[Ua>>2]=jb;f=71;continue}else if((f|0)==78){Xa=c[d+228>>2]|0;f=d+220|0;Sa=c[f>>2]|0;Xa=Sa+Xa-((Sa|0)%(Xa|0)|0)|0;c[f>>2]=Xa;f=56;continue}}if((f|0)==73){f=0;kb=_(c[d+8>>2]|0,jb)|0;kb=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+kb|0;kb=kb+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;kb=kb+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;kb=(c[d+4>>2]|0)+(kb<<1)|0;if(!(b[kb>>1]|0))break;else{Ta=Ua;lb=jb;f=75;continue}}else if((f|0)==79){f=d+28|0;J=(c[f>>2]|0)+1|0;c[f>>2]=J;f=54;continue}}if((f|0)==153)return nb|0;b[kb>>1]=1;d=1;return d|0}case 3:{f=d+40|0;if(!(c[f>>2]|0)){Ra=c[d+24>>2]|0;Ka=d+36|0;pa=Ka;Ka=c[Ka>>2]|0;Na=Ra;Ra=(c[d+196>>2]|0)+(Ra<<4)|0;f=113}else{c[f>>2]=0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;q=c[d+192>>2]|0;if(q){r=c[d+196>>2]|0;e=0;f=0;s=0;do{j=c[r+(s<<4)+8>>2]|0;if(j){k=c[r+(s<<4)+12>>2]|0;l=c[r+(s<<4)>>2]|0;m=c[r+(s<<4)+4>>2]|0;n=j+-1|0;g=0;i=0;while(1){h=n+g|0;mb=l<>2]|0);h=m<<(c[k+(i<<4)+4>>2]|0)+h;e=(e|0)==0?mb:e>>>0>>0?e:mb;f=(f|0)==0?h:f>>>0>>0?f:h;h=i+1|0;if((h|0)==(j|0))break;else{g=~i;i=h}}c[o>>2]=e;c[p>>2]=f}s=s+1|0}while((s|0)!=(q|0))}if(!(a[d>>0]|0)){e=c[d+204>>2]|0;c[d+104>>2]=e;c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}else e=c[d+104>>2]|0;c[d+220>>2]=e;f=93}while(1){if((f|0)==93){if((e|0)>=(c[d+108>>2]|0)){nb=0;f=153;break}ta=c[d+96>>2]|0;c[d+216>>2]=ta;f=95}else if((f|0)==113){Ha=Ka+1|0;c[pa>>2]=Ha;qa=pa;Ia=Na;Qa=Ra;f=109}while(1){if((f|0)==95){if((ta|0)>=(c[d+100>>2]|0)){f=117;break}ua=c[d+48>>2]|0;c[d+24>>2]=ua;f=97}else if((f|0)==109){if(Ha>>>0<(c[d+52>>2]|0)>>>0){f=111;break}La=d+28|0;ra=La;La=c[La>>2]|0;Oa=Ia;Sa=Qa;f=114}while(1){if((f|0)==97){if(ua>>>0>=(c[d+60>>2]|0)>>>0){f=116;break}Pa=(c[d+196>>2]|0)+(ua<<4)|0;va=c[d+44>>2]|0;sa=d+28|0;c[sa>>2]=va;Ma=ua}else if((f|0)==114){va=La+1|0;c[ra>>2]=va;sa=ra;Ma=Oa;Pa=Sa}mb=c[d+56>>2]|0;f=c[Pa+8>>2]|0;if(va>>>0>=(mb>>>0>>0?mb:f)>>>0){ua=Ma+1|0;c[d+24>>2]=ua;f=97;continue}n=c[Pa+12>>2]|0;f=f+~va|0;g=c[d+200>>2]|0;h=c[Pa>>2]|0;wa=h<>2]|0;mb=c[Pa+4>>2]|0;ya=mb<>2]|0)|0)/(wa|0)|0;Ba=ya+-1|0;k=(Ba+(c[d+212>>2]|0)|0)/(ya|0)|0;Ca=c[n+(va<<4)>>2]|0;l=Ca+f|0;Da=c[n+(va<<4)+4>>2]|0;m=Da+f|0;Ea=c[d+220>>2]|0;if((Ea|0)%(mb<>2]|0;if((Fa|0)%(h<>2]|0;if(!Ga){ra=sa;La=va;Oa=Ma;Sa=Pa;f=114;continue}if((za|0)==(k|0)|((xa|0)==(j|0)?1:(c[n+(va<<4)+12>>2]|0)==0)){ra=sa;La=va;Oa=Ma;Sa=Pa;f=114}else{f=108;break}}if((f|0)==108){c[d+32>>2]=(((Aa+Fa|0)/(wa|0)|0)>>Ca)-(xa>>Ca)+(_((((Ba+Ea|0)/(ya|0)|0)>>Da)-(za>>Da)|0,Ga)|0);Ha=c[d+64>>2]|0;qa=d+36|0;c[qa>>2]=Ha;Ia=Ma;Qa=Pa;f=109;continue}else if((f|0)==116){ta=c[d+224>>2]|0;f=d+216|0;mb=c[f>>2]|0;ta=mb+ta-((mb|0)%(ta|0)|0)|0;c[f>>2]=ta;f=95;continue}}if((f|0)==111){f=0;Ja=_(c[d+8>>2]|0,Ha)|0;Ja=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+Ja|0;Ja=Ja+(_(c[d+16>>2]|0,Ia)|0)|0;Ja=Ja+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;Ja=(c[d+4>>2]|0)+(Ja<<1)|0;if(!(b[Ja>>1]|0))break;else{pa=qa;Ka=Ha;Na=Ia;Ra=Qa;f=113;continue}}else if((f|0)==117){e=c[d+228>>2]|0;f=d+220|0;mb=c[f>>2]|0;e=mb+e-((mb|0)%(e|0)|0)|0;c[f>>2]=e;f=93;continue}}if((f|0)==153)return nb|0;b[Ja>>1]=1;d=1;return d|0}case 4:{e=d+40|0;if(!(c[e>>2]|0)){na=c[d+24>>2]|0;ea=d+36|0;K=ea;ea=c[ea>>2]|0;ga=na;na=(c[d+196>>2]|0)+(na<<4)|0;f=148}else{c[e>>2]=0;O=c[d+48>>2]|0;c[d+24>>2]=O;f=121}while(1){if((f|0)==121){if(O>>>0>=(c[d+60>>2]|0)>>>0){nb=0;f=153;break}e=c[d+196>>2]|0;q=e+(O<<4)|0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;l=c[e+(O<<4)+8>>2]|0;if(l){m=c[e+(O<<4)+12>>2]|0;n=c[q>>2]|0;h=c[e+(O<<4)+4>>2]|0;i=l+-1|0;f=0;e=0;g=0;k=0;while(1){j=i+g|0;mb=n<>2]|0);j=h<<(c[m+(k<<4)+4>>2]|0)+j;f=(f|0)==0?mb:f>>>0>>0?f:mb;e=(e|0)==0?j:e>>>0>>0?e:j;j=k+1|0;if((j|0)==(l|0))break;else{g=~k;k=j}}c[o>>2]=f;c[p>>2]=e}if(!(a[d>>0]|0)){e=c[d+204>>2]|0;c[d+104>>2]=e;c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}else e=c[d+104>>2]|0;c[d+220>>2]=e;H=e;I=O;f=130}else if((f|0)==148){ba=ea+1|0;c[K>>2]=ba;L=K;ca=ga;ma=na;f=144}while(1){if((f|0)==130){if((H|0)>=(c[d+108>>2]|0)){f=152;break}P=c[d+96>>2]|0;c[d+216>>2]=P;ha=I;ka=q;f=132}else if((f|0)==144){if(ba>>>0<(c[d+52>>2]|0)>>>0){f=146;break}fa=d+28|0;M=fa;fa=c[fa>>2]|0;ja=ca;oa=ma;f=149}while(1){if((f|0)==132){if((P|0)>=(c[d+100>>2]|0)){f=151;break}Q=c[d+44>>2]|0;N=d+28|0;c[N>>2]=Q;ia=ha;la=ka}else if((f|0)==149){Q=fa+1|0;c[M>>2]=Q;N=M;ia=ja;la=oa}mb=c[d+56>>2]|0;e=c[la+8>>2]|0;if(Q>>>0>=(mb>>>0>>0?mb:e)>>>0){P=c[d+224>>2]|0;ha=d+216|0;ka=c[ha>>2]|0;P=ka+P-((ka|0)%(P|0)|0)|0;c[ha>>2]=P;ha=ia;ka=la;f=132;continue}m=c[la+12>>2]|0;e=e+~Q|0;f=c[d+200>>2]|0;g=c[la>>2]|0;R=g<>2]|0;mb=c[la+4>>2]|0;T=mb<>2]|0)|0)/(R|0)|0;W=T+-1|0;j=(W+(c[d+212>>2]|0)|0)/(T|0)|0;X=c[m+(Q<<4)>>2]|0;k=X+e|0;Y=c[m+(Q<<4)+4>>2]|0;l=Y+e|0;Z=c[d+220>>2]|0;if((Z|0)%(mb<>2]|0;if(($|0)%(g<>2]|0;if(!aa){M=N;fa=Q;ja=ia;oa=la;f=149;continue}if((U|0)==(j|0)|((S|0)==(i|0)?1:(c[m+(Q<<4)+12>>2]|0)==0)){M=N;fa=Q;ja=ia;oa=la;f=149}else{f=143;break}}if((f|0)==143){c[d+32>>2]=(((V+$|0)/(R|0)|0)>>X)-(S>>X)+(_((((W+Z|0)/(T|0)|0)>>Y)-(U>>Y)|0,aa)|0);ba=c[d+64>>2]|0;L=d+36|0;c[L>>2]=ba;ca=ia;ma=la;f=144;continue}else if((f|0)==151){H=c[d+228>>2]|0;I=d+220|0;q=c[I>>2]|0;H=q+H-((q|0)%(H|0)|0)|0;c[I>>2]=H;I=ha;q=ka;f=130;continue}}if((f|0)==146){f=0;da=_(c[d+8>>2]|0,ba)|0;da=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+da|0;da=da+(_(c[d+16>>2]|0,ca)|0)|0;da=da+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;da=(c[d+4>>2]|0)+(da<<1)|0;if(!(b[da>>1]|0))break;else{K=L;ea=ba;ga=ca;na=ma;f=148;continue}}else if((f|0)==152){O=I+1|0;c[d+24>>2]=O;f=121;continue}}if((f|0)==153)return nb|0;b[da>>1]=1;d=1;return d|0}default:{d=0;return d|0}}return 0}function Pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=(c[b+(d*5640|0)+420>>2]|0)+1|0;e=Qc(l,232)|0;if(!e){l=0;return l|0}if(!l){l=e;return l|0}j=a+16|0;g=b+(d*5640|0)+5584|0;a=c[j>>2]|0;h=e;i=0;a:while(1){b=Qc(a,16)|0;f=h+196|0;c[f>>2]=b;if(!b){a=5;break}k=c[j>>2]|0;c[h+192>>2]=k;b:do{if(!k)a=0;else{a=(c[g>>2]|0)+4|0;k=Qc(c[a>>2]|0,16)|0;c[b+12>>2]=k;if(!k){a=18;break a}else d=0;while(1){c[b+(d<<4)+8>>2]=c[a>>2];d=d+1|0;a=c[j>>2]|0;if(d>>>0>=a>>>0)break b;b=c[f>>2]|0;a=(c[g>>2]|0)+(d*1080|0)+4|0;k=Qc(c[a>>2]|0,16)|0;c[b+(d<<4)+12>>2]=k;if(!k){a=18;break a}}}}while(0);i=i+1|0;if(i>>>0>=l>>>0){a=32;break}else h=h+232|0}if((a|0)==5){a=e+4|0;b=c[a>>2]|0;if(!b){j=e;k=0}else{Uc(b);c[a>>2]=0;j=e;k=0}while(1){i=j+196|0;a=c[i>>2]|0;if(a){h=j+192|0;b=c[h>>2]|0;if(b){g=0;while(1){d=a+12|0;f=c[d>>2]|0;if(f){Uc(f);c[d>>2]=0;b=c[h>>2]|0}g=g+1|0;if(g>>>0>=b>>>0)break;else a=a+16|0}a=c[i>>2]|0}Uc(a);c[i>>2]=0}k=k+1|0;if((k|0)==(l|0))break;else j=j+232|0}Uc(e);l=0;return l|0}else if((a|0)==18){a=e+4|0;b=c[a>>2]|0;if(!b){j=e;k=0}else{Uc(b);c[a>>2]=0;j=e;k=0}while(1){i=j+196|0;a=c[i>>2]|0;if(a){h=j+192|0;b=c[h>>2]|0;if(b){g=0;while(1){d=a+12|0;f=c[d>>2]|0;if(f){Uc(f);c[d>>2]=0;b=c[h>>2]|0}g=g+1|0;if(g>>>0>=b>>>0)break;else a=a+16|0}a=c[i>>2]|0}Uc(a);c[i>>2]=0}k=k+1|0;if((k|0)==(l|0))break;else j=j+232|0}Uc(e);l=0;return l|0}else if((a|0)==32)return e|0;return 0}function Qf(a,b,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;o=c[(c[b+76>>2]|0)+(d*5640|0)+5584>>2]|0;n=c[a+24>>2]|0;I=c[b+24>>2]|0;H=b+12|0;G=(_(c[H>>2]|0,(d>>>0)%(I>>>0)|0)|0)+(c[b+4>>2]|0)|0;F=c[a>>2]|0;c[e>>2]=G>>>0>F>>>0?G:F;G=Si(c[H>>2]|0,0,G|0,0)|0;G=G|0-C;H=c[a+8>>2]|0;c[f>>2]=G>>>0>>0?G:H;H=b+16|0;I=(_(c[H>>2]|0,(d>>>0)/(I>>>0)|0)|0)+(c[b+8>>2]|0)|0;G=c[a+4>>2]|0;c[g>>2]=I>>>0>G>>>0?I:G;I=Si(c[H>>2]|0,0,I|0,0)|0;I=I|0-C;H=c[a+12>>2]|0;c[h>>2]=I>>>0>>0?I:H;c[k>>2]=0;c[l>>2]=0;c[i>>2]=2147483647;c[j>>2]=2147483647;H=a+16|0;if(!(c[H>>2]|0))return;else I=0;while(1){r=c[m+(I<<2)>>2]|0;p=c[n>>2]|0;a=((c[e>>2]|0)+-1+p|0)/(p|0)|0;F=n+4|0;q=c[F>>2]|0;d=((c[g>>2]|0)+-1+q|0)/(q|0)|0;p=(p+-1+(c[f>>2]|0)|0)/(p|0)|0;q=(q+-1+(c[h>>2]|0)|0)/(q|0)|0;G=o+4|0;b=c[G>>2]|0;if(b>>>0>(c[l>>2]|0)>>>0){c[l>>2]=b;b=c[G>>2]|0}if(b){D=Si(a|0,((a|0)<0)<<31>>31|0,-1,-1)|0;E=C;A=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;B=C;y=Si(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;z=C;w=Si(q|0,((q|0)<0)<<31>>31|0,-1,-1)|0;x=C;v=0;while(1){b=b+-1|0;p=c[o+812+(v<<2)>>2]|0;u=c[o+944+(v<<2)>>2]|0;c[r>>2]=p;c[r+4>>2]=u;s=c[n>>2]<>2]<>2]|0;c[i>>2]=(a|0)<(s|0)?a:s;s=c[j>>2]|0;c[j>>2]=(s|0)<(J|0)?s:J;J=Ri(1,0,b|0)|0;s=C;a=Si(D|0,E|0,J|0,s|0)|0;a=Pi(a|0,C|0,b|0)|0;q=Si(A|0,B|0,J|0,s|0)|0;q=Pi(q|0,C|0,b|0)|0;d=Si(y|0,z|0,J|0,s|0)|0;d=Pi(d|0,C|0,b|0)|0;s=Si(w|0,x|0,J|0,s|0)|0;s=Pi(s|0,C|0,b|0)|0;J=Ri(1,0,u|0)|0;t=C;K=Si(s|0,((s|0)<0)<<31>>31|0,-1,-1)|0;t=Si(K|0,C|0,J|0,t|0)|0;t=Pi(t|0,C|0,u|0)|0;if((a|0)==(d|0))a=0;else{d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;J=C;K=Ri(1,0,p|0)|0;K=Si(d|0,J|0,K|0,C|0)|0;K=Pi(K|0,C|0,p|0)|0;a=(K<>p<>p}K=(q|0)==(s|0)?0:(t<>u<>u;c[r+8>>2]=a;c[r+12>>2]=K;a=_(a,K)|0;if(a>>>0>(c[k>>2]|0)>>>0)c[k>>2]=a;v=v+1|0;if(v>>>0>=(c[G>>2]|0)>>>0)break;else r=r+16|0}}I=I+1|0;if(I>>>0>=(c[H>>2]|0)>>>0)break;else{n=n+52|0;o=o+1080|0}}return}function Rf(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;k=(c[a+(b*5640|0)+420>>2]|0)+1|0;c[a+(b*5640|0)+500>>2]=c[a+(b*5640|0)+428>>2];c[a+(b*5640|0)+516>>2]=c[a+(b*5640|0)+440>>2];c[a+(b*5640|0)+496>>2]=c[a+(b*5640|0)+424>>2];c[a+(b*5640|0)+512>>2]=c[a+(b*5640|0)+436>>2];c[a+(b*5640|0)+508>>2]=c[a+(b*5640|0)+432>>2];c[a+(b*5640|0)+492>>2]=0;c[a+(b*5640|0)+460>>2]=c[a+(b*5640|0)+456>>2];c[a+(b*5640|0)+504>>2]=0;c[a+(b*5640|0)+520>>2]=h;c[a+(b*5640|0)+524>>2]=d;c[a+(b*5640|0)+528>>2]=e;c[a+(b*5640|0)+532>>2]=f;c[a+(b*5640|0)+536>>2]=g;c[a+(b*5640|0)+540>>2]=i;c[a+(b*5640|0)+544>>2]=j;if(k>>>0<=1)return;a=a+(b*5640|0)+572|0;b=1;while(1){c[a+76>>2]=c[a+4>>2];c[a+92>>2]=c[a+16>>2];c[a+72>>2]=c[a>>2];c[a+88>>2]=c[a+12>>2];l=c[a+8>>2]|0;c[a+84>>2]=l;c[a+36>>2]=c[a+32>>2];c[a+80>>2]=0;c[a+68>>2]=l>>>0>(c[a+-64>>2]|0)>>>0?l:0;c[a+96>>2]=h;c[a+100>>2]=d;c[a+104>>2]=e;c[a+108>>2]=f;c[a+112>>2]=g;c[a+116>>2]=i;c[a+120>>2]=j;b=b+1|0;if((b|0)==(k|0))break;else a=a+148|0}return}function Sf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=c[d+76>>2]|0;if((b|0)>-1)h=b;else{e=0;return e|0}a:while(1){switch(a[g+h>>0]|0){case 82:{i=3;break a}case 67:{i=5;break a}case 76:{i=7;break a}case 80:{i=9;break a}default:{}}h=h+-1|0}if((i|0)==3)if((c[j+(e*5640|0)+424+(f*148|0)+128>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+88>>2]|0))return(Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==5)if((c[j+(e*5640|0)+424+(f*148|0)+132>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+92>>2]|0))return(Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==7)if((c[j+(e*5640|0)+424+(f*148|0)+124>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+84>>2]|0))return(Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==9){if((c[j+(e*5640|0)+424+(f*148|0)+36>>2]|0)>>>0<2)if((c[j+(e*5640|0)+424+(f*148|0)+136>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+96>>2]|0))return(Sf(h+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}if((c[j+(e*5640|0)+424+(f*148|0)+140>>2]|0)!=(c[j+(e*5640|0)+424+(f*148|0)+104>>2]|0)){e=1;return e|0}if((c[j+(e*5640|0)+424+(f*148|0)+144>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+112>>2]|0))return(Sf(h+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}}return 0}function Tf(b){b=b|0;var d=0,e=0;d=Qc(1,44)|0;if(!d){b=0;return b|0}e=d+40|0;a[e>>0]=a[e>>0]&-2|(b|0)!=0;b=Qc(1,4)|0;c[d+20>>2]=b;if(b){e=d;return e|0}Uc(d);e=0;return e|0}function Uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+1200|0;N=O;e=c[c[a+20>>2]>>2]|0;M=e+16|0;f=c[M>>2]|0;if(!f){i=O;return}J=e+20|0;K=(c[a+32>>2]|0)+8|0;L=(c[a+28>>2]|0)+88|0;H=a+24|0;I=(b|0)==0;F=(d|0)==0;G=b+-1|0;e=f;E=0;do{j=c[J>>2]|0;k=c[K>>2]|0;C=c[j+(E*52|0)+16>>2]|0;if(k){if(C){a=c[L>>2]|0;g=+((c[(c[(c[H>>2]|0)+24>>2]|0)+(E*52|0)+24>>2]|0)>>>0)*.0625;f=0;do{d=_(C,f)|0;h=0;do{D=(d+h|0)*3|0;c[N+(f*120|0)+(h*12|0)>>2]=~~(+(c[a+(D<<2)>>2]|0)*g);c[N+(f*120|0)+(h*12|0)+4>>2]=~~(+(c[a+(D+1<<2)>>2]|0)*g);c[N+(f*120|0)+(h*12|0)+8>>2]=~~(+(c[a+(D+2<<2)>>2]|0)*g);h=h+1|0}while(h>>>0>>0);f=f+1|0}while(f>>>0>>0);D=9}}else D=9;if((D|0)==9){D=0;if(C){w=j+(E*52|0)+24|0;B=0;do{x=c[w>>2]|0;y=x+(B*136|0)+24|0;e=c[y>>2]|0;if(e){z=x+(B*136|0)+16|0;A=x+(B*136|0)+20|0;a=c[A>>2]|0;d=c[z>>2]|0;v=0;do{if(_(a,d)|0){s=x+(B*136|0)+28+(v*36|0)+20|0;t=N+(b*120|0)+(B*12|0)+(v<<2)|0;u=N+(G*120|0)+(B*12|0)+(v<<2)|0;r=0;do{e=c[s>>2]|0;q=_(c[e+(r*40|0)+20>>2]|0,c[e+(r*40|0)+16>>2]|0)|0;if(q){m=e+(r*40|0)+24|0;n=c[t>>2]|0;p=0;do{k=c[m>>2]|0;l=k+(p*52|0)|0;o=c[k+(p*52|0)+4>>2]|0;e=(c[(c[(c[H>>2]|0)+24>>2]|0)+(E*52|0)+24>>2]|0)-(c[k+(p*52|0)+28>>2]|0)|0;if(!I){a=c[u>>2]|0;d=n-a|0;if((a|0)<=(e|0)){d=d+(a-e)|0;d=(d|0)<0?0:d}}else{c[k+(p*52|0)+44>>2]=0;d=(n|0)>(e|0)?n-e|0:0}j=k+(p*52|0)+44|0;f=c[j>>2]|0;h=(f|0)==0;if(h)if(!d)d=0;else d=(d*3|0)+-2|0;else d=(d*3|0)+f|0;c[o+(b*24|0)>>2]=d-f;do{if((d|0)!=(f|0)){a=c[k+(p*52|0)+8>>2]|0;e=c[a+((d+-1|0)*24|0)>>2]|0;if(h)c[o+(b*24|0)+16>>2]=c[l>>2];else{k=c[a+((f+-1|0)*24|0)>>2]|0;c[o+(b*24|0)+16>>2]=(c[l>>2]|0)+k;e=e-k|0}c[o+(b*24|0)+4>>2]=e;if(F)break;c[j>>2]=d}}while(0);p=p+1|0}while(p>>>0>>0);a=c[A>>2]|0;d=c[z>>2]|0}r=r+1|0}while(r>>>0<(_(a,d)|0)>>>0);e=c[y>>2]|0}v=v+1|0}while(v>>>0>>0)}B=B+1|0}while(B>>>0>>0);e=c[M>>2]|0}}E=E+1|0}while(E>>>0>>0);i=O;return}function Vf(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;a=c[c[a+20>>2]>>2]|0;G=a+40+(b<<3)|0;h[G>>3]=0.0;H=a+16|0;f=c[H>>2]|0;if(!f)return;E=a+20|0;F=(b|0)==0;D=(e|0)==0;a=f;C=0;do{f=c[E>>2]|0;B=c[f+(C*52|0)+16>>2]|0;if(B){v=f+(C*52|0)+24|0;A=0;do{w=c[v>>2]|0;x=w+(A*136|0)+24|0;a=c[x>>2]|0;if(a){y=w+(A*136|0)+16|0;z=w+(A*136|0)+20|0;f=c[z>>2]|0;e=c[y>>2]|0;u=0;do{if(_(f,e)|0){t=w+(A*136|0)+28+(u*36|0)+20|0;s=0;do{a=c[t>>2]|0;r=_(c[a+(s*40|0)+20>>2]|0,c[a+(s*40|0)+16>>2]|0)|0;if(r){n=a+(s*40|0)+24|0;q=0;do{k=c[n>>2]|0;l=k+(q*52|0)|0;o=c[k+(q*52|0)+4>>2]|0;p=k+(q*52|0)+44|0;if(F){c[p>>2]=0;m=0}else m=c[p>>2]|0;e=c[k+(q*52|0)+48>>2]|0;if(m>>>0>>0){i=c[k+(q*52|0)+8>>2]|0;a=m;j=m;do{f=c[i+(j*24|0)>>2]|0;g=+h[i+(j*24|0)+8>>3];if(a){J=a+-1|0;g=g-+h[i+(J*24|0)+8>>3];f=f-(c[i+(J*24|0)>>2]|0)|0}do{if(!f){if(!(g!=0.0))break;a=j+1|0}else{if(!(d-g/+(f>>>0)<2.220446049250313e-16))break;a=j+1|0}}while(0);j=j+1|0}while(j>>>0>>0);i=a;c[o+(b*24|0)>>2]=i-m;if((i|0)!=(m|0)){e=i+-1|0;f=c[k+(q*52|0)+8>>2]|0;a=c[f+(e*24|0)>>2]|0;if(!m){c[o+(b*24|0)+16>>2]=c[l>>2];g=+h[f+(e*24|0)+8>>3]}else{m=m+-1|0;J=c[f+(m*24|0)>>2]|0;c[o+(b*24|0)+16>>2]=(c[l>>2]|0)+J;g=+h[f+(e*24|0)+8>>3]-+h[f+(m*24|0)+8>>3];a=a-J|0}c[o+(b*24|0)+4>>2]=a;h[o+(b*24|0)+8>>3]=g;h[G>>3]=g+ +h[G>>3];if(!D)c[p>>2]=i}else I=26}else{c[o+(b*24|0)>>2]=0;I=26}if((I|0)==26){I=0;h[o+(b*24|0)+8>>3]=0.0}q=q+1|0}while(q>>>0>>0);f=c[z>>2]|0;e=c[y>>2]|0}s=s+1|0}while(s>>>0<(_(f,e)|0)>>>0);a=c[x>>2]|0}u=u+1|0}while(u>>>0>>0)}A=A+1|0}while(A>>>0>>0);a=c[H>>2]|0}C=C+1|0}while(C>>>0>>0);return}function Wf(d,e,f,j,k){d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=i;i=i+800|0;V=W;S=c[d+28>>2]|0;T=c[c[d+20>>2]>>2]|0;U=c[d+32>>2]|0;O=T+24|0;c[O>>2]=0;Q=c[T+16>>2]|0;if(!Q){l=0;J=0.0;n=0.0;p=1797693134862315708145274.0e284}else{M=c[T+20>>2]|0;N=c[(c[d+24>>2]|0)+24>>2]|0;l=0;R=0;o=0.0;n=0.0;p=1797693134862315708145274.0e284;do{I=M+(R*52|0)+48|0;c[I>>2]=0;K=c[M+(R*52|0)+16>>2]|0;if(!K)m=0;else{L=c[M+(R*52|0)+24>>2]|0;m=0;H=0;do{E=c[L+(H*136|0)+24>>2]|0;if(E){F=_(c[L+(H*136|0)+20>>2]|0,c[L+(H*136|0)+16>>2]|0)|0;G=(F|0)==0;D=0;do{if(!G){C=c[L+(H*136|0)+28+(D*36|0)+20>>2]|0;B=0;do{z=_(c[C+(B*40|0)+20>>2]|0,c[C+(B*40|0)+16>>2]|0)|0;if(z){A=c[C+(B*40|0)+24>>2]|0;y=0;do{v=c[A+(y*52|0)+48>>2]|0;if(v){w=c[A+(y*52|0)+8>>2]|0;u=0;do{t=c[w+(u*24|0)>>2]|0;q=+h[w+(u*24|0)+8>>3];if(u){X=u+-1|0;q=q-+h[w+(X*24|0)+8>>3];t=t-(c[w+(X*24|0)>>2]|0)|0}do{if(t){q=q/+(t|0);p=qo))break;o=q}}while(0);u=u+1|0}while(u>>>0>>0)}X=_((c[A+(y*52|0)+24>>2]|0)-(c[A+(y*52|0)+16>>2]|0)|0,(c[A+(y*52|0)+20>>2]|0)-(c[A+(y*52|0)+12>>2]|0)|0)|0;l=X+l|0;m=X+m|0;y=y+1|0}while(y>>>0>>0);c[O>>2]=l;c[I>>2]=m}B=B+1|0}while(B>>>0>>0)}D=D+1|0}while(D>>>0>>0)}H=H+1|0}while(H>>>0>>0)}J=+(1<>2]|0)+-1.0;n=n+ +(m|0)*(J*J);R=R+1|0}while(R>>>0>>0);J=o}I=(k|0)!=0;if(I){R=c[d+36>>2]|0;Q=c[k+88>>2]|0;c[Q+(R*592|0)+552>>2]=l;h[Q+(R*592|0)+560>>3]=+h[T+32>>3];l=U+8|0;X=Pc(c[l>>2]<<3)|0;c[Q+(R*592|0)>>2]=X;if(!X){X=0;i=W;return X|0}}else l=U+8|0;if(!(c[l>>2]|0)){X=1;i=W;return X|0}z=T+32|0;A=S+93|0;B=d+36|0;C=k+88|0;D=T+40|0;E=d+24|0;F=d+8|0;G=d+16|0;H=0;while(1){o=+g[U+20+(H<<2)>>2];if(o!=0.0){w=~~+Z(+o)>>>0;w=w>>>0>>0?w:j}else w=j;s=+g[U+5184+(H<<2)>>2];x=+h[z>>3]-n/+P(10.0,+(s/10.0));X=a[A>>0]|0;if(!((X&1)!=0&o>0.0)?!((X&4)!=0&s>0.0):0)o=p;else{y=dh(c[E>>2]|0,S)|0;if(!y){l=0;m=57;break}v=H+1|0;m=V+(H+-1<<3)|0;t=T+40+(H<<3)|0;if(!H){r=J;m=0;s=p;q=0.0;do{o=(s+r)*.5;Vf(d,0,o,0);do{if(a[A>>0]&4){if(((b[S>>1]|0)+-3&65535)>=4){X=+h[D>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0))s=o;else{X=+h[D>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0)==0;r=X?r:o;s=X?o:s;q=X?q:o}}while(0);m=m+1|0}while((m|0)!=128)}else{r=J;u=0;s=p;q=0.0;do{o=(s+r)*.5;Vf(d,H,o,0);do{if(a[A>>0]&4){if(((b[S>>1]|0)+-3&65535)>=4){X=+h[m>>3]+ +h[t>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0))s=o;else{X=+h[m>>3]+ +h[t>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0)==0;r=X?r:o;s=X?o:s;q=X?q:o}}while(0);u=u+1|0}while((u|0)!=128)}eh(y);o=q==0.0?o:q}if(I)h[(c[(c[C>>2]|0)+((c[B>>2]|0)*592|0)>>2]|0)+(H<<3)>>3]=o;Vf(d,H,o,1);if(!H)o=+h[D>>3];else o=+h[V+(H+-1<<3)>>3]+ +h[T+40+(H<<3)>>3];h[V+(H<<3)>>3]=o;H=H+1|0;if(H>>>0>=(c[l>>2]|0)>>>0){l=1;m=57;break}}if((m|0)==57){i=W;return l|0}return 0}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a+24>>2]=b;c[a+28>>2]=d;f=Qc(1,848)|0;e=a+20|0;c[c[e>>2]>>2]=f;if(!f){a=0;return a|0}f=b+16|0;g=Qc(c[f>>2]|0,52)|0;b=c[c[e>>2]>>2]|0;c[b+20>>2]=g;if(!g){g=0;return g|0}c[b+16>>2]=c[f>>2];c[a>>2]=c[d+84>>2];g=1;return g|0}function Yf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(!b)return;s=b+20|0;d=c[s>>2]|0;do{if(d){r=(a[b+40>>0]&1)==0?3:4;e=c[d>>2]|0;if(e){o=e+20|0;k=e+16|0;if(c[k>>2]|0){m=0;n=c[o>>2]|0;while(1){l=n+24|0;d=c[l>>2]|0;if(d){i=c[n+28>>2]|0;j=(i>>>0)/136|0;if(i>>>0>135){i=0;while(1){h=d+48|0;e=c[h>>2]|0;if(e){f=c[d+52>>2]|0;g=(f>>>0)/40|0;if(f>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=d+84|0;e=c[h>>2]|0;if(e){t=c[d+88>>2]|0;g=(t>>>0)/40|0;if(t>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=d+120|0;e=c[h>>2]|0;if(e){t=c[d+124>>2]|0;g=(t>>>0)/40|0;if(t>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}i=i+1|0;if(i>>>0>=j>>>0)break;else d=d+136|0}d=c[l>>2]|0}Uc(d);c[l>>2]=0}if((c[n+36>>2]|0)!=0?(p=n+32|0,q=c[p>>2]|0,(q|0)!=0):0){Sc(q);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}m=m+1|0;if(m>>>0>=(c[k>>2]|0)>>>0)break;else n=n+52|0}}Uc(c[o>>2]|0);c[o>>2]=0;Uc(c[c[s>>2]>>2]|0);d=c[s>>2]|0;c[d>>2]=0;if(!d)break}Uc(d);c[s>>2]=0}}while(0);Uc(b);return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+32|0;f=c[e>>2]|0;b=a+40|0;d=c[b>>2]|0;if(f){g=a+44|0;if(d>>>0<=(c[g>>2]|0)>>>0){a=1;return a|0}if(c[a+36>>2]|0){Sc(f);f=Rc(c[b>>2]|0)|0;c[e>>2]=f;if(!f){c[g>>2]=0;c[b>>2]=0;c[a+36>>2]=0;a=0;return a|0}else{c[g>>2]=c[b>>2];c[a+36>>2]=1;a=1;return a|0}}}g=Rc(d)|0;c[e>>2]=g;if(!g){a=0;return a|0}c[a+44>>2]=c[b>>2];c[a+36>>2]=1;a=1;return a|0}function _f(a,b,c){a=a|0;b=b|0;c=c|0;return ig(a,b,1,1.0,52,c)|0}function $f(a,b,c){a=a|0;b=b|0;c=c|0;return ig(a,b,0,.5,56,c)|0}function ag(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;d=c[a+24>>2]|0;f=c[d+16>>2]|0;if(!f){g=0;return g|0}g=0;b=0;e=c[d+24>>2]|0;d=c[(c[c[a+20>>2]>>2]|0)+20>>2]|0;while(1){i=c[e+24>>2]|0;i=((i&7|0)!=0&1)+(i>>>3)|0;h=c[d+24>>2]|0;a=(c[d+20>>2]|0)+-1|0;b=(_(_((i|0)==3?4:i,(c[h+(a*136|0)+8>>2]|0)-(c[h+(a*136|0)>>2]|0)|0)|0,(c[h+(a*136|0)+12>>2]|0)-(c[h+(a*136|0)+4>>2]|0)|0)|0)+b|0;g=g+1|0;if(g>>>0>=f>>>0)break;else{e=e+52|0;d=d+52|0}}return b|0}function bg(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;w=y;if(!(c[b+8>>2]|0)){c[b+36>>2]=d;u=b+28|0;j=c[(c[u>>2]|0)+76>>2]|0;x=b+32|0;c[x>>2]=j+(d*5640|0);v=(h|0)==0;t=b+20|0;if(!v){k=c[(c[c[t>>2]>>2]|0)+20>>2]|0;o=c[j+(d*5640|0)+5584>>2]|0;p=k+16|0;if(!(c[p>>2]|0)){k=h+88|0;j=0}else{l=c[k+24>>2]|0;k=h+88|0;m=c[k>>2]|0;n=0;j=0;do{s=l+(n*136|0)+16|0;c[m+(d*592|0)+20+(n<<2)>>2]=c[s>>2];r=l+(n*136|0)+20|0;c[m+(d*592|0)+152+(n<<2)>>2]=c[r>>2];j=(_(c[r>>2]|0,c[s>>2]|0)|0)+j|0;c[m+(d*592|0)+284+(n<<2)>>2]=c[o+812+(n<<2)>>2];c[m+(d*592|0)+416+(n<<2)>>2]=c[o+944+(n<<2)>>2];n=n+1|0}while(n>>>0<(c[p>>2]|0)>>>0)}s=Qc(_(_(c[h+52>>2]|0,j)|0,c[h+56>>2]|0)|0,32)|0;c[(c[k>>2]|0)+(d*592|0)+548>>2]=s;if(!s){b=0;i=y;return b|0}}j=c[c[t>>2]>>2]|0;s=j+16|0;if(!(c[s>>2]|0)){n=c[x>>2]|0;l=0;k=c[j+20>>2]|0}else{n=c[x>>2]|0;k=c[j+20>>2]|0;d=0;q=c[n+5584>>2]|0;r=k;while(1){o=c[r+32>>2]|0;p=_((c[r+12>>2]|0)-(c[r+4>>2]|0)|0,(c[r+8>>2]|0)-(c[r>>2]|0)|0)|0;j=(p|0)==0;if((c[q+20>>2]|0)==1){if(!j){l=q+1076|0;m=0;j=o;while(1){c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0);m=m+1|0;if((m|0)==(p|0))break;else j=j+4|0}}}else if(!j){l=q+1076|0;m=0;j=o;while(1){c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0)<<11;m=m+1|0;if((m|0)==(p|0))break;else j=j+4|0}}d=d+1|0;l=c[s>>2]|0;if(d>>>0>=l>>>0)break;else{q=q+1080|0;r=r+52|0}}}o=_((c[k+12>>2]|0)-(c[k+4>>2]|0)|0,(c[k+8>>2]|0)-(c[k>>2]|0)|0)|0;a:do{switch(c[n+16>>2]|0){case 0:break;case 2:{if(c[n+5608>>2]|0){m=Pc(l<<2)|0;if(!m){b=0;i=y;return b|0}j=c[s>>2]|0;if(!j)j=0;else{l=0;while(1){c[m+(l<<2)>>2]=c[k+32>>2];l=l+1|0;if((l|0)==(j|0))break;else k=k+52|0}}s=(Gf(c[(c[x>>2]|0)+5608>>2]|0,o,m,j,c[(c[(c[b+24>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Uc(m);if(s){b=0;i=y;return b|0}}break}default:{l=c[k+32>>2]|0;m=c[k+84>>2]|0;j=c[k+136>>2]|0;if(!(c[(c[n+5584>>2]|0)+20>>2]|0)){Ef(l,m,j,o);break a}else{Cf(l,m,j,o);break a}}}}while(0);j=c[c[t>>2]>>2]|0;k=j+16|0;b:do{if(c[k>>2]|0){l=0;m=c[(c[x>>2]|0)+5584>>2]|0;j=c[j+20>>2]|0;c:while(1){switch(c[m+20>>2]|0){case 1:{if(!(Fg(j)|0)){j=0;k=54;break c}break}case 0:{if(!(Jg(j)|0)){j=0;k=54;break c}break}default:{}}l=l+1|0;if(l>>>0>=(c[k>>2]|0)>>>0)break b;else{m=m+1080|0;j=j+52|0}}if((k|0)==54){i=y;return j|0}}}while(0);j=c[x>>2]|0;k=Wg(1)|0;if(!k){b=0;i=y;return b|0}do{if((c[j+16>>2]|0)==1)if(!(c[(c[j+5584>>2]|0)+20>>2]|0)){l=Bf()|0;m=3;break}else{l=Af()|0;m=3;break}else{l=c[j+5600>>2]|0;m=c[(c[b+24>>2]|0)+16>>2]|0}}while(0);t=Zg(k,c[c[t>>2]>>2]|0,j,l,m)|0;Xg(k);if(!t){b=0;i=y;return b|0}j=c[u>>2]|0;c[w>>2]=0;if(!v)c[h+12>>2]=0;if(!(a[j+93>>0]&5)){if(c[(c[x>>2]|0)+8>>2]|0){j=0;do{Uf(b,j,1);j=j+1|0}while(j>>>0<(c[(c[x>>2]|0)+8>>2]|0)>>>0)}}else if(!(Wf(b,e,w,g,h)|0)){b=0;i=y;return b|0}}if(h)c[h+12>>2]=1;j=dh(c[b+24>>2]|0,c[b+28>>2]|0)|0;if(!j)j=1;else{b=bh(j,c[b+36>>2]|0,c[c[b+20>>2]>>2]|0,c[(c[b+32>>2]|0)+8>>2]|0,e,f,g,h,c[b+4>>2]|0,c[b>>2]|0,c[b+16>>2]|0,1)|0;eh(j);j=(b|0)==0}b=j&1^1;i=y;return b|0}function cg(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+16|0;m=u+8|0;l=u;k=u+12|0;j=a+36|0;c[j>>2]=e;t=c[a+28>>2]|0;p=a+32|0;c[p>>2]=(c[t+76>>2]|0)+(e*5640|0);c[k>>2]=0;o=a+24|0;e=dh(c[o>>2]|0,t)|0;if(!e){t=0;i=u;return t|0}n=a+20|0;t=ch(e,c[j>>2]|0,c[c[n>>2]>>2]|0,b,k,d,f,h)|0;eh(e);if(!t){t=0;i=u;return t|0}e=c[c[n>>2]>>2]|0;a=c[(c[p>>2]|0)+5584>>2]|0;j=c[e+20>>2]|0;d=Wg(0)|0;if(!d){t=0;i=u;return t|0}k=e+16|0;a:do{if(c[k>>2]|0){f=0;e=j;while(1){if(!(Yg(d,e,a)|0))break;f=f+1|0;if(f>>>0>=(c[k>>2]|0)>>>0)break a;else{a=a+1080|0;e=e+52|0}}Xg(d);t=0;i=u;return t|0}}while(0);Xg(d);e=c[c[n>>2]>>2]|0;j=e+16|0;do{if(c[j>>2]|0){k=0;f=c[(c[o>>2]|0)+24>>2]|0;d=c[(c[p>>2]|0)+5584>>2]|0;a=c[e+20>>2]|0;while(1){e=(c[f+36>>2]|0)+1|0;if((c[d+20>>2]|0)==1){if(!(Gg(a,e)|0)){e=0;a=49;break}}else if(!(Ng(a,e)|0)){e=0;a=49;break}k=k+1|0;if(k>>>0>=(c[j>>2]|0)>>>0){a=14;break}else{f=f+52|0;d=d+1080|0;a=a+52|0}}if((a|0)==14){e=c[c[n>>2]>>2]|0;break}else if((a|0)==49){i=u;return e|0}}}while(0);k=c[p>>2]|0;a=c[e+20>>2]|0;j=c[k+16>>2]|0;do{if(j){b=_((c[a+12>>2]|0)-(c[a+4>>2]|0)|0,(c[a+8>>2]|0)-(c[a>>2]|0)|0)|0;d=e+16|0;e=c[d>>2]|0;if(e>>>0<=2){c[m>>2]=e;Ub(h,1,19703,m)|0;break}if((_((c[a+64>>2]|0)-(c[a+56>>2]|0)|0,(c[a+60>>2]|0)-(c[a+52>>2]|0)|0)|0)>=(b|0)?(_((c[a+116>>2]|0)-(c[a+108>>2]|0)|0,(c[a+112>>2]|0)-(c[a+104>>2]|0)|0)|0)>=(b|0):0){if((j|0)!=2){e=c[a+32>>2]|0;if((c[(c[k+5584>>2]|0)+20>>2]|0)==1){Df(e,c[a+84>>2]|0,c[a+136>>2]|0,b);break}else{Ff(e,c[a+84>>2]|0,c[a+136>>2]|0,b);break}}f=k+5604|0;if(!(c[f>>2]|0))break;k=Pc(e<<2)|0;if(!k){t=0;i=u;return t|0}e=c[d>>2]|0;if(!e)e=0;else{j=0;while(1){c[k+(j<<2)>>2]=c[a+32>>2];j=j+1|0;if((j|0)==(e|0))break;else a=a+52|0}}t=(Hf(c[f>>2]|0,b,k,e,c[(c[(c[o>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Uc(k);if(t)e=0;else break;i=u;return e|0}Ub(h,1,19642,l)|0;t=0;i=u;return t|0}}while(0);e=c[c[n>>2]>>2]|0;s=e+16|0;if(!(c[s>>2]|0)){t=1;i=u;return t|0}t=0;r=c[(c[o>>2]|0)+24>>2]|0;q=c[(c[p>>2]|0)+5584>>2]|0;p=c[e+20>>2]|0;while(1){o=c[p+24>>2]|0;h=c[r+36>>2]|0;j=c[o+(h*136|0)+8>>2]|0;k=c[o+(h*136|0)>>2]|0;n=j-k|0;f=c[o+(h*136|0)+12>>2]|0;h=c[o+(h*136|0)+4>>2]|0;o=(c[p+8>>2]|0)-(c[p>>2]|0)-n|0;e=c[r+24>>2]|0;if(!(c[r+32>>2]|0)){e=1<>2]|0;a=(f|0)==(h|0);if((c[q+20>>2]|0)==1){if(!a){d=(j|0)==(k|0);b=q+1076|0;k=f-h|0;f=0;while(1){if(!d){a=0;j=e;while(1){h=(c[b>>2]|0)+(c[j>>2]|0)|0;c[j>>2]=(h|0)<(m|0)?m:(h|0)>(l|0)?l:h;a=a+1|0;if((a|0)==(n|0))break;else j=j+4|0}e=e+(n<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else e=e+(o<<2)|0}}}else if(!a){d=(j|0)==(k|0);b=q+1076|0;k=f-h|0;f=0;while(1){if(!d){a=0;j=e;while(1){h=Hh(+g[j>>2])|0;h=(c[b>>2]|0)+h|0;c[j>>2]=(h|0)<(m|0)?m:(h|0)>(l|0)?l:h;a=a+1|0;if((a|0)==(n|0))break;else j=j+4|0}e=e+(n<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else e=e+(o<<2)|0}}t=t+1|0;if(t>>>0>=(c[s>>2]|0)>>>0){e=1;break}else{r=r+52|0;q=q+1080|0;p=p+52|0}}i=u;return e|0}function dg(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d+24|0;m=c[q>>2]|0;h=c[m+16>>2]|0;l=(h|0)==0;if(l){q=1;return q|0}i=0;g=0;j=c[m+24>>2]|0;k=c[(c[c[d+20>>2]>>2]|0)+20>>2]|0;while(1){n=c[j+24>>2]|0;n=((n&7|0)!=0&1)+(n>>>3)|0;o=c[k+24>>2]|0;p=(c[k+20>>2]|0)+-1|0;g=(_(_((n|0)==3?4:n,(c[o+(p*136|0)+8>>2]|0)-(c[o+(p*136|0)>>2]|0)|0)|0,(c[o+(p*136|0)+12>>2]|0)-(c[o+(p*136|0)+4>>2]|0)|0)|0)+g|0;i=i+1|0;if((i|0)==(h|0))break;else{j=j+52|0;k=k+52|0}}g=g>>>0>f>>>0;if(g|l){q=g&1^1;return q|0}p=0;o=c[m+24>>2]|0;n=c[(c[c[d+20>>2]>>2]|0)+20>>2]|0;while(1){l=c[o+24>>2]|0;d=c[n+24>>2]|0;f=c[o+36>>2]|0;i=c[d+(f*136|0)+8>>2]|0;j=c[d+(f*136|0)>>2]|0;m=i-j|0;k=c[d+(f*136|0)+12>>2]|0;f=c[d+(f*136|0)+4>>2]|0;d=(c[n+8>>2]|0)-(c[n>>2]|0)-m|0;l=((l&7|0)!=0&1)+(l>>>3)|0;a:do{switch(((l|0)==3?4:l)|0){case 1:{g=c[n+32>>2]|0;h=(k|0)==(f|0);if(!(c[o+32>>2]|0)){if(h)break a;l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+m|0;i=0;h=g;while(1){a[e>>0]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+1|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}else{if(h)break a;l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+m|0;i=0;h=g;while(1){a[e>>0]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+1|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}case 2:{g=c[n+32>>2]|0;h=(k|0)==(f|0);if(!(c[o+32>>2]|0)){if(!h){l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+(m<<1)|0;i=0;h=g;while(1){b[e>>1]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+2|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}}else if(!h){l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+(m<<1)|0;i=0;h=g;while(1){b[e>>1]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+2|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}case 4:{if((k|0)!=(f|0)){l=(i|0)==(j|0);k=k-f|0;f=0;g=c[n+32>>2]|0;while(1){if(!l){j=e+(m<<2)|0;i=0;h=g;while(1){c[e>>2]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+4|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}default:{}}}while(0);p=p+1|0;if(p>>>0>=(c[(c[q>>2]|0)+16>>2]|0)>>>0){e=1;break}else{o=o+52|0;n=n+52|0}}return e|0}function eg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a+24>>2]|0;f=c[d+16>>2]|0;if(!f){g=0;return g|0}g=0;b=0;e=c[d+24>>2]|0;d=c[(c[c[a+20>>2]>>2]|0)+20>>2]|0;while(1){a=c[e+24>>2]|0;a=((a&7|0)!=0&1)+(a>>>3)|0;b=(_(_((c[d+12>>2]|0)-(c[d+4>>2]|0)|0,(c[d+8>>2]|0)-(c[d>>2]|0)|0)|0,(a|0)==3?4:a)|0)+b|0;g=g+1|0;if(g>>>0>=f>>>0)break;else{e=e+52|0;d=d+52|0}}return b|0}function fg(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[f+24>>2]|0;q=o+16|0;j=c[q>>2]|0;n=(j|0)==0;if(n)i=0;else{k=0;i=0;l=c[o+24>>2]|0;m=c[(c[c[f+20>>2]>>2]|0)+20>>2]|0;while(1){p=c[l+24>>2]|0;p=((p&7|0)!=0&1)+(p>>>3)|0;i=(_(_((c[m+12>>2]|0)-(c[m+4>>2]|0)|0,(c[m+8>>2]|0)-(c[m>>2]|0)|0)|0,(p|0)==3?4:p)|0)+i|0;k=k+1|0;if((k|0)==(j|0))break;else{l=l+52|0;m=m+52|0}}}i=(i|0)!=(h|0);if(i|n){q=i&1^1;return q|0}p=0;n=c[o+24>>2]|0;h=c[(c[c[f+20>>2]>>2]|0)+20>>2]|0;while(1){f=c[n+24>>2]|0;i=(c[h+8>>2]|0)-(c[h>>2]|0)|0;j=(c[h+12>>2]|0)-(c[h+4>>2]|0)|0;m=_(j,i)|0;f=((f&7|0)!=0&1)+(f>>>3)|0;a:do{switch(((f|0)==3?4:f)|0){case 1:{j=c[h+32>>2]|0;i=(m|0)==0;if(!(c[n+32>>2]|0)){if(i)break a;else{k=0;i=j;j=g}while(1){c[i>>2]=d[j>>0];k=k+1|0;if((k|0)==(m|0))break;else{i=i+4|0;j=j+1|0}}g=g+m|0;break a}else{if(i)break a;else{k=0;i=j;j=g}while(1){c[i>>2]=a[j>>0];k=k+1|0;if((k|0)==(m|0))break;else{i=i+4|0;j=j+1|0}}g=g+m|0;break a}}case 2:{l=c[h+32>>2]|0;k=(m|0)==0;if(!(c[n+32>>2]|0)){if(!k){k=g+(_(j<<1,i)|0)|0;j=0;i=l;while(1){c[i>>2]=e[g>>1];j=j+1|0;if((j|0)==(m|0))break;else{i=i+4|0;g=g+2|0}}g=k}}else if(!k){k=g+(_(j<<1,i)|0)|0;j=0;i=l;while(1){c[i>>2]=b[g>>1];j=j+1|0;if((j|0)==(m|0))break;else{i=i+4|0;g=g+2|0}}g=k}break}case 4:{if(m){k=g+(_(j<<2,i)|0)|0;i=0;j=c[h+32>>2]|0;while(1){c[j>>2]=c[g>>2];i=i+1|0;if((i|0)==(m|0))break;else{j=j+4|0;g=g+4|0}}g=k}break}default:{}}}while(0);p=p+1|0;if(p>>>0>=(c[q>>2]|0)>>>0){g=1;break}else{n=n+52|0;h=h+52|0}}return g|0}function gg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+24|0;b=c[g>>2]|0;if(!b)return;f=c[a+28>>2]|0;e=(f>>>0)/52|0;if(f>>>0>51){f=0;while(1){a=c[b>>2]|0;if(a){Uc(a+-1|0);c[b>>2]=0}a=b+4|0;d=c[a>>2]|0;if(d){Uc(d);c[a>>2]=0}a=b+8|0;d=c[a>>2]|0;if(d){Uc(d);c[a>>2]=0}f=f+1|0;if(f>>>0>=e>>>0)break;else b=b+52|0}b=c[g>>2]|0}Uc(b);c[g>>2]=0;return}function hg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+24|0;b=c[g>>2]|0;if(!b)return;f=c[a+28>>2]|0;e=(f>>>0)/56|0;if(f>>>0>55){f=0;while(1){a=c[b>>2]|0;if(a){Uc(a);c[b>>2]=0}d=b+4|0;a=c[d>>2]|0;if(a){Uc(a);c[d>>2]=0}f=f+1|0;if(f>>>0>=e>>>0)break;else b=b+56|0}b=c[g>>2]|0}Uc(b);c[g>>2]=0;return}function ig(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=+f;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=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.0;Sa=i;i=i+80|0;La=Sa+64|0;Ka=Sa+56|0;Na=Sa+48|0;Pa=Sa+40|0;Oa=Sa+32|0;Qa=Sa+24|0;Ma=Sa+16|0;Ja=Sa+8|0;k=c[b+28>>2]|0;Ia=c[c[b+20>>2]>>2]|0;p=c[(c[k+76>>2]|0)+(d*5640|0)+5584>>2]|0;q=c[Ia+20>>2]|0;n=c[b+24>>2]|0;o=c[n+24>>2]|0;Fa=c[k+24>>2]|0;m=c[k+12>>2]|0;Ha=(_(m,(d>>>0)%(Fa>>>0)|0)|0)+(c[k+4>>2]|0)|0;l=c[n>>2]|0;l=Ha>>>0>l>>>0?Ha:l;c[Ia>>2]=l;Ha=Si(m|0,0,Ha|0,0)|0;Ha=Ha|0-C;m=c[n+8>>2]|0;m=Ha>>>0>>0?Ha:m;Ha=Ia+8|0;c[Ha>>2]=m;Ga=c[k+16>>2]|0;Fa=(_(Ga,(d>>>0)/(Fa>>>0)|0)|0)+(c[k+8>>2]|0)|0;d=c[n+4>>2]|0;d=Fa>>>0>d>>>0?Fa:d;Ea=Ia+4|0;c[Ea>>2]=d;Fa=Si(Ga|0,0,Fa|0,0)|0;Fa=Fa|0-C;n=c[n+12>>2]|0;n=Fa>>>0>>0?Fa:n;Fa=Ia+12|0;c[Fa>>2]=n;if(!(c[p+4>>2]|0)){Ub(j,1,19777,Sa)|0;Ra=0;i=Sa;return Ra|0}Ga=Ia+16|0;if(!(c[Ga>>2]|0)){Ra=1;i=Sa;return Ra|0}Da=k+80|0;Ca=b+40|0;Ba=(e|0)==0;k=d;Aa=0;a:while(1){c[o+36>>2]=0;va=c[o>>2]|0;d=(l+-1+va|0)/(va|0)|0;c[q>>2]=d;wa=c[o+4>>2]|0;k=(k+-1+wa|0)/(wa|0)|0;za=q+4|0;c[za>>2]=k;va=(m+-1+va|0)/(va|0)|0;ya=q+8|0;c[ya>>2]=va;wa=(n+-1+wa|0)/(wa|0)|0;xa=q+12|0;c[xa>>2]=wa;d=va-d|0;k=wa-k|0;if((4294967295/(d>>>0)|0)>>>0>>0){Ra=6;break}d=_(k,d)|0;if(d>>>0>1073741823){Ra=8;break}m=d<<2;va=c[p+4>>2]|0;wa=q+16|0;c[wa>>2]=va;b=c[Da>>2]|0;c[q+20>>2]=va>>>0>>0?1:va-b|0;b=q+40|0;c[b>>2]=m;do{if(a[Ca>>0]&1){e=q+32|0;l=c[e>>2]|0;if(l){k=q+44|0;if(m>>>0<=(c[k>>2]|0)>>>0)break;d=q+36|0;if(c[d>>2]|0){Sc(l);va=Rc(c[b>>2]|0)|0;c[e>>2]=va;if(!va){Ra=16;break a}c[k>>2]=c[b>>2];c[d>>2]=1;break}}va=Rc(m)|0;c[e>>2]=va;if(!va)break a;c[q+44>>2]=c[b>>2];c[q+36>>2]=1}}while(0);e=(c[wa>>2]|0)*136|0;k=q+24|0;b=c[k>>2]|0;if(b){d=q+28|0;if(e>>>0>(c[d>>2]|0)>>>0){b=Tc(b,e)|0;if(!b){Ra=24;break}c[k>>2]=b;va=c[d>>2]|0;Qi(b+va|0,0,e-va|0)|0;c[d>>2]=e}}else{d=Pc(e)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break}c[q+28>>2]=e;Qi(d|0,0,e|0)|0}d=c[wa>>2]|0;va=(c[p+20>>2]|0)==0?7:8;if(d){ra=p+8|0;sa=p+12|0;ta=o+24|0;ua=p+804|0;qa=c[k>>2]|0;k=p+28|0;b=0;while(1){oa=d;pa=d+-1|0;la=c[q>>2]|0;ma=Ri(1,0,pa|0)|0;ma=Si(ma|0,C|0,-1,-1)|0;na=C;la=Si(ma|0,na|0,la|0,((la|0)<0)<<31>>31|0)|0;la=Pi(la|0,C|0,pa|0)|0;c[qa>>2]=la;e=c[za>>2]|0;e=Si(ma|0,na|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,pa|0)|0;c[qa+4>>2]=e;d=c[ya>>2]|0;d=Si(ma|0,na|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,pa|0)|0;c[qa+8>>2]=d;l=c[xa>>2]|0;l=Si(ma|0,na|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Pi(l|0,C|0,pa|0)|0;c[qa+12>>2]=l;r=c[p+812+(b<<2)>>2]|0;n=c[p+944+(b<<2)>>2]|0;s=la>>r<>n<>31|0)|0;m=Pi(m|0,C|0,n|0)|0;if((la|0)==(d|0))d=0;else{la=Ri(1,0,r|0)|0;la=Si(la|0,C|0,-1,-1)|0;d=Si(la|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,r|0)|0;d=(d<>r}la=qa+16|0;c[la>>2]=d;ia=(e|0)==(l|0)?0:(m<>n;c[qa+20>>2]=ia;ia=_(ia,d)|0;ja=ia*40|0;ka=(b|0)==0;if(ka)d=1;else{s=Si(s|0,((s|0)<0)<<31>>31|0,1,0)|0;s=Ti(s|0,C|0,1)|0;t=Si(t|0,((t|0)<0)<<31>>31|0,1,0)|0;t=Ti(t|0,C|0,1)|0;d=3;n=n+-1|0;r=r+-1|0}ha=qa+24|0;c[ha>>2]=d;S=c[ra>>2]|0;S=S>>>0>>0?S:r;T=c[sa>>2]|0;T=T>>>0>>0?T:n;U=(ia|0)!=0;V=(ia|0)==0;W=1<>2]|0;d=Si(ma|0,na|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,pa|0)|0;k=c[za>>2]|0;k=Si(ma|0,na|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Pi(k|0,C|0,pa|0)|0;e=c[ya>>2]|0;e=Si(ma|0,na|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,pa|0)|0;m=c[xa>>2]|0;m=Si(ma|0,na|0,m|0,((m|0)<0)<<31>>31|0)|0;m=Pi(m|0,C|0,pa|0)|0;l=0}else{l=fa+1|0;d=c[q>>2]|0;O=Ri(l&1|0,0,pa|0)|0;O=Oi(da|0,ea|0,O|0,C|0)|0;m=C;d=Si(O|0,m|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,oa|0)|0;k=c[za>>2]|0;P=Ri(l>>>1|0,0,pa|0)|0;P=Oi(da|0,ea|0,P|0,C|0)|0;Q=C;k=Si(P|0,Q|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Pi(k|0,C|0,oa|0)|0;e=c[ya>>2]|0;e=Si(O|0,m|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,oa|0)|0;m=c[xa>>2]|0;m=Si(P|0,Q|0,m|0,((m|0)<0)<<31>>31|0)|0;m=Pi(m|0,C|0,oa|0)|0}c[ga+16>>2]=l;c[ga>>2]=d;Q=ga+4|0;c[Q>>2]=k;P=ga+8|0;c[P>>2]=e;O=ga+12|0;c[O>>2]=m;k=Wa[va&15](l)|0;Ta=+(c[R+4>>2]|0)*.00048828125+1.0;g[ga+32>>2]=+Gh(1.0,(c[ta>>2]|0)+k-(c[R>>2]|0)|0)*Ta*f;c[ga+28>>2]=(c[R>>2]|0)+-1+(c[ua>>2]|0);k=ga+20|0;e=c[k>>2]|0;if(!(U&(e|0)==0)){d=ga+24|0;if((c[d>>2]|0)>>>0>>0){e=Tc(e,ja)|0;if(!e){Ra=41;break a}c[k>>2]=e;N=c[d>>2]|0;Qi(e+N|0,0,ja-N|0)|0;c[d>>2]=ja}}else{d=Pc(ja)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break a}Qi(d|0,0,ja|0)|0;c[ga+24>>2]=ja}if(!V){M=c[k>>2]|0;N=0;while(1){F=c[la>>2]|0;J=(((N>>>0)%(F>>>0)|0)<>>0)/(F>>>0)|0)<>2]|0;I=(J|0)>(I|0)?J:I;c[M>>2]=I;J=c[Q>>2]|0;J=(F|0)>(J|0)?F:J;F=M+4|0;c[F>>2]=J;L=c[P>>2]|0;L=(G|0)<(L|0)?G:L;G=M+8|0;c[G>>2]=L;l=c[O>>2]|0;l=(H|0)<(l|0)?H:l;H=M+12|0;c[H>>2]=l;I=I>>S<>T<>31|0)|0;L=Pi(L|0,C|0,S|0)|0;l=Si($|0,aa|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Pi(l|0,C|0,T|0)|0;L=(L<>S;K=M+16|0;c[K>>2]=L;l=(l<>T;u=M+20|0;c[u>>2]=l;L=_(l,L)|0;l=_(L,h)|0;k=M+24|0;e=c[k>>2]|0;do{if((e|0)==0&(L|0)!=0){d=Pc(l)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break a}Qi(d|0,0,l|0)|0;c[M+28>>2]=l}else{d=M+28|0;if(l>>>0<=(c[d>>2]|0)>>>0)break;e=Tc(e,l)|0;if(!e){Ra=50;break a}c[k>>2]=e;E=c[d>>2]|0;Qi(e+E|0,0,l-E|0)|0;c[d>>2]=l}}while(0);m=M+32|0;d=c[m>>2]|0;e=c[K>>2]|0;l=c[u>>2]|0;if(!d)d=jg(e,l,j)|0;else d=lg(d,e,l,j)|0;c[m>>2]=d;if(!d)Ub(j,2,19990,Ka)|0;m=M+36|0;e=c[m>>2]|0;l=c[K>>2]|0;d=c[u>>2]|0;if(!e)d=jg(l,d,j)|0;else d=lg(e,l,d,j)|0;c[m>>2]=d;if(!d)Ub(j,2,20012,La)|0;if(L){E=0;do{A=c[K>>2]|0;z=(((E>>>0)%(A>>>0)|0)<>>0)/(A>>>0)|0)<>2]|0;e=d+(E*56|0)|0;l=c[e>>2]|0;if(!l){y=Pc(8192)|0;c[e>>2]=y;if(!y){d=0;Ra=87;break a}c[d+(E*56|0)+32>>2]=8192;y=Qc(10,32)|0;c[d+(E*56|0)+4>>2]=y;if(!y){d=0;Ra=87;break a}c[d+(E*56|0)+52>>2]=10}else{m=d+(E*56|0)+32|0;u=c[m>>2]|0;v=d+(E*56|0)+4|0;w=c[v>>2]|0;x=e;y=x+52|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));c[e>>2]=l;c[m>>2]=u;c[v>>2]=w}y=c[M>>2]|0;c[d+(E*56|0)+8>>2]=(z|0)>(y|0)?z:y;z=c[F>>2]|0;c[d+(E*56|0)+12>>2]=(A|0)>(z|0)?A:z;A=c[G>>2]|0;c[d+(E*56|0)+16>>2]=(B|0)<(A|0)?B:A;B=c[H>>2]|0;c[d+(E*56|0)+20>>2]=(D|0)<(B|0)?D:B}else{e=c[k>>2]|0;d=e+(E*52|0)+4|0;if((c[d>>2]|0)==0?(y=Qc(100,24)|0,c[d>>2]=y,(y|0)==0):0){d=0;Ra=87;break a}d=e+(E*52|0)+8|0;if((c[d>>2]|0)==0?(y=Qc(100,24)|0,c[d>>2]=y,(y|0)==0):0){d=0;Ra=87;break a}m=c[M>>2]|0;m=(z|0)>(m|0)?z:m;c[e+(E*52|0)+12>>2]=m;d=c[F>>2]|0;A=(A|0)>(d|0)?A:d;c[e+(E*52|0)+16>>2]=A;d=c[G>>2]|0;d=(B|0)<(d|0)?B:d;c[e+(E*52|0)+20>>2]=d;B=c[H>>2]|0;D=(D|0)<(B|0)?D:B;c[e+(E*52|0)+24>>2]=D;m=_(D-A|0,d-m<<2)|0;d=e+(E*52|0)+36|0;if(m>>>0<=(c[d>>2]|0)>>>0)break;l=e+(E*52|0)|0;e=c[l>>2]|0;if(e)Uc(e+-1|0);e=Pc(m|1)|0;c[l>>2]=e;if(!e){Ra=74;break a}c[d>>2]=m;a[e>>0]=0;c[l>>2]=(c[l>>2]|0)+1}}while(0);E=E+1|0}while(E>>>0>>0)}N=N+1|0;if(N>>>0>=ia>>>0)break;else M=M+40|0}}k=R+8|0;fa=fa+1|0;if(fa>>>0>=(c[ha>>2]|0)>>>0)break;else{ga=ga+36|0;R=k}}b=b+1|0;if(b>>>0<(c[wa>>2]|0)>>>0){d=pa;qa=qa+136|0}else break}}d=Aa+1|0;if(d>>>0>=(c[Ga>>2]|0)>>>0){d=1;Ra=87;break}l=c[Ia>>2]|0;k=c[Ea>>2]|0;m=c[Ha>>2]|0;n=c[Fa>>2]|0;Aa=d;o=o+52|0;p=p+1080|0;q=q+52|0}if((Ra|0)==6){Ub(j,1,19816,Ja)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==8){Ub(j,1,19816,Ma)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==16){c[k>>2]=0;c[b>>2]=0;c[d>>2]=0}else if((Ra|0)==24){Ub(j,1,19849,Oa)|0;Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==41){Ub(j,1,19889,Pa)|0;Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==50){Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ub(j,1,19932,Na)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==74){c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==87){i=Sa;return d|0}Ub(j,1,19816,Qa)|0;Ra=0;i=Sa;return Ra|0}function jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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;v=i;i=i+288|0;l=v+16|0;j=v+8|0;t=v+152|0;u=v+24|0;e=Qc(1,20)|0;if(!e){Ub(d,1,20034,v)|0;u=0;i=v;return u|0}c[e>>2]=a;m=e+4|0;c[m>>2]=b;c[t>>2]=a;c[u>>2]=b;k=e+8|0;c[k>>2]=0;f=0;h=0;while(1){s=_(b,a)|0;a=(a+1|0)/2|0;g=h+1|0;c[t+(g<<2)>>2]=a;b=(b+1|0)/2|0;c[u+(g<<2)>>2]=b;f=f+s|0;if(s>>>0<=1)break;else h=g}c[k>>2]=f;if(!f){Uc(e);Ub(d,2,20072,j)|0;u=0;i=v;return u|0}f=Qc(f,16)|0;c[e+12>>2]=f;if(!f){Ub(d,1,20122,l)|0;Uc(e);u=0;i=v;return u|0}s=c[k>>2]|0;c[e+16>>2]=s<<4;b=f+((_(c[m>>2]|0,c[e>>2]|0)|0)<<4)|0;if(!h)b=f;else{r=0;g=b;a=b;b=f;do{p=c[u+(r<<2)>>2]|0;a:do{if((p|0)>0){q=c[t+(r<<2)>>2]|0;if((q|0)<=0){k=p+-1|0;d=0;while(1){o=(d&1|0)!=0|(d|0)==(k|0);j=o?g:a;a=o?g:a+(q<<4)|0;d=d+1|0;if((d|0)>=(p|0)){g=j;break a}else g=j}}o=((q+2+((q|0)<2?~q:-3)|0)>>>1)+1|0;m=p+-1|0;n=0;do{d=q;l=g;while(1){c[b>>2]=l;j=b+16|0;k=d;d=d+-2|0;if((d|0)>-1){c[j>>2]=l;b=b+32|0}else b=j;if((k|0)<=2)break;else l=l+16|0}l=g+(o<<4)|0;d=(n&1|0)!=0|(n|0)==(m|0);g=d?l:a;a=d?l:a+(q<<4)|0;n=n+1|0}while((n|0)<(p|0))}}while(0);r=r+1|0}while((r|0)!=(h|0))}c[b>>2]=0;if(!s){u=e;i=v;return u|0}else b=0;while(1){c[f+4>>2]=999;c[f+8>>2]=0;c[f+12>>2]=0;b=b+1|0;if((b|0)==(s|0))break;else f=f+16|0}i=v;return e|0}function kg(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a+8>>2]|0;if(!b)return;d=0;a=c[a+12>>2]|0;while(1){c[a+4>>2]=999;c[a+8>>2]=0;c[a+12>>2]=0;d=d+1|0;if(d>>>0>=b>>>0)break;else a=a+16|0}return}function bb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function cb(){return i|0}function db(a){a=a|0;i=a}function eb(a,b){a=a|0;b=b|0;i=a;j=b}function fb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function gb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function hb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ib(a){a=a|0;C=a}function jb(){return C|0}function kb(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+8272|0;k=o+16|0;m=o+12|0;j=o;c[m>>2]=0;if((c[a>>2]|0)==1375686655)n=gc(0)|0;else n=gc(2)|0;bc(n,1,0)|0;cc(n,2,0)|0;dc(n,3,0)|0;hc(k);c[j>>2]=a;c[j+4>>2]=a;c[j+8>>2]=b;l=ec(j,1)|0;if(!(ic(n,k)|0)){mi(4476)|0;Fb(l);zc(n);g=1;i=o;return g|0}if(!(jc(l,n,m)|0)){mi(4528)|0;Fb(l);zc(n);Zb(c[m>>2]|0);g=1;i=o;return g|0}if(!(oc(n,l,c[m>>2]|0,c[k+8228>>2]|0)|0)){mi(4578)|0;zc(n);Fb(l);Zb(c[m>>2]|0);g=1;i=o;return g|0}j=c[m>>2]|0;c[f>>2]=c[j+8>>2];c[g>>2]=c[j+12>>2];a=c[j+16>>2]|0;c[h>>2]=a;a=_(_(a<<2,c[f>>2]|0)|0,c[g>>2]|0)|0;c[e>>2]=a;e=Fi(a)|0;c[d>>2]=e;switch(c[h>>2]|0){case 1:{Ui(e|0,c[(c[j+24>>2]|0)+44>>2]|0,a|0)|0;break}case 3:{if((_(c[g>>2]|0,c[f>>2]|0)|0)>0){b=c[j+24>>2]|0;j=c[b+44>>2]|0;a=c[b+96>>2]|0;b=c[b+148>>2]|0;k=0;do{h=k*3|0;c[e+(h<<2)>>2]=c[j+(k<<2)>>2];c[e+(h+1<<2)>>2]=c[a+(k<<2)>>2];c[e+(h+2<<2)>>2]=c[b+(k<<2)>>2];k=k+1|0}while((k|0)<(_(c[g>>2]|0,c[f>>2]|0)|0))}break}default:{}}Fb(l);zc(n);Zb(c[m>>2]|0);g=0;i=o;return g|0}function lb(){return fc()|0}function mb(a,b){a=a|0;b=b|0;return}function nb(a,b){a=a|0;b=b|0;return}function ob(a,b){a=a|0;b=b|0;var d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;li(4625,d)|0;i=b;return}function pb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;g=h;c[g>>2]=d;if(!e){i=h;return}d=b;f=0;b=g+(e+-1)|0;while(1){a[d>>0]=a[b>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else{d=d+1|0;b=b+-1|0}}i=h;return}function qb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;c[d>>2]=0;if(!e)return;f=0;d=d+(e+-1)|0;while(1){a[d>>0]=a[b>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else{b=b+1|0;d=d+-1|0}}return}function rb(b,d){b=b|0;d=+d;var e=0,f=0,g=0,j=0,l=0;e=i;i=i+16|0;j=e;h[j>>3]=d;j=j+8|0;h[k>>3]=d;f=c[k>>2]|0;g=c[k+4>>2]|0;l=Ti(f|0,g|0,56)|0;a[b>>0]=l;l=Ti(f|0,g|0,48)|0;a[b+1>>0]=l;l=Ti(f|0,g|0,40)|0;a[b+2>>0]=l;a[b+3>>0]=g;a[b+4>>0]=a[j+-5>>0]|0;a[b+5>>0]=a[j+-6>>0]|0;g=Ti(f|0,g|0,8)|0;a[b+6>>0]=g;a[b+7>>0]=f;i=e;return}function sb(b,c){b=b|0;c=c|0;var d=0;d=c+8|0;a[d+-1>>0]=a[b>>0]|0;a[d+-2>>0]=a[b+1>>0]|0;a[d+-3>>0]=a[b+2>>0]|0;a[d+-4>>0]=a[b+3>>0]|0;a[d+-5>>0]=a[b+4>>0]|0;a[d+-6>>0]=a[b+5>>0]|0;a[d+-7>>0]=a[b+6>>0]|0;a[c>>0]=a[b+7>>0]|0;return}function tb(b,d){b=b|0;d=+d;var e=0;e=(g[k>>2]=d,c[k>>2]|0);a[b>>0]=e>>>24;a[b+1>>0]=e>>>16;a[b+2>>0]=e>>>8;a[b+3>>0]=e;return}function ub(b,c){b=b|0;c=c|0;var d=0;d=c+4|0;a[d+-1>>0]=a[b>>0]|0;a[d+-2>>0]=a[b+1>>0]|0;a[d+-3>>0]=a[b+2>>0]|0;a[c>>0]=a[b+3>>0]|0;return}function vb(a,b){a=a|0;b=b|0;var d=0,e=0;e=Qc(1,72)|0;if(!e){b=0;return b|0}c[e+64>>2]=a;a=Pc(a)|0;c[e+32>>2]=a;if(!a){Uc(e);b=0;return b|0}c[e+36>>2]=a;a=e+68|0;d=c[a>>2]|0;if(!b){c[a>>2]=d|1;c[e+40>>2]=31;c[e+44>>2]=32}else{c[a>>2]=d|2;c[e+40>>2]=29;c[e+44>>2]=30}c[e+16>>2]=4;c[e+20>>2]=5;c[e+24>>2]=6;c[e+28>>2]=7;b=e;return b|0}function wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;m=n;f=a+48|0;g=c[f>>2]|0;if(g>>>0>=b>>>0){m=a+36|0;c[m>>2]=(c[m>>2]|0)+b;c[f>>2]=g-b;m=a+56|0;a=m;a=Si(c[a>>2]|0,c[a+4>>2]|0,b|0,d|0)|0;c[m>>2]=a;c[m+4>>2]=C;m=d;a=b;C=m;i=n;return a|0}l=a+68|0;if(c[l>>2]&4){m=a+36|0;c[m>>2]=(c[m>>2]|0)+g;c[f>>2]=0;a=a+56|0;m=a;m=Si(c[m>>2]|0,c[m+4>>2]|0,g|0,0)|0;c[a>>2]=m;c[a+4>>2]=C;a=(g|0)!=0;m=a?0:-1;a=a?g:-1;C=m;i=n;return a|0}if(!g){g=0;f=0}else{c[a+36>>2]=c[a+32>>2];b=Oi(b|0,d|0,g|0,0)|0;c[f>>2]=0;f=0;d=C}a:do{if((d|0)>0|(d|0)==0&b>>>0>0){k=a+24|0;while(1){h=Ra[c[k>>2]&63](b,d,c[a>>2]|0)|0;j=C;if((h|0)==-1&(j|0)==-1)break;b=Oi(b|0,d|0,h|0,j|0)|0;d=C;g=Si(h|0,j|0,g|0,f|0)|0;f=C;if(!((d|0)>0|(d|0)==0&b>>>0>0))break a}Ub(e,4,4636,m)|0;c[l>>2]=c[l>>2]|4;a=a+56|0;m=a;m=Si(c[m>>2]|0,c[m+4>>2]|0,g|0,f|0)|0;c[a>>2]=m;c[a+4>>2]=C;a=(g|0)!=0|(f|0)!=0;m=a?f:-1;a=a?g:-1;C=m;i=n;return a|0}}while(0);m=a+56|0;a=m;a=Si(c[a>>2]|0,c[a+4>>2]|0,g|0,f|0)|0;c[m>>2]=a;c[m+4>>2]=C;m=f;a=g;C=m;i=n;return a|0}function xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[a+36>>2]=c[a+32>>2];c[a+48>>2]=0;g=(Ra[c[a+28>>2]&63](b,d,c[a>>2]|0)|0)==0;e=a+68|0;f=c[e>>2]|0;if(g){c[e>>2]=f|4;g=0;return g|0}else{c[e>>2]=f&-5;g=a+56|0;c[g>>2]=b;c[g+4>>2]=d;g=1;return g|0}return 0}function yb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r+8|0;m=r;p=a+68|0;if(c[p>>2]&8){q=-1;a=-1;C=q;i=r;return a|0}k=a+32|0;f=c[k>>2]|0;o=a+36|0;c[o>>2]=f;l=a+48|0;g=c[l>>2]|0;do{if(g){j=a+20|0;while(1){h=Ra[c[j>>2]&63](f,g,c[a>>2]|0)|0;if((h|0)==-1)break;f=(c[o>>2]|0)+h|0;c[o>>2]=f;s=c[l>>2]|0;g=s-h|0;c[l>>2]=g;if((s|0)==(h|0)){n=6;break}}if((n|0)==6){f=c[k>>2]|0;break}c[p>>2]=c[p>>2]|8;Ub(e,4,4662,m)|0;c[p>>2]=c[p>>2]|8;c[l>>2]=0;a=-1;s=-1;C=a;i=r;return s|0}}while(0);c[o>>2]=f;a:do{if((d|0)>0|(d|0)==0&b>>>0>0){k=a+24|0;g=0;f=0;while(1){h=Ra[c[k>>2]&63](b,d,c[a>>2]|0)|0;j=C;if((h|0)==-1&(j|0)==-1)break;b=Oi(b|0,d|0,h|0,j|0)|0;d=C;g=Si(h|0,j|0,g|0,f|0)|0;f=C;if(!((d|0)>0|(d|0)==0&b>>>0>0))break a}Ub(e,4,4688,q)|0;c[p>>2]=c[p>>2]|8;s=a+56|0;a=s;a=Si(c[a>>2]|0,c[a+4>>2]|0,g|0,f|0)|0;c[s>>2]=a;c[s+4>>2]=C;s=(g|0)!=0|(f|0)!=0;a=s?f:-1;s=s?g:-1;C=a;i=r;return s|0}else{g=0;f=0}}while(0);a=a+56|0;s=a;s=Si(c[s>>2]|0,c[s+4>>2]|0,g|0,f|0)|0;c[a>>2]=s;c[a+4>>2]=C;a=f;s=g;C=a;i=r;return s|0}function zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+16|0;k=p;m=a+32|0;f=c[m>>2]|0;n=a+36|0;c[n>>2]=f;o=a+48|0;g=c[o>>2]|0;do{if(!g)g=a;else{j=a+20|0;while(1){h=Ra[c[j>>2]&63](f,g,c[a>>2]|0)|0;if((h|0)==-1)break;f=(c[n>>2]|0)+h|0;c[n>>2]=f;q=c[o>>2]|0;g=q-h|0;c[o>>2]=g;if((q|0)==(h|0)){l=6;break}}if((l|0)==6){g=a;f=c[m>>2]|0;break}q=a+68|0;c[q>>2]=c[q>>2]|8;Ub(e,4,4662,k)|0;c[q>>2]=c[q>>2]|8;q=0;i=p;return q|0}}while(0);c[n>>2]=f;c[o>>2]=0;if(!(Ra[c[a+28>>2]&63](b,d,c[g>>2]|0)|0)){q=a+68|0;c[q>>2]=c[q>>2]|8;q=0;i=p;return q|0}else{q=a+56|0;c[q>>2]=b;c[q+4>>2]=d;q=1;i=p;return q|0}return 0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;C=-1;return-1}function Db(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Eb(a){a=a|0;var b=0,d=0,e=0;e=Qc(1,72)|0;if(!e){a=0;return a|0}c[e+64>>2]=1048576;b=Pc(1048576)|0;c[e+32>>2]=b;if(!b){Uc(e);a=0;return a|0}c[e+36>>2]=b;b=e+68|0;d=c[b>>2]|0;if(!a){c[b>>2]=d|1;c[e+40>>2]=31;c[e+44>>2]=32}else{c[b>>2]=d|2;c[e+40>>2]=29;c[e+44>>2]=30}c[e+16>>2]=4;c[e+20>>2]=5;c[e+24>>2]=6;c[e+28>>2]=7;a=e;return a|0}function Fb(a){a=a|0;var b=0;if(!a)return;b=c[a+4>>2]|0;if(b)Ta[b&7](c[a>>2]|0);b=a+32|0;Uc(c[b>>2]|0);c[b>>2]=0;Uc(a);return}function Gb(a,b){a=a|0;b=b|0;if(!a)return;if(!(c[a+68>>2]&2))return;c[a+16>>2]=b;return}function Hb(a,b){a=a|0;b=b|0;if(!a)return;c[a+28>>2]=b;return}function Ib(a,b){a=a|0;b=b|0;if(!a)return;if(!(c[a+68>>2]&1))return;c[a+20>>2]=b;return}function Jb(a,b){a=a|0;b=b|0;if(!a)return;c[a+24>>2]=b;return}function Kb(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;c[a>>2]=b;c[a+4>>2]=d;return}function Lb(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;a=a+8|0;c[a>>2]=b;c[a+4>>2]=d;return}function Mb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+16|0;s=w+8|0;r=w;v=a+48|0;f=c[v>>2]|0;if(f>>>0>=d>>>0){u=a+36|0;Ui(b|0,c[u>>2]|0,d|0)|0;c[u>>2]=(c[u>>2]|0)+d;c[v>>2]=(c[v>>2]|0)-d;v=a+56|0;u=v;u=Si(c[u>>2]|0,c[u+4>>2]|0,d|0,0)|0;c[v>>2]=u;c[v+4>>2]=C;v=d;i=w;return v|0}t=a+68|0;if(c[t>>2]&4){u=a+36|0;Ui(b|0,c[u>>2]|0,f|0)|0;e=c[v>>2]|0;c[u>>2]=(c[u>>2]|0)+e;u=a+56|0;t=u;e=Si(c[t>>2]|0,c[t+4>>2]|0,e|0,0)|0;c[u>>2]=e;c[u+4>>2]=C;c[v>>2]=0;v=(f|0)!=0?f:-1;i=w;return v|0}if(!f){o=a+32|0;g=c[o>>2]|0;p=a+36|0;c[p>>2]=g;q=p;u=a+56|0;f=0}else{p=a+36|0;Ui(b|0,c[p>>2]|0,f|0)|0;o=a+32|0;g=c[o>>2]|0;c[p>>2]=g;q=c[v>>2]|0;u=a+56|0;m=u;m=Si(c[m>>2]|0,c[m+4>>2]|0,q|0,0)|0;n=u;c[n>>2]=m;c[n+4>>2]=C;c[v>>2]=0;d=d-q|0;b=b+q|0;q=p}m=a+64|0;n=a+16|0;l=b;h=g;while(1){b=c[m>>2]|0;g=c[n>>2]|0;if(d>>>0>>0){g=Ra[g&63](h,b,c[a>>2]|0)|0;c[v>>2]=g;if((g|0)==-1){g=11;break}if(g>>>0>=d>>>0){b=l;g=14;break}Ui(l|0,c[q>>2]|0,g|0)|0;h=c[o>>2]|0;c[p>>2]=h;b=c[v>>2]|0;j=u;j=Si(c[j>>2]|0,c[j+4>>2]|0,b|0,0)|0;k=C;f=g+f|0}else{b=Ra[g&63](l,d,c[a>>2]|0)|0;c[v>>2]=b;if((b|0)==-1){g=16;break}f=b+f|0;if(b>>>0>=d>>>0){g=20;break}h=c[o>>2]|0;c[p>>2]=h;j=u;j=Si(c[j>>2]|0,c[j+4>>2]|0,b|0,0)|0;k=C}g=u;c[g>>2]=j;c[g+4>>2]=k;c[v>>2]=0;d=d-b|0;l=l+b|0}if((g|0)==11){Ub(e,4,4636,r)|0;c[v>>2]=0;c[t>>2]=c[t>>2]|4;v=(f|0)!=0?f:-1;i=w;return v|0}else if((g|0)==14){Ui(b|0,c[q>>2]|0,d|0)|0;c[q>>2]=(c[q>>2]|0)+d;c[v>>2]=(c[v>>2]|0)-d;e=u;e=Si(c[e>>2]|0,c[e+4>>2]|0,d|0,0)|0;v=u;c[v>>2]=e;c[v+4>>2]=C;v=f+d|0;i=w;return v|0}else if((g|0)==16){Ub(e,4,4636,s)|0;c[v>>2]=0;c[t>>2]=c[t>>2]|4;v=(f|0)!=0?f:-1;i=w;return v|0}else if((g|0)==20){e=u;e=Si(c[e>>2]|0,c[e+4>>2]|0,b|0,0)|0;c[u>>2]=e;c[u+4>>2]=C;c[p>>2]=c[o>>2];c[v>>2]=0;v=f;i=w;return v|0}return 0}function Nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;r=u;n=a+68|0;if(c[n>>2]&8){t=-1;i=u;return t|0}q=a+64|0;f=c[q>>2]|0;t=a+48|0;k=c[t>>2]|0;g=f-k|0;do{if(g>>>0>>0){o=a+32|0;h=a+36|0;p=a+20|0;j=a+56|0;l=f;m=g;f=0;a:while(1){if((l|0)==(k|0))g=c[o>>2]|0;else{Ui(c[h>>2]|0,b|0,m|0)|0;g=c[o>>2]|0;c[h>>2]=g;k=(c[t>>2]|0)+m|0;c[t>>2]=k;v=j;v=Si(c[v>>2]|0,c[v+4>>2]|0,m|0,0)|0;l=j;c[l>>2]=v;c[l+4>>2]=C;d=d-m|0;b=b+m|0;f=m+f|0}c[h>>2]=g;if(!k)k=0;else{do{l=Ra[c[p>>2]&63](g,k,c[a>>2]|0)|0;if((l|0)==-1)break a;g=(c[h>>2]|0)+l|0;c[h>>2]=g;v=c[t>>2]|0;k=v-l|0;c[t>>2]=k}while((v|0)!=(l|0));g=c[o>>2]|0}c[h>>2]=g;l=c[q>>2]|0;m=l-k|0;if(d>>>0<=m>>>0){s=5;break}}if((s|0)==5)break;c[n>>2]=c[n>>2]|8;Ub(e,4,4662,r)|0;v=-1;i=u;return v|0}else{g=a+36|0;j=a+56|0;h=g;g=c[g>>2]|0;f=0}}while(0);Ui(g|0,b|0,d|0)|0;c[h>>2]=(c[h>>2]|0)+d;c[t>>2]=(c[t>>2]|0)+d;t=j;t=Si(c[t>>2]|0,c[t+4>>2]|0,d|0,0)|0;v=j;c[v>>2]=t;c[v+4>>2]=C;v=f+d|0;i=u;return v|0}function Ob(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+16|0;k=n;g=a+32|0;d=c[g>>2]|0;m=a+36|0;c[m>>2]=d;h=a+48|0;e=c[h>>2]|0;do{if(e){j=a+20|0;while(1){f=Ra[c[j>>2]&63](d,e,c[a>>2]|0)|0;if((f|0)==-1)break;d=(c[m>>2]|0)+f|0;c[m>>2]=d;o=c[h>>2]|0;e=o-f|0;c[h>>2]=e;if((o|0)==(f|0)){l=6;break}}if((l|0)==6){d=c[g>>2]|0;break}o=a+68|0;c[o>>2]=c[o>>2]|8;Ub(b,4,4662,k)|0;o=0;i=n;return o|0}}while(0);c[m>>2]=d;o=1;i=n;return o|0}function Pb(a){a=a|0;a=a+56|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Qb(a){a=a|0;var b=0,d=0;d=a+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if((b|0)==0&(d|0)==0){d=0;a=0;C=d;return a|0}a=a+56|0;a=Oi(b|0,d|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=C;C=d;return a|0}function Rb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Za[c[a+40>>2]&63](a,b,d,e)|0;return a|0}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return Za[c[a+44>>2]&63](a,b,d,e)|0}function Tb(a){a=a|0;return(c[a+28>>2]|0)!=7|0}function Ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+528|0;g=j;h=j+16|0;a:do{if(a){switch(b|0){case 1:{b=a;f=a+12|0;break}case 2:{b=a+4|0;f=a+16|0;break}case 4:{b=a+8|0;f=a+20|0;break}default:{b=0;break a}}a=c[b>>2]|0;b=c[f>>2]|0;if(b)if(!d)b=1;else{Qi(h|0,0,512)|0;c[g>>2]=e;pi(h,512,d,g)|0;Ua[b&7](h,a);b=1}else b=0}else b=0}while(0);i=j;return b|0}function Vb(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=4;c[a+20>>2]=4;c[a+16>>2]=4;return}function Wb(a,b){a=a|0;b=b|0;return}function Xb(){return Qc(1,36)|0}function Yb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Qc(1,36)|0;if(!e){i=e;return i|0}c[e+20>>2]=d;h=e+16|0;c[h>>2]=a;d=Qc(1,a*52|0)|0;i=e+24|0;c[i>>2]=d;if(!d){d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);i=0;return i|0}if(!a){i=e;return i|0}f=0;while(1){c[d+(f*52|0)>>2]=c[b+(f*36|0)>>2];c[d+(f*52|0)+4>>2]=c[b+(f*36|0)+4>>2];j=c[b+(f*36|0)+8>>2]|0;c[d+(f*52|0)+8>>2]=j;k=c[b+(f*36|0)+12>>2]|0;c[d+(f*52|0)+12>>2]=k;c[d+(f*52|0)+16>>2]=c[b+(f*36|0)+16>>2];c[d+(f*52|0)+20>>2]=c[b+(f*36|0)+20>>2];c[d+(f*52|0)+24>>2]=c[b+(f*36|0)+24>>2];c[d+(f*52|0)+28>>2]=c[b+(f*36|0)+28>>2];c[d+(f*52|0)+32>>2]=c[b+(f*36|0)+32>>2];j=Qc(_(k,j)|0,4)|0;c[d+(f*52|0)+44>>2]=j;f=f+1|0;if(!j)break;if(f>>>0>=a>>>0){g=22;break}d=c[i>>2]|0}if((g|0)==22)return e|0;d=c[i>>2]|0;if(d){f=c[h>>2]|0;if(f){b=0;while(1){d=c[d+(b*52|0)+44>>2]|0;if(d){Uc(d);f=c[h>>2]|0}b=b+1|0;if(b>>>0>=f>>>0)break;d=c[i>>2]|0}d=c[i>>2]|0}Uc(d)}d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);k=0;return k|0}function Zb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)return;f=a+24|0;b=c[f>>2]|0;if(b){g=a+16|0;d=c[g>>2]|0;if(d){e=0;while(1){b=c[b+(e*52|0)+44>>2]|0;if(b){Uc(b);d=c[g>>2]|0}e=e+1|0;if(e>>>0>=d>>>0)break;b=c[f>>2]|0}b=c[f>>2]|0}Uc(b)}b=c[a+28>>2]|0;if(b)Uc(b);Uc(a);return}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c[b+4>>2]|0;e=c[a>>2]|0;g=c[b+8>>2]|0;h=c[a+4>>2]|0;f=c[b+12>>2]|0;l=(_((c[b+24>>2]|0)+-1|0,f)|0)+d|0;i=c[b+16>>2]|0;j=(_((c[b+28>>2]|0)+-1|0,i)|0)+g|0;b=Si(l|0,0,f|0,0)|0;b=b|0-C;f=c[a+8>>2]|0;i=Si(j|0,0,i|0,0)|0;i=i|0-C;j=c[a+12>>2]|0;l=c[a+16>>2]|0;if(!l)return;k=(d>>>0>e>>>0?d:e)+-1|0;g=(g>>>0>h>>>0?g:h)+-1|0;f=(b>>>0>>0?b:f)+-1|0;d=(i>>>0>>0?i:j)+-1|0;e=0;b=c[a+24>>2]|0;while(1){h=c[b>>2]|0;j=((k+h|0)>>>0)/(h>>>0)|0;o=c[b+4>>2]|0;a=((g+o|0)>>>0)/(o>>>0)|0;i=c[b+40>>2]|0;n=Ri(1,0,i|0)|0;m=C;h=Si((((f+h|0)>>>0)/(h>>>0)|0)-j|0,0,-1,-1)|0;h=Si(h|0,C|0,n|0,m|0)|0;h=Ti(h|0,C|0,i|0)|0;o=Si((((d+o|0)>>>0)/(o>>>0)|0)-a|0,0,-1,-1)|0;m=Si(o|0,C|0,n|0,m|0)|0;i=Ti(m|0,C|0,i|0)|0;c[b+8>>2]=h;c[b+12>>2]=i;c[b+16>>2]=j;c[b+20>>2]=a;e=e+1|0;if(e>>>0>=l>>>0)break;else b=b+52|0}return}function $b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];j=b+24|0;e=c[j>>2]|0;i=b+16|0;if(!e)d=j;else{d=c[i>>2]|0;if(!d)d=j;else{f=0;while(1){e=c[e+(f*52|0)+44>>2]|0;if(e){Uc(e);d=c[i>>2]|0}f=f+1|0;if(f>>>0>=d>>>0)break;e=c[j>>2]|0}d=j;e=c[j>>2]|0}Uc(e);c[j>>2]=0}e=c[a+16>>2]|0;c[i>>2]=e;e=Pc(e*52|0)|0;c[d>>2]=e;if(!e){c[j>>2]=0;c[i>>2]=0;return}if(c[i>>2]|0){h=a+24|0;g=0;do{d=e+(g*52|0)|0;e=(c[h>>2]|0)+(g*52|0)|0;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[j>>2]|0;c[e+(g*52|0)+44>>2]=0;g=g+1|0}while(g>>>0<(c[i>>2]|0)>>>0)}c[b+20>>2]=c[a+20>>2];f=a+32|0;d=c[f>>2]|0;g=b+32|0;c[g>>2]=d;if(!d){c[b+28>>2]=0;return}e=Pc(d)|0;d=b+28|0;c[d>>2]=e;if(!e){c[d>>2]=0;c[g>>2]=0;return}else{Ui(e|0,c[a+28>>2]|0,c[f>>2]|0)|0;return}}function ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Qc(1,36)|0;if(!e){a=e;return a|0}c[e+20>>2]=d;c[e+16>>2]=a;d=Qc(a,52)|0;c[e+24>>2]=d;if(!d){d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);a=0;return a|0}else{if(!a){a=e;return a|0}else f=0;do{c[d+(f*52|0)>>2]=c[b+(f*36|0)>>2];c[d+(f*52|0)+4>>2]=c[b+(f*36|0)+4>>2];c[d+(f*52|0)+8>>2]=c[b+(f*36|0)+8>>2];c[d+(f*52|0)+12>>2]=c[b+(f*36|0)+12>>2];c[d+(f*52|0)+16>>2]=c[b+(f*36|0)+16>>2];c[d+(f*52|0)+20>>2]=c[b+(f*36|0)+20>>2];c[d+(f*52|0)+24>>2]=c[b+(f*36|0)+24>>2];c[d+(f*52|0)+32>>2]=c[b+(f*36|0)+32>>2];c[d+(f*52|0)+44>>2]=0;f=f+1|0}while((f|0)!=(a|0));return e|0}return 0}function bc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+64>>2]=b;c[a+52>>2]=d;d=1;return d|0}function cc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+60>>2]=b;c[a+48>>2]=d;d=1;return d|0}function dc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+56>>2]=b;c[a+44>>2]=d;d=1;return d|0}function ec(a,b){a=a|0;b=b|0;var d=0;if(!a){a=0;return a|0}d=Eb(b)|0;if(!d){a=0;return a|0}Kb(d,a,0);Lb(d,c[a+8>>2]|0,0);if(!b)Ib(d,9);else Gb(d,8);Jb(d,1);Hb(d,10);a=d;return a|0}function fc(){return 4703}function gc(a){a=a|0;var b=0;b=Qc(1,84)|0;if(!b){a=0;return a|0}c[b+68>>2]=1;switch(a|0){case 0:{c[b+72>>2]=13;c[b+76>>2]=2;c[b+80>>2]=3;c[b+4>>2]=33;c[b+16>>2]=11;c[b>>2]=34;c[b+20>>2]=1;c[b+24>>2]=5;c[b+8>>2]=1;c[b+12>>2]=1;c[b+28>>2]=1;c[b+32>>2]=1;c[b+36>>2]=12;a=fd()|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}case 2:{c[b+72>>2]=14;c[b+76>>2]=4;c[b+80>>2]=5;c[b+4>>2]=35;c[b+16>>2]=13;c[b>>2]=36;c[b+8>>2]=2;c[b+12>>2]=2;c[b+20>>2]=2;c[b+24>>2]=6;c[b+28>>2]=2;c[b+32>>2]=2;c[b+36>>2]=14;a=Ye(1)|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}default:{Uc(b);a=0;return a|0}}Vb(b+44|0);a=b;return a|0}function hc(a){a=a|0;if(!a)return;Qi(a|0,0,8248)|0;c[a+8200>>2]=-1;c[a+8204>>2]=-1;c[a+8248>>2]=0;return}function ic(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;if(!((a|0)!=0&(b|0)!=0)){b=0;i=d;return b|0}if(!(c[a+68>>2]|0)){Ub(a+44|0,1,4709,d)|0;b=0;i=d;return b|0}else{Ua[c[a+24>>2]&7](c[a+40>>2]|0,b);b=1;i=d;return b|0}return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;if(!((a|0)!=0&(b|0)!=0)){a=0;i=e;return a|0}if(!(c[b+68>>2]|0)){Ub(b+44|0,1,4790,e)|0;a=0;i=e;return a|0}else{a=Za[c[b>>2]&63](a,c[b+40>>2]|0,d,b+44|0)|0;i=e;return a|0}return 0}function kc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Za[c[a+4>>2]&63](c[a+40>>2]|0,b,d,a+44|0)|0;return b|0}function lc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(!a){e=0;return e|0}if(!(c[a+68>>2]|0)){e=0;return e|0}e=Qa[c[a+28>>2]&3](c[a+40>>2]|0,b,d,e,f,g,a+44|0)|0;return e|0}function mc(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;if(!((d|0)!=0&((a|0)!=0&(b|0)!=0&(e|0)!=0))){i=0;return i|0}if(!(c[a+68>>2]|0)){i=0;return i|0}i=Ya[c[a+8>>2]&3](c[a+40>>2]|0,d,e,f,g,h,i,j,k,b,a+44|0)|0;return i|0}function nc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!((a|0)!=0&(d|0)!=0&(f|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Va[c[a+12>>2]&7](c[a+40>>2]|0,b,d,e,f,a+44|0)|0;return b|0}function oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(!((a|0)!=0&(b|0)!=0)){e=0;return e|0}if(!(c[a+68>>2]|0)){e=0;return e|0}e=$a[c[a+32>>2]&3](c[a+40>>2]|0,b,d,a+44|0,e)|0;return e|0}function pc(a,b){a=a|0;b=b|0;if(!a){b=0;return b|0}b=Ra[c[a+36>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function qc(a){a=a|0;var b=0;b=Qc(1,84)|0;if(!b){a=0;return a|0}c[b+68>>2]=0;switch(a|0){case 0:{c[b+4>>2]=15;c[b+12>>2]=16;c[b>>2]=37;c[b+8>>2]=3;c[b+16>>2]=1;c[b+20>>2]=38;a=Xc()|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}case 2:{c[b+4>>2]=17;c[b+12>>2]=18;c[b>>2]=39;c[b+8>>2]=4;c[b+16>>2]=2;c[b+20>>2]=40;a=Ye(0)|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}default:{Uc(b);a=0;return a|0}}Vb(b+44|0);a=b;return a|0}function rc(b){b=b|0;if(!b)return;Qi(b|0,0,18708)|0;c[b+5592>>2]=6;c[b+18684>>2]=0;c[b+5596>>2]=64;c[b+5600>>2]=64;c[b+44>>2]=0;c[b+5612>>2]=-1;c[b+18188>>2]=1;c[b+18192>>2]=1;a[b+18688>>0]=0;c[b+18196>>2]=-1;c[b+18200>>2]=-1;g[b+4792>>2]=0.0;c[b+4788>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+18692>>2]=0;return}function sc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(b|0)!=0&(d|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Za[c[a+20>>2]&63](c[a+40>>2]|0,b,d,a+44|0)|0;return b|0}function tc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(d|0)!=0)){d=0;return d|0}if(c[a+68>>2]|0){d=0;return d|0}d=Za[c[a>>2]&63](c[a+40>>2]|0,d,b,a+44|0)|0;return d|0}function uc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Ra[c[a+4>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function vc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Ra[c[a+12>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function wc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Ra[c[a+16>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function xc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=h<<2;i=_(k,h)|0;j=d+18704|0;h=e[j>>1]|0;b[j>>1]=(h&32768|0)==0?-32512:(h|256)&65535;c[d+5608>>2]=1;a[d+18690>>0]=2;j=Pc(i+k|0)|0;h=d+18696|0;c[h>>2]=j;if(!j){g=0;return g|0}Ui(j|0,f|0,i|0)|0;Ui((c[h>>2]|0)+i|0,g|0,k|0)|0;g=1;return g|0}function yc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!((d|0)!=0&((a|0)!=0&(f|0)!=0))){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Va[c[a+8>>2]&7](c[a+40>>2]|0,b,d,e,f,a+44|0)|0;return b|0}function zc(a){a=a|0;var b=0,d=0;if(!a)return;b=a+40|0;d=c[b>>2]|0;if(!(c[a+68>>2]|0))Ta[c[a+16>>2]&7](d);else Ta[c[a+20>>2]&7](d);c[b>>2]=0;Uc(a);return}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;Xa[c[a+72>>2]&15](c[a+40>>2]|0,b,d);return}function Bc(a){a=a|0;if(!a){a=0;return a|0}a=Wa[c[a+76>>2]&15](c[a+40>>2]|0)|0;return a|0}function Cc(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a>>2]|0;d=c[b+48>>2]|0;if(d){Uc(d);b=c[a>>2]|0}Uc(b);c[a>>2]=0;return}function Dc(a){a=a|0;if(!a){a=0;return a|0}a=Wa[c[a+80>>2]&15](c[a+40>>2]|0)|0;return a|0}function Ec(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;bd(b);c[a>>2]=0;return}function Fc(a,b){a=a|0;b=b|0;return Gc(a,1048576,b)|0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!a){b=0;return b|0}d=_h(a,(c|0)==0?4869:4872)|0;if(!d){b=0;return b|0}a=vb(b,c)|0;if(!a){Yh(d)|0;b=0;return b|0}else{Kb(a,d,6);fi(d,0,2)|0;b=ii(d)|0;fi(d,0,0)|0;Lb(a,b,((b|0)<0)<<31>>31);Gb(a,19);Ib(a,20);Jb(a,21);Hb(a,22);b=a;return b|0}return 0}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[d>>2]|0)+(c[d+8>>2]|0)|0;d=d+4|0;e=c[d>>2]|0;f=g-e|0;if((g|0)==(e|0)){g=-1;return g|0}g=f>>>0>b>>>0?b:f;Ui(a|0,e|0,g|0)|0;c[d>>2]=(c[d>>2]|0)+g;return g|0}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+4|0;e=c[k>>2]|0;i=d+8|0;g=c[i>>2]|0;j=e-(c[d>>2]|0)|0;f=(g|0)==0?1:g;while(1)if((f-j|0)>>>0>>0)f=f<<1;else{h=f;break}if((h|0)!=(g|0)){e=Pc(h)|0;if(!e){b=-1;return b|0}f=c[d>>2]|0;if(f){Ui(e|0,f|0,j|0)|0;Uc(c[d>>2]|0)}c[d>>2]=e;e=e+j|0;c[k>>2]=e;c[i>>2]=h}Ui(e|0,a|0,b|0)|0;c[k>>2]=(c[k>>2]|0)+b;return b|0}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=(c[b>>2]|0)+(c[b+8>>2]|0)|0;b=b+4|0;d=c[b>>2]|0;e=f-d|0;if((f|0)==(d|0)){f=-1;return f|0}c[b>>2]=d+a;f=e>>>0>a>>>0?a:e;return f|0}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d+8>>2]|0;c[d+4>>2]=(c[d>>2]|0)+(0>(b|0)|0==(b|0)&e>>>0>a>>>0?a:e);return 1}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;b=ci(a,1,b,c)|0;return((b|0)!=0?b:-1)|0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;return ki(a,1,b,c)|0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;c=(fi(c,a,1)|0)==0;C=c?b:-1;return(c?a:-1)|0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;return(fi(c,a,0)|0)==0|0}function Pc(a){a=a|0;if(!a)a=0;else a=Fi(a)|0;return a|0}function Qc(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Hi(a,b)|0;return a|0}function Rc(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;do{if(a)if(!(Ji(b,16,a)|0)){b=c[b>>2]|0;break}else{c[b>>2]=0;b=0;break}else b=0}while(0);i=d;return b|0}function Sc(a){a=a|0;Gi(a);return}function Tc(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Ii(a,b)|0;return b|0}function Uc(a){a=a|0;Gi(a);return}function Vc(a){a=a|0;var b=0,d=0;b=696;while(1){d=c[b>>2]|0;if((d|0)==-1|(d|0)==(a|0))break;else b=b+12|0}return b+4|0}function Wc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0))return;c[a+172>>2]=c[b+4>>2];c[a+168>>2]=c[b>>2];return}function Xc(){var b=0,d=0;b=Qc(1,208)|0;if(!b){b=0;return b|0}c[b>>2]=0;d=b+184|0;a[d>>0]=a[d>>0]&-3;d=Pc(1e3)|0;c[b+44>>2]=d;if(!d){Yc(b);d=0;return d|0}c[b+48>>2]=1e3;d=qg()|0;c[b+192>>2]=d;if(!d){Yc(b);d=0;return d|0}d=qg()|0;c[b+188>>2]=d;if(d){d=b;return d|0}Yc(b);d=0;return d|0}function Yc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!b)return;if(!(c[b>>2]|0)){d=b+36|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0}d=b+24|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+28>>2]=0}d=b+44|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+48>>2]=0}}else{d=b+12|0;e=c[d>>2]|0;if(e){sd(e);Uc(c[d>>2]|0);c[d>>2]=0}d=b+16|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+20>>2]=0}}Yf(c[b+204>>2]|0);d=b+88|0;h=b+164|0;e=c[h>>2]|0;if(e){f=_(c[b+112>>2]|0,c[b+116>>2]|0)|0;if(f){g=0;while(1){sd(e);g=g+1|0;if((g|0)==(f|0))break;else e=e+5640|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=b+124|0;e=c[h>>2]|0;if(e){i=b+120|0;f=c[i>>2]|0;if(f){g=0;while(1){e=c[e+(g<<3)>>2]|0;if(e){Uc(e);f=c[i>>2]|0}g=g+1|0;if(g>>>0>=f>>>0)break;e=c[h>>2]|0}e=c[h>>2]|0}c[i>>2]=0;Uc(e);c[h>>2]=0}i=b+144|0;Uc(c[i>>2]|0);c[i>>2]=0;c[b+128>>2]=0;i=b+108|0;Uc(c[i>>2]|0);c[i>>2]=0;if(!(a[b+184>>0]&2)){i=b+176|0;Uc(c[i>>2]|0);c[i>>2]=0}e=d+100|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=b+188|0;rg(c[i>>2]|0);c[i>>2]=0;rg(c[b+192>>2]|0);c[i>>2]=0;i=b+196|0;bd(c[i>>2]|0);c[i>>2]=0;i=b+80|0;Zb(c[i>>2]|0);c[i>>2]=0;i=b+84|0;Zb(c[i>>2]|0);c[i>>2]=0;Uc(b);return}function Zc(d,e,f,j){d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0;ka=i;i=i+320|0;fa=ka+296|0;ea=ka+288|0;ja=ka+280|0;ia=ka+272|0;ha=ka+264|0;ga=ka+256|0;da=ka+248|0;ca=ka+240|0;W=ka+232|0;U=ka+224|0;T=ka+216|0;S=ka+208|0;R=ka+200|0;Q=ka+192|0;P=ka+184|0;v=ka+176|0;u=ka+168|0;t=ka+160|0;s=ka+152|0;q=ka+144|0;I=ka+136|0;H=ka+128|0;N=ka+112|0;G=ka+104|0;F=ka+96|0;E=ka+88|0;C=ka+80|0;B=ka+72|0;A=ka+64|0;z=ka+56|0;y=ka+48|0;x=ka+32|0;w=ka+24|0;p=ka+16|0;m=ka+8|0;l=ka;K=ka+309|0;L=ka+300|0;if(!((d|0)!=0&(e|0)!=0&(f|0)!=0)){j=0;i=ka;return j|0}ba=e+5592|0;k=c[ba>>2]|0;if((k+-1|0)>>>0>32){c[l>>2]=k;c[l+4>>2]=33;Ub(j,1,4875,l)|0;j=0;i=ka;return j|0}$=d+112|0;c[$>>2]=1;aa=d+116|0;c[aa>>2]=1;J=e+18704|0;do{if(!(b[J>>1]|0)){switch(c[e+18676>>2]|0){case 1:{b[J>>1]=3;c[e+18700>>2]=1302083;c[e+18680>>2]=1041666;l=1;break}case 2:{b[J>>1]=3;c[e+18700>>2]=651041;c[e+18680>>2]=520833;l=1;break}case 3:{b[J>>1]=4;c[e+18700>>2]=1302083;c[e+18680>>2]=1041666;l=1;break}default:l=0}k=c[e+18684>>2]|0;a:do{if((k|0)>=4)if((k|0)<33024){switch(k|0){case 4:break;default:{Z=13;break a}}b[J>>1]=4;break}else{switch(k|0){case 33024:break;default:{Z=13;break a}}b[J>>1]=-32512;break}else{switch(k|0){case 3:break;default:{Z=13;break a}}b[J>>1]=3}}while(0);if((Z|0)==13?(l|0)==0:0)break;Ub(j,2,4931,m)|0}}while(0);D=e+18700|0;k=c[D>>2]|0;do{if((k|0)<1){r=+g[e+4792+((c[e+4788>>2]|0)+-1<<2)>>2];if(r>0.0){X=c[f+24>>2]|0;p=_(c[X+8>>2]|0,c[f+16>>2]|0)|0;p=_(p,c[X+12>>2]|0)|0;la=+((_(p,c[X+24>>2]|0)|0)>>>0);c[D>>2]=~~+M(+(la/(r*8.0*+((c[X>>2]|0)>>>0)*+((c[X+4>>2]|0)>>>0))));break}else{c[D>>2]=0;break}}else{o=c[f+24>>2]|0;X=_(c[o+8>>2]|0,c[f+16>>2]|0)|0;X=_(X,c[o+12>>2]|0)|0;r=+((_(X,c[o+24>>2]|0)|0)>>>0);k=_(k<<3,c[o>>2]|0)|0;r=r/+((_(k,c[o+4>>2]|0)|0)>>>0);o=e+4788|0;k=c[o>>2]|0;if(k){m=k;k=0;n=0;while(1){l=e+4792+(n<<2)|0;if(+g[l>>2]>2]=r;l=c[o>>2]|0;k=1}else l=m;n=n+1|0;if(n>>>0>=l>>>0)break;else m=l}if(k)Ub(j,2,5068,p)|0}}}while(0);k=b[J>>1]|0;b:do{if((k+-3&65535)>=4){if(k<<16>>16==7){Ub(j,2,7228,q)|0;b[J>>1]=0;k=0;break}if((k+-256&65535)<524){Ub(j,2,7283,s)|0;b[J>>1]=0;k=0;break}if((k+-1024&65535)<1180){Ub(j,2,7331,t)|0;b[J>>1]=0;k=0;break}if(k<<16>>16<=-1)switch(k<<16>>16){case-32512:{k=-32512;break b}case-32768:{Ub(j,2,7373,u)|0;b[J>>1]=0;k=0;break b}default:{Ub(j,2,7461,v)|0;b[J>>1]=0;k=0;break b}}}else{if((k+-5&65535)<2){Ub(j,2,5160,w)|0;b[J>>1]=0;k=0;break}c[e>>2]=0;c[e+12>>2]=1;c[e+16>>2]=1;a[e+18689>>0]=67;a[e+18688>>0]=1;c[e+4>>2]=0;c[e+8>>2]=0;c[e+18180>>2]=0;c[e+18184>>2]=0;c[e+5596>>2]=32;c[e+5600>>2]=32;c[e+5604>>2]=0;c[e+5612>>2]=-1;c[e+18188>>2]=1;c[e+18192>>2]=1;c[e+5608>>2]=1;l=e+4788|0;m=c[l>>2]|0;if((m|0)>1){la=+g[e+4792+(m+-1<<2)>>2];c[x>>2]=m;h[x+8>>3]=la;Ub(j,2,5222,x)|0;c[e+4792>>2]=c[e+4792+((c[l>>2]|0)+-1<<2)>>2];c[l>>2]=1;k=b[J>>1]|0}c:do{switch(k&65535|0){case 3:{k=c[ba>>2]|0;if((k|0)>6){c[y>>2]=k+1;Ub(j,2,5395,y)|0;c[ba>>2]=6;k=6}break}case 4:{k=c[ba>>2]|0;if((k|0)<2){c[z>>2]=k+1;Ub(j,2,5541,z)|0;c[ba>>2]=1;k=1;break c}if((k|0)>7){c[A>>2]=k+1;Ub(j,2,5695,A)|0;c[ba>>2]=7;k=7}break}default:k=c[ba>>2]|0}}while(0);l=e+40|0;c[l>>2]=c[l>>2]|1;l=e+5620|0;c[l>>2]=k+-1;if((k|0)>1){k=0;do{c[e+5624+(k<<2)>>2]=256;c[e+5756+(k<<2)>>2]=256;k=k+1|0}while((k|0)<(c[l>>2]|0))}c[e+44>>2]=4;if((b[J>>1]|0)==4){k=c[ba>>2]|0;c[e+96>>2]=1;c[e+48>>2]=0;c[e+52>>2]=0;c[e+56>>2]=1;X=k+-1|0;c[e+60>>2]=X;c[e+64>>2]=3;c[e+80>>2]=4;c[e+244>>2]=1;c[e+196>>2]=X;c[e+200>>2]=0;c[e+204>>2]=1;c[e+208>>2]=k;c[e+212>>2]=3;c[e+228>>2]=4;k=2}else k=0;c[e+4784>>2]=k;c[e+20>>2]=1;k=c[D>>2]|0;if((k|0)>=1){if((k|0)>1302083){Ub(j,2,5998,C)|0;c[D>>2]=1302083}}else{c[D>>2]=1302083;Ub(j,2,5849,B)|0}k=e+18680|0;l=c[k>>2]|0;if((l|0)>=1){if((l|0)>1041666){Ub(j,2,6320,F)|0;c[k>>2]=1041666}}else{c[k>>2]=1041666;Ub(j,2,6171,E)|0}l=c[f+16>>2]|0;n=c[f+24>>2]|0;o=c[n+8>>2]|0;k=_(o,l)|0;p=c[n+12>>2]|0;k=_(k,p)|0;la=+((_(k,c[n+24>>2]|0)|0)>>>0);k=_(c[D>>2]<<3,c[n>>2]|0)|0;g[e+4792>>2]=la/+((_(k,c[n+4>>2]|0)|0)>>>0);k=b[J>>1]|0;d:do{if((l|0)==3){l=n+28|0;m=n+32|0;if(!((c[l>>2]|0)!=12|c[m>>2])){l=n+80|0;m=n+84|0;if(!((c[l>>2]|0)!=12|c[m>>2])){l=n+132|0;m=n+136|0;if(!((c[l>>2]|0)!=12|c[m>>2])){switch(k&65535|0){case 3:{if(p>>>0>1080|o>>>0>2048){c[H>>2]=o;c[H+4>>2]=p;Ub(j,2,6892,H)|0;break d}break}case 4:{if(p>>>0>2160|o>>>0>4096){c[I>>2]=o;c[I+4>>2]=p;Ub(j,2,7063,I)|0;break d}break}default:{}}break b}else{p=l;k=m;l=2}}else{p=l;k=m;l=1}}else{p=l;k=m;l=0}a[K>>0]=a[6659]|0;a[K+1>>0]=a[6660]|0;a[K+2>>0]=a[6661]|0;a[K+3>>0]=a[6662]|0;a[K+4>>0]=a[6663]|0;a[K+5>>0]=a[6664]|0;a[K+6>>0]=a[6665]|0;m=L;n=6666;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));X=(c[k>>2]|0)!=0?K:L;L=c[p>>2]|0;c[N>>2]=l;c[N+4>>2]=L;c[N+8>>2]=X;Ub(j,2,6675,N)|0}else{c[G>>2]=l;Ub(j,2,6493,G)|0}}while(0);b[J>>1]=0;k=0}}while(0);c[d+168>>2]=c[e+18680>>2];X=d+88|0;b[X>>1]=k;N=d+181|0;K=a[N>>0]&-2|c[e+20>>2]&1;a[N>>0]=K;L=e+24|0;K=(c[L>>2]&255)<<1&2|K&-3;a[N>>0]=K;a[N>>0]=K&-5|(c[e+28>>2]&255)<<2&4;do{if((c[L>>2]|0)!=0?(O=e+32|0,(c[O>>2]|0)!=0):0){k=_((c[e+4788>>2]|0)*12|0,c[ba>>2]|0)|0;l=Pc(k)|0;c[d+176>>2]=l;if(l){Ui(l|0,c[O>>2]|0,k|0)|0;break}Ub(j,1,7520,P)|0;j=0;i=ka;return j|0}}while(0);n=d+100|0;c[n>>2]=c[e+12>>2];o=d+104|0;c[o>>2]=c[e+16>>2];m=d+92|0;c[m>>2]=c[e+4>>2];p=d+96|0;c[p>>2]=c[e+8>>2];l=e+36|0;k=c[l>>2]|0;do{if(!k){k=fc()|0;l=Pc((wi(k)|0)+29|0)|0;c[d+108>>2]=l;if(l){c[S>>2]=7697;c[S+4>>2]=k;ni(l,7692,S)|0;break}Ub(j,1,7646,R)|0;j=0;i=ka;return j|0}else{k=Pc((wi(k)|0)+1|0)|0;c[d+108>>2]=k;if(k){vi(k,c[l>>2]|0)|0;break}Ub(j,1,7592,Q)|0;j=0;i=ka;return j|0}}while(0);k=(c[f+8>>2]|0)-(c[m>>2]|0)|0;l=c[f+12>>2]|0;if(!(c[e>>2]|0)){c[n>>2]=k;c[o>>2]=l-(c[p>>2]|0)}else{S=c[n>>2]|0;c[$>>2]=(k+-1+S|0)/(S|0)|0;S=c[o>>2]|0;c[aa>>2]=(l+-1-(c[p>>2]|0)+S|0)/(S|0)|0}if(a[e+18688>>0]|0){a[d+180>>0]=a[e+18689>>0]|0;a[N>>0]=a[N>>0]|8}S=Qc(_(c[aa>>2]|0,c[$>>2]|0)|0,5640)|0;L=d+164|0;c[L>>2]=S;if(!S){Ub(j,1,7726,T)|0;j=0;i=ka;return j|0}K=e+4784|0;A=c[K>>2]|0;do{if(A){w=e+48|0;B=c[ba>>2]|0;C=c[f+16>>2]|0;D=c[e+4788>>2]|0;E=_(C,B)|0;F=Qc(_(E,D)|0,4)|0;if(!F){Ub(j,1,7780,U)|0;break}m=c[w>>2]|0;s=e+60|0;k=c[s>>2]|0;if(m>>>0>>0){q=_(m,C)|0;t=e+52|0;u=e+64|0;v=e+56|0;l=c[u>>2]|0;while(1){n=c[t>>2]|0;if(n>>>0>>0){k=c[v>>2]|0;p=n;o=n+q|0;while(1){if(!k)k=0;else{l=o;n=0;while(1){c[F+(l<<2)>>2]=1;n=n+1|0;k=c[v>>2]|0;if(n>>>0>=k>>>0)break;else l=l+E|0}l=c[u>>2]|0}p=p+1|0;if(p>>>0>=l>>>0)break;else o=o+1|0}k=c[s>>2]|0}m=m+1|0;if(m>>>0>=k>>>0)break;else q=q+C|0}}if(A>>>0>1){z=1;do{k=w;w=w+148|0;v=c[k+8>>2]|0;u=k+156|0;n=c[u>>2]|0;v=n>>>0>v>>>0?v:0;o=c[w>>2]|0;x=k+160|0;l=c[x>>2]|0;if(o>>>0>>0){q=_(o,C)|0;y=k+152|0;s=k+164|0;t=_(v,E)|0;m=c[s>>2]|0;k=n;while(1){n=c[y>>2]|0;if(n>>>0>>0){p=n;n=n+q|0;while(1){if(v>>>0>>0){l=n+t|0;m=v;while(1){c[F+(l<<2)>>2]=1;m=m+1|0;k=c[u>>2]|0;if(m>>>0>=k>>>0)break;else l=l+E|0}m=c[s>>2]|0}p=p+1|0;if(p>>>0>=m>>>0)break;else n=n+1|0}l=c[x>>2]|0}o=o+1|0;if(o>>>0>=l>>>0)break;else q=q+C|0}}z=z+1|0}while((z|0)!=(A|0))}if((D|0)!=0?(V=(C|0)==0,(B|0)!=0):0){l=0;q=0;k=0;do{if(!V){p=l;o=0;while(1){m=0;n=p;while(1){k=(c[F+(n<<2)>>2]|0)!=1|k;m=m+1|0;if((m|0)==(C|0))break;else n=n+1|0}o=o+1|0;if((o|0)==(B|0))break;else p=p+C|0}l=E+l|0}q=q+1|0}while((q|0)!=(D|0));if(k)Ub(j,1,7828,W)|0}Uc(F)}}while(0);e:do{if(_(c[aa>>2]|0,c[$>>2]|0)|0){w=e+4788|0;x=e+40|0;y=e+44|0;z=e+18690|0;A=f+16|0;l=e+18696|0;B=f+24|0;C=e+5596|0;D=e+5600|0;E=e+5604|0;F=e+5608|0;G=e+5612|0;H=e+5616|0;I=e+5620|0;J=0;f:while(1){q=c[L>>2]|0;s=q+(J*5640|0)|0;W=c[w>>2]|0;k=q+(J*5640|0)+8|0;c[k>>2]=W;if(W){m=((b[X>>1]|0)+-3&65535)<4;o=0;do{n=(a[N>>0]&4)==0;do{if(!m)if(n){c[q+(J*5640|0)+20+(o<<2)>>2]=c[e+4792+(o<<2)>>2];break}else{c[q+(J*5640|0)+5184+(o<<2)>>2]=c[e+5192+(o<<2)>>2];break}else{if(!n)c[q+(J*5640|0)+5184+(o<<2)>>2]=c[e+5192+(o<<2)>>2];c[q+(J*5640|0)+20+(o<<2)>>2]=c[e+4792+(o<<2)>>2]}}while(0);o=o+1|0}while(o>>>0<(c[k>>2]|0)>>>0)}c[s>>2]=c[x>>2];c[q+(J*5640|0)+4>>2]=c[y>>2];p=q+(J*5640|0)+16|0;c[p>>2]=a[z>>0];k=q+(J*5640|0)+5636|0;m=a[k>>0]|0;a[k>>0]=m&-5;if(!(c[K>>2]|0))c[q+(J*5640|0)+420>>2]=0;else{a[k>>0]=m|4;m=c[K>>2]|0;if(!m)k=0;else{n=J+1|0;o=0;k=0;do{if((n|0)==(c[e+48+(o*148|0)+48>>2]|0)){c[q+(J*5640|0)+424+(k*148|0)>>2]=c[e+48+(k*148|0)>>2];c[q+(J*5640|0)+424+(k*148|0)+4>>2]=c[e+48+(k*148|0)+4>>2];c[q+(J*5640|0)+424+(k*148|0)+8>>2]=c[e+48+(k*148|0)+8>>2];c[q+(J*5640|0)+424+(k*148|0)+12>>2]=c[e+48+(k*148|0)+12>>2];c[q+(J*5640|0)+424+(k*148|0)+16>>2]=c[e+48+(k*148|0)+16>>2];c[q+(J*5640|0)+424+(k*148|0)+32>>2]=c[e+48+(k*148|0)+32>>2];c[q+(J*5640|0)+424+(k*148|0)+48>>2]=c[e+48+(k*148|0)+48>>2];k=k+1|0}o=o+1|0}while(o>>>0>>0)}c[q+(J*5640|0)+420>>2]=k+-1}W=Qc(c[A>>2]|0,1080)|0;v=q+(J*5640|0)+5584|0;c[v>>2]=W;if(!W){Z=149;break}do{if(!(c[l>>2]|0)){g:do{if((c[p>>2]|0)==1){k=c[A>>2]|0;if(k>>>0<=2){n=k;break}m=c[B>>2]|0;k=c[m>>2]|0;do{if((k|0)==(c[m+52>>2]|0)){if((k|0)!=(c[m+104>>2]|0))break;k=c[m+4>>2]|0;if((k|0)!=(c[m+56>>2]|0))break;if((k|0)==(c[m+108>>2]|0)){Z=175;break g}}}while(0);Ub(j,2,8224,fa)|0;c[p>>2]=0;Z=175}else Z=175}while(0);if((Z|0)==175){Z=0;n=c[A>>2]|0}if(!n)break;k=c[B>>2]|0;m=0;do{if(!(c[k+(m*52|0)+32>>2]|0))c[(c[v>>2]|0)+(m*1080|0)+1076>>2]=1<<(c[k+(m*52|0)+24>>2]|0)+-1;m=m+1|0}while(m>>>0>>0);Y=n;Z=166}else{n=c[A>>2]|0;n=_(n<<2,n)|0;k=Pc(n)|0;o=(c[l>>2]|0)+n|0;if(!k){Z=152;break f}c[p>>2]=2;m=Pc(n)|0;c[q+(J*5640|0)+5608>>2]=m;if(!m){Z=154;break f}Ui(m|0,c[l>>2]|0,n|0)|0;Ui(k|0,c[l>>2]|0,n|0)|0;m=Pc(n)|0;n=q+(J*5640|0)+5604|0;c[n>>2]=m;if(!m){Z=156;break f}if(!(Vg(k,m,c[A>>2]|0)|0)){Z=158;break f}m=Pc(c[A>>2]<<3)|0;c[q+(J*5640|0)+5600>>2]=m;if(!m){Z=160;break f}If(m,c[A>>2]|0,c[n>>2]|0);Uc(k);k=c[A>>2]|0;if(k){m=c[v>>2]|0;n=0;do{c[m+(n*1080|0)+1076>>2]=c[o+(n<<2)>>2];n=n+1|0}while(n>>>0>>0)}if(!(_c(s,f)|0)){Z=167;break f}Y=c[A>>2]|0;Z=166}}while(0);if((Z|0)==166?(Z=0,(Y|0)!=0):0){u=0;do{s=c[v>>2]|0;t=s+(u*1080|0)|0;c[t>>2]=c[x>>2]&1;n=c[ba>>2]|0;o=s+(u*1080|0)+4|0;c[o>>2]=n;k=c[C>>2]|0;if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+8>>2]=k;k=c[D>>2]|0;if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+12>>2]=k;c[s+(u*1080|0)+16>>2]=c[E>>2];W=c[F>>2]|0;c[s+(u*1080|0)+20>>2]=(W|0)==0&1;c[s+(u*1080|0)+24>>2]=(W|0)!=0?2:0;c[s+(u*1080|0)+804>>2]=2;if((u|0)==(c[G>>2]|0))k=c[H>>2]|0;else k=0;c[s+(u*1080|0)+808>>2]=k;do{if(!(c[x>>2]&1)){if(!n)break;else k=0;do{c[s+(u*1080|0)+812+(k<<2)>>2]=15;c[s+(u*1080|0)+944+(k<<2)>>2]=15;k=k+1|0}while(k>>>0<(c[o>>2]|0)>>>0)}else{if((n|0)>0){o=n;q=0}else break;while(1){p=o;o=o+-1|0;k=c[I>>2]|0;do{if((q|0)<(k|0)){k=c[e+5624+(q<<2)>>2]|0;if((k|0)<1)c[s+(u*1080|0)+812+(o<<2)>>2]=1;else{if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+812+(o<<2)>>2]=k}k=c[e+5756+(q<<2)>>2]|0;if((k|0)<1){c[s+(u*1080|0)+944+(o<<2)>>2]=1;break}if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+944+(o<<2)>>2]=k}else{W=k+-1|0;m=q-W|0;k=c[e+5624+(W<<2)>>2]>>m;m=c[e+5756+(W<<2)>>2]>>m;if((k|0)<1)c[s+(u*1080|0)+812+(o<<2)>>2]=1;else{if((k|0)>1){n=0;do{k=k>>1;n=n+1|0}while((k|0)>1);k=n}else k=0;c[s+(u*1080|0)+812+(o<<2)>>2]=k}if((m|0)<1){c[s+(u*1080|0)+944+(o<<2)>>2]=1;break}if((m|0)>1){k=0;do{m=m>>1;k=k+1|0}while((m|0)>1)}else k=0;c[s+(u*1080|0)+944+(o<<2)>>2]=k}}while(0);if((p|0)<=1)break;else q=q+1|0}}}while(0);Mg(t,c[(c[B>>2]|0)+(u*52|0)+24>>2]|0);u=u+1|0}while(u>>>0<(c[A>>2]|0)>>>0)}J=J+1|0;if(J>>>0>=(_(c[aa>>2]|0,c[$>>2]|0)|0)>>>0)break e}if((Z|0)==149){Ub(j,1,7867,ca)|0;j=0;i=ka;return j|0}else if((Z|0)==152){Ub(j,1,7931,da)|0;j=0;i=ka;return j|0}else if((Z|0)==154){Uc(k);Ub(j,1,7974,ga)|0;j=0;i=ka;return j|0}else if((Z|0)==156){Uc(k);Ub(j,1,8032,ha)|0;j=0;i=ka;return j|0}else if((Z|0)==158){Uc(k);Ub(j,1,8092,ia)|0;j=0;i=ka;return j|0}else if((Z|0)==160){Uc(k);Ub(j,1,8140,ja)|0;j=0;i=ka;return j|0}else if((Z|0)==167){Ub(j,1,8190,ea)|0;j=0;i=ka;return j|0}}else l=e+18696|0}while(0);k=c[l>>2]|0;if(!k){j=1;i=ka;return j|0}Uc(k);c[l>>2]=0;j=1;i=ka;return j|0}function _c(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[b+16>>2]|0)!=2){b=1;return b|0}m=b+5604|0;r=b+5616|0;e=c[r>>2]|0;n=b+5620|0;do{if(c[m>>2]|0){do{if((e|0)==(c[n>>2]|0)){e=e+10|0;c[n>>2]=e;f=b+5612|0;e=Tc(c[f>>2]|0,e*20|0)|0;if(e){c[f>>2]=e;q=c[r>>2]|0;Qi(e+(q*20|0)|0,0,((c[n>>2]|0)-q|0)*20|0)|0;e=c[r>>2]|0;break}Uc(c[f>>2]|0);c[f>>2]=0;c[n>>2]=0;c[r>>2]=0;b=0;return b|0}else f=b+5612|0}while(0);k=c[f>>2]|0;i=k+(e*20|0)|0;l=k+(e*20|0)+12|0;f=c[l>>2]|0;if(f){Uc(f);c[l>>2]=0}c[k+(e*20|0)+8>>2]=1;c[k+(e*20|0)+4>>2]=1;c[i>>2]=2;f=c[d+16>>2]|0;f=_(f,f)|0;h=f<<2;j=Pc(h)|0;c[l>>2]=j;if(!j){b=0;return b|0}else{Xa[c[768+(c[i>>2]<<2)>>2]&15](c[m>>2]|0,j,f);c[k+(e*20|0)+16>>2]=h;e=(c[r>>2]|0)+1|0;c[r>>2]=e;j=2;break}}else{j=1;i=0}}while(0);do{if((e|0)==(c[n>>2]|0)){f=e+10|0;c[n>>2]=f;e=b+5612|0;f=Tc(c[e>>2]|0,f*20|0)|0;if(!f){Uc(c[e>>2]|0);c[e>>2]=0;c[n>>2]=0;c[r>>2]=0;b=0;return b|0}else{c[e>>2]=f;h=c[r>>2]|0;Qi(f+(h*20|0)|0,0,((c[n>>2]|0)-h|0)*20|0)|0;if(!i){i=0;break}i=f+((h+-1|0)*20|0)|0;break}}else e=b+5612|0}while(0);m=c[e>>2]|0;n=c[r>>2]|0;q=m+(n*20|0)|0;o=m+(n*20|0)+12|0;e=c[o>>2]|0;if(e){Uc(e);c[o>>2]=0}p=j+1|0;c[m+(n*20|0)+8>>2]=j;c[m+(n*20|0)+4>>2]=2;c[q>>2]=2;d=d+16|0;e=c[d>>2]|0;f=e<<2;l=Pc(f)|0;c[o>>2]=l;if(!l){b=0;return b|0}h=Pc(f)|0;if(!h){Uc(c[o>>2]|0);c[o>>2]=0;b=0;return b|0}if(e){j=0;k=h;l=c[b+5584>>2]|0;while(1){g[k>>2]=+(c[l+1076>>2]|0);j=j+1|0;if((j|0)==(e|0))break;else{k=k+4|0;l=l+1080|0}}}Xa[c[768+(c[q>>2]<<2)>>2]&15](h,c[o>>2]|0,e);Uc(h);c[m+(n*20|0)+16>>2]=f;c[r>>2]=(c[r>>2]|0)+1;j=b+5628|0;e=c[j>>2]|0;h=b+5632|0;do{if((e|0)==(c[h>>2]|0)){e=e+10|0;c[h>>2]=e;f=b+5624|0;e=Tc(c[f>>2]|0,e*20|0)|0;if(e){c[f>>2]=e;b=c[j>>2]|0;Qi(e+(b*20|0)|0,0,((c[h>>2]|0)-b|0)*20|0)|0;e=c[j>>2]|0;break}Uc(c[f>>2]|0);c[f>>2]=0;c[h>>2]=0;c[j>>2]=0;b=0;return b|0}else f=b+5624|0}while(0);b=c[f>>2]|0;c[b+(e*20|0)+8>>2]=i;r=b+(e*20|0)+16|0;a[r>>0]=a[r>>0]|1;c[b+(e*20|0)+4>>2]=c[d>>2];c[b+(e*20|0)>>2]=p;c[b+(e*20|0)+12>>2]=q;c[j>>2]=(c[j>>2]|0)+1;b=1;return b|0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ad(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=Xb()|0;k=b+80|0;c[k>>2]=j;if(!j){k=0;return k|0}f=b+192|0;if((sg(c[f>>2]|0,23,e)|0)!=0?(sg(c[f>>2]|0,24,e)|0)!=0:0){h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}}else vg(h);f=b+188|0;if((sg(c[f>>2]|0,25,e)|0)!=0?(sg(c[f>>2]|0,26,e)|0)!=0:0){h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}}else vg(h);f=Xb()|0;c[d>>2]=f;if(!f){k=0;return k|0}$b(c[k>>2]|0,f);f=_(c[b+116>>2]|0,c[b+112>>2]|0)|0;i=b+196|0;c[(c[i>>2]|0)+36>>2]=f;f=Qc(f,40)|0;g=c[i>>2]|0;c[g+40>>2]=f;if(!f){k=0;return k|0}if(!(c[g+36>>2]|0)){k=1;return k|0}h=0;while(1){c[f+(h*40|0)+28>>2]=100;c[f+(h*40|0)+20>>2]=0;k=Qc(100,24)|0;g=c[i>>2]|0;f=c[g+40>>2]|0;c[f+(h*40|0)+24>>2]=k;h=h+1|0;if(!k){f=0;g=30;break}if(h>>>0>=(c[g+36>>2]|0)>>>0){f=1;g=30;break}}if((g|0)==30)return f|0}Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}function bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!a)return;b=a+28|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}h=a+40|0;b=c[h>>2]|0;if(b){g=a+36|0;if(c[g>>2]|0){d=b;f=0;do{e=c[d+(f*40|0)+36>>2]|0;if(e){Uc(e);b=c[h>>2]|0;c[b+(f*40|0)+36>>2]=0;d=b}e=c[d+(f*40|0)+16>>2]|0;if(e){Uc(e);b=c[h>>2]|0;c[b+(f*40|0)+16>>2]=0;d=b}e=c[d+(f*40|0)+24>>2]|0;if(e){Uc(e);d=c[h>>2]|0;c[d+(f*40|0)+24>>2]=0;b=d}f=f+1|0}while(f>>>0<(c[g>>2]|0)>>>0)}Uc(b);c[h>>2]=0}Uc(a);return}function cd(d,e,f,g,h,j,k,l,m,n,o){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,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;Da=i;i=i+256|0;Ca=Da+200|0;Ba=Da+192|0;za=Da+184|0;ya=Da+176|0;pa=Da+168|0;oa=Da+160|0;na=Da+152|0;ma=Da+144|0;la=Da+136|0;ka=Da+128|0;ia=Da+120|0;ha=Da+112|0;wa=Da+104|0;ua=Da+96|0;ga=Da+88|0;fa=Da+80|0;ea=Da+72|0;va=Da+64|0;da=Da+56|0;ca=Da+48|0;sa=Da+40|0;ra=Da+32|0;qa=Da+24|0;ja=Da+16|0;ba=Da+8|0;aa=Da;V=Da+240|0;T=Da+236|0;X=Da+232|0;Z=Da+228|0;$=Da+224|0;U=Da+220|0;Y=Da+216|0;S=Da+212|0;W=Da+208|0;c[S>>2]=65424;Aa=d+8|0;a:do{switch(c[Aa>>2]|0){case 256:{c[S>>2]=65497;p=d+76|0;xa=117;break}case 8:{ta=d+76|0;if(!(a[ta>>0]&1)){O=d+200|0;P=d+164|0;Q=d+72|0;R=d+24|0;B=d+196|0;D=d+112|0;E=d+116|0;G=V+2|0;H=V+6|0;I=V+7|0;J=d+16|0;K=d+20|0;L=d+64|0;p=65424;b:while(1){c:do{if((p|0)!=65427){while(1){A=Qb(n)|0;if((A|0)==0&(C|0)==0){xa=7;break}if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=9;break b}qb(c[J>>2]|0,W,2);if((c[W>>2]|0)>>>0<2){xa=11;break b}if((c[S>>2]|0)==32896?(A=Qb(n)|0,(A|0)==0&(C|0)==0):0){xa=14;break}s=c[Aa>>2]|0;p=c[W>>2]|0;if(s&16)c[R>>2]=-2-p+(c[R>>2]|0);q=p+-2|0;c[W>>2]=q;p=c[S>>2]|0;r=784;while(1){A=c[r>>2]|0;if((A|0)==0|(A|0)==(p|0)){y=r;break}else r=r+12|0}if(!(c[r+4>>2]&s)){xa=20;break b}if(q>>>0>(c[K>>2]|0)>>>0){A=Qb(n)|0;z=C;if(0>(z|0)|0==(z|0)&q>>>0>A>>>0){xa=24;break b}p=Tc(c[J>>2]|0,c[W>>2]|0)|0;if(!p){xa=26;break b}c[J>>2]=p;q=c[W>>2]|0;c[K>>2]=q}else p=c[J>>2]|0;q=Mb(n,p,q,o)|0;if((q|0)!=(c[W>>2]|0)){xa=29;break b}p=c[r+8>>2]|0;if(!p){xa=31;break b}if(!(Za[p&63](d,c[J>>2]|0,q,o)|0)){xa=33;break b}r=c[O>>2]|0;q=c[B>>2]|0;v=c[y>>2]|0;w=Pb(n)|0;x=c[W>>2]|0;w=w-x+-4|0;x=x+4|0;q=q+40|0;u=c[q>>2]|0;p=c[u+(r*40|0)+20>>2]|0;s=u+(r*40|0)+28|0;t=c[s>>2]|0;if((p+1|0)>>>0>t>>>0){t=~~(+(t>>>0)+100.0)>>>0;c[s>>2]=t;s=Tc(c[u+(r*40|0)+24>>2]|0,t*24|0)|0;t=c[q>>2]|0;p=t+(r*40|0)+24|0;if(!s){xa=41;break b}c[p>>2]=s;q=t;p=c[t+(r*40|0)+20>>2]|0}else{q=u;s=c[u+(r*40|0)+24>>2]|0}b[s+(p*24|0)>>1]=v;A=s+(p*24|0)+8|0;c[A>>2]=w;c[A+4>>2]=((w|0)<0)<<31>>31;c[s+(p*24|0)+16>>2]=x;c[q+(r*40|0)+20>>2]=p+1;if((v|0)==65424?(F=c[q+(r*40|0)+16>>2]|0,(F|0)!=0):0){A=F+((c[q+(r*40|0)+12>>2]|0)*24|0)|0;c[A>>2]=w;c[A+4>>2]=0}do{if((c[y>>2]|0)==65424){p=Pb(n)|0;p=-4-(c[W>>2]|0)+p|0;A=L;z=c[A+4>>2]|0;if(!(0>(z|0)|(0==(z|0)?p>>>0>(c[A>>2]|0)>>>0:0)))break;A=L;c[A>>2]=p;c[A+4>>2]=0}}while(0);if(a[ta>>0]&4){xa=46;break}if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=50;break b}qb(c[J>>2]|0,S,2);if((c[S>>2]|0)==65427)break c}if((xa|0)==7){xa=0;c[Aa>>2]=64;break}else if((xa|0)==14){xa=0;c[Aa>>2]=64;break}else if((xa|0)==46){xa=0;A=Rb(n,c[R>>2]|0,0,o)|0;if(!((C|0)==0?(A|0)==(c[R>>2]|0):0)){xa=47;break b}c[S>>2]=65427;break}}}while(0);A=Qb(n)|0;if((A|0)==0&(C|0)==0?(c[Aa>>2]|0)==64:0){xa=115;break}p=a[ta>>0]|0;if(!(p&4)){q=c[O>>2]|0;r=c[P>>2]|0;if(!(c[Q>>2]|0)){p=c[R>>2]|0;if(p>>>0>1){s=p+-2|0;c[R>>2]=s}else s=p}else{s=Qb(n)|0;s=Si(s|0,C|0,-2,0)|0;c[R>>2]=s}p=r+(q*5640|0)+5592|0;A=r+(q*5640|0)+5596|0;do{if(!s)z=1;else{z=Qb(n)|0;y=C;if(0>(y|0)|0==(y|0)&s>>>0>z>>>0)Ub(o,2,8573,ga)|0;q=c[p>>2]|0;if(!q){z=Pc(c[R>>2]|0)|0;c[p>>2]=z;if(!z)break b;else{z=0;break}}q=Tc(q,(c[R>>2]|0)+(c[A>>2]|0)|0)|0;if(!q){xa=65;break b}c[p>>2]=q;z=0}}while(0);q=c[B>>2]|0;if(q){w=Pb(n)|0;s=C;y=Si(w|0,s|0,-2,-1)|0;r=c[O>>2]|0;q=q+40|0;u=c[q>>2]|0;v=c[u+(r*40|0)+12>>2]|0;t=c[u+(r*40|0)+16>>2]|0;x=t+(v*24|0)+8|0;c[x>>2]=y;c[x+4>>2]=C;x=c[R>>2]|0;s=Si(x|0,0,w|0,s|0)|0;v=t+(v*24|0)+16|0;c[v>>2]=s;c[v+4>>2]=C;x=x+2|0;v=c[u+(r*40|0)+20>>2]|0;s=u+(r*40|0)+28|0;t=c[s>>2]|0;if((v+1|0)>>>0>t>>>0){t=~~(+(t>>>0)+100.0)>>>0;c[s>>2]=t;s=Tc(c[u+(r*40|0)+24>>2]|0,t*24|0)|0;t=c[q>>2]|0;u=t+(r*40|0)+24|0;if(!s){p=u;xa=74;break}c[u>>2]=s;w=t;q=c[t+(r*40|0)+20>>2]|0}else{w=u;s=c[u+(r*40|0)+24>>2]|0;q=v}b[s+(q*24|0)>>1]=-109;v=Pi(0,y|0,32)|0;y=s+(q*24|0)+8|0;c[y>>2]=v;c[y+4>>2]=C;c[s+(q*24|0)+16>>2]=x;c[w+(r*40|0)+20>>2]=q+1}if(!z)p=Mb(n,(c[p>>2]|0)+(c[A>>2]|0)|0,c[R>>2]|0,o)|0;else p=0;c[Aa>>2]=(p|0)==(c[R>>2]|0)?8:64;c[A>>2]=(c[A>>2]|0)+p;p=a[ta>>0]|0;if((p&9)==1){a[ta>>0]=p|8;q=c[O>>2]|0;do{if((Tb(n)|0)!=0?(M=Pb(n)|0,N=C,!((M|0)==-1&(N|0)==-1)):0){while(1){if((Mb(n,V,2,o)|0)!=2){xa=81;break}qb(V,T,2);if((c[T>>2]|0)!=65424){xa=83;break}if((Mb(n,V,2,o)|0)!=2){xa=85;break}qb(V,X,2);if((c[X>>2]|0)!=10){xa=87;break}c[X>>2]=8;p=Mb(n,V,8,o)|0;if((p|0)!=(c[X>>2]|0)){xa=89;break}if((p|0)!=8){xa=91;break}qb(V,Z,2);qb(G,$,4);qb(H,U,1);qb(I,Y,1);if((c[Z>>2]|0)==(q|0)){xa=97;break}p=c[$>>2]|0;if(p>>>0<14){xa=94;break}xa=p+-12|0;c[$>>2]=xa;xa=Rb(n,xa,0,o)|0;if(!((C|0)==0?(xa|0)==(c[$>>2]|0):0)){xa=96;break}}if((xa|0)==81){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==83){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==85){xa=0;Ub(o,1,8295,ha)|0;p=0;q=0;break}else if((xa|0)==87){xa=0;Ub(o,1,8313,ia)|0;p=0;q=0;break}else if((xa|0)==89){xa=0;Ub(o,1,8295,ka)|0;p=0;q=0;break}else if((xa|0)==91){xa=0;Ub(o,1,8662,la)|0;p=0;q=0;break}else if((xa|0)==94){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==96){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==97){xa=0;q=(c[U>>2]|0)==(c[Y>>2]|0)&1;p=(Sb(n,M,N,o)|0)!=0&1;break}}else{p=1;q=0}}while(0);if(!p){xa=99;break}if(q){p=_(c[E>>2]|0,c[D>>2]|0)|0;a[ta>>0]=a[ta>>0]&-18|16;if(p){q=c[P>>2]|0;t=0;do{r=q+(t*5640|0)+5588|0;s=c[r>>2]|0;if(s)c[r>>2]=s+1;t=t+1|0}while((t|0)!=(p|0))}Ub(o,2,8734,na)|0}}if(!(a[ta>>0]&1)){if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=109;break}qb(c[J>>2]|0,S,2)}}else{a[ta>>0]=p&-6;c[Aa>>2]=8;if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=113;break}qb(c[J>>2]|0,S,2)}p=c[S>>2]|0;if(!((p|0)!=65497&(a[ta>>0]&1)==0)){xa=116;break}}switch(xa|0){case 9:{Ub(o,1,8295,aa)|0;o=0;i=Da;return o|0}case 11:{Ub(o,1,8313,ba)|0;o=0;i=Da;return o|0}case 20:{Ub(o,1,8339,ja)|0;o=0;i=Da;return o|0}case 24:{Ub(o,1,8382,qa)|0;o=0;i=Da;return o|0}case 26:{Uc(c[J>>2]|0);c[J>>2]=0;c[K>>2]=0;Ub(o,1,8427,ra)|0;o=0;i=Da;return o|0}case 29:{Ub(o,1,8295,sa)|0;o=0;i=Da;return o|0}case 31:{Ub(o,1,8461,ca)|0;o=0;i=Da;return o|0}case 33:{c[da>>2]=c[S>>2];Ub(o,1,8490,da)|0;o=0;i=Da;return o|0}case 41:{Uc(c[p>>2]|0);Ca=c[q>>2]|0;c[Ca+(r*40|0)+24>>2]=0;c[Ca+(r*40|0)+28>>2]=0;c[Ca+(r*40|0)+20>>2]=0;Ub(o,1,8537,va)|0;o=0;i=Da;return o|0}case 47:{Ub(o,1,8295,ea)|0;o=0;i=Da;return o|0}case 50:{Ub(o,1,8295,fa)|0;o=0;i=Da;return o|0}case 65:{Uc(c[p>>2]|0);c[p>>2]=0;break}case 74:{Uc(c[p>>2]|0);Ca=c[q>>2]|0;c[Ca+(r*40|0)+24>>2]=0;c[Ca+(r*40|0)+28>>2]=0;c[Ca+(r*40|0)+20>>2]=0;Ub(o,1,8537,wa)|0;o=0;i=Da;return o|0}case 99:{Ub(o,1,8688,ma)|0;o=0;i=Da;return o|0}case 109:{Ub(o,1,8295,oa)|0;o=0;i=Da;return o|0}case 113:{Ub(o,1,8295,pa)|0;o=0;i=Da;return o|0}case 115:{p=c[S>>2]|0;xa=116;break}}if((xa|0)==116)if((p|0)==65497){p=ta;xa=117;break a}else{p=ta;break a}Ub(o,1,8628,ua)|0;o=0;i=Da;return o|0}else p=ta;break}default:{o=0;i=Da;return o|0}}}while(0);if((xa|0)==117)if((c[Aa>>2]|0)!=256){c[d+200>>2]=0;c[Aa>>2]=256}if(!(a[p>>0]&1)){s=_(c[d+112>>2]|0,c[d+116>>2]|0)|0;t=d+200|0;q=c[t>>2]|0;d:do{if(q>>>0>>0){p=q;r=(c[d+164>>2]|0)+(q*5640|0)|0;while(1){if(c[r+5592>>2]|0){q=p;break d}q=p+1|0;c[t>>2]=q;if(q>>>0>>0){p=q;r=r+5640|0}else break}}}while(0);if((q|0)==(s|0)){c[m>>2]=0;o=1;i=Da;return o|0}}else{q=d+200|0;t=q;q=c[q>>2]|0}A=c[d+164>>2]|0;if(a[A+(q*5640|0)+5636>>0]&2){B=A+(q*5640|0)+5160|0;r=c[B>>2]|0;if(!r)p=0;else{s=c[A+(q*5640|0)+5164>>2]|0;u=0;p=0;do{p=(c[s+(u<<3)+4>>2]|0)+p|0;u=u+1|0}while((u|0)!=(r|0))}xa=Pc(p)|0;z=A+(q*5640|0)+5172|0;c[z>>2]=xa;if(!xa){Ub(o,1,8775,ya)|0;Ub(o,1,8813,za)|0;o=0;i=Da;return o|0}y=A+(q*5640|0)+5180|0;c[y>>2]=p;r=c[B>>2]|0;x=A+(q*5640|0)+5164|0;if(!r)p=c[x>>2]|0;else{p=c[x>>2]|0;v=p;w=0;u=0;while(1){s=c[v+(w<<3)>>2]|0;if(!s)s=v;else{Ui((c[z>>2]|0)+u|0,s|0,c[v+(w<<3)+4>>2]|0)|0;s=c[x>>2]|0;u=(c[s+(w<<3)+4>>2]|0)+u|0;Uc(c[s+(w<<3)>>2]|0);s=c[x>>2]|0;c[s+(w<<3)>>2]=0;c[s+(w<<3)+4>>2]=0;r=c[B>>2]|0;p=s}w=w+1|0;if(w>>>0>=r>>>0)break;else v=s}}c[B>>2]=0;Uc(p);c[x>>2]=0;c[A+(q*5640|0)+5168>>2]=c[z>>2];c[A+(q*5640|0)+5176>>2]=c[y>>2];q=c[t>>2]|0}p=d+204|0;if(!($f(c[p>>2]|0,q,o)|0)){Ub(o,1,8839,Ba)|0;o=0;i=Da;return o|0}else{Ba=_(c[d+112>>2]|0,c[d+116>>2]|0)|0;c[Ca>>2]=(c[t>>2]|0)+1;c[Ca+4>>2]=Ba;Ub(o,4,8873,Ca)|0;c[e>>2]=c[t>>2];c[m>>2]=1;c[f>>2]=ag(c[p>>2]|0)|0;o=c[c[(c[p>>2]|0)+20>>2]>>2]|0;c[g>>2]=c[o>>2];c[h>>2]=c[o+4>>2];c[j>>2]=c[o+8>>2];c[k>>2]=c[o+12>>2];c[l>>2]=c[o+16>>2];c[Aa>>2]=c[Aa>>2]|128;o=1;i=Da;return o|0}return 0}function dd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+28|0;s=t+32|0;o=b+8|0;if(!(c[o>>2]&128)){g=0;i=t;return g|0}q=b+200|0;if((c[q>>2]|0)!=(d|0)){g=0;i=t;return g|0}j=c[b+164>>2]|0;n=j+(d*5640|0)|0;p=j+(d*5640|0)+5592|0;k=c[p>>2]|0;if(!k){sd(n);g=0;i=t;return g|0}l=b+204|0;m=j+(d*5640|0)+5596|0;if(!(cg(c[l>>2]|0,k,c[m>>2]|0,d,c[b+196>>2]|0,h)|0)){sd(n);c[o>>2]=c[o>>2]|32768;Ub(h,1,8912,t)|0;g=0;i=t;return g|0}if(!(dg(c[l>>2]|0,e,f)|0)){g=0;i=t;return g|0}j=c[p>>2]|0;if(j){Uc(j);c[p>>2]=0;c[m>>2]=0}p=b+76|0;a[p>>0]=a[p>>0]&-2;c[o>>2]=c[o>>2]&-129;p=Qb(g)|0;b=c[o>>2]|0;if((b|0)==256|(p|0)==0&(C|0)==0&(b|0)==64){g=1;i=t;return g|0}if((Mb(g,s,2,h)|0)!=2){Ub(h,2,8931,t+8|0)|0;g=1;i=t;return g|0}qb(s,r,2);switch(c[r>>2]|0){case 65497:{c[q>>2]=0;c[o>>2]=256;g=1;i=t;return g|0}case 65424:{g=1;i=t;return g|0}default:if((Qb(g)|0)==0&(C|0)==0){c[o>>2]=64;Ub(h,2,8975,t+16|0)|0;g=1;i=t;return g|0}else{Ub(h,1,9005,t+24|0)|0;g=0;i=t;return g|0}}return 0}function ed(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;y=z+96|0;x=z+88|0;w=z+80|0;v=z+72|0;u=z+64|0;s=z+56|0;r=z+48|0;o=z+40|0;n=z+32|0;m=z+24|0;l=z+16|0;p=c[b+80>>2]|0;if((c[b+8>>2]|0)!=8){Ub(j,1,9037,z)|0;j=0;i=z;return j|0}if(!(f|e|g|h)){Ub(j,4,9116,z+8|0)|0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+36>>2]=c[b+112>>2];c[b+40>>2]=c[b+116>>2];j=1;i=z;return j|0}t=p+8|0;k=c[t>>2]|0;if(k>>>0>>0){c[l>>2]=e;c[l+4>>2]=k;Ub(j,1,9185,l)|0;j=0;i=z;return j|0}k=c[p>>2]|0;if(k>>>0>e>>>0){c[m>>2]=e;c[m+4>>2]=k;Ub(j,2,9272,m)|0;k=0;e=c[p>>2]|0}else k=((e-(c[b+92>>2]|0)|0)>>>0)/((c[b+100>>2]|0)>>>0)|0;c[b+28>>2]=k;c[d>>2]=e;q=p+12|0;e=c[q>>2]|0;if(e>>>0>>0){c[n>>2]=f;c[n+4>>2]=e;Ub(j,1,9360,n)|0;j=0;i=z;return j|0}l=p+4|0;e=c[l>>2]|0;if(e>>>0>f>>>0){c[o>>2]=f;c[o+4>>2]=e;Ub(j,2,9445,o)|0;e=0;f=c[l>>2]|0}else e=((f-(c[b+96>>2]|0)|0)>>>0)/((c[b+104>>2]|0)>>>0)|0;c[b+32>>2]=e;m=d+4|0;c[m>>2]=f;e=c[p>>2]|0;if(e>>>0>g>>>0){c[r>>2]=g;c[r+4>>2]=e;Ub(j,1,9531,r)|0;j=0;i=z;return j|0}e=c[t>>2]|0;if(e>>>0>>0){c[s>>2]=g;c[s+4>>2]=e;Ub(j,2,9620,s)|0;e=c[b+112>>2]|0;g=c[t>>2]|0}else{e=c[b+100>>2]|0;e=(g+-1-(c[b+92>>2]|0)+e|0)/(e|0)|0}c[b+36>>2]=e;k=d+8|0;c[k>>2]=g;g=c[l>>2]|0;if(g>>>0>h>>>0){c[u>>2]=h;c[u+4>>2]=g;Ub(j,1,9708,u)|0;j=0;i=z;return j|0}g=c[q>>2]|0;if(g>>>0>>0){c[v>>2]=h;c[v+4>>2]=g;Ub(j,2,9798,v)|0;e=c[q>>2]|0;g=c[b+116>>2]|0}else{g=c[b+104>>2]|0;e=h;g=(h+-1-(c[b+96>>2]|0)+g|0)/(g|0)|0}c[b+40>>2]=g;h=d+12|0;c[h>>2]=e;v=b+76|0;a[v>>0]=a[v>>0]|2;v=c[d+16>>2]|0;b=c[d>>2]|0;a:do{if(v){f=c[m>>2]|0;t=f+-1|0;u=c[k>>2]|0;q=u+-1|0;r=b+-1|0;g=0;p=c[d+24>>2]|0;while(1){d=c[p>>2]|0;e=(r+d|0)/(d|0)|0;c[p+16>>2]=e;o=c[p+4>>2]|0;k=(t+o|0)/(o|0)|0;c[p+20>>2]=k;d=(q+d|0)/(d|0)|0;l=c[p+40>>2]|0;m=Ri(1,0,l|0)|0;n=C;d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;d=Si(d|0,C|0,m|0,n|0)|0;d=Pi(d|0,C|0,l|0)|0;e=Si(e|0,((e|0)<0)<<31>>31|0,-1,-1)|0;e=Si(e|0,C|0,m|0,n|0)|0;e=Pi(e|0,C|0,l|0)|0;e=d-e|0;if((e|0)<0){k=29;break}s=c[h>>2]|0;d=(o+-1+s|0)/(o|0)|0;c[p+8>>2]=e;d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;d=Si(d|0,C|0,m|0,n|0)|0;d=Pi(d|0,C|0,l|0)|0;e=Si(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;e=Si(e|0,C|0,m|0,n|0)|0;e=Pi(e|0,C|0,l|0)|0;e=d-e|0;if((e|0)<0){k=31;break}c[p+12>>2]=e;g=g+1|0;if(g>>>0>=v>>>0){e=u;g=s;break a}else p=p+52|0}if((k|0)==29){c[w>>2]=g;c[w+4>>2]=e;Ub(j,1,9887,w)|0;j=0;i=z;return j|0}else if((k|0)==31){c[x>>2]=g;c[x+4>>2]=e;Ub(j,1,9956,x)|0;j=0;i=z;return j|0}}else{f=c[m>>2]|0;e=c[k>>2]|0;g=c[h>>2]|0}}while(0);c[y>>2]=b;c[y+4>>2]=f;c[y+8>>2]=e;c[y+12>>2]=g;Ub(j,4,10025,y)|0;j=1;i=z;return j|0}function fd(){var b=0,d=0,e=0;b=Qc(1,208)|0;if(!b){d=0;return d|0}c[b>>2]=1;d=b+184|0;a[d>>0]=a[d>>0]|2;d=Qc(1,5640)|0;c[b+12>>2]=d;if(!d){Yc(b);d=0;return d|0}d=Qc(1,1e3)|0;c[b+16>>2]=d;if(!d){Yc(b);d=0;return d|0}c[b+20>>2]=1e3;c[b+60>>2]=-1;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;d=Qc(1,48)|0;do{if(d){c[d+32>>2]=100;c[d+24>>2]=0;e=Qc(100,24)|0;c[d+28>>2]=e;if(!e){Uc(d);break}c[d+40>>2]=0;c[b+196>>2]=d;e=qg()|0;c[b+192>>2]=e;if(!e){Yc(b);e=0;return e|0}e=qg()|0;c[b+188>>2]=e;if(e){e=b;return e|0}Yc(b);e=0;return e|0}}while(0);c[b+196>>2]=0;Yc(b);e=0;return e|0}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var f=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;t=i;i=i+128|0;s=t+104|0;r=t+72|0;q=t+64|0;n=t+40|0;l=t+24|0;j=t+16|0;h=t+8|0;g=t;if(b&384){ki(10063,11,1,d)|0;i=t;return}if((b&1|0)!=0?(f=c[a+80>>2]|0,(f|0)!=0):0)hd(f,0,d);if(b&2){ki(10075,36,1,d)|0;f=c[a+96>>2]|0;c[g>>2]=c[a+92>>2];c[g+4>>2]=f;$h(d,10112,g)|0;g=c[a+104>>2]|0;c[h>>2]=c[a+100>>2];c[h+4>>2]=g;$h(d,10130,h)|0;h=c[a+116>>2]|0;c[j>>2]=c[a+112>>2];c[j+4>>2]=h;$h(d,10148,j)|0;xd(c[a+12>>2]|0,c[(c[a+80>>2]|0)+16>>2]|0,d);ki(10164,2,1,d)|0}if((b&8|0)!=0?(k=_(c[a+112>>2]|0,c[a+116>>2]|0)|0,(k|0)!=0):0){f=a+80|0;g=0;h=c[a+164>>2]|0;while(1){xd(h,c[(c[f>>2]|0)+16>>2]|0,d);g=g+1|0;if((g|0)==(k|0))break;else h=h+5640|0}}if(!(b&16)){i=t;return}j=c[a+196>>2]|0;ki(10167,37,1,d)|0;k=j;b=c[k+4>>2]|0;f=j+8|0;a=c[f>>2]|0;f=c[f+4>>2]|0;h=l;c[h>>2]=c[k>>2];c[h+4>>2]=b;h=l+8|0;c[h>>2]=a;c[h+4>>2]=f;$h(d,10205,l)|0;ki(10272,17,1,d)|0;h=j+28|0;f=c[h>>2]|0;a:do{if((f|0)!=0?(m=j+24|0,(c[m>>2]|0)!=0):0){g=0;while(1){b=f+(g*24|0)+8|0;k=c[b>>2]|0;b=c[b+4>>2]|0;l=c[f+(g*24|0)+16>>2]|0;c[n>>2]=e[f+(g*24|0)>>1];a=n+8|0;c[a>>2]=k;c[a+4>>2]=b;c[n+16>>2]=l;$h(d,10290,n)|0;g=g+1|0;if(g>>>0>=(c[m>>2]|0)>>>0)break a;f=c[h>>2]|0}}}while(0);ki(10321,4,1,d)|0;b=j+40|0;h=c[b>>2]|0;if((h|0)!=0?(p=j+36|0,o=c[p>>2]|0,(o|0)!=0):0){g=0;f=0;do{f=(c[h+(g*40|0)+4>>2]|0)+f|0;g=g+1|0}while((g|0)!=(o|0));if(f){ki(10326,16,1,d)|0;if(c[p>>2]|0){f=c[b>>2]|0;k=0;do{j=c[f+(k*40|0)+4>>2]|0;c[q>>2]=k;c[q+4>>2]=j;$h(d,10343,q)|0;f=c[b>>2]|0;g=c[f+(k*40|0)+16>>2]|0;b:do{if(!((j|0)==0|(g|0)==0)){f=0;while(1){a=g+(f*24|0)|0;u=c[a>>2]|0;a=c[a+4>>2]|0;m=g+(f*24|0)+8|0;l=c[m>>2]|0;m=c[m+4>>2]|0;o=g+(f*24|0)+16|0;n=c[o>>2]|0;o=c[o+4>>2]|0;c[r>>2]=f;h=r+8|0;c[h>>2]=u;c[h+4>>2]=a;h=r+16|0;c[h>>2]=l;c[h+4>>2]=m;h=r+24|0;c[h>>2]=n;c[h+4>>2]=o;$h(d,10379,r)|0;h=f+1|0;f=c[b>>2]|0;if((h|0)==(j|0))break b;g=c[f+(k*40|0)+16>>2]|0;f=h}}}while(0);g=c[f+(k*40|0)+24>>2]|0;c:do{if((g|0)!=0?(c[f+(k*40|0)+20>>2]|0)!=0:0){f=0;while(1){o=g+(f*24|0)+8|0;n=c[o>>2]|0;o=c[o+4>>2]|0;h=c[g+(f*24|0)+16>>2]|0;c[s>>2]=e[g+(f*24|0)>>1];u=s+8|0;c[u>>2]=n;c[u+4>>2]=o;c[s+16>>2]=h;$h(d,10290,s)|0;h=f+1|0;f=c[b>>2]|0;if(h>>>0>=(c[f+(k*40|0)+20>>2]|0)>>>0)break c;g=c[f+(k*40|0)+24>>2]|0;f=h}}}while(0);k=k+1|0}while(k>>>0<(c[p>>2]|0)>>>0)}ki(10321,4,1,d)|0}}ki(10164,2,1,d)|0;i=t;return}function hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;h=n+16|0;g=n;k=n+52|0;if(!d){ki(10482,13,1,e)|0;a[k+1>>0]=0;f=9}else{ki(10445,36,1,c[676]|0)|0;f=0}a[k>>0]=f;o=c[b>>2]|0;f=c[b+4>>2]|0;c[g>>2]=k;c[g+4>>2]=o;c[g+8>>2]=f;$h(e,10496,g)|0;g=c[b+8>>2]|0;f=c[b+12>>2]|0;c[h>>2]=k;c[h+4>>2]=g;c[h+8>>2]=f;$h(e,10513,h)|0;h=b+16|0;f=c[h>>2]|0;c[j>>2]=k;c[j+4>>2]=f;$h(e,10530,j)|0;f=b+24|0;if(!(c[f>>2]|0)){ki(10164,2,1,e)|0;i=n;return}if(!(c[h>>2]|0)){ki(10164,2,1,e)|0;i=n;return}else g=0;do{c[l>>2]=k;c[l+4>>2]=g;$h(e,10546,l)|0;id((c[f>>2]|0)+(g*52|0)|0,d,e);c[m>>2]=k;$h(e,10566,m)|0;g=g+1|0}while(g>>>0<(c[h>>2]|0)>>>0);ki(10164,2,1,e)|0;i=n;return}function id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;k=l+24|0;j=l+16|0;h=l;g=l+32|0;f=(d|0)!=0;if(f){ki(10571,41,1,c[676]|0)|0;d=0}else{a[g+1>>0]=9;a[g+2>>0]=0;d=9}a[g>>0]=d;m=c[b>>2]|0;d=c[b+4>>2]|0;c[h>>2]=g;c[h+4>>2]=m;c[h+8>>2]=d;$h(e,10613,h)|0;h=c[b+24>>2]|0;c[j>>2]=g;c[j+4>>2]=h;$h(e,10630,j)|0;j=c[b+32>>2]|0;c[k>>2]=g;c[k+4>>2]=j;$h(e,10642,k)|0;if(!f){i=l;return}ki(10164,2,1,e)|0;i=l;return}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;e=m;b=a+80|0;k=c[(c[b>>2]|0)+16>>2]|0;d=Qc(1,56)|0;c[e>>2]=d;if(!d){l=0;i=m;return l|0}c[d+24>>2]=c[(c[b>>2]|0)+16>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+112>>2];c[d+20>>2]=c[a+116>>2];c[d+52>>2]=0;d=c[a+12>>2]|0;b=c[e>>2]|0;c[b+32>>2]=c[d>>2];c[b+36>>2]=c[d+4>>2];c[b+40>>2]=c[d+8>>2];c[b+44>>2]=c[d+16>>2];c[b+48>>2]=Qc(c[b+24>>2]|0,1080)|0;b=c[e>>2]|0;j=b+48|0;a=c[j>>2]|0;if(!a){Cc(e);l=0;i=m;return l|0}if(!k){l=b;i=m;return l|0}h=d+5584|0;d=0;while(1){g=c[h>>2]|0;c[a+(d*1080|0)+4>>2]=c[g+(d*1080|0)>>2];e=g+(d*1080|0)+4|0;f=c[e>>2]|0;c[a+(d*1080|0)+8>>2]=f;c[a+(d*1080|0)+12>>2]=c[g+(d*1080|0)+8>>2];c[a+(d*1080|0)+16>>2]=c[g+(d*1080|0)+12>>2];c[a+(d*1080|0)+20>>2]=c[g+(d*1080|0)+16>>2];c[a+(d*1080|0)+24>>2]=c[g+(d*1080|0)+20>>2];if(f>>>0<33){Ui(a+(d*1080|0)+948|0,g+(d*1080|0)+944|0,f|0)|0;Ui(a+(d*1080|0)+816|0,g+(d*1080|0)+812|0,c[e>>2]|0)|0}f=c[g+(d*1080|0)+24>>2]|0;c[a+(d*1080|0)+28>>2]=f;c[a+(d*1080|0)+808>>2]=c[g+(d*1080|0)+804>>2];if((f|0)!=1){f=(c[e>>2]|0)*3|0;e=f+-2|0;if((e|0)<97&(f|0)>2)l=10}else{e=1;l=10}if((l|0)==10){l=0;f=0;do{c[a+(d*1080|0)+32+(f<<2)>>2]=c[g+(d*1080|0)+28+(f<<3)+4>>2];c[a+(d*1080|0)+420+(f<<2)>>2]=c[g+(d*1080|0)+28+(f<<3)>>2];f=f+1|0}while((f|0)!=(e|0))}c[a+(d*1080|0)+812>>2]=c[g+(d*1080|0)+808>>2];d=d+1|0;if((d|0)==(k|0))break;a=c[j>>2]|0}i=m;return b|0}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Qc(1,48)|0;if(!b){k=0;return k|0}h=a+196|0;d=c[h>>2]|0;i=d;k=c[i+4>>2]|0;a=b;c[a>>2]=c[i>>2];c[a+4>>2]=k;a=d+8|0;k=c[a+4>>2]|0;i=b+8|0;c[i>>2]=c[a>>2];c[i+4>>2]=k;i=d+16|0;k=c[i+4>>2]|0;a=b+16|0;c[a>>2]=c[i>>2];c[a+4>>2]=k;d=c[d+24>>2]|0;a=b+24|0;c[a>>2]=d;d=Pc(d*24|0)|0;k=b+28|0;c[k>>2]=d;if(!d){Uc(b);k=0;return k|0}e=c[(c[h>>2]|0)+28>>2]|0;if(!e){Uc(d);c[k>>2]=0}else Ui(d|0,e|0,(c[a>>2]|0)*24|0)|0;a=c[(c[h>>2]|0)+36>>2]|0;g=b+36|0;c[g>>2]=a;a=Qc(a,40)|0;i=b+40|0;c[i>>2]=a;if(!a){Uc(c[k>>2]|0);Uc(b);k=0;return k|0}d=c[(c[h>>2]|0)+40>>2]|0;if(!d){Uc(a);c[i>>2]=0;k=b;return k|0}if(!(c[g>>2]|0)){k=b;return k|0}d=c[d+20>>2]|0;c[a+20>>2]=d;d=Pc(d*24|0)|0;a=c[i>>2]|0;c[a+24>>2]=d;a:do{if(!d)d=0;else{f=d;d=0;while(1){e=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+24>>2]|0;if(!e){Uc(f);a=c[i>>2]|0;c[a+(d*40|0)+24>>2]=0}else{Ui(f|0,e|0,(c[a+(d*40|0)+20>>2]|0)*24|0)|0;a=c[i>>2]|0}e=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+4>>2]|0;c[a+(d*40|0)+4>>2]=e;e=Pc(e*24|0)|0;a=c[i>>2]|0;c[a+(d*40|0)+16>>2]=e;if(!e)break;f=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+16>>2]|0;if(!f){Uc(e);a=c[i>>2]|0;c[a+(d*40|0)+16>>2]=0}else{Ui(e|0,f|0,(c[a+(d*40|0)+4>>2]|0)*24|0)|0;a=c[i>>2]|0}c[a+(d*40|0)+32>>2]=0;c[a+(d*40|0)+36>>2]=0;d=d+1|0;if(d>>>0>=(c[g>>2]|0)>>>0){j=32;break}f=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+20>>2]|0;c[a+(d*40|0)+20>>2]=f;f=Pc(f*24|0)|0;a=c[i>>2]|0;c[a+(d*40|0)+24>>2]=f;if(!f)break a}if((j|0)==32)return b|0;if(d){Uc(c[a+24>>2]|0);Uc(c[(c[i>>2]|0)+16>>2]|0);if((d|0)!=1){a=1;do{Uc(c[(c[i>>2]|0)+(a*40|0)+24>>2]|0);Uc(c[(c[i>>2]|0)+(a*40|0)+16>>2]|0);a=a+1|0}while((a|0)!=(d|0))}a=c[i>>2]|0}Uc(a);Uc(c[k>>2]|0);Uc(b);k=0;return k|0}}while(0);if(d){Uc(c[a+24>>2]|0);if((d|0)!=1){a=1;do{Uc(c[(c[i>>2]|0)+(a*40|0)+24>>2]|0);a=a+1|0}while((a|0)!=(d|0))}a=c[i>>2]|0}Uc(a);Uc(c[k>>2]|0);Uc(b);k=0;return k|0}function ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(!d){d=0;return d|0}f=Xb()|0;k=a+84|0;c[k>>2]=f;if(!f){d=0;return d|0}$b(d,f);h=a+188|0;sg(c[h>>2]|0,27,e)|0;h=c[h>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){d=a+80|0;Zb(c[d>>2]|0);c[d>>2]=0;d=0;return d|0}}else vg(h);i=c[d+16>>2]|0;if(!i){d=1;return d|0}h=c[(c[k>>2]|0)+24>>2]|0;f=c[d+24>>2]|0;g=0;do{c[f+(g*52|0)+36>>2]=c[h+(g*52|0)+36>>2];d=h+(g*52|0)+44|0;c[f+(g*52|0)+44>>2]=c[d>>2];c[d>>2]=0;g=g+1|0}while(g>>>0>>0);f=1;return f|0}function md(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,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;t=i;i=i+16|0;j=t+8|0;if(!d){Ub(e,1,10654,t)|0;s=0;i=t;return s|0}g=c[a+112>>2]|0;h=_(c[a+116>>2]|0,g)|0;if(h>>>0<=f>>>0){c[j>>2]=f;c[j+4>>2]=h+-1;Ub(e,1,10692,j)|0;s=0;i=t;return s|0}s=(f>>>0)%(g>>>0)|0;r=(f>>>0)/(g>>>0)|0;j=c[a+100>>2]|0;h=_(j,s)|0;k=c[a+92>>2]|0;h=h+k|0;c[d>>2]=h;q=a+80|0;g=c[q>>2]|0;l=c[g>>2]|0;h=h>>>0>>0?l:h;c[d>>2]=h;k=(_(j,s+1|0)|0)+k|0;s=d+8|0;c[s>>2]=k;j=c[g+8>>2]|0;k=k>>>0>j>>>0?j:k;c[s>>2]=k;s=c[a+104>>2]|0;j=_(s,r)|0;l=c[a+96>>2]|0;j=j+l|0;p=d+4|0;c[p>>2]=j;o=c[g+4>>2]|0;j=j>>>0>>0?o:j;c[p>>2]=j;l=(_(s,r+1|0)|0)+l|0;r=d+12|0;c[r>>2]=l;s=c[g+12>>2]|0;l=l>>>0>s>>>0?s:l;c[r>>2]=l;r=d+24|0;s=d+16|0;p=c[s>>2]|0;if(p){o=c[g+24>>2]|0;n=h+-1|0;m=j+-1|0;k=k+-1|0;g=l+-1|0;h=0;j=c[r>>2]|0;while(1){l=c[o+(h*52|0)+40>>2]|0;c[j+40>>2]=l;z=c[j>>2]|0;y=(n+z|0)/(z|0)|0;c[j+16>>2]=y;u=c[j+4>>2]|0;x=(m+u|0)/(u|0)|0;c[j+20>>2]=x;z=(k+z|0)/(z|0)|0;u=(g+u|0)/(u|0)|0;w=Ri(1,0,l|0)|0;v=C;z=Si(z|0,((z|0)<0)<<31>>31|0,-1,-1)|0;z=Si(z|0,C|0,w|0,v|0)|0;z=Pi(z|0,C|0,l|0)|0;y=Si(y|0,((y|0)<0)<<31>>31|0,-1,-1)|0;y=Si(y|0,C|0,w|0,v|0)|0;y=Pi(y|0,C|0,l|0)|0;c[j+8>>2]=z-y;u=Si(u|0,((u|0)<0)<<31>>31|0,-1,-1)|0;u=Si(u|0,C|0,w|0,v|0)|0;u=Pi(u|0,C|0,l|0)|0;x=Si(x|0,((x|0)<0)<<31>>31|0,-1,-1)|0;v=Si(x|0,C|0,w|0,v|0)|0;l=Pi(v|0,C|0,l|0)|0;c[j+12>>2]=u-l;h=h+1|0;if(h>>>0>=p>>>0)break;else j=j+52|0}}m=a+84|0;g=c[m>>2]|0;if(g)Zb(g);g=Xb()|0;c[m>>2]=g;if(!g){z=0;i=t;return z|0}$b(d,g);c[a+60>>2]=f;j=a+188|0;sg(c[j>>2]|0,28,e)|0;j=c[j>>2]|0;k=tg(j)|0;g=ug(j)|0;if(k){l=0;h=1;while(1){if(!h)h=0;else h=(Ra[c[g>>2]&63](a,b,e)|0)!=0;l=l+1|0;if((l|0)==(k|0))break;else{g=g+4|0;h=h&1}}vg(j);if(!h){Zb(c[q>>2]|0);c[q>>2]=0;z=0;i=t;return z|0}}else vg(j);g=c[s>>2]|0;if(!g){z=1;i=t;return z|0}k=c[(c[m>>2]|0)+24>>2]|0;j=c[r>>2]|0;l=0;while(1){c[j+(l*52|0)+36>>2]=c[k+(l*52|0)+36>>2];h=c[j+(l*52|0)+44>>2]|0;if(!h)h=k;else{Uc(h);h=c[(c[m>>2]|0)+24>>2]|0;j=c[r>>2]|0;g=c[s>>2]|0}z=h+(l*52|0)+44|0;c[j+(l*52|0)+44>>2]=c[z>>2];c[z>>2]=0;l=l+1|0;if(l>>>0>=g>>>0){g=1;break}else k=h}i=t;return g|0}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;c[a+168>>2]=b;e=c[a+80>>2]|0;a:do{if((((e|0)!=0?(h=c[e+24>>2]|0,(h|0)!=0):0)?(f=c[a+12>>2]|0,(f|0)!=0):0)?(g=c[f+5584>>2]|0,(g|0)!=0):0){e=c[e+16>>2]|0;if(!e)e=1;else{f=0;while(1){if((c[g+(f*1080|0)+4>>2]|0)>>>0<=b>>>0)break;c[h+(f*52|0)+40>>2]=b;f=f+1|0;if(f>>>0>=e>>>0){e=1;break a}}Ub(d,1,10753,j)|0;e=0}}else e=0}while(0);i=k;return e|0}function od(d,e,f){d=d|0;e=e|0;f=f|0;var 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,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;Q=i;i=i+48|0;O=Q+32|0;N=Q+24|0;M=Q+16|0;K=Q+8|0;L=Q;A=d+204|0;g=c[A>>2]|0;F=d+116|0;G=d+112|0;H=_(c[G>>2]|0,c[F>>2]|0)|0;I=(H|0)==1;if(!H){P=1;i=Q;return P|0}J=d+200|0;B=d+12|0;C=d+164|0;D=d+8|0;E=g+20|0;y=g+24|0;z=0;g=0;l=0;a:while(1){if((c[J>>2]|0)!=(z|0)){P=5;break}w=z;z=z+1|0;x=_(c[F>>2]|0,c[G>>2]|0)|0;c[K>>2]=z;c[K+4>>2]=x;Ub(f,4,10866,K)|0;c[B>>2]=0;x=c[A>>2]|0;c[x+12>>2]=c[(c[C>>2]|0)+(w*5640|0)+5588>>2];c[D>>2]=0;if(!(_f(x,c[J>>2]|0,f)|0))break;h=c[A>>2]|0;if(c[(c[h+24>>2]|0)+16>>2]|0){k=0;do{j=c[(c[c[E>>2]>>2]|0)+20>>2]|0;if(I){c[j+(k*52|0)+32>>2]=c[(c[(c[y>>2]|0)+24>>2]|0)+(k*52|0)+44>>2];c[j+(k*52|0)+36>>2]=0}else{if(!(Zf(j+(k*52|0)|0)|0)){P=14;break a}h=c[A>>2]|0}k=k+1|0}while(k>>>0<(c[(c[h+24>>2]|0)+16>>2]|0)>>>0)}x=eg(h)|0;if(!I){if(x>>>0>l>>>0){h=Tc(g,x)|0;if(!h){P=20;break}else{g=h;h=x}}else h=l;j=c[A>>2]|0;w=j+24|0;k=c[w>>2]|0;if(c[k+16>>2]|0){v=j+20|0;j=g;u=0;do{r=c[(c[c[v>>2]>>2]|0)+20>>2]|0;m=c[k+24>>2]|0;q=c[m+(u*52|0)+24>>2]|0;q=((q&7|0)!=0&1)+(q>>>3)|0;n=c[r+(u*52|0)+8>>2]|0;o=c[r+(u*52|0)>>2]|0;t=n-o|0;p=c[r+(u*52|0)+12>>2]|0;r=c[r+(u*52|0)+4>>2]|0;T=c[k>>2]|0;S=c[m+(u*52|0)>>2]|0;l=c[m+(u*52|0)+4>>2]|0;R=(S+~T+(c[k+8>>2]|0)|0)/(S|0)|0;s=R-t|0;k=o-((T+-1+S|0)/(S|0)|0)+(_(R,r-(((c[k+4>>2]|0)+-1+l|0)/(l|0)|0)|0)|0)|0;k=(c[m+(u*52|0)+44>>2]|0)+(k<<2)|0;b:do{switch(((q|0)==3?4:q)|0){case 1:{l=(p|0)==(r|0);if(!(c[m+(u*52|0)+32>>2]|0)){if(l)break b;q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){a[m>>0]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+1|0;n=n+4|0}}j=j+t|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}else{if(l)break b;q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){a[m>>0]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+1|0;n=n+4|0}}j=j+t|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}case 2:{l=(p|0)==(r|0);if(!(c[m+(u*52|0)+32>>2]|0)){if(!l){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){b[m>>1]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+2|0;n=n+4|0}}j=j+(t<<1)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}}else if(!l){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){b[m>>1]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+2|0;n=n+4|0}}j=j+(t<<1)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}case 4:{if((p|0)!=(r|0)){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){c[m>>2]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+4|0;n=n+4|0}}j=j+(t<<2)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}default:{}}}while(0);u=u+1|0;k=c[w>>2]|0}while(u>>>0<(c[k+16>>2]|0)>>>0);j=c[A>>2]|0}if(!(fg(j,g,x)|0)){P=63;break}}else h=l;if(!(Ad(d,e,f)|0)){P=65;break}if(z>>>0>=H>>>0){P=67;break}else l=h}if((P|0)==5)Ub(f,1,10829,L)|0;else if((P|0)==14){Ub(f,1,10887,M)|0;if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}else if((P|0)==20){if(g)Uc(g);Ub(f,1,10925,N)|0;T=0;i=Q;return T|0}else if((P|0)==63){Ub(f,1,10964,O)|0;Uc(g);T=0;i=Q;return T|0}else if((P|0)==65){if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}else if((P|0)==67){if(!g){T=1;i=Q;return T|0}Uc(g);T=1;i=Q;return T|0}if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}function pd(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+188|0;if(!(sg(c[f>>2]|0,29,e)|0)){d=0;return d|0}if(((b[a+88>>1]|0)+-3&65535)<4?(sg(c[f>>2]|0,30,e)|0)==0:0){d=0;return d|0}if(!(sg(c[f>>2]|0,31,e)|0)){d=0;return d|0}if(!(sg(c[f>>2]|0,32,e)|0)){d=0;return d|0}if(!(sg(c[f>>2]|0,33,e)|0)){d=0;return d|0}j=c[f>>2]|0;h=tg(j)|0;f=ug(j)|0;if(!h)f=1;else{i=0;g=f;f=1;while(1){if(!f)f=0;else f=(Ra[c[g>>2]&63](a,d,e)|0)!=0;f=f&1;i=i+1|0;if((i|0)==(h|0))break;else g=g+4|0}}vg(j);d=f;return d|0}function qd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=Xb()|0;k=a+80|0;c[k>>2]=g;if(!g){Ub(f,1,11011,m)|0;d=0;i=m;return d|0}$b(e,g);j=c[e+24>>2]|0;if((j|0)!=0?(l=c[e+16>>2]|0,(l|0)!=0):0){h=0;do{e=j+(h*52|0)+44|0;g=c[e>>2]|0;if(g){c[(c[(c[k>>2]|0)+24>>2]|0)+(h*52|0)+44>>2]=g;c[e>>2]=0}h=h+1|0}while(h>>>0>>0)}g=a+192|0;if(!(sg(c[g>>2]|0,34,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,35,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,36,f)|0)){d=0;i=m;return d|0}h=c[g>>2]|0;j=tg(h)|0;g=ug(h)|0;if(j){k=0;e=1;while(1){if(!e)e=0;else e=(Ra[c[g>>2]&63](a,d,f)|0)!=0;k=k+1|0;if((k|0)==(j|0))break;else{g=g+4|0;e=e&1}}vg(h);if(!e){d=0;i=m;return d|0}}else vg(h);g=a+188|0;if(!(sg(c[g>>2]|0,37,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,38,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,39,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,40,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,41,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,42,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,43,f)|0)){d=0;i=m;return d|0}e=a+88|0;if(((b[e>>1]|0)+-3&65535)<4){if(!(sg(c[g>>2]|0,44,f)|0)){d=0;i=m;return d|0}if((b[e>>1]|0)==4?(sg(c[g>>2]|0,45,f)|0)==0:0){d=0;i=m;return d|0}}if(!(sg(c[g>>2]|0,46,f)|0)){d=0;i=m;return d|0}if((c[a+108>>2]|0)!=0?(sg(c[g>>2]|0,47,f)|0)==0:0){d=0;i=m;return d|0}if((b[e>>1]&256)!=0?(sg(c[g>>2]|0,48,f)|0)==0:0){d=0;i=m;return d|0}if((c[a+196>>2]|0)!=0?(sg(c[g>>2]|0,49,f)|0)==0:0){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,50,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,51,f)|0)){d=0;i=m;return d|0}k=c[g>>2]|0;h=tg(k)|0;g=ug(k)|0;if(!h)g=1;else{j=0;e=g;g=1;while(1){if(!g)g=0;else g=(Ra[c[e>>2]&63](a,d,f)|0)!=0;g=g&1;j=j+1|0;if((j|0)==(h|0))break;else e=e+4|0}}vg(k);d=g;i=m;return d|0}function rd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q+40|0;p=q+32|0;n=q+24|0;l=q+16|0;j=q+8|0;h=q;k=a+200|0;if((c[k>>2]|0)==(b|0)){m=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[j>>2]=b+1;c[j+4>>2]=m;Ub(g,4,10866,j)|0;c[a+12>>2]=0;m=a+204|0;j=c[m>>2]|0;c[j+12>>2]=c[(c[a+164>>2]|0)+(b*5640|0)+5588>>2];c[a+8>>2]=0;if(_f(j,c[k>>2]|0,g)|0){h=c[m>>2]|0;a:do{if(c[(c[h+24>>2]|0)+16>>2]|0){j=0;while(1){if(!(Zf((c[(c[c[h+20>>2]>>2]|0)+20>>2]|0)+(j*52|0)|0)|0))break;j=j+1|0;h=c[m>>2]|0;if(j>>>0>=(c[(c[h+24>>2]|0)+16>>2]|0)>>>0)break a}Ub(g,1,10887,n)|0;p=0;i=q;return p|0}}while(0);if(!(fg(h,d,e)|0)){Ub(g,1,10964,p)|0;p=0;i=q;return p|0}if(Ad(a,f,g)|0){p=1;i=q;return p|0}c[o>>2]=b;Ub(g,1,11101,o)|0;p=0;i=q;return p|0}}else Ub(g,1,10829,h)|0;c[l>>2]=b;Ub(g,1,11044,l)|0;p=0;i=q;return p|0}function sd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;f=a+5164|0;b=c[f>>2]|0;if(b){g=a+5160|0;d=c[g>>2]|0;if(d){e=0;while(1){b=c[b+(e<<3)>>2]|0;if(b){Uc(b);d=c[g>>2]|0}e=e+1|0;if(e>>>0>=d>>>0)break;b=c[f>>2]|0}b=c[f>>2]|0}c[g>>2]=0;Uc(b);c[f>>2]=0}b=a+5172|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5584|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5608|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5604|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5624|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0;c[a+5632>>2]=0;c[a+5628>>2]=0}i=a+5612|0;b=c[i>>2]|0;if(b){h=a+5616|0;d=c[h>>2]|0;if(d){g=0;while(1){e=b+12|0;f=c[e>>2]|0;if(f){Uc(f);c[e>>2]=0;d=c[h>>2]|0}g=g+1|0;if(g>>>0>=d>>>0)break;else b=b+20|0}b=c[i>>2]|0}Uc(b);c[i>>2]=0}b=a+5600|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5592|0;d=c[b>>2]|0;if(!d)return;Uc(d);c[b>>2]=0;c[a+5596>>2]=0;return}function td(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ud(a,b,d){a=a|0;b=b|0;d=d|0;return(c[a+8>>2]|0)==0&(c[a+188>>2]|0)!=0&(c[a+192>>2]|0)!=0&1|0}function vd(d,e,f){d=d|0;e=e|0;f=f|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+224|0;X=Y+200|0;U=Y+192|0;T=Y+184|0;Q=Y+176|0;P=Y+168|0;O=Y+160|0;M=Y+152|0;L=Y+144|0;K=Y+136|0;E=Y+128|0;J=Y+120|0;D=Y+112|0;B=Y+104|0;A=Y+96|0;z=Y+88|0;y=Y+80|0;I=Y+72|0;H=Y+64|0;x=Y+56|0;w=Y+48|0;v=Y+40|0;F=Y+32|0;p=Y+24|0;m=Y+16|0;l=Y+8|0;N=Y;S=Y+216|0;g=Y+204|0;G=Y+212|0;u=Y+208|0;W=d+8|0;c[W>>2]=1;a:do{if((Mb(e,S,2,f)|0)==2?(qb(S,g,2),(c[g>>2]|0)==65359):0){c[W>>2]=2;o=Pb(e)|0;o=Si(o|0,C|0,-2,-1)|0;n=C;V=d+196|0;h=c[V>>2]|0;c[h>>2]=o;c[h+4>>2]=n;h=N;c[h>>2]=o;c[h+4>>2]=n;Ub(f,4,15766,N)|0;h=c[V>>2]|0;n=c[h>>2]|0;o=h+24|0;g=c[o>>2]|0;k=h+32|0;j=c[k>>2]|0;do{if((g+1|0)>>>0>j>>>0){t=~~(+(j>>>0)+100.0)>>>0;c[k>>2]=t;g=h+28|0;h=Tc(c[g>>2]|0,t*24|0)|0;if(!h){Uc(c[g>>2]|0);c[g>>2]=0;c[k>>2]=0;c[o>>2]=0;Ub(f,1,15803,l)|0;break a}else{c[g>>2]=h;g=c[o>>2]|0;break}}else h=c[h+28>>2]|0}while(0);b[h+(g*24|0)>>1]=-177;s=Pi(0,n|0,32)|0;t=h+(g*24|0)+8|0;c[t>>2]=s;c[t+4>>2]=C;c[h+(g*24|0)+16>>2]=2;c[o>>2]=g+1;t=d+16|0;if((Mb(e,c[t>>2]|0,2,f)|0)!=2){Ub(f,1,8295,p)|0;f=0;i=Y;return f|0}qb(c[t>>2]|0,G,2);g=c[G>>2]|0;if((g|0)!=65424){s=d+20|0;q=0;j=0;r=0;b:while(1){if(g>>>0<65280){R=14;break}else l=784;while(1){h=c[l>>2]|0;k=(h|0)==0;if(k|(h|0)==(g|0))break;else l=l+12|0}if(k){Ub(f,2,15914,v)|0;m=2;c:while(1){do{if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=20;break b}qb(c[t>>2]|0,N,2);g=c[N>>2]|0}while(g>>>0<65280);l=784;while(1){h=c[l>>2]|0;if((h|0)==0|(h|0)==(g|0)){k=l;g=l;break}else l=l+12|0}if(!(c[g+4>>2]&c[W>>2])){R=25;break b}if((h|0)>=65424){R=100;break}switch(h|0){case 0:break;default:{p=k;o=m;break c}}m=m+2|0}if((R|0)==100){R=0;switch(h|0){case 65424:{h=q;g=r;R=27;break b}default:{p=k;o=m}}}l=c[V>>2]|0;n=Pb(e)|0;n=n-o|0;k=l+24|0;g=c[k>>2]|0;h=l+32|0;m=c[h>>2]|0;if((g+1|0)>>>0>m>>>0){g=~~(+(m>>>0)+100.0)>>>0;c[h>>2]=g;l=l+28|0;g=Tc(c[l>>2]|0,g*24|0)|0;if(!g){j=l;g=l;R=32;break}c[l>>2]=g;h=g;g=c[k>>2]|0}else h=c[l+28>>2]|0;b[h+(g*24|0)>>1]=0;m=h+(g*24|0)+8|0;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;c[h+(g*24|0)+16>>2]=o;c[k>>2]=g+1;g=c[p>>2]|0;c[G>>2]=g;if((g|0)==65424){h=q;g=r;break}else k=784;while(1){h=c[k>>2]|0;if((h|0)==0|(h|0)==(g|0))break;else k=k+12|0}}else k=l;r=(h|0)==65361?1:r;q=(h|0)==65362?1:q;j=(h|0)==65372?1:j;if(!(c[k+4>>2]&c[W>>2])){R=38;break}if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=40;break}qb(c[t>>2]|0,u,2);h=(c[u>>2]|0)+-2|0;c[u>>2]=h;g=c[t>>2]|0;if(h>>>0>(c[s>>2]|0)>>>0){g=Tc(g,h)|0;if(!g){R=43;break}c[t>>2]=g;h=c[u>>2]|0;c[s>>2]=h}g=Mb(e,g,h,f)|0;if((g|0)!=(c[u>>2]|0)){R=46;break}if(!(Za[c[k+8>>2]&63](d,c[t>>2]|0,g,f)|0)){R=48;break}m=c[V>>2]|0;n=c[k>>2]|0;o=Pb(e)|0;p=c[u>>2]|0;o=-4-p+o|0;p=p+4|0;k=m+24|0;g=c[k>>2]|0;h=m+32|0;l=c[h>>2]|0;if((g+1|0)>>>0>l>>>0){g=~~(+(l>>>0)+100.0)>>>0;c[h>>2]=g;l=m+28|0;g=Tc(c[l>>2]|0,g*24|0)|0;if(!g){j=l;g=l;R=53;break}c[l>>2]=g;h=g;g=c[k>>2]|0}else h=c[m+28>>2]|0;b[h+(g*24|0)>>1]=n;n=h+(g*24|0)+8|0;c[n>>2]=o;c[n+4>>2]=((o|0)<0)<<31>>31;c[h+(g*24|0)+16>>2]=p;c[k>>2]=g+1;if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=55;break}qb(c[t>>2]|0,G,2);g=c[G>>2]|0;if((g|0)==65424){h=q;g=r;break}}switch(R|0){case 14:{c[F>>2]=g;Ub(f,1,15863,F)|0;f=0;i=Y;return f|0}case 20:{Ub(f,1,8295,w)|0;R=34;break}case 25:{Ub(f,1,8339,x)|0;R=34;break}case 27:{c[G>>2]=65424;break}case 32:{Uc(c[g>>2]|0);c[j>>2]=0;c[h>>2]=0;c[k>>2]=0;Ub(f,1,15803,H)|0;R=34;break}case 38:{Ub(f,1,8339,y)|0;f=0;i=Y;return f|0}case 40:{Ub(f,1,8295,z)|0;f=0;i=Y;return f|0}case 43:{Uc(c[t>>2]|0);c[t>>2]=0;c[s>>2]=0;Ub(f,1,8427,A)|0;f=0;i=Y;return f|0}case 46:{Ub(f,1,8295,B)|0;f=0;i=Y;return f|0}case 48:{Ub(f,1,15985,D)|0;f=0;i=Y;return f|0}case 53:{Uc(c[g>>2]|0);c[j>>2]=0;c[h>>2]=0;c[k>>2]=0;Ub(f,1,15803,J)|0;f=0;i=Y;return f|0}case 55:{Ub(f,1,8295,E)|0;f=0;i=Y;return f|0}}if((R|0)==34){Ub(f,1,15930,I)|0;f=0;i=Y;return f|0}if(g){if(!h){Ub(f,1,16090,L)|0;f=0;i=Y;return f|0}if(!j){Ub(f,1,16136,M)|0;f=0;i=Y;return f|0}d:do{if(a[d+184>>0]&1){s=d+120|0;do{if(c[s>>2]|0){n=d+124|0;o=0;g=0;h=0;e:do{j=c[n>>2]|0;k=c[j+(o<<3)>>2]|0;f:do{if(k){l=c[j+(o<<3)+4>>2]|0;j=g>>>0>>0;m=j?0:g-l|0;if((l|0)==(g|0)|j^1)g=m;else{k=j?k+g|0:k;g=l-g|0;while(1){if(g>>>0<4){R=70;break e}qb(k,N,4);j=g+-4|0;g=c[N>>2]|0;h=g+h|0;if(j>>>0>>0)break;if((j|0)==(g|0)){g=m;break f}else{k=k+(g+4)|0;g=j-g|0}}g=g-j|0}}}while(0);o=o+1|0}while(o>>>0<(c[s>>2]|0)>>>0);if((R|0)==70){Ub(f,1,16182,O)|0;break}if(!g)R=77;else Ub(f,1,16213,P)|0}else{h=0;R=77}}while(0);g:do{if((R|0)==77){j=Pc(h)|0;p=d+144|0;c[p>>2]=j;if(!j){Ub(f,1,13302,Q)|0;break}q=d+132|0;c[q>>2]=h;k=c[s>>2]|0;r=d+124|0;do{if(k){g=c[r>>2]|0;j=g;o=0;n=0;h=0;h:while(1){l=c[j+(o<<3)>>2]|0;if(!l)l=n;else{j=c[j+(o<<3)+4>>2]|0;g=(c[p>>2]|0)+h|0;i:do{if(n>>>0>>0){Ui(g|0,l|0,n|0)|0;h=h+n|0;if((j|0)==(n|0)){l=0;break}m=l+n|0;g=j-n|0;while(1){if(g>>>0<4){R=88;break h}qb(m,S,4);l=m+4|0;k=g+-4|0;j=c[S>>2]|0;g=(c[p>>2]|0)+h|0;if(k>>>0>>0){j=l;break}Ui(g|0,l|0,j|0)|0;g=c[S>>2]|0;h=g+h|0;if((k|0)==(g|0)){l=0;break i}else{m=m+(g+4)|0;g=k-g|0}}Ui(g|0,j|0,k|0)|0;l=(c[S>>2]|0)-k|0;h=k+h|0}else{Ui(g|0,l|0,j|0)|0;l=n-j|0;h=j+h|0}}while(0);Uc(c[(c[r>>2]|0)+(o<<3)>>2]|0);j=c[r>>2]|0;c[j+(o<<3)>>2]=0;c[j+(o<<3)+4>>2]=0;k=c[s>>2]|0;g=j}o=o+1|0;if(o>>>0>=k>>>0){R=94;break}else n=l}if((R|0)==88){Ub(f,1,16182,T)|0;break g}else if((R|0)==94){j=c[p>>2]|0;h=c[q>>2]|0;break}}else g=c[r>>2]|0}while(0);c[d+128>>2]=j;c[d+152>>2]=h;c[s>>2]=0;Uc(g);c[r>>2]=0;break d}}while(0);Ub(f,1,16236,U)|0;f=0;i=Y;return f|0}}while(0);Ub(f,4,16262,X)|0;X=Pb(e)|0;f=(c[V>>2]|0)+8|0;c[f>>2]=X+-2;c[f+4>>2]=0;c[W>>2]=8;f=1;i=Y;return f|0}}Ub(f,1,16044,K)|0;f=0;i=Y;return f|0}}while(0);Ub(f,1,15839,m)|0;f=0;i=Y;return f|0}function wd(b,d,e){b=b|0;d=d|0;e=e|0;var f=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+16|0;F=G;D=c[b+80>>2]|0;E=b+88|0;A=_(c[b+112>>2]|0,c[b+116>>2]|0)|0;q=c[D+16>>2]|0;o=q*1080|0;p=c[b+12>>2]|0;q=_(q<<2,q)|0;a:do{if(A){r=p+5604|0;s=p+5620|0;t=p+5612|0;u=p+5616|0;v=p+5632|0;w=p+5624|0;x=p+5584|0;B=0;C=c[b+164>>2]|0;b:while(1){k=C+5584|0;y=c[k>>2]|0;Ui(C|0,p|0,5640)|0;d=C+5636|0;a[d>>0]=a[d>>0]&-4;c[C+5168>>2]=0;d=C+5604|0;c[d>>2]=0;l=C+5620|0;c[l>>2]=0;z=C+5612|0;c[z>>2]=0;m=C+5632|0;c[m>>2]=0;n=C+5624|0;c[n>>2]=0;c[k>>2]=y;if(c[r>>2]|0){f=Pc(q)|0;c[d>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[r>>2]|0,q|0)|0}d=(c[s>>2]|0)*20|0;f=Pc(d)|0;c[z>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[t>>2]|0,d|0)|0;d=c[u>>2]|0;if(d){h=0;j=c[z>>2]|0;k=c[t>>2]|0;while(1){g=k+12|0;if(c[g>>2]|0){d=k+16|0;f=Pc(c[d>>2]|0)|0;c[j+12>>2]=f;if(!f){d=0;f=25;break b}Ui(f|0,c[g>>2]|0,c[d>>2]|0)|0;d=c[u>>2]|0}c[l>>2]=(c[l>>2]|0)+1;h=h+1|0;if(h>>>0>=d>>>0)break;else{j=j+20|0;k=k+20|0}}}d=(c[v>>2]|0)*20|0;f=Pc(d)|0;c[n>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[w>>2]|0,d|0)|0;c[m>>2]=c[v>>2];h=c[v>>2]|0;if(h){j=0;f=c[n>>2]|0;g=c[w>>2]|0;while(1){d=c[g+8>>2]|0;if(d)c[f+8>>2]=(c[z>>2]|0)+(((d-(c[t>>2]|0)|0)/20|0)*20|0);d=c[g+12>>2]|0;if(d)c[f+12>>2]=(c[z>>2]|0)+(((d-(c[t>>2]|0)|0)/20|0)*20|0);j=j+1|0;if(j>>>0>=h>>>0)break;else{f=f+20|0;g=g+20|0}}}Ui(y|0,c[x>>2]|0,o|0)|0;B=B+1|0;if(B>>>0>=A>>>0)break a;else C=C+5640|0}if((f|0)==25){i=G;return d|0}}}while(0);f=Tf(1)|0;d=b+204|0;c[d>>2]=f;if(!f){e=0;i=G;return e|0}if(Xf(f,D,E)|0){e=1;i=G;return e|0}Yf(c[d>>2]|0);c[d>>2]=0;Ub(e,1,8839,F)|0;e=0;i=G;return e|0}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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;w=i;i=i+128|0;u=w+120|0;t=w+112|0;s=w+104|0;r=w+96|0;q=w+88|0;p=w+80|0;o=w+72|0;n=w+64|0;m=w+56|0;l=w+48|0;k=w+40|0;j=w+32|0;h=w+24|0;g=w+16|0;f=w+8|0;e=w;if(!a){i=w;return}ki(12191,17,1,d)|0;c[e>>2]=c[a>>2];$h(d,12209,e)|0;c[f>>2]=c[a+4>>2];$h(d,12222,f)|0;c[g>>2]=c[a+8>>2];$h(d,12234,g)|0;c[h>>2]=c[a+16>>2];$h(d,12251,h)|0;if((b|0)>0){g=a+5584|0;h=0;do{f=c[g>>2]|0;c[j>>2]=h;$h(d,12262,j)|0;c[k>>2]=c[f+(h*1080|0)>>2];$h(d,12276,k)|0;a=f+(h*1080|0)+4|0;c[l>>2]=c[a>>2];$h(d,12290,l)|0;c[m>>2]=c[f+(h*1080|0)+8>>2];$h(d,12313,m)|0;c[n>>2]=c[f+(h*1080|0)+12>>2];$h(d,12329,n)|0;c[o>>2]=c[f+(h*1080|0)+16>>2];$h(d,12345,o)|0;c[p>>2]=c[f+(h*1080|0)+20>>2];$h(d,12362,p)|0;ki(12377,23,1,d)|0;if(c[a>>2]|0){e=0;do{x=c[f+(h*1080|0)+944+(e<<2)>>2]|0;c[q>>2]=c[f+(h*1080|0)+812+(e<<2)>>2];c[q+4>>2]=x;$h(d,12401,q)|0;e=e+1|0}while(e>>>0<(c[a>>2]|0)>>>0)}ai(10,d)|0;x=f+(h*1080|0)+24|0;c[r>>2]=c[x>>2];$h(d,12410,r)|0;c[s>>2]=c[f+(h*1080|0)+804>>2];$h(d,12425,s)|0;ki(12442,20,1,d)|0;if((c[x>>2]|0)!=1){a=(c[a>>2]|0)*3|0;if((a|0)>2){a=a+-2|0;v=8}}else{a=1;v=8}if((v|0)==8){v=0;e=0;do{x=c[f+(h*1080|0)+28+(e<<3)>>2]|0;c[t>>2]=c[f+(h*1080|0)+28+(e<<3)+4>>2];c[t+4>>2]=x;$h(d,12401,t)|0;e=e+1|0}while((e|0)!=(a|0))}ai(10,d)|0;c[u>>2]=c[f+(h*1080|0)+808>>2];$h(d,12463,u)|0;ki(12480,5,1,d)|0;h=h+1|0}while((h|0)!=(b|0))}ki(10321,4,1,d)|0;i=w;return}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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,A=0,B=0;B=i;i=i+80|0;u=B+32|0;v=B+24|0;y=B+16|0;x=B+8|0;o=B+64|0;w=B+60|0;n=B+56|0;q=B+52|0;s=B+48|0;r=B+44|0;t=B+40|0;p=B+36|0;c[o>>2]=1;e=Pc(1e3)|0;if(!e){Ub(d,1,12127,B)|0;d=0;i=B;return d|0}z=a+116|0;A=a+112|0;k=a+204|0;l=a+84|0;m=a+8|0;f=1e3;j=0;while(1){if(!(cd(a,w,n,q,s,r,t,p,o,b,d)|0)){g=5;break}if(!(c[o>>2]|0)){g=17;break}h=c[n>>2]|0;if(h>>>0>f>>>0){f=Tc(e,h)|0;if(!f){g=9;break}else{e=f;g=h}}else g=f;f=c[w>>2]|0;if(!(dd(a,f,e,h,b,d)|0)){g=11;break}f=f+1|0;h=_(c[A>>2]|0,c[z>>2]|0)|0;c[v>>2]=f;c[v+4>>2]=h;Ub(d,4,11986,v)|0;h=c[k>>2]|0;if(!(ce(c[(c[c[h+20>>2]>>2]|0)+20>>2]|0,c[h+24>>2]|0,e,c[(c[l>>2]|0)+24>>2]|0)|0)){g=13;break}c[u>>2]=f;Ub(d,4,12016,u)|0;h=Qb(b)|0;if((h|0)==0&(C|0)==0?(c[m>>2]|0)==64:0){g=17;break}j=j+1|0;if((j|0)==(_(c[A>>2]|0,c[z>>2]|0)|0)){g=17;break}else f=g}if((g|0)==5){Uc(e);d=0;i=B;return d|0}else if((g|0)==9){Uc(e);A=_(c[A>>2]|0,c[z>>2]|0)|0;c[x>>2]=(c[w>>2]|0)+1;c[x+4>>2]=A;Ub(d,1,11946,x)|0;d=0;i=B;return d|0}else if((g|0)==11){Uc(e);A=_(c[A>>2]|0,c[z>>2]|0)|0;c[y>>2]=f+1;c[y+4>>2]=A;Ub(d,1,12162,y)|0;d=0;i=B;return d|0}else if((g|0)==13){Uc(e);d=0;i=B;return d|0}else if((g|0)==17){Uc(e);d=1;i=B;return d|0}return 0}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;y=G+56|0;D=G+48|0;x=G+40|0;z=G+32|0;E=G+24|0;k=G+16|0;j=G+8|0;r=G+92|0;B=G+88|0;q=G+84|0;t=G+80|0;v=G+76|0;u=G+72|0;w=G+68|0;s=G+64|0;c[r>>2]=1;e=Pc(1e3)|0;if(!e){Ub(d,1,11880,G)|0;F=0;i=G;return F|0}A=a+196|0;g=c[A>>2]|0;f=c[g+40>>2]|0;a:do{if(!f){f=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[g+36>>2]=f;f=Qc(f,40)|0;g=c[A>>2]|0;c[g+40>>2]=f;b:do{if(f){if(c[g+36>>2]|0){h=0;do{c[f+(h*40|0)+28>>2]=100;c[f+(h*40|0)+20>>2]=0;p=Qc(100,24)|0;g=c[A>>2]|0;f=c[g+40>>2]|0;c[f+(h*40|0)+24>>2]=p;h=h+1|0;if(!p)break b}while(h>>>0<(c[g+36>>2]|0)>>>0)}g=c[a+60>>2]|0;if(!f)break a;else{F=12;break a}}}while(0);Uc(e);F=0;i=G;return F|0}else{g=c[a+60>>2]|0;F=12}}while(0);if((F|0)==12)if(c[f+16>>2]|0){if(!(c[f+(g*40|0)+4>>2]|0)){p=a+64|0;p=Si(c[p>>2]|0,c[p+4>>2]|0,2,0)|0;if(!(xb(b,p,C,d)|0)){Ub(d,1,11918,j)|0;Uc(e);F=0;i=G;return F|0}}else{p=c[f+(g*40|0)+16>>2]|0;p=Si(c[p>>2]|0,c[p+4>>2]|0,2,0)|0;if(!(xb(b,p,C,d)|0)){Ub(d,1,11918,k)|0;Uc(e);F=0;i=G;return F|0}}f=a+8|0;if((c[f>>2]|0)==256)c[f>>2]=8}c:do{if(cd(a,B,q,t,v,u,w,s,r,b,d)|0){o=a+116|0;p=a+112|0;l=a+204|0;m=a+84|0;n=g+1|0;f=1e3;while(1){if(!(c[r>>2]|0))break;k=c[q>>2]|0;if(k>>>0>f>>>0){f=Tc(e,k)|0;if(!f){F=26;break}else{e=f;j=k}}else j=f;h=c[B>>2]|0;if(!(dd(a,h,e,k,b,d)|0)){F=28;break}f=h+1|0;k=_(c[p>>2]|0,c[o>>2]|0)|0;c[z>>2]=f;c[z+4>>2]=k;Ub(d,4,11986,z)|0;k=c[l>>2]|0;if(!(ce(c[(c[c[k+20>>2]>>2]|0)+20>>2]|0,c[k+24>>2]|0,e,c[(c[m>>2]|0)+24>>2]|0)|0)){F=30;break}c[x>>2]=f;Ub(d,4,12016,x)|0;if((h|0)==(g|0)){F=32;break}c[y>>2]=f;c[y+4>>2]=n;Ub(d,2,12060,y)|0;if(!(cd(a,B,q,t,v,u,w,s,r,b,d)|0))break c;else f=j}if((F|0)==26){Uc(e);F=_(c[p>>2]|0,c[o>>2]|0)|0;c[E>>2]=(c[B>>2]|0)+1;c[E+4>>2]=F;Ub(d,1,11946,E)|0;F=0;i=G;return F|0}else if((F|0)==28){Uc(e);F=0;i=G;return F|0}else if((F|0)==30){Uc(e);F=0;i=G;return F|0}else if((F|0)==32){F=(c[A>>2]|0)+8|0;F=Si(c[F>>2]|0,c[F+4>>2]|0,2,0)|0;if(!(xb(b,F,C,d)|0)){Ub(d,1,11918,D)|0;Uc(e);F=0;i=G;return F|0}}Uc(e);F=1;i=G;return F|0}}while(0);Uc(e);F=0;i=G;return F|0}function Ad(a,d,e){a=a|0;d=d|0;e=e|0;var f=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;H=i;i=i+32|0;D=H+16|0;t=H+8|0;l=H;C=H+20|0;E=c[a+40>>2]|0;G=a+36|0;n=c[G>>2]|0;o=a+204|0;k=c[o>>2]|0;c[k+16>>2]=0;B=a+8|0;c[B>>2]=0;c[C>>2]=0;pb(n,65424,2);pb(n+2|0,10,2);F=a+200|0;pb(n+4|0,c[F>>2]|0,2);z=a+12|0;pb(n+10|0,c[z>>2]|0,1);A=a+164|0;pb(n+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=12;h=n+12|0;f=E+-12|0;m=a+88|0;if(((b[m>>1]|0)+-3&65535)>=4?(g=c[F>>2]|0,j=c[A>>2]|0,(c[j+(g*5640|0)+420>>2]|0)!=0):0){c[C>>2]=0;_d(c[(c[a+80>>2]|0)+16>>2]|0,j,g,h,C);y=c[C>>2]|0;g=y+12|0;h=n+g|0;f=f-y|0}else g=12;c[C>>2]=0;pb(h,65427,2);c[k+4>>2]=c[B>>2];y=c[z>>2]|0;c[k+8>>2]=y;if(!y)c[(c[c[k+20>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(k,c[F>>2]|0,h+2|0,C,f+-4|0,0)|0)){Ub(e,1,11860,l)|0;d=0;i=H;return d|0}f=(c[C>>2]|0)+2|0;c[C>>2]=f;f=f+g|0;pb(n+6|0,f,4);if(((b[m>>1]|0)+-3&65535)<4){y=a+28|0;pb(c[y>>2]|0,c[F>>2]|0,1);x=(c[y>>2]|0)+1|0;c[y>>2]=x;pb(x,f,4);c[y>>2]=(c[y>>2]|0)+4}g=n+f|0;y=E-f|0;v=c[o>>2]|0;w=a+88|0;r=c[A>>2]|0;s=c[F>>2]|0;m=be(w,0,s)|0;x=a+8|0;c[z>>2]=(c[z>>2]|0)+1;a:do{if(m>>>0>1){n=v+4|0;o=v+8|0;p=v+20|0;q=a+28|0;j=g;g=y;f=0;l=1;while(1){c[x>>2]=l;c[C>>2]=0;pb(j,65424,2);pb(j+2|0,10,2);pb(j+4|0,c[F>>2]|0,2);pb(j+10|0,c[z>>2]|0,1);pb(j+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=0;pb(j+12|0,65427,2);c[n>>2]=c[B>>2];k=c[z>>2]|0;c[o>>2]=k;if(!k)c[(c[c[p>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(v,c[F>>2]|0,j+14|0,C,g+-16|0,0)|0))break;I=c[C>>2]|0;J=I+2|0;c[C>>2]=J;k=I+14|0;h=j+k|0;f=f+12+J|0;g=g+-12+(-2-I)|0;pb(j+6|0,k,4);if(((b[w>>1]|0)+-3&65535)<4){pb(c[q>>2]|0,c[F>>2]|0,1);J=(c[q>>2]|0)+1|0;c[q>>2]=J;pb(J,k,4);c[q>>2]=(c[q>>2]|0)+4}c[z>>2]=(c[z>>2]|0)+1;l=l+1|0;if(l>>>0>=m>>>0){u=12;break a}else j=h}Ub(e,1,11860,t)|0}else{h=g;g=y;f=0;u=12}}while(0);b:do{if((u|0)==12){p=r+(s*5640|0)+420|0;c:do{if(c[p>>2]|0){q=v+16|0;r=v+4|0;s=v+8|0;t=v+20|0;o=a+28|0;n=1;d:while(1){c[q>>2]=n;m=be(w,n,c[F>>2]|0)|0;if(m){l=0;while(1){c[x>>2]=l;c[C>>2]=0;pb(h,65424,2);pb(h+2|0,10,2);pb(h+4|0,c[F>>2]|0,2);pb(h+10|0,c[z>>2]|0,1);pb(h+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=0;pb(h+12|0,65427,2);c[r>>2]=c[B>>2];J=c[z>>2]|0;c[s>>2]=J;if(!J)c[(c[c[t>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(v,c[F>>2]|0,h+14|0,C,g+-16|0,0)|0))break d;J=c[C>>2]|0;j=J+2|0;c[C>>2]=j;f=f+12+j|0;j=J+14|0;k=h+j|0;g=g+-12+(-2-J)|0;pb(h+6|0,j,4);if(((b[w>>1]|0)+-3&65535)<4){pb(c[o>>2]|0,c[F>>2]|0,1);J=(c[o>>2]|0)+1|0;c[o>>2]=J;pb(J,j,4);c[o>>2]=(c[o>>2]|0)+4}c[z>>2]=(c[z>>2]|0)+1;l=l+1|0;if(l>>>0>=m>>>0){h=k;break}else h=k}}n=n+1|0;if(n>>>0>(c[p>>2]|0)>>>0)break c}Ub(e,1,11860,D)|0;break b}}while(0);J=f-y+E|0;if((Nb(d,c[G>>2]|0,J,e)|0)!=(J|0)){J=0;i=H;return J|0}c[F>>2]=(c[F>>2]|0)+1;J=1;i=H;return J|0}}while(0);J=0;i=H;return J|0}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;a=a+44|0;pb(c[a>>2]|0,65497,2);if((Nb(b,c[a>>2]|0,2,d)|0)!=2){b=0;return b|0}b=(Ob(b,d)|0)!=0&1;return b|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=(c[a+32>>2]|0)*5|0;i=a+16|0;i=Si(c[i>>2]|0,c[i+4>>2]|0,6,0)|0;h=C;e=Pb(b)|0;f=C;if(!(Sb(b,i,h,d)|0)){i=0;return i|0}if((Nb(b,c[a+24>>2]|0,g,d)|0)!=(g|0)){i=0;return i|0}i=(Sb(b,e,f,d)|0)!=0&1;return i|0}function Dd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+196>>2]|0;if(!a)return 1;b=Pb(b)|0;d=a;d=Oi(b|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;b=a+16|0;c[b>>2]=d;c[b+4>>2]=C;return 1}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;d=a+204|0;Yf(c[d>>2]|0);c[d>>2]=0;d=a+24|0;b=c[d>>2]|0;if(b){Uc(b);c[d>>2]=0;c[a+28>>2]=0}d=a+36|0;b=c[d>>2]|0;if(!b){a=a+40|0;c[a>>2]=0;return 1}Uc(b);c[d>>2]=0;a=a+40|0;c[a>>2]=0;return 1}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;d=a+44|0;b=c[d>>2]|0;if(b){Uc(b);c[d>>2]=0}c[a+48>>2]=0;return 1}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=(c[a+8>>2]|0)==0&(c[a+188>>2]|0)!=0&(c[a+192>>2]|0)!=0&1;b=(c[(c[(c[a+164>>2]|0)+5584>>2]|0)+4>>2]|0)+-1|0;if(b>>>0>31){Ub(d,1,11790,f)|0;d=0;i=f;return d|0}b=1<>2]|0)>>>0>>0){Ub(d,1,11790,f+8|0)|0;d=0;i=f;return d|0}if((c[a+104>>2]|0)>>>0>=b>>>0){d=e;i=f;return d|0}Ub(d,1,11790,f+16|0)|0;d=0;i=f;return d|0}function Id(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((b[a+88>>1]&-32256)<<16>>16!=-32256){j=1;return j|0}i=_(c[a+112>>2]|0,c[a+116>>2]|0)|0;if(!i){j=1;return j|0}h=a+80|0;j=0;e=1;g=c[a+164>>2]|0;while(1){if((c[g+16>>2]|0)==2){e=(c[g+5608>>2]|0)!=0&e;a=c[(c[h>>2]|0)+16>>2]|0;if(a){f=0;d=c[g+5584>>2]|0;while(1){e=(c[d+20>>2]&1^1)&e;f=f+1|0;if(f>>>0>=a>>>0)break;else d=d+1080|0}}}j=j+1|0;if((j|0)==(i|0))break;else g=g+5640|0}return e|0}function Jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+88|0;h=a+32|0;i=c[a+80>>2]|0;j=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[h>>2]=0;if(!j)return 1;e=c[a+164>>2]|0;f=0;while(1){Nf(i,g,f);b=e+420|0;d=0;a=0;do{k=be(g,a,f)|0;c[h>>2]=(c[h>>2]|0)+k;d=k+d|0;a=a+1|0}while(a>>>0<=(c[b>>2]|0)>>>0);c[e+5588>>2]=d;f=f+1|0;if((f|0)==(j|0))break;else e=e+5640|0}return 1}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+44>>2]|0;pb(a,65359,2);return(Nb(b,a,2,d)|0)==2|0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+16|0;j=p;k=c[a+80>>2]|0;n=k+16|0;l=(c[n>>2]|0)*3|0;o=l+40|0;f=c[k+24>>2]|0;h=a+48|0;m=a+44|0;g=c[m>>2]|0;do{if(o>>>0>(c[h>>2]|0)>>>0){g=Tc(g,o)|0;if(g){c[m>>2]=g;c[h>>2]=o;break}Uc(c[m>>2]|0);c[m>>2]=0;c[h>>2]=0;Ub(d,1,11752,j)|0;b=0;i=p;return b|0}}while(0);pb(g,65361,2);pb(g+2|0,l+38|0,2);pb(g+4|0,e[a+88>>1]|0,2);pb(g+6|0,c[k+8>>2]|0,4);pb(g+10|0,c[k+12>>2]|0,4);pb(g+14|0,c[k>>2]|0,4);pb(g+18|0,c[k+4>>2]|0,4);pb(g+22|0,c[a+100>>2]|0,4);pb(g+26|0,c[a+104>>2]|0,4);pb(g+30|0,c[a+92>>2]|0,4);pb(g+34|0,c[a+96>>2]|0,4);pb(g+38|0,c[n>>2]|0,2);if(c[n>>2]|0){h=0;g=g+40|0;while(1){pb(g,(c[f+24>>2]|0)+-1+(c[f+32>>2]<<7)|0,1);pb(g+1|0,c[f>>2]|0,1);pb(g+2|0,c[f+4>>2]|0,1);h=h+1|0;if(h>>>0>=(c[n>>2]|0)>>>0)break;else{g=g+3|0;f=f+52|0}}}b=(Nb(b,c[m>>2]|0,o,d)|0)==(o|0)&1;i=p;return b|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;q=r+16|0;p=r+8|0;j=r;o=r+20|0;k=a+200|0;l=c[k>>2]|0;m=a+164|0;n=c[m>>2]|0;e=c[n+(l*5640|0)+5584>>2]|0;if(!(c[e>>2]&1))g=5;else g=(c[e+4>>2]|0)+5|0;h=g+9|0;c[o>>2]=h;f=a+48|0;a=a+44|0;e=c[a>>2]|0;do{if(h>>>0>(c[f>>2]|0)>>>0){e=Tc(e,h)|0;if(e){c[a>>2]=e;c[f>>2]=h;break}Uc(c[a>>2]|0);c[a>>2]=0;c[f>>2]=0;Ub(d,1,11687,j)|0;q=0;i=r;return q|0}}while(0);pb(e,65362,2);pb(e+2|0,g+7|0,2);pb(e+4|0,c[n+(l*5640|0)>>2]|0,1);pb(e+5|0,c[n+(l*5640|0)+4>>2]|0,1);pb(e+6|0,c[n+(l*5640|0)+8>>2]|0,2);pb(e+8|0,c[n+(l*5640|0)+16>>2]|0,1);c[o>>2]=g;if(!(ae(c[m>>2]|0,c[k>>2]|0,e+9|0,o,d)|0)){Ub(d,1,11726,p)|0;q=0;i=r;return q|0}if(!(c[o>>2]|0)){q=(Nb(b,c[a>>2]|0,h,d)|0)==(h|0)&1;i=r;return q|0}else{Ub(d,1,11726,q)|0;q=0;i=r;return q|0}return 0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;o=p+16|0;n=p+8|0;j=p;l=p+20|0;k=a+200|0;m=a+164|0;e=c[(c[m>>2]|0)+((c[k>>2]|0)*5640|0)+5584>>2]|0;f=c[e+24>>2]|0;if((f|0)==1)e=1;else e=((c[e+4>>2]|0)*3|0)+-2|0;g=(f|0)==0?e+1|0:e<<1|1;h=g+4|0;c[l>>2]=h;f=a+48|0;a=a+44|0;e=c[a>>2]|0;do{if(h>>>0>(c[f>>2]|0)>>>0){e=Tc(e,h)|0;if(e){c[a>>2]=e;c[f>>2]=h;break}Uc(c[a>>2]|0);c[a>>2]=0;c[f>>2]=0;Ub(d,1,11622,j)|0;o=0;i=p;return o|0}}while(0);pb(e,65372,2);pb(e+2|0,g+2|0,2);c[l>>2]=g;if(!($d(c[m>>2]|0,c[k>>2]|0,0,e+4|0,l,d)|0)){Ub(d,1,11661,n)|0;o=0;i=p;return o|0}if(!(c[l>>2]|0)){o=(Nb(b,c[a>>2]|0,h,d)|0)==(h|0)&1;i=p;return o|0}else{Ub(d,1,11661,o)|0;o=0;i=p;return o|0}return 0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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;w=i;i=i+16|0;u=w;r=w+4|0;o=a+80|0;e=c[(c[o>>2]|0)+16>>2]|0;if(e>>>0<=1){v=1;i=w;return v|0}s=a+164|0;t=a+200|0;q=a+48|0;n=a+44|0;m=1;while(1){h=c[s>>2]|0;k=c[t>>2]|0;g=c[h+(k*5640|0)+5584>>2]|0;j=c[g+(m*1080|0)>>2]|0;a:do{if((((((c[g>>2]|0)==(j|0)?(p=c[g+4>>2]|0,(p|0)==(c[g+(m*1080|0)+4>>2]|0)):0)?(c[g+8>>2]|0)==(c[g+(m*1080|0)+8>>2]|0):0)?(c[g+12>>2]|0)==(c[g+(m*1080|0)+12>>2]|0):0)?(c[g+16>>2]|0)==(c[g+(m*1080|0)+16>>2]|0):0)?(c[g+20>>2]|0)==(c[g+(m*1080|0)+20>>2]|0):0){if(p){a=0;do{if((c[g+812+(a<<2)>>2]|0)!=(c[g+(m*1080|0)+812+(a<<2)>>2]|0)){v=13;break a}if((c[g+944+(a<<2)>>2]|0)!=(c[g+(m*1080|0)+944+(a<<2)>>2]|0)){v=13;break a}a=a+1|0}while(a>>>0

>>0)}}else v=13}while(0);if((v|0)==13){v=0;if(!(j&1))a=5;else a=(c[g+(m*1080|0)+4>>2]|0)+5|0;l=a+(e>>>0<257?6:7)|0;f=c[n>>2]|0;if(l>>>0>(c[q>>2]|0)>>>0){a=Tc(f,l)|0;if(!a){v=17;break}c[n>>2]=a;c[q>>2]=l;k=c[t>>2]|0;h=c[s>>2]|0;g=c[h+(k*5640|0)+5584>>2]|0;e=c[(c[o>>2]|0)+16>>2]|0;j=c[g+(m*1080|0)>>2]|0;f=a}e=e>>>0<257?1:2;if(!(j&1))a=5;else a=(c[g+(m*1080|0)+4>>2]|0)+5|0;pb(f,65363,2);pb(f+2|0,e+3+a|0,2);pb(f+4|0,m,e);j=e|4;pb(f+j|0,c[(c[h+(k*5640|0)+5584>>2]|0)+(m*1080|0)>>2]|0,1);c[r>>2]=a;ae(c[s>>2]|0,c[t>>2]|0,f+(j+1)|0,r,d)|0;if((Nb(b,c[n>>2]|0,l,d)|0)!=(l|0)){a=0;v=24;break}e=c[(c[o>>2]|0)+16>>2]|0}m=m+1|0;if(m>>>0>=e>>>0){a=1;v=24;break}}if((v|0)==17){Uc(c[n>>2]|0);c[n>>2]=0;c[q>>2]=0;Ub(d,1,11548,u)|0;v=0;i=w;return v|0}else if((v|0)==24){i=w;return a|0}return 0}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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;t=i;i=i+16|0;r=t;o=t+4|0;m=a+80|0;e=c[(c[m>>2]|0)+16>>2]|0;if(e>>>0<=1){s=1;i=t;return s|0}p=a+164|0;q=a+200|0;n=a+48|0;l=a+44|0;k=1;while(1){j=c[(c[p>>2]|0)+((c[q>>2]|0)*5640|0)+5584>>2]|0;g=c[j+24>>2]|0;h=c[j+(k*1080|0)+24>>2]|0;a:do{if((g|0)==(h|0)?(c[j+804>>2]|0)==(c[j+(k*1080|0)+804>>2]|0):0){if((g|0)!=1){f=(c[j+4>>2]|0)*3|0;a=f+-2|0;if((f|0)!=((c[j+(k*1080|0)+4>>2]|0)*3|0)){s=14;break}if(!a)break}else a=1;f=0;do{if((c[j+28+(f<<3)>>2]|0)!=(c[j+(k*1080|0)+28+(f<<3)>>2]|0)){s=14;break a}f=f+1|0}while(f>>>0>>0);if(g){f=0;do{if((c[j+28+(f<<3)+4>>2]|0)!=(c[j+(k*1080|0)+28+(f<<3)+4>>2]|0)){s=14;break a}f=f+1|0}while(f>>>0>>0)}}else s=14}while(0);if((s|0)==14){s=0;if((h|0)==1)a=1;else a=((c[j+(k*1080|0)+4>>2]|0)*3|0)+-2|0;g=((h|0)==0?a+1|0:a<<1|1)+5+(e>>>0>256&1)|0;a=c[l>>2]|0;if(g>>>0>(c[n>>2]|0)>>>0){a=Tc(a,g)|0;if(!a){s=18;break}c[l>>2]=a;c[n>>2]=g;e=c[(c[p>>2]|0)+((c[q>>2]|0)*5640|0)+5584>>2]|0;f=c[e+(k*1080|0)+24>>2]|0}else{f=h;e=j}if((f|0)==1)e=1;else e=((c[e+(k*1080|0)+4>>2]|0)*3|0)+-2|0;f=(f|0)==0?e+1|0:e<<1|1;c[o>>2]=f+6;pb(a,65373,2);e=a+2|0;if((c[(c[m>>2]|0)+16>>2]|0)>>>0<257){pb(e,f+3|0,2);pb(a+4|0,k,1);a=a+5|0}else{pb(e,f+4|0,2);pb(a+4|0,k,2);a=a+6|0}c[o>>2]=f;$d(c[p>>2]|0,c[q>>2]|0,k,a,o,d)|0;if((Nb(b,c[l>>2]|0,g,d)|0)!=(g|0)){a=0;s=28;break}e=c[(c[m>>2]|0)+16>>2]|0}k=k+1|0;if(k>>>0>=e>>>0){a=1;s=28;break}}if((s|0)==18){Uc(c[l>>2]|0);c[l>>2]=0;c[n>>2]=0;Ub(d,1,11476,r)|0;s=0;i=t;return s|0}else if((s|0)==28){i=t;return a|0}return 0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l;h=(c[a+32>>2]|0)*5|0;j=h+6|0;f=a+48|0;k=a+44|0;e=c[k>>2]|0;do{if(j>>>0>(c[f>>2]|0)>>>0){e=Tc(e,j)|0;if(e){c[k>>2]=e;c[f>>2]=j;break}Uc(c[k>>2]|0);c[k>>2]=0;c[f>>2]=0;Ub(d,1,11437,g)|0;b=0;i=l;return b|0}}while(0);g=Pb(b)|0;a=a+16|0;c[a>>2]=g;c[a+4>>2]=C;pb(e,65365,2);pb(e+2|0,h+4|0,2);pb(e+4|0,0,1);pb(e+5|0,80,1);b=(Nb(b,c[k>>2]|0,j,d)|0)==(j|0)&1;i=l;return b|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;j=q;p=q+4|0;c[p>>2]=0;m=a+200|0;e=c[m>>2]|0;l=a+164|0;f=c[l>>2]|0;k=a+80|0;h=c[(c[k>>2]|0)+16>>2]|0;o=(_(h>>>0<257?7:9,(c[f+(e*5640|0)+420>>2]|0)+1|0)|0)+4|0;g=a+48|0;n=a+44|0;a=c[n>>2]|0;do{if(o>>>0>(c[g>>2]|0)>>>0){e=Tc(a,o)|0;if(e){c[n>>2]=e;c[g>>2]=o;g=e;a=c[(c[k>>2]|0)+16>>2]|0;f=c[l>>2]|0;e=c[m>>2]|0;break}Uc(c[n>>2]|0);c[n>>2]=0;c[g>>2]=0;Ub(d,1,11398,j)|0;b=0;i=q;return b|0}else{g=a;a=h}}while(0);_d(a,f,e,g,p);b=(Nb(b,c[n>>2]|0,o,d)|0)==(o|0)&1;i=q;return b|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+164|0;j=a+80|0;f=c[j>>2]|0;e=c[f+16>>2]|0;if(!e){b=1;return b|0}h=a+44|0;a=0;g=c[(c[i>>2]|0)+5584>>2]|0;while(1){if(c[g+808>>2]|0){k=c[(c[i>>2]|0)+5584>>2]|0;m=e>>>0<257?1:2;f=m+6|0;l=c[h>>2]|0;pb(l,65374,2);e=m|4;pb(l+2|0,e,2);pb(l+4|0,a,m);pb(l+e|0,0,1);pb(l+(e+1)|0,c[k+(a*1080|0)+808>>2]|0,1);if((Nb(b,c[h>>2]|0,f,d)|0)!=(f|0)){a=0;e=7;break}f=c[j>>2]|0}a=a+1|0;e=c[f+16>>2]|0;if(a>>>0>=e>>>0){a=1;e=7;break}else g=g+1080|0}if((e|0)==7)return a|0;return 0}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l;h=c[a+108>>2]|0;j=wi(h)|0;k=j+6|0;e=a+48|0;f=a+44|0;a=c[f>>2]|0;do{if(k>>>0>(c[e>>2]|0)>>>0){a=Tc(a,k)|0;if(a){c[f>>2]=a;c[e>>2]=k;break}Uc(c[f>>2]|0);c[f>>2]=0;c[e>>2]=0;Ub(d,1,11355,g)|0;b=0;i=l;return b|0}}while(0);pb(a,65380,2);pb(a+2|0,j+4|0,2);pb(a+4|0,1,2);Ui(a+6|0,h|0,j|0)|0;b=(Nb(b,c[f>>2]|0,k,d)|0)==(k|0)&1;i=l;return b|0}function Ud(b,d,e){b=b|0;d=d|0;e=e|0;var f=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,A=0;A=i;i=i+32|0;w=A+24|0;t=A+16|0;o=A+8|0;g=A;j=c[b+80>>2]|0;k=j+16|0;h=c[k>>2]|0;l=h+6|0;v=b+48|0;z=b+44|0;f=c[z>>2]|0;do{if(l>>>0>(c[v>>2]|0)>>>0){f=Tc(f,l)|0;if(f){c[z>>2]=f;c[v>>2]=l;break}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11199,g)|0;d=0;i=A;return d|0}}while(0);pb(f,65400,2);pb(f+2|0,h+4|0,2);pb(f+4|0,c[k>>2]|0,2);if(c[k>>2]|0){h=0;g=c[j+24>>2]|0;f=f+6|0;while(1){pb(f,(c[g+24>>2]|0)+-1|c[g+32>>2]<<7,1);h=h+1|0;if(h>>>0>=(c[k>>2]|0)>>>0)break;else{g=g+52|0;f=f+1|0}}}if((Nb(d,c[z>>2]|0,l,e)|0)!=(l|0)){d=0;i=A;return d|0}q=b+200|0;n=c[q>>2]|0;r=b+164|0;m=c[r>>2]|0;g=m+(n*5640|0)+5616|0;a:do{if(c[g>>2]|0){l=0;b=c[m+(n*5640|0)+5612>>2]|0;while(1){h=b+16|0;j=c[h>>2]|0;k=j+10|0;f=c[z>>2]|0;if(k>>>0>(c[v>>2]|0)>>>0){f=Tc(f,k)|0;if(!f)break;c[z>>2]=f;c[v>>2]=k}pb(f,65396,2);pb(f+2|0,j+8|0,2);pb(f+4|0,0,2);pb(f+6|0,c[b+4>>2]<<8|c[b+8>>2]&255|c[b>>2]<<10,2);pb(f+8|0,0,2);Ui(f+10|0,c[b+12>>2]|0,c[h>>2]|0)|0;if((Nb(d,c[z>>2]|0,k,e)|0)!=(k|0)){s=0;x=42;break}l=l+1|0;if(l>>>0>=(c[g>>2]|0)>>>0)break a;else b=b+20|0}if((x|0)==42){i=A;return s|0}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11238,o)|0;d=0;i=A;return d|0}}while(0);o=m+(n*5640|0)+5628|0;b:do{if(c[o>>2]|0){p=0;m=c[m+(n*5640|0)+5624>>2]|0;while(1){l=m+4|0;g=c[l>>2]|0;j=g>>>0>255;k=j?2:1;j=j?32768:0;g=_(k,g<<1)|0;b=g+19|0;f=c[z>>2]|0;if(b>>>0>(c[v>>2]|0)>>>0){f=Tc(f,b)|0;if(!f)break;c[z>>2]=f;c[v>>2]=b}pb(f,65397,2);pb(f+2|0,g+17|0,2);pb(f+4|0,0,2);pb(f+6|0,c[m>>2]|0,1);pb(f+7|0,0,2);pb(f+9|0,1,2);pb(f+11|0,1,1);pb(f+12|0,c[l>>2]|j,2);f=f+14|0;if(!(c[l>>2]|0))g=0;else{h=0;do{pb(f,h,k);f=f+k|0;h=h+1|0;g=c[l>>2]|0}while(h>>>0>>0)}pb(f,g|j,2);f=f+2|0;if(!(c[l>>2]|0))h=f;else{g=0;do{pb(f,g,k);f=f+k|0;g=g+1|0}while(g>>>0<(c[l>>2]|0)>>>0);h=f}f=((a[m+16>>0]^1)&255)<<16&65536;g=c[m+8>>2]|0;if(g)f=c[g+8>>2]|f;g=c[m+12>>2]|0;if(g)f=c[g+8>>2]<<8|f;pb(h,f,3);if((Nb(d,c[z>>2]|0,b,e)|0)!=(b|0)){s=0;x=42;break}p=p+1|0;if(p>>>0>=(c[o>>2]|0)>>>0)break b;else m=m+20|0}if((x|0)==42){i=A;return s|0}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11277,t)|0;d=0;i=A;return d|0}}while(0);k=c[q>>2]|0;j=c[r>>2]|0;l=j+(k*5640|0)+5628|0;g=c[l>>2]|0;b=g+5|0;f=c[z>>2]|0;do{if(b>>>0>(c[v>>2]|0)>>>0){f=Tc(f,b)|0;if(!f){Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11316,w)|0;u=1;break}else{c[z>>2]=f;c[v>>2]=b;y=f;x=37;break}}else{y=f;x=37}}while(0);if((x|0)==37){pb(y,65399,2);pb(y+2|0,g+3|0,2);pb(y+4|0,c[l>>2]|0,1);if(c[l>>2]|0){h=0;g=y+5|0;f=c[j+(k*5640|0)+5624>>2]|0;while(1){pb(g,c[f>>2]|0,1);h=h+1|0;if(h>>>0>=(c[l>>2]|0)>>>0)break;else{g=g+1|0;f=f+20|0}}}u=(Nb(d,c[z>>2]|0,b,e)|0)!=(b|0)}d=u&1^1;i=A;return d|0}function Vd(a,b,d){a=a|0;b=b|0;d=d|0;d=Pb(b)|0;b=(c[a+196>>2]|0)+8|0;c[b>>2]=d;c[b+4>>2]=C;return 1}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;b=Tf(0)|0;e=a+204|0;c[e>>2]=b;if(!b){Ub(d,1,11159,f)|0;d=0;i=f;return d|0}if(Xf(b,c[a+80>>2]|0,a+88|0)|0){d=1;i=f;return d|0}Yf(c[e>>2]|0);c[e>>2]=0;d=0;i=f;return d|0}function Xd(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;O=d+80|0;E=c[O>>2]|0;P=d+164|0;i=c[P>>2]|0;N=E+24|0;F=c[N>>2]|0;f=c[F>>2]|0;h=c[F+4>>2]|0;M=E+16|0;F=_(c[F+24>>2]|0,c[M>>2]|0)|0;D=Pb(e)|0;q=d+116|0;l=c[q>>2]|0;r=d+112|0;e=c[r>>2]|0;G=(+(D>>>0)+4294967296.0*+(C|0))/+((_(e,l)|0)>>>0);D=(a[d+181>>0]&8)==0?1:2;if(l){s=d+92|0;u=d+100|0;v=d+96|0;y=d+104|0;z=E+4|0;A=E+8|0;B=E+12|0;x=+((_(f<<3,h)|0)>>>0);m=e;f=e;p=0;e=i;do{o=p;p=p+1|0;if(!f)f=0;else{m=0;do{w=+Sa[D&3](e);l=c[e+8>>2]|0;w=w/+(l>>>0);Q=c[s>>2]|0;i=c[u>>2]|0;k=(_(i,m)|0)+Q|0;f=c[E>>2]|0;f=(k|0)>(f|0)?k:f;k=c[v>>2]|0;j=c[y>>2]|0;R=(_(j,o)|0)+k|0;h=c[z>>2]|0;h=(R|0)>(h|0)?R:h;m=m+1|0;Q=(_(i,m)|0)+Q|0;i=c[A>>2]|0;i=(Q|0)<(i|0)?Q:i;k=(_(j,p)|0)+k|0;j=c[B>>2]|0;j=(k|0)<(j|0)?k:j;k=e+20|0;n=+g[k>>2];if(n!=0.0)g[k>>2]=+((_(_(i-f|0,F)|0,j-h|0)|0)>>>0)/(x*n)-w;if(l>>>0>1){n=+((_(_(i-f|0,F)|0,j-h|0)|0)>>>0);f=1;h=e+24|0;while(1){t=+g[h>>2];if(t!=0.0)g[h>>2]=n/(x*t)-w;f=f+1|0;if(f>>>0>=l>>>0)break;else h=h+4|0}}e=e+5640|0;f=c[r>>2]|0}while(m>>>0>>0);l=c[q>>2]|0;m=f}}while(p>>>0>>0);if(!l)l=0;else{s=(m|0)==0;t=G+2.0;v=m>>>0>1?m:1;u=0;f=c[P>>2]|0;do{if(!s){p=f+16|0;q=0;r=f;while(1){e=r+20|0;n=+g[e>>2];if(n!=0.0?(x=n-G,g[e>>2]=x,x<30.0):0)g[e>>2]=30.0;j=r+24|0;e=c[r+8>>2]|0;o=e+-1|0;n=+g[j>>2];h=n!=0.0;if(o>>>0>1){k=p+(e<<2)|0;i=1;e=j;do{if(h?(x=n-G,g[e>>2]=x,I=+g[e+-4>>2],x>2]=I+20.0;e=e+4|0;i=i+1|0;n=+g[e>>2];h=n!=0.0}while((i|0)!=(o|0));if(h){H=n;K=k;L=29}}else if(h){H=n;K=j;L=29}if((L|0)==29?(L=0,x=H-t,g[K>>2]=x,J=+g[K+-4>>2],x>2]=J+20.0;q=q+1|0;if(q>>>0>=m>>>0)break;else{p=p+5640|0;r=r+5640|0}}f=f+(v*5640|0)|0}u=u+1|0}while(u>>>0>>0)}}else{m=e;l=0}h=c[M>>2]|0;if(!h)u=0;else{i=(c[d+100>>2]|0)+-1|0;j=(c[d+104>>2]|0)+-1|0;k=0;e=c[N>>2]|0;f=0;while(1){R=c[e>>2]|0;Q=c[e+4>>2]|0;R=_(((j+Q|0)>>>0)/(Q>>>0)|0,((i+R|0)>>>0)/(R>>>0)|0)|0;f=(_(R,c[e+24>>2]|0)|0)+f|0;k=k+1|0;if(k>>>0>=h>>>0)break;else e=e+52|0}u=~~(+(f>>>0)*.1625)>>>0}o=c[(c[O>>2]|0)+16>>2]|0;q=o+-1|0;s=_(l,m)|0;p=(s|0)==0;if(p)i=0;else{e=0;f=0;h=c[P>>2]|0;while(1){R=c[h+5588>>2]|0;f=f>>>0>R>>>0?f:R;e=e+1|0;if((e|0)==(s|0))break;else h=h+5640|0}i=f*12|0}r=d+88|0;if(((b[r>>1]|0)+-3&65535)>=4){if(p){e=0;f=0}else{m=(o|0)==0;k=0;f=0;do{if(!m){h=c[(c[P>>2]|0)+(k*5640|0)+5584>>2]|0;j=0;do{if(!(c[h+(j*1080|0)>>2]&1))e=5;else e=(c[h+(j*1080|0)+4>>2]|0)+5|0;f=f>>>0>e>>>0?f:e;j=j+1|0}while((j|0)!=(o|0))}k=k+1|0}while((k|0)!=(s|0));l=0;e=0;do{if(!m){j=c[(c[P>>2]|0)+(l*5640|0)+5584>>2]|0;k=0;do{if(!(c[j+(k*1080|0)>>2]&1))h=5;else h=(c[j+(k*1080|0)+4>>2]|0)+5|0;e=e>>>0>h>>>0?e:h;k=k+1|0}while((k|0)!=(o|0))}l=l+1|0}while((l|0)!=(s|0))}i=(_(f+12+e|0,q)|0)+i|0}if(p)f=13;else{h=0;f=0;e=c[P>>2]|0;while(1){R=c[e+420>>2]|0;f=f>>>0>R>>>0?f:R;h=h+1|0;if((h|0)==(s|0))break;else e=e+5640|0}f=(f*9|0)+13|0}R=i+u+f|0;c[d+40>>2]=R;R=Pc(R)|0;c[d+36>>2]=R;if(!R){R=0;return R|0}if(((b[r>>1]|0)+-3&65535)>=4){R=1;return R|0}f=Pc((c[d+32>>2]|0)*5|0)|0;c[d+24>>2]=f;if(!f){R=0;return R|0}c[d+28>>2]=f;R=1;return R|0}function Yd(a){a=a|0;return 0.0}function Zd(a){a=a|0;return+ +((((c[a+5588>>2]|0)*14|0)+-14|0)>>>0)}function _d(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=c[b+(d*5640|0)+5584>>2]|0;q=(c[b+(d*5640|0)+420>>2]|0)+1|0;j=a>>>0<257?1:2;p=_(q,(j<<1)+5|0)|0;r=p+4|0;pb(e,65375,2);pb(e+2|0,p+2|0,2);if(!q){c[f>>2]=r;return}k=j+1|0;l=j+3|0;m=j|4;n=m+j|0;o=n+1|0;p=b+(d*5640|0)+8|0;h=g+4|0;i=0;e=e+4|0;g=b+(d*5640|0)+424|0;while(1){pb(e,c[g>>2]|0,1);pb(e+1|0,c[g+4>>2]|0,j);t=g+8|0;pb(e+k|0,c[t>>2]|0,2);b=g+12|0;pb(e+l|0,c[b>>2]|0,1);d=g+16|0;pb(e+m|0,c[d>>2]|0,j);pb(e+n|0,c[g+36>>2]|0,1);u=c[t>>2]|0;s=c[p>>2]|0;c[t>>2]=(u|0)<(s|0)?u:s;t=c[b>>2]|0;s=c[h>>2]|0;c[b>>2]=(t|0)<(s|0)?t:s;b=c[d>>2]|0;c[d>>2]=(b|0)<(a|0)?b:a;i=i+1|0;if((i|0)==(q|0))break;else{e=e+o|0;g=g+148|0}}c[f>>2]=r;return}function $d(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+8|0;j=n;l=c[a+(b*5640|0)+5584>>2]|0;b=c[l+(d*1080|0)+24>>2]|0;do{if((b|0)!=1){a=(c[l+(d*1080|0)+4>>2]|0)*3|0;h=a+-2|0;if(!b){a=a+-1|0;if((c[f>>2]|0)>>>0>>0){Ub(g,1,11515,j)|0;f=0;i=n;return f|0}else{pb(e,c[l+(d*1080|0)+804>>2]<<5,1);if(!h)break;else b=0;do{e=e+1|0;pb(e,c[l+(d*1080|0)+28+(b<<3)>>2]<<3,1);b=b+1|0}while((b|0)!=(h|0))}}else m=7}else{h=1;b=1;m=7}}while(0);if((m|0)==7){a=h<<1|1;if((c[f>>2]|0)>>>0>>0){Ub(g,1,11515,k)|0;f=0;i=n;return f|0}pb(e,(c[l+(d*1080|0)+804>>2]<<5)+b|0,1);if(h){e=e+1|0;b=0;while(1){pb(e,(c[l+(d*1080|0)+28+(b<<3)>>2]<<11)+(c[l+(d*1080|0)+28+(b<<3)+4>>2]|0)|0,2);b=b+1|0;if((b|0)==(h|0))break;else e=e+2|0}}}c[f>>2]=(c[f>>2]|0)-a;f=1;i=n;return f|0}function ae(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=c[a+(b*5640|0)+5584>>2]|0;if((c[e>>2]|0)>>>0<5){Ub(f,1,11587,j)|0;e=0;i=j;return e|0}h=g+4|0;pb(d,(c[h>>2]|0)+-1|0,1);pb(d+1|0,(c[g+8>>2]|0)+-2|0,1);pb(d+2|0,(c[g+12>>2]|0)+-2|0,1);pb(d+3|0,c[g+16>>2]|0,1);pb(d+4|0,c[g+20>>2]|0,1);b=(c[e>>2]|0)+-5|0;c[e>>2]=b;if(!(c[g>>2]&1)){e=1;i=j;return e|0}a=c[h>>2]|0;if(b>>>0>>0){Ub(f,1,11587,j+8|0)|0;e=0;i=j;return e|0}if(!a)a=0;else{b=d+5|0;d=0;while(1){pb(b,(c[g+944+(d<<2)>>2]<<4)+(c[g+812+(d<<2)>>2]|0)|0,1);d=d+1|0;a=c[h>>2]|0;if(d>>>0>=a>>>0)break;else b=b+1|0}b=c[e>>2]|0}c[e>>2]=b-a;e=1;i=j;return e|0}function be(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=c[b+76>>2]|0;g=c[i+(f*5640|0)+4>>2]|0;h=696;while(1){m=c[h>>2]|0;if((m|0)==-1|(m|0)==(g|0))break;else h=h+12|0}if(!(a[b+93>>0]&8)){b=1;return b|0}m=d[b+92>>0]|0;j=i+(f*5640|0)+424+(e*148|0)+92|0;k=i+(f*5640|0)+424+(e*148|0)+88|0;l=i+(f*5640|0)+424+(e*148|0)+96|0;e=i+(f*5640|0)+424+(e*148|0)+84|0;i=a[h+4>>0]|0;switch(i|0){case 67:{g=c[j>>2]|0;break}case 82:{g=c[k>>2]|0;break}case 80:{g=c[l>>2]|0;break}case 76:{g=c[e>>2]|0;break}default:g=1}if((m|0)!=(i|0)){i=a[h+5>>0]|0;switch(i|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)!=(i|0)){i=a[h+6>>0]|0;switch(i|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)!=(i|0)){h=a[h+7>>0]|0;switch(h|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)==(h|0))h=3;else{b=g;return b|0}}else h=2}else h=1}else h=0;c[b+84>>2]=h;b=g;return b|0}function ce(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=g+16|0;if(!(c[B>>2]|0)){B=1;return B|0}A=0;z=c[g+24>>2]|0;while(1){k=i+44|0;j=c[k>>2]|0;l=i+8|0;if(!j){g=i+12|0;j=Qc(_(c[g>>2]|0,c[l>>2]|0)|0,4)|0;c[k>>2]=j;if(!j){h=0;i=61;break}}else g=i+12|0;q=z+36|0;c[i+36>>2]=c[q>>2];x=c[z+24>>2]|0;t=c[f+24>>2]|0;q=c[q>>2]|0;x=((x&7|0)!=0&1)+(x>>>3)|0;x=(x|0)==3?4:x;n=c[t+(q*136|0)+8>>2]|0;m=c[t+(q*136|0)>>2]|0;v=n-m|0;s=c[t+(q*136|0)+12>>2]|0;q=c[t+(q*136|0)+4>>2]|0;t=s-q|0;k=c[i+16>>2]|0;p=c[i+40>>2]|0;o=Ri(1,0,p|0)|0;w=C;k=Si(k|0,0,-1,-1)|0;k=Si(k|0,C|0,o|0,w|0)|0;k=Ti(k|0,C|0,p|0)|0;r=Si(c[i+20>>2]|0,0,-1,-1)|0;w=Si(r|0,C|0,o|0,w|0)|0;p=Ti(w|0,C|0,p|0)|0;w=c[l>>2]|0;l=k+w|0;o=c[g>>2]|0;r=p+o|0;do{if(k>>>0>>0){g=m-k|0;if(n>>>0>l>>>0){y=l-m|0;u=0;m=v-y|0;n=g}else{u=0;m=0;n=g;y=v}}else{g=k-m|0;if(n>>>0>l>>>0){u=g;m=n-l|0;n=0;y=w;break}else{u=g;m=0;n=0;y=v-g|0;break}}}while(0);do{if(p>>>0>>0){l=q-p|0;if(s>>>0>r>>>0){k=r-q|0;o=k;g=0;k=t-k|0}else{o=t;g=0;k=0}}else{g=p-q|0;if(s>>>0>r>>>0){k=s-r|0;l=0;break}else{o=t-g|0;k=0;l=0;break}}}while(0);if((u|m|y|k|g|o|0)<0){h=0;i=61;break}g=(_(g,v)|0)+u|0;q=u+m|0;r=(_(k,v)|0)-u|0;p=w-y|0;j=j+((_(w,l)|0)+n<<2)|0;switch(x|0){case 1:{h=h+g|0;g=(o|0)==0;if(!(c[z+32>>2]|0)){if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=d[j>>0];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+1|0}}g=l;h=h+y|0}h=h+q|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}}else if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=a[j>>0];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+1|0}}g=l;h=h+y|0}h=h+q|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+r|0;break}case 2:{h=h+(g<<1)|0;g=(o|0)==0;if(!(c[z+32>>2]|0)){if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=e[j>>1];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+2|0}}g=l;h=h+(y<<1)|0}h=h+(q<<1)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}}else if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=b[j>>1];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+2|0}}g=l;h=h+(y<<1)|0}h=h+(q<<1)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+(r<<1)|0;break}case 4:{h=h+(g<<2)|0;if(o){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=c[j>>2];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+4|0}}g=l;h=h+(y<<2)|0}h=h+(q<<2)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+(r<<2)|0;break}default:{}}A=A+1|0;if(A>>>0>=(c[B>>2]|0)>>>0){h=1;i=61;break}else{i=i+52|0;z=z+52|0;f=f+52|0}}if((i|0)==61)return h|0;return 0}function de(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;z=i;i=i+112|0;x=z+88|0;u=z+80|0;v=z+72|0;t=z+64|0;q=z+56|0;p=z+48|0;m=z+40|0;k=z+32|0;j=z+24|0;h=z+16|0;r=z+100|0;s=z+96|0;w=z+92|0;c[s>>2]=0;y=b+200|0;if((f|0)!=8){Ub(g,1,8662,z)|0;Ub(g,1,8662,z+8|0)|0;g=0;i=z;return g|0}qb(e,y,2);qb(e+2|0,r,4);qb(e+6|0,w,1);qb(e+7|0,s,1);l=c[y>>2]|0;e=c[b+112>>2]|0;if(l>>>0>=(_(c[b+116>>2]|0,e)|0)>>>0){c[h>>2]=l;Ub(g,1,15258,h)|0;g=0;i=z;return g|0}f=c[b+164>>2]|0;o=(l>>>0)%(e>>>0)|0;n=(l>>>0)/(e>>>0)|0;e=c[r>>2]|0;do{if((e+-1|0)>>>0<13){if((e|0)==12){c[j>>2]=12;Ub(g,2,15282,j)|0;e=c[r>>2]|0;break}c[k>>2]=e;Ub(g,1,15319,k)|0;g=0;i=z;return g|0}}while(0);if(!e){Ub(g,4,15380,m)|0;c[b+72>>2]=1}e=c[s>>2]|0;do{if(!e)e=c[f+(l*5640|0)+5588>>2]|0;else{e=((d[b+76>>0]|0)>>>4&1)+e|0;c[s>>2]=e;h=f+(l*5640|0)+5588|0;j=c[h>>2]|0;f=c[w>>2]|0;if((j+-1|0)>>>0>>0){c[p>>2]=f;c[p+4>>2]=j;Ub(g,1,15491,p)|0;c[b+72>>2]=1;g=0;i=z;return g|0}if(f>>>0>>0){c[h>>2]=e;break}c[q>>2]=f;c[q+4>>2]=e;Ub(g,1,15590,q)|0;c[b+72>>2]=1;g=0;i=z;return g|0}}while(0);if((e|0)!=0?(e|0)==((c[w>>2]|0)+1|0):0){q=b+76|0;a[q>>0]=a[q>>0]|1}c[b+24>>2]=(c[b+72>>2]|0)==0?(c[r>>2]|0)+-12|0:0;c[b+8>>2]=16;e=c[b+60>>2]|0;if((e|0)==-1){if((o>>>0>=(c[b+28>>2]|0)>>>0?o>>>0<(c[b+36>>2]|0)>>>0:0)?n>>>0>=(c[b+32>>2]|0)>>>0:0)e=(n>>>0>=(c[b+40>>2]|0)>>>0&1)<<2&255;else e=4;r=b+76|0;a[r>>0]=a[r>>0]&-5|e}else{r=b+76|0;a[r>>0]=((c[y>>2]|0)!=(e|0)&1)<<2&255|a[r>>0]&-5}k=b+196|0;e=c[k>>2]|0;if(!e){g=1;i=z;return g|0}j=c[y>>2]|0;e=c[e+40>>2]|0;c[e+(j*40|0)>>2]=j;c[e+(j*40|0)+12>>2]=c[w>>2];f=c[s>>2]|0;if(f){c[e+(j*40|0)+4>>2]=f;c[e+(j*40|0)+8>>2]=c[s>>2];e=c[e+(j*40|0)+16>>2]|0;if(!e){x=Qc(c[s>>2]|0,24)|0;c[(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16>>2]=x;if(x){g=1;i=z;return g|0}Ub(g,1,15698,t)|0;g=0;i=z;return g|0}e=Tc(e,(c[s>>2]|0)*24|0)|0;f=(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16|0;if(!e){Uc(c[f>>2]|0);c[(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16>>2]=0;Ub(g,1,15698,v)|0;g=0;i=z;return g|0}else{c[f>>2]=e;g=1;i=z;return g|0}}if(!(c[e+(j*40|0)+16>>2]|0)){c[e+(j*40|0)+8>>2]=10;v=Qc(10,24)|0;f=c[y>>2]|0;e=c[(c[k>>2]|0)+40>>2]|0;c[e+(f*40|0)+16>>2]=v;if(!v){c[e+(f*40|0)+8>>2]=0;Ub(g,1,15698,u)|0;g=0;i=z;return g|0}else j=f}f=c[w>>2]|0;h=e+(j*40|0)+8|0;if(f>>>0<(c[h>>2]|0)>>>0){g=1;i=z;return g|0}f=f+1|0;c[h>>2]=f;e=Tc(c[e+(j*40|0)+16>>2]|0,f*24|0)|0;f=(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16|0;if(!e){Uc(c[f>>2]|0);y=c[y>>2]|0;w=c[(c[k>>2]|0)+40>>2]|0;c[w+(y*40|0)+16>>2]=0;c[w+(y*40|0)+8>>2]=0;Ub(g,1,15698,x)|0;g=0;i=z;return g|0}else{c[f>>2]=e;g=1;i=z;return g|0}return 0}function ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;p=s+48|0;q=s+40|0;k=s+32|0;n=s+56|0;j=s+52|0;c[n>>2]=e;r=b+80|0;l=c[r>>2]|0;o=b+8|0;if((c[o>>2]|0)==16)m=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else m=c[b+12>>2]|0;g=m+5636|0;h=a[g>>0]|0;if(h&1){Ub(f,1,15025,s)|0;r=0;i=s;return r|0}a[g>>0]=h|1;if(e>>>0<5){Ub(f,1,15089,s+8|0)|0;r=0;i=s;return r|0}qb(d,m,1);if((c[m>>2]|0)>>>0>7){Ub(f,1,15115,s+16|0)|0;r=0;i=s;return r|0}qb(d+1|0,j,1);j=c[j>>2]|0;g=m+4|0;c[g>>2]=j;if((j|0)>4){Ub(f,1,15149,s+24|0)|0;c[g>>2]=-1}g=m+8|0;qb(d+2|0,g,2);g=c[g>>2]|0;if((g+-1|0)>>>0>65534){c[k>>2]=g;Ub(f,1,15190,k)|0;r=0;i=s;return r|0}k=c[b+172>>2]|0;c[m+12>>2]=(k|0)==0?g:k;qb(d+4|0,m+16|0,1);k=d+5|0;c[n>>2]=e+-5;j=c[l+16>>2]|0;if(j){d=c[m>>2]&1;g=c[m+5584>>2]|0;h=0;do{c[g+(h*1080|0)>>2]=d;h=h+1|0}while(h>>>0>>0)}if(!(Fe(b,0,k,n,f)|0)){Ub(f,1,15089,q)|0;r=0;i=s;return r|0}if(c[n>>2]|0){Ub(f,1,15089,p)|0;r=0;i=s;return r|0}if((c[o>>2]|0)==16)g=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else g=c[b+12>>2]|0;g=c[g+5584>>2]|0;e=g+4|0;h=c[e>>2]|0;m=h<<2;if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=1){r=1;i=s;return r|0}n=g+8|0;o=g+12|0;b=g+16|0;f=g+20|0;p=g+812|0;q=g+944|0;c[g+1084>>2]=h;j=c[n>>2]|0;c[g+1088>>2]=j;d=c[o>>2]|0;c[g+1092>>2]=d;k=c[b>>2]|0;c[g+1096>>2]=k;l=c[f>>2]|0;c[g+1100>>2]=l;Ui(g+1892|0,p|0,m|0)|0;Ui(g+2024|0,q|0,m|0)|0;if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=2){r=1;i=s;return r|0}c[g+2164>>2]=h;c[g+2168>>2]=j;c[g+2172>>2]=d;c[g+2176>>2]=k;c[g+2180>>2]=l;Ui(g+2972|0,p|0,m|0)|0;Ui(g+3104|0,q|0,m|0)|0;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>3)h=3;else{r=1;i=s;return r|0}while(1){j=c[n>>2]|0;d=c[o>>2]|0;k=c[b>>2]|0;l=c[f>>2]|0;c[g+3244>>2]=c[e>>2];c[g+3248>>2]=j;c[g+3252>>2]=d;c[g+3256>>2]=k;c[g+3260>>2]=l;Ui(g+4052|0,p|0,m|0)|0;Ui(g+4184|0,q|0,m|0)|0;h=h+1|0;if(h>>>0>=(c[(c[r>>2]|0)+16>>2]|0)>>>0){g=1;break}else g=g+1080|0}i=s;return g|0}function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+272|0;n=u;s=u+136|0;t=u+8|0;if(!a){t=0;i=u;return t|0}m=a+4|0;if((c[a>>2]|0)==(b|0)?(c[m>>2]|0)==(d|0):0)f=a+8|0;else{c[a>>2]=b;c[m>>2]=d;c[s>>2]=b;c[t>>2]=d;f=a+8|0;c[f>>2]=0;g=0;j=d;k=b;l=0;while(1){r=_(j,k)|0;k=(k+1|0)/2|0;h=l+1|0;c[s+(h<<2)>>2]=k;j=(j+1|0)/2|0;c[t+(h<<2)>>2]=j;g=g+r|0;if(r>>>0<=1)break;else l=h}c[f>>2]=g;if(!g){f=a+12|0;g=c[f>>2]|0;if(g){Uc(g);c[f>>2]=0}Uc(a);t=0;i=u;return t|0}h=g<<4;j=a+16|0;k=a+12|0;do{if(h>>>0>(c[j>>2]|0)>>>0){g=Tc(c[k>>2]|0,h)|0;if(g){c[k>>2]=g;d=c[j>>2]|0;Qi(g+d|0,0,h-d|0)|0;c[j>>2]=h;d=c[m>>2]|0;b=c[a>>2]|0;break}Ub(e,1,20166,n)|0;f=c[k>>2]|0;if(f){Uc(f);c[k>>2]=0}Uc(a);t=0;i=u;return t|0}}while(0);g=c[k>>2]|0;b=g+((_(d,b)|0)<<4)|0;if(l){r=0;d=b;do{p=c[t+(r<<2)>>2]|0;a:do{if((p|0)>0){q=c[s+(r<<2)>>2]|0;if((q|0)<=0){h=p+-1|0;j=0;while(1){o=(j&1|0)!=0|(j|0)==(h|0);k=o?d:b+(q<<4)|0;d=o?d:b;j=j+1|0;if((j|0)>=(p|0)){b=k;break a}else b=k}}o=((q+2+((q|0)<2?~q:-3)|0)>>>1)+1|0;e=p+-1|0;n=0;while(1){m=q;k=d;while(1){c[g>>2]=k;h=g+16|0;j=m;m=m+-2|0;if((m|0)>-1){c[h>>2]=k;g=g+32|0}else g=h;if((j|0)<=2)break;else k=k+16|0}d=d+(o<<4)|0;m=(n&1|0)!=0|(n|0)==(e|0);h=m?d:b+(q<<4)|0;d=m?d:b;n=n+1|0;if((n|0)>=(p|0)){b=h;break}else b=h}}}while(0);r=r+1|0}while((r|0)!=(l|0))}c[g>>2]=0}f=c[f>>2]|0;if(!f){t=a;i=u;return t|0}g=0;b=c[a+12>>2]|0;while(1){c[b+4>>2]=999;c[b+8>>2]=0;c[b+12>>2]=0;g=g+1|0;if((g|0)==(f|0))break;else b=b+16|0}i=u;return a|0}function mg(a){a=a|0;var b=0,d=0;if(!a)return;b=a+12|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}Uc(a);return}function ng(a,b,d){a=a|0;b=b|0;d=d|0;b=(c[a+12>>2]|0)+(b<<4)|0;if(!b)return;while(1){a=b+4|0;if((c[a>>2]|0)<=(d|0)){b=4;break}c[a>>2]=d;b=c[b>>2]|0;if(!b){b=4;break}}if((b|0)==4)return}function og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;j=k;d=(c[b+12>>2]|0)+(d<<4)|0;if(!(c[d>>2]|0)){f=0;g=j}else{f=d;b=j;while(1){g=b+4|0;c[b>>2]=d;d=c[f>>2]|0;if(!(c[d>>2]|0)){f=0;break}else{f=d;b=g}}}while(1){h=d+8|0;b=c[h>>2]|0;if((f|0)>(b|0)){c[h>>2]=f;b=f}a:do{if((b|0)<(e|0)){f=d+4|0;while(1){if((b|0)>=(c[f>>2]|0))break;Bg(a,0,1);b=b+1|0;if((b|0)>=(e|0)){d=b;break a}}d=d+12|0;if(!(c[d>>2]|0)){Bg(a,1,1);c[d>>2]=1;d=b}else d=b}else d=b}while(0);c[h>>2]=d;if((g|0)==(j|0))break;h=g+-4|0;f=d;d=c[h>>2]|0;g=h}i=k;return}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;j=k;d=(c[b+12>>2]|0)+(d<<4)|0;if(!(c[d>>2]|0)){b=0;g=j}else{f=d;b=j;while(1){g=b+4|0;c[b>>2]=d;d=c[f>>2]|0;if(!(c[d>>2]|0)){b=0;break}else{f=d;b=g}}}while(1){h=d+8|0;f=c[h>>2]|0;if((b|0)>(f|0))c[h>>2]=b;else b=f;d=d+4|0;a:do{if((b|0)<(e|0)){while(1){if((b|0)>=(c[d>>2]|0))break a;if(Cg(a,1)|0)break;b=b+1|0;if((b|0)>=(e|0))break a}c[d>>2]=b}}while(0);c[h>>2]=b;if((g|0)==(j|0))break;h=g+-4|0;d=c[h>>2]|0;g=h}i=k;return(c[d>>2]|0)<(e|0)|0}function qg(){var a=0,b=0;a=Qc(1,12)|0;if(!a){a=0;return a|0}c[a+4>>2]=10;b=Qc(10,4)|0;c[a+8>>2]=b;if(b){b=a;return b|0}Uc(a);b=0;return b|0}function rg(a){a=a|0;var b=0;if(!a)return;b=c[a+8>>2]|0;if(b)Uc(b);Uc(a);return}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=a+4|0;f=c[g>>2]|0;e=c[a>>2]|0;do{if((f|0)==(e|0)){f=f+10|0;c[g>>2]=f;e=a+8|0;f=Tc(c[e>>2]|0,f<<2)|0;if(f){c[e>>2]=f;e=c[a>>2]|0;break}Uc(c[e>>2]|0);c[g>>2]=0;c[a>>2]=0;Ub(d,1,20214,h)|0;a=0;i=j;return a|0}else f=c[a+8>>2]|0}while(0);c[f+(e<<2)>>2]=b;c[a>>2]=e+1;a=1;i=j;return a|0}function tg(a){a=a|0;return c[a>>2]|0}function ug(a){a=a|0;return c[a+8>>2]|0}function vg(a){a=a|0;c[a>>2]=0;return}function wg(){return Pc(20)|0}function xg(a){a=a|0;if(!a)return;Uc(a);return}function yg(a){a=a|0;return(c[a+8>>2]|0)-(c[a>>2]|0)|0}function zg(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=b+d;c[a+8>>2]=b;c[a+12>>2]=0;c[a+16>>2]=8;return}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=b+d;c[a+8>>2]=b;c[a+12>>2]=0;c[a+16>>2]=0;return}function Bg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!e)return;k=b+16|0;l=b+12|0;m=b+8|0;h=b+4|0;b=c[k>>2]|0;j=e+-1|0;do{i=d>>>j&1;if(!b){g=c[l>>2]|0;b=g<<8&65280;c[l>>2]=b;b=(b|0)==65280?7:8;c[k>>2]=b;f=c[m>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[m>>2]=f+1;a[f>>0]=g;b=c[k>>2]|0}}b=b+-1|0;c[k>>2]=b;c[l>>2]=i<>2];j=j+-1|0}while(j>>>0>>0);return}function Cg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!b){b=0;return b|0}j=a+16|0;k=a+12|0;l=a+8|0;h=a+4|0;e=c[j>>2]|0;f=c[k>>2]|0;i=b+-1|0;a=0;do{if(!e){g=f<<8&65280;c[k>>2]=g;e=(g|0)==65280?7:8;c[j>>2]=e;f=c[l>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[l>>2]=f+1;f=d[f>>0]|0|g;c[k>>2]=f}else f=g}e=e+-1|0;c[j>>2]=e;a=((f>>>e&1)<>>0>>0);return a|0}function Dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=b+12|0;d=c[f>>2]|0;i=d<<8&65280;c[f>>2]=i;g=b+16|0;c[g>>2]=(i|0)==65280?7:8;i=b+8|0;e=c[i>>2]|0;h=b+4|0;if(e>>>0>=(c[h>>2]|0)>>>0){i=0;return i|0}c[i>>2]=e+1;a[e>>0]=d;if((c[g>>2]|0)!=7){i=1;return i|0}d=c[f>>2]|0;b=d<<8&65280;c[f>>2]=b;c[g>>2]=(b|0)==65280?7:8;b=c[i>>2]|0;if(b>>>0>=(c[h>>2]|0)>>>0){i=0;return i|0}c[i>>2]=b+1;a[b>>0]=d;i=1;return i|0}function Eg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=a+12|0;b=c[h>>2]|0;do{if((b&255|0)==255){f=b<<8&65280;c[h>>2]=f;b=a+16|0;c[b>>2]=(f|0)==65280?7:8;g=a+8|0;e=c[g>>2]|0;if(e>>>0<(c[a+4>>2]|0)>>>0){c[g>>2]=e+1;c[h>>2]=d[e>>0]|0|f;break}else{a=0;return a|0}}else b=a+16|0}while(0);c[b>>2]=0;a=1;return a|0}function Fg(a){a=a|0;return Pg(a,1)|0}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=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,A=0,B=0,C=0,D=0;D=i;i=i+32|0;B=D+16|0;C=D;k=c[a+24>>2]|0;j=(c[k+8>>2]|0)-(c[k>>2]|0)|0;h=(c[k+12>>2]|0)-(c[k+4>>2]|0)|0;A=(c[a+8>>2]|0)-(c[a>>2]|0)|0;if((b|0)==1){C=1;i=D;return C|0}g=b+-1|0;f=(g|0)==0;if(f)b=0;else{d=k;e=g;b=0;do{z=d;d=d+136|0;y=(c[z+144>>2]|0)-(c[d>>2]|0)|0;b=b>>>0>>0?y:b;z=(c[z+148>>2]|0)-(c[z+140>>2]|0)|0;b=b>>>0>>0?z:b;e=e+-1|0}while((e|0)!=0);b=b<<2}z=Rc(b)|0;c[B>>2]=z;if(!z){C=0;i=D;return C|0}c[C>>2]=z;if(!f){s=a+32|0;t=B+8|0;u=C+8|0;v=B+4|0;w=B+12|0;x=C+4|0;y=C+12|0;do{q=c[s>>2]|0;n=k;k=k+136|0;c[t>>2]=j;c[u>>2]=h;o=c[n+144>>2]|0;p=c[k>>2]|0;e=j;j=o-p|0;b=c[n+148>>2]|0;n=n+140|0;r=c[n>>2]|0;d=h;h=b-r|0;c[v>>2]=j-e;c[w>>2]=(p|0)%2|0;r=(b|0)==(r|0);if(!r){m=j<<2;b=0;while(1){a=_(b,A)|0;l=q+(a<<2)|0;if(e){d=l;f=z+(c[w>>2]<<2)|0;while(1){e=e+-1|0;c[f>>2]=c[d>>2];if(!e)break;else{d=d+4|0;f=f+8|0}}}d=c[v>>2]|0;if(d){e=q+((c[t>>2]|0)+a<<2)|0;f=z+(1-(c[w>>2]|0)<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+4|0;f=f+8|0}}}Qg(B);Ui(l|0,z|0,m|0)|0;b=b+1|0;if((b|0)==(h|0))break;e=c[t>>2]|0}d=c[u>>2]|0;b=c[n>>2]|0}c[x>>2]=h-d;c[y>>2]=(b|0)%2|0;a:do{if((o|0)!=(p|0)){b=0;while(1){if(d){e=q+(b<<2)|0;f=z+(c[y>>2]<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+(A<<2)|0;f=f+8|0}}}d=c[x>>2]|0;if(d){e=q+((_(c[u>>2]|0,A)|0)+b<<2)|0;f=z+(1-(c[y>>2]|0)<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+(A<<2)|0;f=f+8|0}}}Qg(C);if(!r){d=0;do{c[q+((_(d,A)|0)+b<<2)>>2]=c[z+(d<<2)>>2];d=d+1|0}while((d|0)!=(h|0))}b=b+1|0;if((b|0)==(j|0))break a;d=c[u>>2]|0}}}while(0);g=g+-1|0}while((g|0)!=0)}Sc(z);C=1;i=D;return C|0}function Hg(a){a=a|0;if(!a){a=0;return a|0}a=(a+-1|0)>>>0<2?1:2;return a|0}function Ig(a,b){a=a|0;b=b|0;return+ +h[56+(b*80|0)+(a<<3)>>3]}function Jg(a){a=a|0;return Pg(a,2)|0}function Kg(a){a=a|0;return 0}function Lg(a,b){a=a|0;b=b|0;return+ +h[376+(b*80|0)+(a<<3)>>3]}function Mg(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+4|0;l=((c[k>>2]|0)*3|0)+-2|0;if(!l)return;m=a+20|0;n=a+24|0;o=0;do{if(!o){e=0;f=0}else{f=o+-1|0;e=((f>>>0)/3|0)+1|0;f=((f>>>0)%3|0)+1|0}if((f|0)==0|(c[m>>2]|0)==0)g=0;else g=(f+-1|0)>>>0<2?1:2;if(!(c[n>>2]|0))d=1.0;else d=+(1<>2]|0)+~e<<3)>>3];j=~~+M(+(d*8192.0));i=g+b|0;if((j|0)>1){e=j;f=0;while(1){e=e>>1;if((e|0)<=1)break;else f=f+1|0}g=j;e=0;do{g=g>>1;e=e+1|0}while((g|0)>1);f=f+-12|0}else{f=-13;e=0}g=11-e|0;c[a+28+(o<<3)+4>>2]=((g|0)<0?j>>0-g:j<>2]=i-f;o=o+1|0}while((o|0)!=(l|0));return}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=i;i=i+32|0;Q=T+16|0;R=T;m=c[a+24>>2]|0;n=c[m+8>>2]|0;o=c[m>>2]|0;k=c[m+12>>2]|0;l=c[m+4>>2]|0;P=a+8|0;h=c[P>>2]|0;j=c[a>>2]|0;O=h-j|0;g=b+-1|0;f=(g|0)==0;if(f)b=80;else{d=m;e=g;b=0;do{N=d;d=d+136|0;M=(c[N+144>>2]|0)-(c[d>>2]|0)|0;b=b>>>0>>0?M:b;N=(c[N+148>>2]|0)-(c[N+140>>2]|0)|0;b=b>>>0>>0?N:b;e=e+-1|0}while((e|0)!=0);b=(b<<4)+80|0}N=Rc(b)|0;c[Q>>2]=N;if(!N){S=0;i=T;return S|0}c[R>>2]=N;a:do{if(!f){y=a+32|0;z=a+12|0;A=a+4|0;B=Q+8|0;C=R+8|0;D=Q+4|0;E=Q+12|0;F=R+4|0;G=R+12|0;H=O<<1;I=O<<2;J=O*3|0;L=j<<2;M=h<<2;K=L-M|0;L=M-L|0;M=h-j<<2;b=g;d=N;g=h;e=j;r=k-l|0;f=m;h=n-o|0;while(1){s=c[y>>2]|0;e=_((c[z>>2]|0)-(c[A>>2]|0)|0,g-e|0)|0;c[B>>2]=h;c[C>>2]=r;w=f+136|0;p=c[f+144>>2]|0;q=c[w>>2]|0;x=p-q|0;u=c[f+148>>2]|0;n=f+140|0;t=c[n>>2]|0;v=u-t|0;c[D>>2]=x-h;c[E>>2]=(q|0)%2|0;if((v|0)>3){g=(x|0)>0;h=(u+-4-t|0)>>>2;m=_(K,h)|0;h=s+(L+(_(M,h)|0)<<2)|0;j=s;k=e;l=v;while(1){Sg(Q,j,O,k);Tg(Q);if(g){f=x;do{o=f;f=f+-1|0;c[j+(f<<2)>>2]=c[N+(f<<4)>>2];c[j+(f+O<<2)>>2]=c[N+(f<<4)+4>>2];c[j+(f+H<<2)>>2]=c[N+(f<<4)+8>>2];c[j+(f+J<<2)>>2]=c[N+(f<<4)+12>>2]}while((o|0)>1)}l=l+-4|0;if((l|0)<=3)break;else{j=j+(I<<2)|0;k=k-I|0}}e=K+e+m|0}else h=s;g=v&3;b:do{if(!g)S=21;else{Sg(Q,h,O,e);Tg(Q);if((x|0)>0)e=x;else{k=v-r|0;c[F>>2]=k;g=(c[n>>2]|0)%2|0;c[G>>2]=g;l=r;j=s;break}while(1){f=e;e=e+-1|0;switch(g|0){case 3:{c[h+(e+H<<2)>>2]=c[N+(e<<4)+8>>2];S=18;break}case 2:{S=18;break}case 1:{S=19;break}default:{}}if((S|0)==18){c[h+(e+O<<2)>>2]=c[N+(e<<4)+4>>2];S=19}if((S|0)==19){S=0;c[h+(e<<2)>>2]=c[N+(e<<4)>>2]}if((f|0)<=1){S=21;break b}}}}while(0);if((S|0)==21){S=0;k=v-r|0;c[F>>2]=k;g=(c[n>>2]|0)%2|0;c[G>>2]=g;if((x|0)>3){o=(u|0)==(t|0);p=p+-4-q|0;n=c[C>>2]|0;l=(n|0)>0;j=1-g|0;m=(k|0)>0;f=s;h=x;while(1){if(l){e=0;do{r=d+((e<<1)+g<<4)|0;q=f+((_(e,O)|0)<<2)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(n|0))}if(m){e=0;do{r=d+(j+(e<<1)<<4)|0;q=f+((_(e+n|0,O)|0)<<2)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(k|0))}Tg(R);if(!o){d=c[R>>2]|0;e=0;do{r=f+((_(e,O)|0)<<2)|0;q=d+(e<<4)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(v|0))}h=h+-4|0;if((h|0)<=3)break;else f=f+16|0}l=n;j=s+((p+4&-4)<<2)|0}else{l=r;j=s}}h=x&3;if(h){d=c[R>>2]|0;if((l|0)>0){e=h<<2;f=0;do{Ui(d+((f<<1)+g<<4)|0,j+((_(f,O)|0)<<2)|0,e|0)|0;f=f+1|0}while((f|0)!=(l|0))}e=1-g|0;if((k|0)>0){f=h<<2;g=0;do{Ui(d+(e+(g<<1)<<4)|0,j+((_(g+l|0,O)|0)<<2)|0,f|0)|0;g=g+1|0}while((g|0)!=(k|0))}Tg(R);if((u|0)!=(t|0)){e=h<<2;f=0;do{Ui(j+((_(f,O)|0)<<2)|0,d+(f<<4)|0,e|0)|0;f=f+1|0}while((f|0)!=(v|0))}}b=b+-1|0;if(!b)break a;g=c[P>>2]|0;e=c[a>>2]|0;r=v;f=w;h=x}}}while(0);Sc(N);S=1;i=T;return S|0}function Og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(!e){e=(b|0)>0;if(!(e|(d|0)>1))return;if(e){e=a+((d<<1)+-2<<2)|0;f=0;do{j=f;f=f+1|0;k=a+((j<<1|1)<<2)|0;c[k>>2]=(c[k>>2]|0)-((c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((j|0)<(d|0)?a+(j<<1<<2)|0:e)>>2]|0)>>1)}while((f|0)!=(b|0))}if((d|0)<=0)return;f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;k=a+(h<<1<<2)|0;c[k>>2]=((c[e>>2]|0)+2+(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)>>2)+(c[k>>2]|0);h=h+1|0}while((h|0)!=(d|0));return}if((b|0)==1&(d|0)==0){c[a>>2]=c[a>>2]<<1;return}if((b|0)>0){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;i=a+(i<<2)|0;c[i>>2]=(c[i>>2]|0)-((c[e>>2]|0)+j>>1);k=k+1|0}while((k|0)!=(b|0))}if((d|0)<=0)return;e=a+((b<<1)+-2<<2)|0;f=0;do{j=f;f=f+1|0;k=a+((j<<1|1)<<2)|0;c[k>>2]=((c[((j|0)<(b|0)?a+(j<<1<<2)|0:e)>>2]|0)+2+(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)>>2)+(c[k>>2]|0)}while((f|0)!=(d|0));return}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=(c[a+8>>2]|0)-(c[a>>2]|0)|0;g=c[a+16>>2]|0;i=g+-1|0;x=c[a+32>>2]|0;h=c[a+24>>2]|0;f=(i|0)==0;if(f)a=0;else{d=h;e=i;a=0;do{v=d;d=d+136|0;u=(c[v+144>>2]|0)-(c[d>>2]|0)|0;a=a>>>0>>0?u:a;v=(c[v+148>>2]|0)-(c[v+140>>2]|0)|0;a=a>>>0>>0?v:a;e=e+-1|0}while((e|0)!=0);a=a<<2}v=Pc(a)|0;if(!((a|0)==0|(v|0)!=0)){b=0;return b|0}if(!f){t=g+-2|0;u=t;a=h+(i*136|0)|0;t=h+(t*136|0)|0;while(1){q=c[a>>2]|0;s=(c[a+8>>2]|0)-q|0;m=c[a+4>>2]|0;o=(c[a+12>>2]|0)-m|0;p=(c[t+8>>2]|0)-(c[t>>2]|0)|0;a=c[t+12>>2]|0;d=c[t+4>>2]|0;l=a-d|0;q=q&1;m=m&1;n=o-l|0;r=(s|0)>0;a:do{if(r){f=(a|0)==(d|0);i=(o|0)==(l|0);j=v+((m^1)<<2)|0;k=_(l,w)|0;h=v+(m<<2)|0;if((o|0)>0){g=0;while(1){d=x+(g<<2)|0;a=0;do{c[v+(a<<2)>>2]=c[x+((_(a,w)|0)+g<<2)>>2];a=a+1|0}while((a|0)!=(o|0));ab[b&3](v,n,l,m);if(!f){e=l;a=h;while(1){e=e+-1|0;c[d>>2]=c[a>>2];if(!e)break;else{d=d+(w<<2)|0;a=a+8|0}}}if(!i){a=n;d=x+(g+k<<2)|0;e=j;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}}g=g+1|0;if((g|0)==(s|0))break a}}if(f){d=0;while(1){ab[b&3](v,n,l,m);if(!i){a=n;e=x+(d+k<<2)|0;f=j;while(1){a=a+-1|0;c[e>>2]=c[f>>2];if(!a)break;else{e=e+(w<<2)|0;f=f+8|0}}}d=d+1|0;if((d|0)==(s|0))break a}}else f=0;do{ab[b&3](v,n,l,m);a=l;d=x+(f<<2)|0;e=h;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}if(!i){a=n;d=x+(f+k<<2)|0;e=j;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}}f=f+1|0}while((f|0)!=(s|0))}}while(0);g=s-p|0;if((o|0)>0){h=(p|0)>0;i=v+(q<<2)|0;j=(g|0)>0;k=v+((q^1)<<2)|0;l=0;do{f=_(l,w)|0;d=x+(f<<2)|0;if(r){a=0;do{c[v+(a<<2)>>2]=c[x+(a+f<<2)>>2];a=a+1|0}while((a|0)!=(s|0))}ab[b&3](v,g,p,q);if(h){e=0;a=i;while(1){c[d>>2]=c[a>>2];e=e+1|0;if((e|0)==(p|0))break;else{d=d+4|0;a=a+8|0}}}if(j){e=0;a=x+(f+p<<2)|0;d=k;while(1){c[a>>2]=c[d>>2];e=e+1|0;if((e|0)==(g|0))break;else{a=a+4|0;d=d+8|0}}}l=l+1|0}while((l|0)!=(o|0))}if(!u)break;else{a=t;u=u+-1|0;t=t+-136|0}}}Uc(v);b=1;return b|0}function Qg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=c[a+4>>2]|0;k=c[a+8>>2]|0;if(!(c[a+12>>2]|0)){e=(j|0)>0;if(!(e|(k|0)>1))return;if((k|0)>0){b=i+4|0;d=(j<<1)+-1|0;f=0;do{if((f|0)<1)a=b;else a=i+((((f|0)>(j|0)?j:f)<<1)+-1<<2)|0;g=f<<1;h=i+(g<<2)|0;c[h>>2]=(c[h>>2]|0)-((c[a>>2]|0)+2+(c[i+(((f|0)<(j|0)?g|1:d)<<2)>>2]|0)>>2);f=f+1|0}while((f|0)!=(k|0))}if(!e)return;a=i+((k<<1)+-2<<2)|0;b=0;do{g=b<<1;f=b;b=b+1|0;h=i+((g|1)<<2)|0;c[h>>2]=((c[((b|0)<(k|0)?i+(b<<1<<2)|0:a)>>2]|0)+(c[((f|0)<(k|0)?i+(g<<2)|0:a)>>2]|0)>>1)+(c[h>>2]|0)}while((b|0)!=(j|0));return}if((j|0)==1&(k|0)==0){c[i>>2]=(c[i>>2]|0)/2|0;return}if((k|0)>0){a=i+((j<<1)+-2<<2)|0;b=0;do{g=b<<1;f=b;b=b+1|0;h=i+((g|1)<<2)|0;c[h>>2]=(c[h>>2]|0)-((c[((f|0)<(j|0)?i+(g<<2)|0:a)>>2]|0)+2+(c[((b|0)<(j|0)?i+(b<<1<<2)|0:a)>>2]|0)>>2)}while((b|0)!=(k|0))}if((j|0)<=0)return;b=i+4|0;d=(k<<1)+-1|0;e=i+(d<<2)|0;h=0;do{f=h<<1;g=c[i+(((h|0)<(k|0)?f|1:d)<<2)>>2]|0;if((h|0)>=1)if((h|0)>(k|0))a=e;else a=i+(f+-1<<2)|0;else a=b;f=i+(f<<2)|0;c[f>>2]=((c[a>>2]|0)+g>>1)+(c[f>>2]|0);h=h+1|0}while((h|0)!=(j|0));return}function Rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!e){j=(b|0)>0;if(!(j|(d|0)>1))return;if(j){e=a+((d<<1)+-2<<2)|0;f=0;do{m=f;f=f+1|0;l=(c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((m|0)<(d|0)?a+(m<<1<<2)|0:e)>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,12993,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+((m<<1|1)<<2)|0;c[m>>2]=(c[m>>2]|0)-l}while((f|0)!=(b|0))}i=(d|0)>0;if(i){f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;l=(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)+(c[e>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,434,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+(h<<1<<2)|0;c[m>>2]=(c[m>>2]|0)-l;h=h+1|0}while((h|0)!=(d|0))}if(j){e=a+((d<<1)+-2<<2)|0;f=0;do{m=f;f=f+1|0;l=(c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((m|0)<(d|0)?a+(m<<1<<2)|0:e)>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,7233,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+((m<<1|1)<<2)|0;c[m>>2]=l+(c[m>>2]|0)}while((f|0)!=(b|0))}if(i){f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;l=(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)+(c[e>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,3633,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+(h<<1<<2)|0;c[m>>2]=l+(c[m>>2]|0);h=h+1|0}while((h|0)!=(d|0))}if(j){e=0;do{m=a+((e<<1|1)<<2)|0;l=c[m>>2]|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,5038,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;c[m>>2]=l;e=e+1|0}while((e|0)!=(b|0))}if(i)e=0;else return;do{b=a+(e<<1<<2)|0;m=c[b>>2]|0;m=Zi(m|0,((m|0)<0)<<31>>31|0,6659,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;c[b>>2]=m;e=e+1|0}while((e|0)!=(d|0));return}m=(d|0)>0;if(!((b|0)>1|m))return;l=(b|0)>0;if(l){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;e=(c[e>>2]|0)+j|0;e=Zi(e|0,((e|0)<0)<<31>>31|0,12993,0)|0;e=Si(e|0,C|0,4096,0)|0;e=Ti(e|0,C|0,13)|0;j=a+(i<<2)|0;c[j>>2]=(c[j>>2]|0)-e;k=k+1|0}while((k|0)!=(b|0))}if(m){e=a+((b<<1)+-2<<2)|0;f=0;do{k=f;f=f+1|0;j=(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((k|0)<(b|0)?a+(k<<1<<2)|0:e)>>2]|0)|0;j=Zi(j|0,((j|0)<0)<<31>>31|0,434,0)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;k=a+((k<<1|1)<<2)|0;c[k>>2]=(c[k>>2]|0)-j}while((f|0)!=(d|0))}if(l){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;e=(c[e>>2]|0)+j|0;e=Zi(e|0,((e|0)<0)<<31>>31|0,7233,0)|0;e=Si(e|0,C|0,4096,0)|0;e=Ti(e|0,C|0,13)|0;j=a+(i<<2)|0;c[j>>2]=e+(c[j>>2]|0);k=k+1|0}while((k|0)!=(b|0))}if(m){e=a+((b<<1)+-2<<2)|0;f=0;do{k=f;f=f+1|0;j=(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((k|0)<(b|0)?a+(k<<1<<2)|0:e)>>2]|0)|0;j=Zi(j|0,((j|0)<0)<<31>>31|0,3633,0)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;k=a+((k<<1|1)<<2)|0;c[k>>2]=j+(c[k>>2]|0)}while((f|0)!=(d|0))}if(l){e=0;do{l=a+(e<<1<<2)|0;k=c[l>>2]|0;k=Zi(k|0,((k|0)<0)<<31>>31|0,5038,0)|0;k=Si(k|0,C|0,4096,0)|0;k=Ti(k|0,C|0,13)|0;c[l>>2]=k;e=e+1|0}while((e|0)!=(b|0))}if(m)e=0;else return;do{b=a+((e<<1|1)<<2)|0;m=c[b>>2]|0;m=Zi(m|0,((m|0)<0)<<31>>31|0,6659,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;c[b>>2]=m;e=e+1|0}while((e|0)!=(d|0));return}function Sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=c[a>>2]|0;i=c[a+12>>2]|0;q=c[a+8>>2]|0;n=d*3|0;l=1-i|0;k=a+4|0;j=q;a=0;while(1){h=m+(i<<4)|0;if(((j+n|0)<(e|0)?(b&15|0)==0:0)?((h|d)&15|0)==0:0){if((j|0)>0){f=0;do{h=f<<3;c[m+(i<<4)+(h<<2)>>2]=c[b+(f<<2)>>2];g=f+d|0;c[m+(i<<4)+((h|1)<<2)>>2]=c[b+(g<<2)>>2];g=g+d|0;c[m+(i<<4)+((h|2)<<2)>>2]=c[b+(g<<2)>>2];c[m+(i<<4)+((h|3)<<2)>>2]=c[b+(g+d<<2)>>2];f=f+1|0}while((f|0)!=(j|0))}}else r=3;if((r|0)==3?(r=0,(j|0)>0):0){h=0;do{f=h<<3;c[m+(i<<4)+(f<<2)>>2]=c[b+(h<<2)>>2];g=h+d|0;if(((g|0)<(e|0)?(c[m+(i<<4)+((f|1)<<2)>>2]=c[b+(g<<2)>>2],o=g+d|0,(o|0)<(e|0)):0)?(c[m+(i<<4)+((f|2)<<2)>>2]=c[b+(o<<2)>>2],p=o+d|0,(p|0)<(e|0)):0)c[m+(i<<4)+((f|3)<<2)>>2]=c[b+(p<<2)>>2];h=h+1|0}while((h|0)!=(j|0))}a=a+1|0;if((a|0)==2)break;else{b=b+(q<<2)|0;e=e-q|0;i=l;j=c[k>>2]|0}}return}function Tg(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0;do{if(!(c[a+12>>2]|0)){d=c[a+8>>2]|0;if((c[a+4>>2]|0)>0){b=c[a>>2]|0;if((d|0)>0){i=0;f=1;j=9;break}else{i=0;h=1;break}}if((d|0)>1){e=0;f=1;j=7}else return}else{d=c[a+8>>2]|0;if((d|0)<=0)if((c[a+4>>2]|0)>1){b=c[a>>2]|0;i=1;h=0;break}else return;else{e=1;f=0;j=7}}}while(0);if((j|0)==7){b=c[a>>2]|0;i=e;j=9}if((j|0)==9){e=0;do{j=e<<3;o=b+(i<<4)+(j<<2)|0;m=b+(i<<4)+((j|1)<<2)|0;n=+g[m>>2];h=b+(i<<4)+((j|2)<<2)|0;l=+g[h>>2];j=b+(i<<4)+((j|3)<<2)|0;k=+g[j>>2];g[o>>2]=+g[o>>2]*1.2301740646362305;g[m>>2]=n*1.2301740646362305;g[h>>2]=l*1.2301740646362305;g[j>>2]=k*1.2301740646362305;e=e+1|0}while((e|0)!=(d|0));h=f}e=c[a+4>>2]|0;if((e|0)>0){f=0;do{o=f<<3;j=b+(h<<4)+(o<<2)|0;a=b+(h<<4)+((o|1)<<2)|0;k=+g[a>>2];m=b+(h<<4)+((o|2)<<2)|0;l=+g[m>>2];o=b+(h<<4)+((o|3)<<2)|0;n=+g[o>>2];g[j>>2]=+g[j>>2]*1.625732421875;g[a>>2]=k*1.625732421875;g[m>>2]=l*1.625732421875;g[o>>2]=n*1.625732421875;f=f+1|0}while((f|0)!=(e|0))}p=b+(h<<4)|0;f=b+(i+1<<4)|0;j=e-i|0;j=(d|0)<(j|0)?d:j;Ug(p,f,d,j,-.4435068666934967);a=b+(i<<4)|0;m=b+(h+1<<4)|0;o=d-h|0;o=(e|0)<(o|0)?e:o;Ug(a,m,e,o,-.8829110860824585);Ug(p,f,d,j,.05298011749982834);Ug(a,m,e,o,1.5861343145370483);return}function Ug(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0;if((d|0)>0){m=d<<1;l=m+-2|0;h=+g[a>>2];i=+g[a+4>>2];j=+g[a+8>>2];f=+g[a+12>>2];a=b;k=0;while(1){w=a+-16|0;t=a+-12|0;v=+g[t>>2];q=a+-8|0;s=+g[q>>2];n=a+-4|0;p=+g[n>>2];x=h;h=+g[a>>2];u=i;i=+g[a+4>>2];r=j;j=+g[a+8>>2];o=f;f=+g[a+12>>2];g[w>>2]=+g[w>>2]+(x+h)*e;g[t>>2]=v+(u+i)*e;g[q>>2]=s+(r+j)*e;g[n>>2]=p+(o+f)*e;k=k+1|0;if((k|0)==(d|0))break;else a=a+32|0}a=b+(l<<4)|0;b=b+(m<<4)|0}if((d|0)>=(c|0))return;f=e+e;h=f*+g[a>>2];i=f*+g[a+4>>2];j=f*+g[a+8>>2];f=f*+g[a+12>>2];while(1){n=b+-16|0;q=b+-12|0;u=+g[q>>2];t=b+-8|0;v=+g[t>>2];w=b+-4|0;x=+g[w>>2];g[n>>2]=h+ +g[n>>2];g[q>>2]=i+u;g[t>>2]=j+v;g[w>>2]=f+x;d=d+1|0;if((d|0)==(c|0))break;else b=b+32|0}return}function Vg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=d<<2;y=Pc(d<<4)|0;if(!y){a=0;return a|0}z=y+x|0;Qi(y|0,0,x|0)|0;v=d+-1|0;u=(d|0)==0;if(!u){e=0;f=y;while(1){c[f>>2]=e;e=e+1|0;if((e|0)==(d|0))break;else f=f+4|0}}a:do{if(v){q=v;j=0;e=0;r=a;s=1;t=y;while(1){k=r+(j<<2)|0;if(j>>>0>>0){i=j;f=k;h=0.0}else break;while(1){o=+g[f>>2];o=o>0.0?o:-o;w=o>h;e=w?i:e;h=w?o:h;i=i+1|0;if((i|0)==(d|0))break;else f=f+(d<<2)|0}if(h==0.0)break;if((e|0)!=(j|0)){w=e-j|0;p=t+(w<<2)|0;n=c[t>>2]|0;c[t>>2]=c[p>>2];c[p>>2]=n;w=r+((_(w,d)|0)<<2)|0;Ui(z|0,w|0,x|0)|0;Ui(w|0,r|0,x|0)|0;Ui(r|0,z|0,x|0)|0}f=j;p=j+1|0;o=+g[k>>2];if(s>>>0>>0){l=r+(p<<2)|0;n=p+q|0;m=s;i=r+(f+d<<2)|0;while(1){h=+g[i>>2]/o;g[i>>2]=h;f=s;j=i;k=l;while(1){j=j+4|0;g[j>>2]=+g[j>>2]-h*+g[k>>2];f=f+1|0;if((f|0)==(d|0))break;else k=k+4|0}m=m+1|0;if((m|0)==(d|0))break;else i=i+(n<<2)|0}}if(p>>>0>>0){q=q+-1|0;j=p;r=r+(d<<2)|0;s=s+1|0;t=t+4|0}else break a}Uc(y);a=0;return a|0}}while(0);e=d<<1;w=z+(e<<2)|0;if(!u){u=z+(v+d<<2)|0;q=z+(e+v<<2)|0;r=a+((_(d,d)|0)+-1<<2)|0;s=~d;t=0;p=b;while(1){Qi(z|0,0,x|0)|0;g[z+(t<<2)>>2]=1.0;j=0;k=1;l=y;m=w;n=a;while(1){if(!j)h=0.0;else{e=1;f=w;i=n;h=0.0;while(1){h=h+ +g[i>>2]*+g[f>>2];e=e+1|0;if((e|0)==(k|0))break;else{f=f+4|0;i=i+4|0}}}g[m>>2]=+g[z+(c[l>>2]<<2)>>2]-h;j=j+1|0;if((j|0)==(d|0)){j=d;k=u;l=w;m=q;n=r;break}else{k=k+1|0;l=l+4|0;m=m+4|0;n=n+(d<<2)|0}}while(1){e=j;j=j+-1|0;o=+g[n>>2];if(e>>>0>>0){f=l;i=n;h=0.0;while(1){i=i+4|0;h=h+ +g[i>>2]*+g[f>>2];e=e+1|0;if((e|0)==(d|0))break;else f=f+4|0}}else h=0.0;l=l+-4|0;g[k>>2]=(+g[m>>2]-h)/o;if(!j){e=0;f=p;break}else{k=k+-4|0;m=m+-4|0;n=n+(s<<2)|0}}while(1){c[f>>2]=c[z+(e+d<<2)>>2];e=e+1|0;if((e|0)==(d|0))break;else f=f+(d<<2)|0}t=t+1|0;if((t|0)==(d|0))break;else p=p+4|0}}Uc(y);a=1;return a|0}function Wg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=Qc(1,44)|0;if(!g){g=0;return g|0}h=hh()|0;c[g>>2]=h;if(!h){ih(0);c[g>>2]=0;h=g+4|0;yh(c[h>>2]|0);c[h>>2]=0;if((c[g+40>>2]|0)==0?(d=g+8|0,b=c[d>>2]|0,(b|0)!=0):0){Sc(b);c[d>>2]=0}b=g+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(g);h=0;return h|0}h=xh()|0;b=g+4|0;c[b>>2]=h;if(h){c[g+40>>2]=a;h=g;return h|0}ih(c[g>>2]|0);c[g>>2]=0;yh(c[b>>2]|0);c[b>>2]=0;if((c[g+40>>2]|0)==0?(e=g+8|0,f=c[e>>2]|0,(f|0)!=0):0){Sc(f);c[e>>2]=0}b=g+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(g);h=0;return h|0}function Xg(a){a=a|0;var b=0,d=0,e=0;if(!a)return;ih(c[a>>2]|0);c[a>>2]=0;e=a+4|0;yh(c[e>>2]|0);c[e>>2]=0;if((c[a+40>>2]|0)==0?(b=a+8|0,d=c[b>>2]|0,(d|0)!=0):0){Sc(d);c[b>>2]=0}b=a+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(a);return}function Yg(a,f,h){a=a|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,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;ya=(c[f+8>>2]|0)-(c[f>>2]|0)|0;za=f+20|0;i=c[za>>2]|0;if(!i){a=1;return a|0}Aa=f+24|0;Ba=h+808|0;Ca=h+16|0;ta=a+4|0;va=a+8|0;wa=a+16|0;xa=a+20|0;sa=h+20|0;pa=f+32|0;qa=a+32|0;ra=a+12|0;h=i;oa=0;a:while(1){ma=c[Aa>>2]|0;na=ma+(oa*136|0)+24|0;f=c[na>>2]|0;if(f){ja=ma+(oa*136|0)+16|0;ka=ma+(oa*136|0)+20|0;la=oa+-1|0;h=c[ka>>2]|0;i=c[ja>>2]|0;ia=0;do{if(_(h,i)|0){da=ma+(oa*136|0)+28+(ia*36|0)+20|0;ea=ma+(oa*136|0)+28+(ia*36|0)+16|0;fa=ma+(oa*136|0)+28+(ia*36|0)|0;ga=ma+(oa*136|0)+28+(ia*36|0)+4|0;ha=ma+(oa*136|0)+28+(ia*36|0)+32|0;ca=0;do{f=c[da>>2]|0;aa=f+(ca*40|0)+16|0;ba=f+(ca*40|0)+20|0;if(_(c[ba>>2]|0,c[aa>>2]|0)|0){Z=f+(ca*40|0)+24|0;$=0;do{h=c[Z>>2]|0;S=c[ea>>2]|0;j=c[Ba>>2]|0;f=c[Ca>>2]|0;T=c[ta>>2]|0;U=c[a>>2]|0;V=h+($*56|0)+8|0;Y=h+($*56|0)+12|0;if(!(_g(a,(c[h+($*56|0)+16>>2]|0)-(c[V>>2]|0)|0,(c[h+($*56|0)+20>>2]|0)-(c[Y>>2]|0)|0)|0)){h=0;G=201;break a}W=h+($*56|0)+24|0;k=c[W>>2]|0;qh(U);rh(U,18,0,46);rh(U,17,0,3);rh(U,0,0,4);X=h+($*56|0)+48|0;i=c[X>>2]|0;if(i){N=h+($*56|0)+4|0;O=(f&1|0)!=0;P=(f&2|0)==0;Q=(f&8|0)==0;R=S<<8;M=(f&32|0)==0;f=k+j|0;h=2;L=0;do{k=c[N>>2]|0;K=O&(h>>>0<2?(f|0)<=((c[W>>2]|0)+-4|0):0);j=c[k+(L<<5)>>2]|0;if(j){i=(c[j>>2]|0)+(c[k+(L<<5)+4>>2]|0)|0;j=c[k+(L<<5)+16>>2]|0;if(!K){if(!(vh(U,i,j)|0)){h=0;G=201;break a}}else zh(T,i,j);I=k+(L<<5)+12|0;b:do{if(c[I>>2]|0){J=P|K;H=0;while(1){c:do{switch(h|0){case 0:{if(K){w=1<>1|w;j=c[xa>>2]|0;if(!j)break c;v=0-w|0;i=c[wa>>2]|0;u=0;while(1){t=u;u=u+4|0;if(!i)i=0;else{q=(t|0)==-4;r=t|3;s=0;do{d:do{if(!q)if(Q){o=t;do{if(o>>>0>=(c[xa>>2]|0)>>>0)break d;m=o;o=o+1|0;i=(_(c[qa>>2]|0,o)|0)+s|0;j=i+1|0;k=c[ra>>2]|0;l=k+(j<<1)|0;m=(_(c[wa>>2]|0,m)|0)+s|0;m=(c[va>>2]|0)+(m<<2)|0;n=c[ta>>2]|0;G=b[l>>1]|0;if((G&255|0)!=0&(G&20480|0)==0){if(Ah(n)|0){D=Ah(n)|0;c[m>>2]=(D|0)!=0?v:w;F=c[qa>>2]|0;G=k+(j-F<<1)|0;E=k+(F+j<<1)|0;C=k+(j+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=i+2|0;C=k+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=k+(i<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[l>>1]=e[l>>1]|4096;C=k+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=k+(F+i<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=k+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[l>>1]=e[l>>1]|16384}}while(o>>>0>>0)}else{p=t;do{i=c[xa>>2]|0;if(p>>>0>=i>>>0)break d;F=p;p=p+1|0;j=(_(c[qa>>2]|0,p)|0)+s|0;k=j+1|0;l=c[ra>>2]|0;m=l+(k<<1)|0;n=(_(c[wa>>2]|0,F)|0)+s|0;n=(c[va>>2]|0)+(n<<2)|0;o=c[ta>>2]|0;G=b[m>>1]|0;G=(F|0)==(r|0)|(F|0)==(i+-1|0)?G&-1095:G;if((G&255|0)!=0&(G&20480|0)==0){if(Ah(o)|0){D=Ah(o)|0;c[n>>2]=(D|0)!=0?v:w;F=c[qa>>2]|0;G=l+(k-F<<1)|0;E=l+(F+k<<1)|0;C=l+(k+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=j+2|0;C=l+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=l+(j<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[m>>1]=e[m>>1]|4096;C=l+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=l+(F+j<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=l+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[m>>1]=e[m>>1]|16384}}while(p>>>0>>0)}}while(0);s=s+1|0;i=c[wa>>2]|0}while(s>>>0>>0);j=c[xa>>2]|0}if(u>>>0>=j>>>0){G=163;break c}}}if(Q){k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;r=1<>1|r;i=c[xa>>2]|0;j=c[wa>>2]|0;if(i>>>0>3){o=j;n=0;while(1){if(!j){j=o;m=0}else{j=0;do{G=(c[qa>>2]|0)+j|0;$g(a,l+(G<<1)|0,k+(j<<2)|0,S,r);i=(c[wa>>2]|0)+j|0;G=(c[qa>>2]|0)+G|0;$g(a,l+(G<<1)|0,k+(i<<2)|0,S,r);i=(c[wa>>2]|0)+i|0;G=(c[qa>>2]|0)+G|0;$g(a,l+(G<<1)|0,k+(i<<2)|0,S,r);$g(a,l+((c[qa>>2]|0)+G<<1)|0,k+((c[wa>>2]|0)+i<<2)|0,S,r);j=j+1|0;i=c[wa>>2]|0}while(j>>>0>>0);j=i;m=i;i=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=l+(c[qa>>2]<<2<<1)|0;n=n+4|0;if(n>>>0<(i&-4)>>>0){o=j;j=m}else{q=l;p=n;break}}}else{q=l;p=0}if(!j){G=163;break c}else o=0;while(1){if(p>>>0>>0){l=k+(o<<2)|0;m=q+(o<<1)|0;n=p;while(1){m=m+(c[qa>>2]<<1)|0;$g(a,m,l,S,r);j=c[wa>>2]|0;n=n+1|0;i=c[xa>>2]|0;if(n>>>0>=i>>>0)break;else l=l+(j<<2)|0}}o=o+1|0;if(o>>>0>=j>>>0){G=163;break c}}}w=1<>1|w;i=c[xa>>2]|0;if(!i){G=163;break c}x=0-w|0;j=c[wa>>2]|0;l=j;v=0;while(1){u=v;v=v+4|0;do{if(!j){k=l;j=0}else{t=u|3;if((u|0)==-4){k=l;j=l;break}else s=0;do{r=u;do{i=c[xa>>2]|0;if(r>>>0>=i>>>0)break;G=r;r=r+1|0;l=(_(c[qa>>2]|0,r)|0)+s|0;m=l+1|0;n=c[ra>>2]|0;o=n+(m<<1)|0;p=(_(c[wa>>2]|0,G)|0)+s|0;p=(c[va>>2]|0)+(p<<2)|0;q=c[a>>2]|0;j=b[o>>1]|0;i=(G|0)==(t|0)|(G|0)==(i+-1|0)?j&-1095:j;j=i&255;if((j|0)!=0&(i&20480|0)==0){k=q+100|0;c[k>>2]=q+24+(d[20267+(j|R)>>0]<<2);if(wh(q)|0){F=i>>>4&255;c[k>>2]=q+24+(d[21291+F>>0]<<2);G=wh(q)|0;F=d[21547+F>>0]|0;D=F^G;c[p>>2]=(G|0)!=(F|0)?x:w;F=c[qa>>2]|0;G=n+(m-F<<1)|0;E=n+(F+m<<1)|0;C=n+(m+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=l+2|0;C=n+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=n+(l<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[o>>1]=e[o>>1]|4096;C=n+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=n+(F+l<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=n+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[o>>1]=e[o>>1]|16384}}while(r>>>0>>0);s=s+1|0;i=c[wa>>2]|0}while(s>>>0>>0);k=i;j=i;i=c[xa>>2]|0}}while(0);if(v>>>0>=i>>>0){G=163;break}else l=k}break}case 1:{if(K){q=1<>1;r=(f|0)>0?0-q|0:-1;j=c[xa>>2]|0;if(!j)break c;k=c[wa>>2]|0;i=k;p=0;while(1){o=p;p=p+4|0;if(!k){l=i;k=0}else{n=(o|0)==-4;m=0;do{l=m;m=m+1|0;if(!n){k=o;do{if(k>>>0>=(c[xa>>2]|0)>>>0)break;j=k;k=k+1|0;i=(_(c[qa>>2]|0,k)|0)+m|0;i=(c[ra>>2]|0)+(i<<1)|0;j=(_(c[wa>>2]|0,j)|0)+l|0;j=(c[va>>2]|0)+(j<<2)|0;if((b[i>>1]&20480)==4096){F=(Ah(c[ta>>2]|0)|0)!=0;F=F?q:r;G=c[j>>2]|0;c[j>>2]=((G|0)<0?0-F|0:F)+G;b[i>>1]=e[i>>1]|8192}}while(k>>>0

>>0);i=c[wa>>2]|0}}while(m>>>0>>0);l=i;k=i;j=c[xa>>2]|0}if(p>>>0>=j>>>0){G=163;break c}else i=l}}if(!Q){t=1<>1;u=(f|0)>0?0-t|0:-1;i=c[xa>>2]|0;if(!i){G=163;break c}j=c[wa>>2]|0;k=j;s=0;while(1){r=s;s=s+4|0;if(!j)j=0;else{p=(r|0)==-4;q=r|3;i=k;o=0;do{n=o;o=o+1|0;if(!p){l=r;do{i=c[xa>>2]|0;if(l>>>0>=i>>>0)break;F=l;l=l+1|0;j=(_(c[qa>>2]|0,l)|0)+o|0;j=(c[ra>>2]|0)+(j<<1)|0;k=(_(c[wa>>2]|0,F)|0)+n|0;k=(c[va>>2]|0)+(k<<2)|0;m=c[a>>2]|0;G=b[j>>1]|0;i=(F|0)==(q|0)|(F|0)==(i+-1|0)?G&-1095:G;if((i&20480|0)==4096){c[m+100>>2]=m+24+(((i&8192|0)!=0?16:(i&255|0)!=0?15:14)<<2);F=(wh(m)|0)!=0;F=F?t:u;G=c[k>>2]|0;c[k>>2]=((G|0)<0?0-F|0:F)+G;b[j>>1]=e[j>>1]|8192}}while(l>>>0>>0);i=c[wa>>2]|0}}while(o>>>0>>0);k=i;j=i;i=c[xa>>2]|0}if(s>>>0>=i>>>0){G=163;break c}}}k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;v=1<>1;w=(f|0)>0?0-v|0:-1;i=c[xa>>2]|0;j=c[wa>>2]|0;if(i>>>0>3){n=j;t=l;u=0;while(1){if(!j){j=n;m=0}else{i=n;s=0;do{j=k+(s<<2)|0;n=c[qa>>2]|0;p=n+s|0;l=t+(p<<1)|0;o=c[a>>2]|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[o+100>>2]=o+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);n=(wh(o)|0)!=0;n=n?v:w;i=c[j>>2]|0;c[j>>2]=((i|0)<0?0-n|0:n)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}else{j=n;n=o}q=i+s|0;o=k+(q<<2)|0;r=j+p|0;l=t+(r<<1)|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);j=(wh(n)|0)!=0;j=j?v:w;i=c[o>>2]|0;c[o>>2]=((i|0)<0?0-j|0:j)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}p=i+q|0;o=k+(p<<2)|0;q=j+r|0;l=t+(q<<1)|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);j=(wh(n)|0)!=0;j=j?v:w;i=c[o>>2]|0;c[o>>2]=((i|0)<0?0-j|0:j)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}m=k+(i+p<<2)|0;j=t+(j+q<<1)|0;l=b[j>>1]|0;if((l&20480|0)==4096){c[n+100>>2]=n+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);G=(wh(n)|0)!=0;G=G?v:w;i=c[m>>2]|0;c[m>>2]=((i|0)<0?0-G|0:G)+i;b[j>>1]=e[j>>1]|8192;i=c[wa>>2]|0}s=s+1|0}while(s>>>0>>0);j=i;m=i;i=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=t+(c[qa>>2]<<2<<1)|0;o=u+4|0;if(o>>>0<(i&-4)>>>0){n=j;j=m;t=l;u=o}else{s=o;break}}}else s=0;if(!j){G=163;break c}else r=0;do{if(s>>>0>>0){o=k+(r<<2)|0;p=l+(r<<1)|0;q=s;while(1){p=p+(c[qa>>2]<<1)|0;n=c[a>>2]|0;m=b[p>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);i=(wh(n)|0)!=0;i=i?v:w;m=c[o>>2]|0;c[o>>2]=((m|0)<0?0-i|0:i)+m;b[p>>1]=e[p>>1]|8192;m=c[wa>>2]|0;i=c[xa>>2]|0}else m=j;q=q+1|0;if(q>>>0>=i>>>0){j=m;break}else{j=m;o=o+(m<<2)|0}}}r=r+1|0}while(r>>>0>>0);G=163;break}case 2:{E=c[a>>2]|0;F=1<>1|F;do{if(Q){k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;j=c[xa>>2]|0;if(j>>>0>3){w=E+92|0;x=E+100|0;y=E+96|0;z=0-F|0;m=c[wa>>2]|0;i=m;o=0;while(1){if(!m)m=0;else{r=o|1;s=r+1|0;t=o|3;u=r+3|0;v=0;do{i=c[qa>>2]|0;j=v;v=v+1|0;D=(_(i,r)|0)+v|0;G=c[ra>>2]|0;D=b[G+((_(i,s)|0)+v<<1)>>1]|b[G+(D<<1)>>1];D=D|b[G+((_(i,t)|0)+v<<1)>>1];e:do{if(!((D|b[G+((_(i,u)|0)+v<<1)>>1])&20735)){c[x>>2]=w;if(!(wh(E)|0))break;c[x>>2]=y;p=(wh(E)|0)<<1;p=p|(wh(E)|0);if(p>>>0>=4)break;q=k+((_(c[wa>>2]|0,p)|0)+j<<2)|0;j=l+((_(c[qa>>2]|0,p)|0)+j<<1)|0;n=p;while(1){if(n>>>0>=(c[xa>>2]|0)>>>0)break e;i=c[qa>>2]|0;m=j;j=j+(i<<1)|0;if((n|0)==(p|0)){G=c[a>>2]|0;D=(e[j>>1]|0)>>>4&255;c[G+100>>2]=G+24+(d[21291+D>>0]<<2);G=wh(G)|0;D=d[21547+D>>0]|0;B=D^G;c[q>>2]=(G|0)!=(D|0)?z:F;D=c[qa>>2]|0;G=m+(i-D<<1)|0;C=m+(D+i<<1)|0;A=m+(i+~D<<1)|0;b[A>>1]=e[A>>1]|2;b[G>>1]=b[G>>1]|b[3436+(B<<1)>>1];G=i+1|0;A=m+(G-D<<1)|0;b[A>>1]=e[A>>1]|4;A=i+-1|0;i=m+(A<<1)|0;b[i>>1]=b[i>>1]|b[3436+(B+2<<1)>>1];b[j>>1]=e[j>>1]|4096;i=m+(G<<1)|0;b[i>>1]=b[i>>1]|b[3436+(B+4<<1)>>1];A=m+(D+A<<1)|0;b[A>>1]=e[A>>1]|1;b[C>>1]=b[C>>1]|b[3436+(B+6<<1)>>1];G=m+(D+G<<1)|0;b[G>>1]=e[G>>1]|8;b[j>>1]=e[j>>1]&49151}else ah(a,j,q,S,F);n=n+1|0;if(n>>>0>=4)break;else q=q+(c[wa>>2]<<2)|0}}else{D=i+j|0;ah(a,l+(D<<1)|0,k+(j<<2)|0,S,F);G=(c[wa>>2]|0)+j|0;D=(c[qa>>2]|0)+D|0;ah(a,l+(D<<1)|0,k+(G<<2)|0,S,F);G=(c[wa>>2]|0)+G|0;D=(c[qa>>2]|0)+D|0;ah(a,l+(D<<1)|0,k+(G<<2)|0,S,F);ah(a,l+((c[qa>>2]|0)+D<<1)|0,k+((c[wa>>2]|0)+G<<2)|0,S,F)}}while(0);i=c[wa>>2]|0}while(v>>>0>>0);m=i;j=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=l+(c[qa>>2]<<2<<1)|0;o=o+4|0;if(o>>>0>=(j&-4)>>>0){q=k;p=l;break}}}else{i=c[wa>>2]|0;q=k;p=l;o=0}if(!i)break;else n=0;do{if(o>>>0>>0){k=q+(n<<2)|0;l=p+(n<<1)|0;m=o;while(1){l=l+(c[qa>>2]<<1)|0;ah(a,l,k,S,F);i=c[wa>>2]|0;m=m+1|0;j=c[xa>>2]|0;if(m>>>0>=j>>>0)break;else k=k+(i<<2)|0}}n=n+1|0}while(n>>>0>>0)}else{i=c[xa>>2]|0;if(!i)break;A=E+92|0;B=E+100|0;C=E+96|0;D=0-F|0;j=c[wa>>2]|0;z=0;while(1){if(!j){k=z+4|0;j=0}else{v=z|3;w=z|1;x=w+1|0;y=w+3|0;k=z+4|0;u=0;while(1){do{if(v>>>0>>0){i=c[qa>>2]|0;l=u+1|0;t=(_(i,w)|0)+l|0;j=c[ra>>2]|0;if(b[j+(t<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,x)|0)+l<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,v)|0)+l<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,y)|0)+l<<1)>>1]&20665){t=0;i=0;G=127;break}c[B>>2]=A;if(!(wh(E)|0))break;c[B>>2]=C;i=(wh(E)|0)<<1;t=1;i=i|(wh(E)|0);G=127}else{t=0;i=0;G=127}}while(0);if((G|0)==127){G=0;l=i+z|0;f:do{if(l>>>0>>0){s=l;do{i=c[xa>>2]|0;if(s>>>0>=i>>>0)break f;Da=s;s=s+1|0;m=(_(c[qa>>2]|0,s)|0)+u|0;n=m+1|0;o=c[ra>>2]|0;p=o+(n<<1)|0;q=(_(c[wa>>2]|0,Da)|0)+u|0;q=(c[va>>2]|0)+(q<<2)|0;r=c[a>>2]|0;j=b[p>>1]|0;j=(Da|0)==(v|0)|(Da|0)==(i+-1|0)?j&-1095:j;do{if(!(t&(Da|0)==(l|0))){if(j&20480)break;i=r+100|0;c[i>>2]=r+24+(d[20267+(j&255|R)>>0]<<2);if(wh(r)|0)G=133}else{i=r+100|0;G=133}}while(0);if((G|0)==133){G=0;j=j>>>4&255;c[i>>2]=r+24+(d[21291+j>>0]<<2);Da=wh(r)|0;r=d[21547+j>>0]|0;j=r^Da;c[q>>2]=(Da|0)!=(r|0)?D:F;r=c[qa>>2]|0;Da=o+(n-r<<1)|0;q=o+(r+n<<1)|0;n=o+(n+~r<<1)|0;b[n>>1]=e[n>>1]|2;b[Da>>1]=b[Da>>1]|b[3436+(j<<1)>>1];Da=m+2|0;n=o+(Da-r<<1)|0;b[n>>1]=e[n>>1]|4;n=o+(m<<1)|0;b[n>>1]=b[n>>1]|b[3436+(j+2<<1)>>1];b[p>>1]=e[p>>1]|4096;n=o+(Da<<1)|0;b[n>>1]=b[n>>1]|b[3436+(j+4<<1)>>1];n=o+(r+m<<1)|0;b[n>>1]=e[n>>1]|1;b[q>>1]=b[q>>1]|b[3436+(j+6<<1)>>1];Da=o+(r+Da<<1)|0;b[Da>>1]=e[Da>>1]|8}b[p>>1]=e[p>>1]&49151}while(s>>>0>>0)}}while(0);l=u+1|0}j=c[wa>>2]|0;i=c[xa>>2]|0;if(l>>>0>>0)u=l;else break}}if(k>>>0>>0)z=k;else break}}}while(0);if(M){G=163;break c}c[E+100>>2]=E+96;wh(E)|0;wh(E)|0;wh(E)|0;wh(E)|0;G=163;break}default:G=163}}while(0);do{if((G|0)==163){G=0;if(J)break;qh(U);rh(U,18,0,46);rh(U,17,0,3);rh(U,0,0,4)}}while(0);h=h+1|0;Da=(h|0)==3;f=(Da<<31>>31)+f|0;h=Da?0:h;H=H+1|0;if(H>>>0>=(c[I>>2]|0)>>>0)break b}}}while(0);i=c[X>>2]|0}L=L+1|0}while(L>>>0>>0)}h=(c[V>>2]|0)-(c[fa>>2]|0)|0;f=(c[Y>>2]|0)-(c[ga>>2]|0)|0;i=c[ea>>2]|0;if(i&1){Da=c[Aa>>2]|0;h=(c[Da+(la*136|0)+8>>2]|0)+h-(c[Da+(la*136|0)>>2]|0)|0}if(i&2){Da=c[Aa>>2]|0;f=(c[Da+(la*136|0)+12>>2]|0)+f-(c[Da+(la*136|0)+4>>2]|0)|0}p=c[va>>2]|0;q=c[wa>>2]|0;r=c[xa>>2]|0;i=c[Ba>>2]|0;if((i|0)!=0?(ua=1<>2]|0;m=(l|0)>-1?l:0-l|0;if((m|0)>=(ua|0)){Da=m>>c[Ba>>2];c[k>>2]=(l|0)<0?0-Da|0:Da}n=n+1|0}while((n|0)!=(q|0))}o=o+1|0}while((o|0)!=(r|0))}n=(_(f,ya)|0)+h|0;o=c[pa>>2]|0;h=(r|0)==0;if((c[sa>>2]|0)==1){if(!h){h=(q|0)==0;k=0;do{if(!h){f=_(k,q)|0;i=(_(k,ya)|0)+n|0;j=0;do{c[o+(i+j<<2)>>2]=(c[p+(j+f<<2)>>2]|0)/2|0;j=j+1|0}while((j|0)!=(q|0))}k=k+1|0}while((k|0)!=(r|0))}}else if(!h){m=(q|0)==0;h=p;l=0;k=o+(n<<2)|0;while(1){if(!m){f=h;i=0;j=k;while(1){g[j>>2]=+(c[f>>2]|0)*+g[ha>>2];i=i+1|0;if((i|0)==(q|0))break;else{f=f+4|0;j=j+4|0}}h=h+(q<<2)|0}l=l+1|0;if((l|0)==(r|0))break;else k=k+(ya<<2)|0}}$=$+1|0}while($>>>0<(_(c[ba>>2]|0,c[aa>>2]|0)|0)>>>0);h=c[ka>>2]|0;i=c[ja>>2]|0}ca=ca+1|0}while(ca>>>0<(_(h,i)|0)>>>0);f=c[na>>2]|0}ia=ia+1|0}while(ia>>>0>>0);h=c[za>>2]|0}oa=oa+1|0;if(oa>>>0>=h>>>0){h=1;G=201;break}}if((G|0)==201)return h|0;return 0}function Zg(f,i,j,k,l){f=f|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0.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;Ya=i+32|0;h[Ya>>3]=0.0;Za=i+16|0;m=c[Za>>2]|0;if(!m){_a=1;return _a|0}Xa=i+20|0;Sa=j+5584|0;Ta=f+16|0;Ua=f+20|0;Va=f+8|0;Wa=f+36|0;Pa=(k|0)!=0;Qa=f+32|0;Ra=f+12|0;i=m;Oa=0;a:while(1){j=c[Xa>>2]|0;m=c[Sa>>2]|0;Ma=(c[j+(Oa*52|0)+8>>2]|0)-(c[j+(Oa*52|0)>>2]|0)|0;Na=j+(Oa*52|0)+16|0;n=c[Na>>2]|0;if(n){La=j+(Oa*52|0)+24|0;Ja=j+(Oa*52|0)+32|0;Ka=m+(Oa*1080|0)+20|0;Ga=m+(Oa*1080|0)+16|0;Ia=Pa&Oa>>>0>>0;Ha=k+(Oa<<3)|0;i=n;Fa=0;do{Da=c[La>>2]|0;Ea=Da+(Fa*136|0)+24|0;j=c[Ea>>2]|0;if(j){za=Da+(Fa*136|0)+16|0;Aa=Da+(Fa*136|0)+20|0;Ba=~Fa;Ca=Fa+-1|0;i=c[Aa>>2]|0;m=c[za>>2]|0;ya=0;do{xa=Da+(Fa*136|0)+28+(ya*36|0)+32|0;if(_(i,m)|0){ra=67108864/(~~+M(+(+g[xa>>2]*8192.0))|0)|0;sa=Da+(Fa*136|0)+28+(ya*36|0)+20|0;ta=Da+(Fa*136|0)+28+(ya*36|0)|0;ua=Da+(Fa*136|0)+28+(ya*36|0)+4|0;va=Da+(Fa*136|0)+28+(ya*36|0)+16|0;wa=((ra|0)<0)<<31>>31;qa=0;do{j=c[sa>>2]|0;oa=j+(qa*40|0)+16|0;pa=j+(qa*40|0)+20|0;if(_(c[pa>>2]|0,c[oa>>2]|0)|0){ma=j+(qa*40|0)+24|0;na=0;do{la=c[ma>>2]|0;n=c[la+(na*52|0)+12>>2]|0;i=n-(c[ta>>2]|0)|0;o=c[la+(na*52|0)+16>>2]|0;j=o-(c[ua>>2]|0)|0;m=c[va>>2]|0;if(m&1){ka=c[La>>2]|0;i=(c[ka+(Ca*136|0)+8>>2]|0)+i-(c[ka+(Ca*136|0)>>2]|0)|0}if(m&2){ka=c[La>>2]|0;j=(c[ka+(Ca*136|0)+12>>2]|0)+j-(c[ka+(Ca*136|0)+4>>2]|0)|0}if(!(_g(f,(c[la+(na*52|0)+20>>2]|0)-n|0,(c[la+(na*52|0)+24>>2]|0)-o|0)|0)){i=0;_a=173;break a}p=c[Ta>>2]|0;q=c[Ua>>2]|0;r=Ma-p|0;u=(_(j,Ma)|0)+i|0;v=c[Ja>>2]|0;c[Va>>2]=v+(u<<2);c[Wa>>2]=Ma;i=(q|0)==0;if((c[Ka>>2]|0)==1){if(!i){n=(p|0)==0;o=0;i=0;while(1){if(!n){j=0;m=i;while(1){ka=v+(m+u<<2)|0;c[ka>>2]=c[ka>>2]<<6;j=j+1|0;if((j|0)==(p|0))break;else m=m+1|0}i=p+i|0}o=o+1|0;if((o|0)==(q|0))break;else i=i+r|0}}}else if(!i){n=(p|0)==0;o=0;i=0;while(1){if(!n){j=0;m=i;while(1){ka=v+(m+u<<2)|0;ja=c[ka>>2]|0;ja=Zi(ja|0,((ja|0)<0)<<31>>31|0,ra|0,wa|0)|0;ja=Si(ja|0,C|0,4096,0)|0;ja=Ti(ja|0,C|0,18)|0;c[ka>>2]=ja;j=j+1|0;if((j|0)==(p|0))break;else m=m+1|0}i=p+i|0}o=o+1|0;if((o|0)==(q|0))break;else i=i+r|0}}ga=c[va>>2]|0;ha=(c[Na>>2]|0)+Ba|0;r=c[Ka>>2]|0;ia=+g[xa>>2];ja=c[Ga>>2]|0;ka=c[f>>2]|0;n=c[Ta>>2]|0;do{if(!n)i=0;else{o=c[Ua>>2]|0;p=(o|0)==0;q=0;i=0;do{if(!p){j=c[Wa>>2]|0;m=0;do{fa=c[v+(u+((_(m,j)|0)+q)<<2)>>2]|0;fa=(fa|0)>-1?fa:0-fa|0;i=(i|0)>(fa|0)?i:fa;m=m+1|0}while((m|0)!=(o|0))}q=q+1|0}while((q|0)!=(n|0));if(!i){i=0;break}if((i|0)>1){j=i;i=0}else{i=-5;break}while(1){j=j>>1;if((j|0)<=1)break;else i=i+1|0}i=i+-4|0}}while(0);ea=la+(na*52|0)+28|0;c[ea>>2]=i;i=i+-1|0;qh(ka);rh(ka,18,0,46);rh(ka,17,0,3);rh(ka,0,0,4);fa=la+(na*52|0)|0;kh(ka,c[fa>>2]|0);b:do{if((i|0)>-1){ca=la+(na*52|0)+8|0;W=ja&1;da=(W|0)!=0;X=(r|0)==1;Y=(ja&4|0)==0;W=(W|0)==0;Z=(ja&2|0)==0;$=(ja&8|0)==0;aa=ga<<8;ba=(ja&32|0)==0;j=0;T=i;U=0.0;i=0;V=2;while(1){S=c[ca>>2]|0;I=da&(V>>>0<2?(T|0)<((c[ea>>2]|0)+-4|0):0);c:do{switch(V|0){case 0:{G=1<>2]|0;if(!j){n=0;break c}H=(T|0)==0;o=c[Ta>>2]|0;m=o;n=0;F=0;do{E=F;F=F+4|0;if(!m)m=0;else{B=(E|0)==-4;D=E|3;m=o;A=0;do{if(!B){z=E;do{j=c[Ua>>2]|0;if(z>>>0>=j>>>0)break;do{if($)j=0;else{if((z|0)==(D|0)){j=1;break}j=(z|0)==(j+-1|0)}}while(0);p=z;z=z+1|0;u=(_(c[Qa>>2]|0,z)|0)+A|0;v=u+1|0;w=c[Ra>>2]|0;y=w+(v<<1)|0;p=(_(c[Wa>>2]|0,p)|0)+A|0;p=(c[Va>>2]|0)+(p<<2)|0;x=c[f>>2]|0;q=b[y>>1]|0;q=j?q&-1095:q;j=q&255;if((j|0)!=0&(q&20480|0)==0){m=c[p>>2]|0;m=(((m|0)<0?0-m|0:m)&G|0)!=0;o=m&1;r=x+100|0;c[r>>2]=x+24+(d[20267+(j|aa)>>0]<<2);if(I)oh(x,o);else lh(x,o);if(m){j=c[p>>2]|0;m=j>>>31;j=(j|0)<0?0-j|0:j;if(H)j=3708+((j&127)<<1)|0;else j=3452+((j>>>T&127)<<1)|0;n=(b[j>>1]|0)+n|0;j=q>>>4&255;c[r>>2]=x+24+(d[21291+j>>0]<<2);if(I)oh(x,m);else lh(x,d[21547+j>>0]^m);Q=c[Qa>>2]|0;R=w+(v-Q<<1)|0;P=w+(Q+v<<1)|0;O=w+(v+~Q<<1)|0;b[O>>1]=e[O>>1]|2;b[R>>1]=b[R>>1]|b[3436+(m<<1)>>1];R=u+2|0;O=w+(R-Q<<1)|0;b[O>>1]=e[O>>1]|4;O=w+(u<<1)|0;b[O>>1]=b[O>>1]|b[3436+((m|2)<<1)>>1];b[y>>1]=e[y>>1]|4096;O=w+(R<<1)|0;b[O>>1]=b[O>>1]|b[3436+((m|4)<<1)>>1];O=w+(Q+u<<1)|0;b[O>>1]=e[O>>1]|1;b[P>>1]=b[P>>1]|b[3436+((m|6)<<1)>>1];R=w+(Q+R<<1)|0;b[R>>1]=e[R>>1]|8}b[y>>1]=e[y>>1]|16384}}while(z>>>0>>0);m=c[Ta>>2]|0}A=A+1|0}while(A>>>0>>0);j=c[Ua>>2]|0;o=m}}while(F>>>0>>0);break}case 1:{A=1<>2]|0;if(!j){n=0;break c}B=(T|0)==0;o=c[Ta>>2]|0;m=o;n=0;z=0;do{y=z;z=z+4|0;if(!m)m=0;else{w=(y|0)==-4;x=y|3;m=o;v=0;do{u=v;v=v+1|0;if(!w){r=y;do{j=c[Ua>>2]|0;if(r>>>0>=j>>>0)break;do{if($)j=0;else{if((r|0)==(x|0)){j=1;break}j=(r|0)==(j+-1|0)}}while(0);m=r;r=r+1|0;p=(_(c[Qa>>2]|0,r)|0)+v|0;p=(c[Ra>>2]|0)+(p<<1)|0;q=c[f>>2]|0;o=b[p>>1]|0;o=j?o&-1095:o;if((o&20480|0)==4096){m=c[(c[Va>>2]|0)+((_(c[Wa>>2]|0,m)|0)+u<<2)>>2]|0;m=(m|0)<0?0-m|0:m;if(B)j=4220+((m&127)<<1)|0;else j=3964+((m>>>T&127)<<1)|0;n=(b[j>>1]|0)+n|0;j=(m&A|0)!=0&1;c[q+100>>2]=q+24+(((o&8192|0)!=0?16:(o&255|0)!=0?15:14)<<2);if(I)oh(q,j);else lh(q,j);b[p>>1]=e[p>>1]|8192}}while(r>>>0>>0);m=c[Ta>>2]|0}}while(v>>>0>>0);j=c[Ua>>2]|0;o=m}}while(z>>>0>>0);break}case 2:{L=c[f>>2]|0;N=1<>2]|0;if(!m)j=0;else{O=L+92|0;P=L+100|0;Q=L+96|0;R=(T|0)==0;n=c[Ta>>2]|0;j=0;K=0;while(1){if(!n){o=K+4|0;n=0}else{D=K|3;E=K|1;F=E+1|0;G=E+3|0;o=K+4|0;H=K+1|0;I=K+2|0;J=K+3|0;B=0;while(1){do{if(D>>>0>>0){m=c[Qa>>2]|0;q=B+1|0;p=(_(m,E)|0)+q|0;n=c[Ra>>2]|0;p=b[n+(p<<1)>>1]|0;if($){A=b[n+((_(m,F)|0)+q<<1)>>1]|p;A=A|b[n+((_(m,D)|0)+q<<1)>>1];m=((A|b[n+((_(m,G)|0)+q<<1)>>1])&20735)==0&1}else{do{if(!(p&20735)){if(b[n+((_(m,F)|0)+q<<1)>>1]&20735){m=1;break}if(b[n+((_(m,D)|0)+q<<1)>>1]&20735){m=1;break}m=(b[n+((_(m,G)|0)+q<<1)>>1]&20665)!=0}else m=1}while(0);m=m&1^1}if(!m){A=0;m=0;_a=109;break}m=c[Wa>>2]|0;n=c[Va>>2]|0;A=c[n+((_(m,K)|0)+B<<2)>>2]|0;do{if(!(((A|0)<0?0-A|0:A)&N)){A=c[n+((_(m,H)|0)+B<<2)>>2]|0;if(((A|0)<0?0-A|0:A)&N){m=1;break}A=c[n+((_(m,I)|0)+B<<2)>>2]|0;if(((A|0)<0?0-A|0:A)&N){m=2;break}m=c[n+((_(m,J)|0)+B<<2)>>2]|0;m=(((m|0)<0?0-m|0:m)&N|0)==0?4:3}else m=0}while(0);c[P>>2]=O;lh(L,(m|0)!=4&1);if((m|0)==4){p=q;break}c[P>>2]=Q;lh(L,m>>>1);lh(L,m&1);A=1;_a=109}else{A=0;m=0;_a=109}}while(0);if((_a|0)==109){_a=0;z=m+K|0;d:do{if(z>>>0>>0){y=z;do{m=c[Ua>>2]|0;if(y>>>0>=m>>>0)break d;do{if($)m=0;else{if((y|0)==(D|0)){m=1;break}m=(y|0)==(m+-1|0)}}while(0);$a=y;y=y+1|0;r=(_(c[Qa>>2]|0,y)|0)+B|0;u=r+1|0;v=c[Ra>>2]|0;x=v+(u<<1)|0;n=(_(c[Wa>>2]|0,$a)|0)+B|0;n=(c[Va>>2]|0)+(n<<2)|0;w=c[f>>2]|0;p=b[x>>1]|0;q=m?p&-1095:p;do{if(!(A&($a|0)==(z|0))){if(p&20480)break;c[w+100>>2]=w+24+(d[20267+(q&255|aa)>>0]<<2);$a=c[n>>2]|0;$a=((($a|0)<0?0-$a|0:$a)&N|0)!=0;lh(w,$a&1);if($a)_a=117}else _a=117}while(0);if((_a|0)==117){_a=0;n=c[n>>2]|0;m=(n|0)<0?0-n|0:n;if(R)m=3708+((m&127)<<1)|0;else m=3452+((m>>>T&127)<<1)|0;j=(b[m>>1]|0)+j|0;$a=q>>>4&255;c[w+100>>2]=w+24+(d[21291+$a>>0]<<2);p=n>>>31;lh(w,d[21547+$a>>0]^p);w=c[Qa>>2]|0;$a=v+(u-w<<1)|0;q=v+(w+u<<1)|0;u=v+(u+~w<<1)|0;b[u>>1]=e[u>>1]|2;b[$a>>1]=b[$a>>1]|b[3436+(p<<1)>>1];$a=r+2|0;u=v+($a-w<<1)|0;b[u>>1]=e[u>>1]|4;u=v+(r<<1)|0;b[u>>1]=b[u>>1]|b[3436+((p|2)<<1)>>1];b[x>>1]=e[x>>1]|4096;u=v+($a<<1)|0;b[u>>1]=b[u>>1]|b[3436+((p|4)<<1)>>1];u=v+(w+r<<1)|0;b[u>>1]=e[u>>1]|1;b[q>>1]=b[q>>1]|b[3436+((p|6)<<1)>>1];$a=v+(w+$a<<1)|0;b[$a>>1]=e[$a>>1]|8}b[x>>1]=e[x>>1]&49151}while(y>>>0>>0)}}while(0);p=B+1|0}n=c[Ta>>2]|0;m=c[Ua>>2]|0;if(p>>>0>>0)B=p;else break}}if(o>>>0>>0)K=o;else break}}if(ba){n=j;break c}uh(ka);n=j;break}default:n=j}}while(0);if(Ia)s=+h[Ha>>3];else s=1.0;if(X)t=+Ig(ha,ga);else t=+Lg(ha,ga);t=+(1<>3]=+h[Ya>>3]+t;do{if(Y)_a=137;else{if((T|0)<1&(V|0)==2){_a=137;break}mh(ka);m=S+(i*24|0)+20|0;j=a[m>>0]|1;a[m>>0]=j;m=1}}while(0);do{if((_a|0)==137){j=(c[ea>>2]|0)+-4|0;if((V|0)!=0&(T|0)<(j|0))if(W)_a=141;else _a=140;else if(W|((V|0)!=2|(T|0)!=(j|0)))_a=141;else _a=140;if((_a|0)==140){_a=0;mh(ka);m=S+(i*24|0)+20|0;j=a[m>>0]|1;a[m>>0]=j;m=1;break}else if((_a|0)==141){_a=0;m=S+(i*24|0)+20|0;j=a[m>>0]&-2;a[m>>0]=j;m=3;break}}}while(0);R=V+1|0;$a=(R|0)==3;V=$a?0:R;T=($a<<31>>31)+T|0;do{if((T|0)>0&(j&1)!=0)if(da&(V>>>0<2?(T|0)<((c[ea>>2]|0)+-4|0):0)){nh(ka);break}else{sh(ka);break}}while(0);h[S+(i*24|0)+8>>3]=U;c[S+(i*24|0)>>2]=(jh(ka)|0)+m;if(!Z)ph(ka);i=i+1|0;if((T|0)<=-1)break b;else j=n}}else i=0}while(0);do{if(!(ja&16)){if(ja&1)break;mh(ka)}else th(ka)}while(0);q=la+(na*52|0)+48|0;c[q>>2]=i;if(i){n=la+(na*52|0)+8|0;p=0;do{o=c[n>>2]|0;j=o+(p*24|0)|0;$a=c[j>>2]|0;if($a>>>0>(jh(ka)|0)>>>0){i=jh(ka)|0;c[j>>2]=i}else i=c[j>>2]|0;do{if(i>>>0>1){m=i+-1|0;if((a[(c[fa>>2]|0)+m>>0]|0)!=-1)break;c[j>>2]=m;i=m}}while(0);if(!p)j=0;else j=c[(c[n>>2]|0)+((p+-1|0)*24|0)>>2]|0;c[o+(p*24|0)+16>>2]=i-j;p=p+1|0}while(p>>>0<(c[q>>2]|0)>>>0)}na=na+1|0}while(na>>>0<(_(c[pa>>2]|0,c[oa>>2]|0)|0)>>>0);i=c[Aa>>2]|0;m=c[za>>2]|0}qa=qa+1|0}while(qa>>>0<(_(i,m)|0)>>>0);j=c[Ea>>2]|0}ya=ya+1|0}while(ya>>>0>>0);i=c[Na>>2]|0}Fa=Fa+1|0}while(Fa>>>0>>0);i=c[Za>>2]|0}Oa=Oa+1|0;if(Oa>>>0>=i>>>0){i=1;_a=173;break}}if((_a|0)==173)return i|0;return 0}function _g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=_(d,b)|0;if(!(c[a+40>>2]|0)){h=a+24|0;i=a+8|0;e=c[i>>2]|0;do{if(g>>>0>(c[h>>2]|0)>>>0){Sc(e);f=g<<2;e=Rc(f)|0;c[i>>2]=e;if(!e){b=0;return b|0}else{c[h>>2]=g;break}}else f=g<<2}while(0);Qi(e|0,0,f|0)|0}g=b+2|0;c[a+32>>2]=g;g=_(d+2|0,g)|0;h=a+28|0;i=a+12|0;e=c[i>>2]|0;do{if(g>>>0>(c[h>>2]|0)>>>0){Sc(e);f=g<<1;e=Rc(f)|0;c[i>>2]=e;if(!e){b=0;return b|0}else{c[h>>2]=g;break}}else f=g<<1}while(0);Qi(e|0,0,f|0)|0;c[a+16>>2]=b;c[a+20>>2]=d;b=1;return b|0}function $g(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=c[a>>2]|0;l=b[f>>1]|0;m=l&255;if(!((m|0)!=0&(l&20480|0)==0))return;k=j+100|0;c[k>>2]=j+24+(d[20267+(m|h<<8)>>0]<<2);if(wh(j)|0){h=l>>>4&255;c[k>>2]=j+24+(d[21291+h>>0]<<2);l=wh(j)|0;h=d[21547+h>>0]|0;m=h^l;c[g>>2]=(l|0)!=(h|0)?0-i|0:i;a=c[a+32>>2]|0;i=f+(0-a<<1)|0;h=f+(a<<1)|0;g=f+(~a<<1)|0;b[g>>1]=e[g>>1]|2;b[i>>1]=b[i>>1]|b[3436+(m<<1)>>1];i=f+(1-a<<1)|0;b[i>>1]=e[i>>1]|4;i=f+-2|0;b[i>>1]=b[i>>1]|b[3436+(m+2<<1)>>1];b[f>>1]=e[f>>1]|4096;i=f+2|0;b[i>>1]=b[i>>1]|b[3436+(m+4<<1)>>1];i=f+(a+-1<<1)|0;b[i>>1]=e[i>>1]|1;b[h>>1]=b[h>>1]|b[3436+(m+6<<1)>>1];a=f+(a+1<<1)|0;b[a>>1]=e[a>>1]|8}b[f>>1]=e[f>>1]|16384;return}function ah(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=c[a>>2]|0;l=b[f>>1]|0;if(l&20480){a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}k=j+100|0;c[k>>2]=j+24+(d[20267+(l&255|h<<8)>>0]<<2);if(!(wh(j)|0)){a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}h=l>>>4&255;c[k>>2]=j+24+(d[21291+h>>0]<<2);k=wh(j)|0;h=d[21547+h>>0]|0;l=h^k;c[g>>2]=(k|0)!=(h|0)?0-i|0:i;a=c[a+32>>2]|0;i=f+(0-a<<1)|0;h=f+(a<<1)|0;g=f+(~a<<1)|0;b[g>>1]=e[g>>1]|2;b[i>>1]=b[i>>1]|b[3436+(l<<1)>>1];i=f+(1-a<<1)|0;b[i>>1]=e[i>>1]|4;i=f+-2|0;b[i>>1]=b[i>>1]|b[3436+(l+2<<1)>>1];b[f>>1]=e[f>>1]|4096;i=f+2|0;b[i>>1]=b[i>>1]|b[3436+(l+4<<1)>>1];i=f+(a+-1<<1)|0;b[i>>1]=e[i>>1]|1;b[h>>1]=b[h>>1]|b[3436+(l+6<<1)>>1];a=f+(a+1<<1)|0;b[a>>1]=e[a>>1]|8;a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}function bh(a,e,f,g,h,j,k,l,m,n,o,p){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+16|0;H=I;c[H>>2]=0;q=c[a>>2]|0;D=c[a+4>>2]|0;a=c[D+76>>2]|0;F=a+(e*5640|0)|0;s=(b[D>>1]|0)==4?2:1;t=D+80|0;if(!(c[t>>2]|0))r=1;else r=c[q+16>>2]|0;G=(c[a+(e*5640|0)+420>>2]|0)+1|0;E=Lf(q,D,e,p)|0;if(!E){e=0;i=I;return e|0}c[j>>2]=0;a:do{if(!p){if(r){a=0;b:while(1){p=0;o=E;q=0;while(1){Mf(E,D,e,q,a,n,0);if((c[o+80>>2]|0)==-1){a=9;break b}m=o+36|0;c:while(1){do{if(!(Of(o)|0))break c}while((c[m>>2]|0)>>>0>=g>>>0);c[H>>2]=0;if(!(fh(e,f,F,o,h,H,k,l)|0)){a=13;break b}B=c[H>>2]|0;c[j>>2]=(c[j>>2]|0)+B;k=k-B|0;p=B+p|0;h=h+B|0}B=c[t>>2]|0;if((B|0)!=0&p>>>0>B>>>0){a=17;break b}q=q+1|0;if(q>>>0>>0)o=o+232|0;else break}a=a+1|0;if(a>>>0>=r>>>0)break a}if((a|0)==9){Kf(E,G);e=0;i=I;return e|0}else if((a|0)==13){Kf(E,G);e=0;i=I;return e|0}else if((a|0)==17){Kf(E,G);e=0;i=I;return e|0}}}else{Mf(E,D,e,o,m,n,p);z=E+(o*232|0)|0;if((c[E+(o*232|0)+80>>2]|0)==-1){Kf(E,G);e=0;i=I;return e|0}n=E+(o*232|0)+36|0;u=(l|0)==0;v=f+840|0;w=l+12|0;x=l+8|0;y=l+88|0;t=D+93|0;s=a+(e*5640|0)+5636|0;while(1){do{if(!(Of(z)|0))break a}while((c[n>>2]|0)>>>0>=g>>>0);c[H>>2]=0;if(!(fh(e,f,F,z,h,H,k,l)|0))break;r=c[H>>2]|0;h=h+r|0;k=k-r|0;c[j>>2]=(c[j>>2]|0)+r;if(!u){if(!(c[w>>2]|0))a=c[x>>2]|0;else{q=c[y>>2]|0;a=c[x>>2]|0;o=c[q+(e*592|0)+548>>2]|0;p=o+(a<<5)|0;if(!a){m=(c[q+(e*592|0)+12>>2]|0)+1|0;q=((m|0)<0)<<31>>31;D=p;c[D>>2]=m;c[D+4>>2]=q}else{if((((d[s>>0]|0)>>>2|(d[t>>0]|0)>>>3)&1)!=0?(B=p,A=c[B>>2]|0,B=c[B+4>>2]|0,!((A|0)==0&(B|0)==0)):0){m=A;q=B}else{m=o+(a+-1<<5)+16|0;m=Si(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;q=C}D=p;c[D>>2]=m;c[D+4>>2]=q}p=Si(m|0,q|0,-1,-1)|0;m=C;r=Si(p|0,m|0,r|0,0)|0;D=o+(a<<5)+16|0;c[D>>2]=r;c[D+4>>2]=C;D=o+(a<<5)+8|0;r=D;r=Si(p|0,m|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[D>>2]=r;c[D+4>>2]=C}c[x>>2]=a+1}c[v>>2]=(c[v>>2]|0)+1}Kf(E,G);e=0;i=I;return e|0}}while(0);Kf(E,G);e=1;i=I;return e|0}function ch(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0;$=i;i=i+112|0;W=$+64|0;X=$+32|0;S=$;R=$+96|0;Q=$+92|0;k=c[a>>2]|0;M=a+4|0;Z=c[M>>2]|0;h=c[Z+76>>2]|0;O=h+(b*5640|0)|0;P=h+(b*5640|0)+420|0;Y=(c[P>>2]|0)+1|0;Z=Jf(k,Z,b)|0;if(!Z){aa=0;i=$;return aa|0}N=k+16|0;L=h+(b*5640|0)+12|0;K=d+20|0;J=k+24|0;b=g;a=e;H=Z;I=0;a:while(1){if((c[H+80>>2]|0)==-1){aa=4;break}h=Pc(c[N>>2]<<2)|0;if(!h){aa=6;break}Qi(h|0,1,c[N>>2]<<2|0)|0;if(Of(H)|0){g=H+24|0;d=H+28|0;G=H+36|0;k=H+32|0;F=b;E=a;while(1){if((c[L>>2]|0)>>>0>(c[G>>2]|0)>>>0){b=c[g>>2]|0;a=c[K>>2]|0;if((c[d>>2]|0)>>>0<(c[a+(b*52|0)+20>>2]|0)>>>0){c[h+(b<<2)>>2]=0;D=c[M>>2]|0;c[Q>>2]=0;if(!(gh(D,a,O,H,R,E,Q,F,j)|0)){aa=45;break a}C=c[Q>>2]|0;if(!(c[R>>2]|0))a=C;else{B=F-C|0;z=E+C|0;c[Q>>2]=0;b=c[d>>2]|0;l=c[(c[K>>2]|0)+((c[g>>2]|0)*52|0)+24>>2]|0;x=l+(b*136|0)+24|0;a=c[x>>2]|0;b:do{if(!a){a=z;aa=43}else{y=E+F|0;m=a;D=0;w=l+(b*136|0)+28|0;l=z;c:while(1){a=c[k>>2]|0;b=c[w+20>>2]|0;if(((c[w+8>>2]|0)!=(c[w>>2]|0)?(c[w+12>>2]|0)!=(c[w+4>>2]|0):0)?(V=_(c[b+(a*40|0)+20>>2]|0,c[b+(a*40|0)+16>>2]|0)|0,(V|0)!=0):0){A=0;a=c[b+(a*40|0)+24>>2]|0;p=l;while(1){u=a+40|0;if(!(c[u>>2]|0))b=p;else{v=a+44|0;b=c[v>>2]|0;do{if(!b){o=c[a+4>>2]|0;c[v>>2]=1;c[a+36>>2]=0}else{l=b+-1|0;m=c[a+4>>2]|0;if((c[m+(l<<5)+8>>2]|0)!=(c[m+(l<<5)+20>>2]|0)){o=m+(l<<5)|0;break}c[v>>2]=b+1;o=m+(b<<5)|0}}while(0);t=a+36|0;b=a+32|0;s=p;n=o+28|0;l=c[n>>2]|0;if((l+s|0)>>>0>>0|(p+l|0)>>>0>y>>>0){b=D;a=A;break c}m=c[t>>2]|0;s=p;r=o;while(1){o=l+m|0;if(o>>>0>>0){b=D;a=A;aa=29;break a}p=c[a>>2]|0;if(o>>>0>(c[b>>2]|0)>>>0){l=Tc(p,o)|0;if(!l){aa=32;break a}m=c[t>>2]|0;q=c[n>>2]|0;c[b>>2]=q+m;c[a>>2]=l;p=l;l=q}Ui(p+m|0,s|0,l|0)|0;l=r+8|0;m=c[l>>2]|0;if(!m){c[r>>2]=a;o=c[t>>2]|0;c[r+4>>2]=o}else o=c[t>>2]|0;p=c[n>>2]|0;q=s;s=s+p|0;n=c[r+24>>2]|0;m=n+m|0;c[l>>2]=m;l=c[u>>2]|0;c[u>>2]=l-n;c[r+12>>2]=m;m=p+o|0;c[t>>2]=m;o=r+16|0;c[o>>2]=(c[o>>2]|0)+p;if((l|0)==(n|0)){b=s;break}c[v>>2]=(c[v>>2]|0)+1;o=s;n=r+60|0;l=c[n>>2]|0;if((l+o|0)>>>0>>0?1:(q+(l+p)|0)>>>0>y>>>0){b=D;a=A;break c}else r=r+32|0}c[a+48>>2]=c[v>>2]}A=A+1|0;if(A>>>0>=V>>>0){a=b;break}else{a=a+56|0;p=b}}b=c[x>>2]|0}else{b=m;a=l}D=D+1|0;if(D>>>0>=b>>>0){aa=43;break b}else{m=b;w=w+36|0;l=a}}z=c[k>>2]|0;A=c[d>>2]|0;D=c[g>>2]|0;c[S>>2]=l;c[S+4>>2]=B;c[S+8>>2]=a;c[S+12>>2]=z;c[S+16>>2]=b;c[S+20>>2]=A;c[S+24>>2]=D;Ub(j,2,21803,S)|0;a=c[Q>>2]|0}}while(0);if((aa|0)==43){aa=0;a=a-z|0;c[Q>>2]=a}a=a+C|0}l=c[g>>2]|0;C=c[d>>2]|0;b=(c[J>>2]|0)+(l*52|0)+36|0;D=c[b>>2]|0;c[b>>2]=C>>>0>D>>>0?C:D;b=a}else aa=47}else{a=c[K>>2]|0;aa=47}if((aa|0)==47){aa=0;D=c[M>>2]|0;c[Q>>2]=0;if(!(gh(D,a,O,H,R,E,Q,F,j)|0)){aa=69;break a}u=c[Q>>2]|0;if(!(c[R>>2]|0))a=u;else{l=F-u|0;w=c[d>>2]|0;x=c[g>>2]|0;a=c[(c[K>>2]|0)+(x*52|0)+24>>2]|0;c[Q>>2]=0;t=c[a+(w*136|0)+24>>2]|0;if(!t)a=0;else{v=c[k>>2]|0;b=0;s=a+(w*136|0)+28|0;while(1){m=c[s+20>>2]|0;if(((c[s+8>>2]|0)!=(c[s>>2]|0)?(c[s+12>>2]|0)!=(c[s+4>>2]|0):0)?(T=_(c[m+(v*40|0)+20>>2]|0,c[m+(v*40|0)+16>>2]|0)|0,(T|0)!=0):0){a=0;r=c[m+(v*40|0)+24>>2]|0;while(1){p=r+40|0;d:do{if(c[p>>2]|0){q=r+44|0;m=c[q>>2]|0;do{if(!m){o=c[r+4>>2]|0;c[q>>2]=1;c[r+36>>2]=0}else{n=m+-1|0;o=c[r+4>>2]|0;if((c[o+(n<<5)+8>>2]|0)!=(c[o+(n<<5)+20>>2]|0)){o=o+(n<<5)|0;break}c[q>>2]=m+1;o=o+(m<<5)|0}}while(0);D=c[Q>>2]|0;m=c[o+28>>2]|0;n=m+D|0;if(n>>>0>>0|n>>>0>l>>>0){g=v;d=w;k=x;aa=65;break a}while(1){c[Q>>2]=n;D=c[o+24>>2]|0;C=o+8|0;c[C>>2]=(c[C>>2]|0)+D;C=c[p>>2]|0;c[p>>2]=C-D;if((C|0)==(D|0))break d;c[q>>2]=(c[q>>2]|0)+1;D=c[Q>>2]|0;m=c[o+60>>2]|0;n=m+D|0;if(n>>>0>>0|n>>>0>l>>>0){g=v;d=w;k=x;aa=65;break a}else o=o+32|0}}}while(0);a=a+1|0;if(a>>>0>=T>>>0)break;else r=r+56|0}}b=b+1|0;if(b>>>0>=t>>>0)break;else s=s+36|0}a=c[Q>>2]|0}a=a+u|0}l=c[g>>2]|0;b=a}if((c[h+(l<<2)>>2]|0)!=0?(U=(c[J>>2]|0)+(l*52|0)+36|0,(c[U>>2]|0)==0):0)c[U>>2]=(c[(c[K>>2]|0)+(l*52|0)+20>>2]|0)+-1;a=E+b|0;b=F-b|0;if(!(Of(H)|0))break;else{F=b;E=a}}}Uc(h);I=I+1|0;if(I>>>0>(c[P>>2]|0)>>>0){h=a;aa=75;break}else H=H+232|0}if((aa|0)==4){Kf(Z,Y);aa=0;i=$;return aa|0}else if((aa|0)==6){Kf(Z,Y);aa=0;i=$;return aa|0}else if((aa|0)==29){f=c[k>>2]|0;e=c[d>>2]|0;W=c[g>>2]|0;c[X>>2]=l;c[X+4>>2]=m;c[X+8>>2]=~l;c[X+12>>2]=a;c[X+16>>2]=f;c[X+20>>2]=b;c[X+24>>2]=e;c[X+28>>2]=W;Ub(j,1,21888,X)|0;aa=45}else if((aa|0)==32){Uc(c[a>>2]|0);c[a>>2]=0;c[b>>2]=0;aa=45}else if((aa|0)==65){c[W>>2]=m;c[W+4>>2]=l;c[W+8>>2]=a;c[W+12>>2]=g;c[W+16>>2]=b;c[W+20>>2]=d;c[W+24>>2]=k;Ub(j,1,21987,W)|0;aa=69}else if((aa|0)==75){Kf(Z,Y);c[f>>2]=h-e;aa=1;i=$;return aa|0}if((aa|0)==45){Kf(Z,Y);Uc(h);aa=0;i=$;return aa|0}else if((aa|0)==69){Kf(Z,Y);Uc(h);aa=0;i=$;return aa|0}return 0}function dh(a,b){a=a|0;b=b|0;var d=0;d=Qc(1,8)|0;if(!d){a=0;return a|0}c[d>>2]=a;c[d+4>>2]=b;a=d;return a|0}function eh(a){a=a|0;if(!a)return;Uc(a);return}function fh(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0;s=c[f+28>>2]|0;J=c[f+32>>2]|0;K=c[f+36>>2]|0;r=c[(c[d+20>>2]|0)+((c[f+24>>2]|0)*52|0)+24>>2]|0;if(!(c[e>>2]&2))G=g;else{a[g>>0]=-1;a[g+1>>0]=-111;a[g+2>>0]=0;a[g+3>>0]=4;G=d+840|0;a[g+4>>0]=(c[G>>2]|0)>>>8;a[g+5>>0]=c[G>>2];j=j+-6|0;G=g+6|0}if((K|0)==0?(q=r+(s*136|0)+24|0,(c[q>>2]|0)!=0):0){o=r+(s*136|0)+28|0;p=0;while(1){f=c[o+20>>2]|0;kg(c[f+(J*40|0)+32>>2]|0);m=f+(J*40|0)+36|0;kg(c[m>>2]|0);n=_(c[f+(J*40|0)+20>>2]|0,c[f+(J*40|0)+16>>2]|0)|0;if(n){f=f+(J*40|0)+24|0;d=o+28|0;l=0;do{H=c[f>>2]|0;c[H+(l*52|0)+40>>2]=0;ng(c[m>>2]|0,l,(c[d>>2]|0)-(c[H+(l*52|0)+28>>2]|0)|0);l=l+1|0}while((l|0)!=(n|0))}p=p+1|0;if(p>>>0>=(c[q>>2]|0)>>>0)break;else o=o+36|0}}E=wg()|0;if(!E){i=0;return i|0}zg(E,G,j);Bg(E,1,1);F=r+(s*136|0)+28|0;H=r+(s*136|0)+24|0;if(c[H>>2]|0){A=K+1|0;C=F;D=0;while(1){n=c[C+20>>2]|0;B=_(c[n+(J*40|0)+20>>2]|0,c[n+(J*40|0)+16>>2]|0)|0;o=n+(J*40|0)+24|0;f=(B|0)==0;if(!f){d=n+(J*40|0)+32|0;l=c[o>>2]|0;m=0;while(1){if((c[l+40>>2]|0)==0?(c[(c[l+4>>2]|0)+(K*24|0)>>2]|0)!=0:0)ng(c[d>>2]|0,m,K);m=m+1|0;if((m|0)==(B|0))break;else l=l+52|0}if(!f){z=n+(J*40|0)+32|0;y=n+(J*40|0)+36|0;w=c[o>>2]|0;x=0;while(1){f=(c[w+4>>2]|0)+(K*24|0)|0;v=w+40|0;if(!(c[v>>2]|0))og(E,c[z>>2]|0,x,A);else Bg(E,(c[f>>2]|0)!=0&1,1);d=c[f>>2]|0;if(d){if(!(c[v>>2]|0)){c[w+32>>2]=3;og(E,c[y>>2]|0,x,999);d=c[f>>2]|0}a:do{switch(d|0){case 1:{Bg(E,0,1);break}case 2:{Bg(E,2,2);break}default:{if(d>>>0<6){Bg(E,d+-3|12,4);break a}if(d>>>0<37){Bg(E,d+-6|480,9);break a}if(d>>>0<165)Bg(E,d+-37|65408,16)}}}while(0);o=c[v>>2]|0;d=c[f>>2]|0;u=d+o|0;t=w+8|0;if(o>>>0>>0){s=w+32|0;q=o+-1+d|0;m=0;n=0;l=0;r=(c[t>>2]|0)+(o*24|0)|0;while(1){l=l+1|0;n=(c[r+16>>2]|0)+n|0;if((a[r+20>>0]&1)!=0|(o|0)==(q|0)){if((n|0)>1){d=0;do{n=n>>1;d=d+1|0}while((n|0)>1)}else d=0;p=c[s>>2]|0;if((l|0)>1){n=0;do{l=l>>1;n=n+1|0}while((l|0)>1);l=n}else l=0;n=d+1-p-l|0;m=(m|0)>(n|0)?m:n;n=0;l=0}o=o+1|0;if((o|0)==(u|0))break;else r=r+24|0}if((m|0)>0){d=m;while(1){Bg(E,1,1);if((d|0)>1)d=d+-1|0;else{d=n;break}}}else d=n}else{m=0;d=0;l=0}Bg(E,0,1);q=w+32|0;c[q>>2]=(c[q>>2]|0)+m;m=c[v>>2]|0;if(m>>>0>>0){p=(c[t>>2]|0)+(m*24|0)|0;while(1){l=l+1|0;n=(c[p+16>>2]|0)+d|0;if((a[p+20>>0]&1)==0?(m|0)!=((c[v>>2]|0)+-1+(c[f>>2]|0)|0):0)d=n;else{o=c[q>>2]|0;if((l|0)>1){d=0;do{l=l>>1;d=d+1|0}while((l|0)>1)}else d=0;Bg(E,n,d+o|0);d=0;l=0}m=m+1|0;if((m|0)==(u|0))break;else p=p+24|0}}}x=x+1|0;if((x|0)==(B|0))break;else w=w+52|0}}}D=D+1|0;if(D>>>0>=(c[H>>2]|0)>>>0)break;else C=C+36|0}}if(!(Dg(E)|0)){xg(E);i=0;return i|0}d=yg(E)|0;f=G+d|0;j=j-d|0;xg(E);if(c[e>>2]&4){a[f>>0]=-1;a[G+(d+1)>>0]=-110;j=j+-2|0;f=G+(d+2)|0}t=(k|0)!=0;if(t?(c[k+12>>2]|0)!=0:0){G=f-g|0;e=(c[(c[k+88>>2]|0)+(b*592|0)+548>>2]|0)+(c[k+8>>2]<<5)+8|0;c[e>>2]=G;c[e+4>>2]=((G|0)<0)<<31>>31}d=c[H>>2]|0;b:do{if(d){u=k+12|0;v=k+8|0;w=k+88|0;r=F;s=0;c:while(1){l=c[r+20>>2]|0;q=_(c[l+(J*40|0)+20>>2]|0,c[l+(J*40|0)+16>>2]|0)|0;l=c[l+(J*40|0)+24>>2]|0;if(q){if(t){p=0;while(1){o=c[l+4>>2]|0;d=o+(K*24|0)|0;if(c[d>>2]|0){m=o+(K*24|0)+4|0;n=c[m>>2]|0;if(n>>>0>j>>>0){f=0;j=81;break c}Ui(f|0,c[o+(K*24|0)+16>>2]|0,n|0)|0;e=l+40|0;c[e>>2]=(c[e>>2]|0)+(c[d>>2]|0);e=c[m>>2]|0;f=f+e|0;j=j-e|0;if((c[u>>2]|0)!=0?(e=(c[(c[w>>2]|0)+(b*592|0)+548>>2]|0)+(c[v>>2]<<5)+24|0,I=+h[o+(K*24|0)+8>>3]+ +h[e>>3],h[e>>3]=I,+h[k>>3]>3]=I}p=p+1|0;if(p>>>0>=q>>>0)break;else l=l+52|0}}else{p=0;while(1){d=c[l+4>>2]|0;m=d+(K*24|0)|0;if(c[m>>2]|0){n=d+(K*24|0)+4|0;o=c[n>>2]|0;if(o>>>0>j>>>0){f=0;j=81;break c}Ui(f|0,c[d+(K*24|0)+16>>2]|0,o|0)|0;e=l+40|0;c[e>>2]=(c[e>>2]|0)+(c[m>>2]|0);e=c[n>>2]|0;j=j-e|0;f=f+e|0}p=p+1|0;if(p>>>0>=q>>>0)break;else l=l+52|0}}d=c[H>>2]|0}s=s+1|0;if(s>>>0>=d>>>0)break b;else r=r+36|0}if((j|0)==81)return f|0}}while(0);c[i>>2]=f-g+(c[i>>2]|0);i=1;return i|0}function gh(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+64|0;L=N+40|0;K=N+32|0;x=N+24|0;w=N+16|0;u=N+8|0;t=N;v=N+48|0;M=N+44|0;c[M>>2]=h;z=c[f+28>>2]|0;J=f+24|0;y=c[d+((c[J>>2]|0)*52|0)+24>>2]|0;H=f+36|0;if((c[H>>2]|0)==0?(s=y+(z*136|0)+24|0,m=c[s>>2]|0,(m|0)!=0):0){r=f+32|0;p=0;q=y+(z*136|0)+28|0;while(1){d=c[r>>2]|0;n=c[q+20>>2]|0;if((c[q+8>>2]|0)!=(c[q>>2]|0)?(c[q+12>>2]|0)!=(c[q+4>>2]|0):0){kg(c[n+(d*40|0)+32>>2]|0);kg(c[n+(d*40|0)+36>>2]|0);m=_(c[n+(d*40|0)+20>>2]|0,c[n+(d*40|0)+16>>2]|0)|0;if(m){o=0;d=c[n+(d*40|0)+24>>2]|0;while(1){c[d+44>>2]=0;c[d+48>>2]=0;o=o+1|0;if((o|0)==(m|0))break;else d=d+56|0}}m=c[s>>2]|0}p=p+1|0;if(p>>>0>=m>>>0)break;else q=q+36|0}}do{if(c[e>>2]&2){if(k>>>0<6){Ub(l,2,22072,t)|0;break}d=c[M>>2]|0;if((a[d>>0]|0)==-1?(a[d+1>>0]|0)==-111:0){c[M>>2]=d+6;break}Ub(l,2,22114,u)|0}}while(0);G=wg()|0;if(!G){h=0;i=N;return h|0}do{if(!(a[b+96>>0]&1))if(!(a[e+5636>>0]&2)){E=c[M>>2]|0;c[v>>2]=h+k-E;F=M;break}else{F=e+5168|0;E=c[F>>2]|0;v=e+5180|0;break}else{F=b+40|0;E=c[F>>2]|0;v=b+44|0}}while(0);Ag(G,E,c[v>>2]|0);if(!(Cg(G,1)|0)){Eg(G)|0;m=yg(G)|0;d=E+m|0;xg(G);do{if(c[e>>2]&4){if(((c[v>>2]|0)-d+(c[F>>2]|0)|0)>>>0<2){Ub(l,2,22135,w)|0;break}if((a[d>>0]|0)==-1?(a[E+(m+1)>>0]|0)==-110:0){d=E+(m+2)|0;break}Ub(l,2,22177,x)|0}}while(0);c[v>>2]=(c[v>>2]|0)+((c[F>>2]|0)-d);c[F>>2]=d;c[g>>2]=0;c[j>>2]=(c[M>>2]|0)-h;h=1;i=N;return h|0}D=y+(z*136|0)+24|0;d=c[D>>2]|0;a:do{if(d){B=f+32|0;C=e+5584|0;A=0;y=y+(z*136|0)+28|0;b:while(1){m=c[B>>2]|0;n=c[y+20>>2]|0;if(((c[y+8>>2]|0)!=(c[y>>2]|0)?(c[y+12>>2]|0)!=(c[y+4>>2]|0):0)?(I=_(c[n+(m*40|0)+20>>2]|0,c[n+(m*40|0)+16>>2]|0)|0,(I|0)!=0):0){b=n+(m*40|0)+32|0;f=n+(m*40|0)+36|0;w=y+28|0;x=0;k=c[n+(m*40|0)+24>>2]|0;while(1){m=k+44|0;if(!(c[m>>2]|0))d=pg(G,c[b>>2]|0,x,(c[H>>2]|0)+1|0)|0;else d=Cg(G,1)|0;c:do{if(!d)c[k+40>>2]=0;else{if(!(c[m>>2]|0)){d=0;while(1)if(!(pg(G,c[f>>2]|0,x,d)|0))d=d+1|0;else break;c[k+24>>2]=1-d+(c[w>>2]|0);c[k+28>>2]=3}do{if(Cg(G,1)|0)if(Cg(G,1)|0){d=Cg(G,2)|0;if((d|0)!=3){d=d+3|0;break}d=Cg(G,5)|0;if((d|0)==31){d=(Cg(G,7)|0)+37|0;break}else{d=d+6|0;break}}else d=2;else d=1}while(0);t=k+40|0;c[t>>2]=d;d=0;while(1)if(!(Cg(G,1)|0))break;else d=d+1|0;u=k+28|0;c[u>>2]=(c[u>>2]|0)+d;m=c[m>>2]|0;do{if(!m){n=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;d=k+52|0;if(!(c[d>>2]|0)){c[d>>2]=10;o=k+4|0;m=Tc(c[o>>2]|0,320)|0;if(!m){m=d;n=o;d=o;o=66;break b}c[o>>2]=m}else m=c[k+4>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;if(n&4){c[m+20>>2]=1;m=0;break}m=m+20|0;if(!(n&1)){c[m>>2]=109;m=0;break}else{c[m>>2]=10;m=0;break}}else{q=m+-1|0;r=k+4|0;n=c[r>>2]|0;if((c[n+(q<<5)+8>>2]|0)!=(c[n+(q<<5)+20>>2]|0)){d=k+52|0;m=q;break}p=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;d=k+52|0;o=c[d>>2]|0;if((m+1|0)>>>0>o>>>0){z=o+10|0;c[d>>2]=z;n=Tc(n,z<<5)|0;if(!n){n=r;m=d;d=r;o=77;break b}c[r>>2]=n}z=n+(m<<5)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(p&4){c[n+(m<<5)+20>>2]=1;break}if(!(p&1)){c[n+(m<<5)+20>>2]=109;break}else{z=c[n+(q<<5)+20>>2]|0;c[n+(m<<5)+20>>2]=(z|0)==1|(z|0)==10?2:1;break}}}while(0);s=k+4|0;q=c[t>>2]|0;while(1){p=c[s>>2]|0;n=(c[p+(m<<5)+20>>2]|0)-(c[p+(m<<5)+8>>2]|0)|0;n=(n|0)<(q|0)?n:q;c[p+(m<<5)+24>>2]=n;p=c[u>>2]|0;if(n>>>0>1){o=0;while(1){o=o+1|0;if(n>>>0>3)n=n>>>1;else{n=o;break}}}else n=0;p=Cg(G,n+p|0)|0;n=c[s>>2]|0;c[n+(m<<5)+28>>2]=p;p=q-(c[n+(m<<5)+24>>2]|0)|0;if((p|0)<=0)break c;q=m+1|0;r=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;o=c[d>>2]|0;if((m+2|0)>>>0>o>>>0){z=o+10|0;c[d>>2]=z;n=Tc(n,z<<5)|0;if(!n){n=s;m=s;o=90;break b}c[s>>2]=n}z=n+(q<<5)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(r&4){c[n+(q<<5)+20>>2]=1;m=q;q=p;continue}if(!(r&1)){c[n+(q<<5)+20>>2]=109;m=q;q=p;continue}else{z=c[n+(m<<5)+20>>2]|0;c[n+(q<<5)+20>>2]=(z|0)==1|(z|0)==10?2:1;m=q;q=p;continue}}}}while(0);x=x+1|0;if(x>>>0>=I>>>0)break;else k=k+56|0}d=c[D>>2]|0}A=A+1|0;if(A>>>0>=d>>>0)break a;else y=y+36|0}if((o|0)==66){Uc(c[d>>2]|0);c[n>>2]=0;c[m>>2]=0;xg(G);h=0;i=N;return h|0}else if((o|0)==77){Uc(c[d>>2]|0);c[n>>2]=0;c[m>>2]=0;xg(G);h=0;i=N;return h|0}else if((o|0)==90){Uc(c[m>>2]|0);c[n>>2]=0;c[d>>2]=0;xg(G);h=0;i=N;return h|0}}}while(0);if(!(Eg(G)|0)){xg(G);h=0;i=N;return h|0}m=yg(G)|0;d=E+m|0;xg(G);do{if(c[e>>2]&4){if(((c[v>>2]|0)-d+(c[F>>2]|0)|0)>>>0<2){Ub(l,2,22135,K)|0;break}if((a[d>>0]|0)==-1?(a[E+(m+1)>>0]|0)==-110:0){d=E+(m+2)|0;break}Ub(l,2,22177,L)|0}}while(0);c[v>>2]=(c[v>>2]|0)+((c[F>>2]|0)-d);c[F>>2]=d;c[g>>2]=1;c[j>>2]=(c[M>>2]|0)-h;h=1;i=N;return h|0}function hh(){return Pc(104)|0}function ih(a){a=a|0;if(!a)return;Uc(a);return}function jh(a){a=a|0;return(c[a+12>>2]|0)-(c[a+16>>2]|0)|0}function kh(b,d){b=b|0;d=d|0;var e=0,f=0;c[b+100>>2]=b+24;c[b+4>>2]=32768;c[b>>2]=0;f=d+-1|0;c[b+12>>2]=f;e=b+8|0;c[e>>2]=12;c[e>>2]=(a[f>>0]|0)==-1?13:12;c[b+16>>2]=d;return}function lh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=c[b+100>>2]|0;h=c[g>>2]|0;j=(c[h+4>>2]|0)==(d|0);f=c[h>>2]|0;k=b+4|0;d=(c[k>>2]|0)-f|0;c[k>>2]=d;if(!j){if(d>>>0>>0){j=(c[b>>2]|0)+f|0;c[b>>2]=j;f=d;d=j;j=b}else{c[k>>2]=f;d=c[b>>2]|0;j=b}c[g>>2]=c[h+12>>2];i=b+8|0;h=b+12|0;g=d;d=c[i>>2]|0;while(1){f=f<<1;c[k>>2]=f;e=g<<1;c[j>>2]=e;d=d+-1|0;c[i>>2]=d;if(!d){d=c[h>>2]|0;f=a[d>>0]|0;do{if(f<<24>>24!=-1){if(!(e&134217728)){e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>18;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}a[d>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){b=c[j>>2]&134217727;c[j>>2]=b;e=d+1|0;c[h>>2]=e;a[e>>0]=b>>>20;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[h>>2]=e;a[e>>0]=(c[j>>2]|0)>>>19;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}}else{e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>19;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7}}while(0);f=c[k>>2]|0}if(!(f&32768))g=e;else break}return}if(d&32768){c[b>>2]=(c[b>>2]|0)+f;return}if(d>>>0>>0){c[k>>2]=f;e=c[b>>2]|0;j=b}else{e=(c[b>>2]|0)+f|0;c[b>>2]=e;f=d;j=b}c[g>>2]=c[h+8>>2];i=b+8|0;h=b+12|0;g=e;d=c[i>>2]|0;while(1){f=f<<1;c[k>>2]=f;e=g<<1;c[j>>2]=e;d=d+-1|0;c[i>>2]=d;if(!d){d=c[h>>2]|0;f=a[d>>0]|0;do{if(f<<24>>24!=-1){if(!(e&134217728)){e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>18;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}a[d>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){b=c[j>>2]&134217727;c[j>>2]=b;e=d+1|0;c[h>>2]=e;a[e>>0]=b>>>20;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[h>>2]=e;a[e>>0]=(c[j>>2]|0)>>>19;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}}else{e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>19;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7}}while(0);f=c[k>>2]|0}if(!(f&32768))g=e;else break}return}function mh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[b>>2]|0;f=h|65535;g=b+8|0;f=(f>>>0<((c[b+4>>2]|0)+h|0)>>>0?f:f+-32768|0)<>2];c[b>>2]=f;h=b+12|0;d=c[h>>2]|0;e=a[d>>0]|0;do{if(e<<24>>24!=-1){if(!(f&134217728)){d=d+1|0;c[h>>2]=d;a[d>>0]=f>>>19;d=c[b>>2]&524287;c[b>>2]=d;c[g>>2]=8;e=8;break}a[d>>0]=e+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){e=c[b>>2]&134217727;c[b>>2]=e;d=d+1|0;c[h>>2]=d;a[d>>0]=e>>>20;d=c[b>>2]&1048575;c[b>>2]=d;c[g>>2]=7;e=7;break}else{d=d+1|0;c[h>>2]=d;a[d>>0]=(c[b>>2]|0)>>>19;d=c[b>>2]&524287;c[b>>2]=d;c[g>>2]=8;e=8;break}}else{d=d+1|0;c[h>>2]=d;a[d>>0]=f>>>20;d=c[b>>2]&1048575;c[b>>2]=d;c[g>>2]=7;e=7}}while(0);d=d<>2]=d;e=c[h>>2]|0;f=a[e>>0]|0;do{if(f<<24>>24!=-1){if(!(d&134217728)){f=e+1|0;c[h>>2]=f;a[f>>0]=d>>>19;c[b>>2]=c[b>>2]&524287;c[g>>2]=8;break}a[e>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){e=c[b>>2]&134217727;c[b>>2]=e;f=d+1|0;c[h>>2]=f;a[f>>0]=e>>>20;c[b>>2]=c[b>>2]&1048575;c[g>>2]=7;break}else{f=d+1|0;c[h>>2]=f;a[f>>0]=(c[b>>2]|0)>>>19;c[b>>2]=c[b>>2]&524287;c[g>>2]=8;break}}else{f=e+1|0;c[h>>2]=f;a[f>>0]=d>>>20;c[b>>2]=c[b>>2]&1048575;c[g>>2]=7}}while(0);d=c[h>>2]|0;if((a[d>>0]|0)==-1)return;c[h>>2]=d+1;return}function nh(a){a=a|0;c[a>>2]=0;c[a+8>>2]=8;return}function oh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+8|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;d=(d<>2]|0)|0;c[b>>2]=d;if(f)return;f=b+12|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;a[g>>0]=d;c[e>>2]=8;c[e>>2]=(a[c[f>>2]>>0]|0)==-1?7:8;c[b>>2]=0;return}function ph(a){a=a|0;c[a+28>>2]=1156;c[a+32>>2]=1156;c[a+36>>2]=1156;c[a+40>>2]=1156;c[a+44>>2]=1156;c[a+48>>2]=1156;c[a+52>>2]=1156;c[a+56>>2]=1156;c[a+60>>2]=1156;c[a+64>>2]=1156;c[a+68>>2]=1156;c[a+72>>2]=1156;c[a+76>>2]=1156;c[a+80>>2]=1156;c[a+84>>2]=1156;c[a+88>>2]=1156;c[a+96>>2]=2628;c[a+92>>2]=1252;c[a+24>>2]=1284;return}function qh(a){a=a|0;c[a+24>>2]=1156;c[a+28>>2]=1156;c[a+32>>2]=1156;c[a+36>>2]=1156;c[a+40>>2]=1156;c[a+44>>2]=1156;c[a+48>>2]=1156;c[a+52>>2]=1156;c[a+56>>2]=1156;c[a+60>>2]=1156;c[a+64>>2]=1156;c[a+68>>2]=1156;c[a+72>>2]=1156;c[a+76>>2]=1156;c[a+80>>2]=1156;c[a+84>>2]=1156;c[a+88>>2]=1156;c[a+92>>2]=1156;c[a+96>>2]=1156;return}function rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+24+(b<<2)>>2]=1156+((e<<1)+d<<4);return}function sh(b){b=b|0;var d=0,e=0;c[b+100>>2]=b+24;c[b+4>>2]=32768;c[b>>2]=0;d=b+8|0;c[d>>2]=12;e=b+12|0;b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if((a[b>>0]|0)!=-1)return;c[d>>2]=13;return}function th(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=b+8|0;d=c[i>>2]|0;f=12-d|0;if((f|0)>0){g=b+12|0;e=c[b>>2]|0;do{d=e<>2]=d;c[i>>2]=0;e=c[g>>2]|0;h=a[e>>0]|0;do{if(h<<24>>24!=-1){if(!(d&134217728)){e=e+1|0;c[g>>2]=e;a[e>>0]=d>>>19;e=c[b>>2]&524287;c[b>>2]=e;c[i>>2]=8;d=8;break}a[e>>0]=h+1<<24>>24;d=c[g>>2]|0;if((a[d>>0]|0)==-1){h=c[b>>2]&134217727;c[b>>2]=h;e=d+1|0;c[g>>2]=e;a[e>>0]=h>>>20;e=c[b>>2]&1048575;c[b>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[g>>2]=e;a[e>>0]=(c[b>>2]|0)>>>19;e=c[b>>2]&524287;c[b>>2]=e;c[i>>2]=8;d=8;break}}else{e=e+1|0;c[g>>2]=e;a[e>>0]=d>>>20;e=c[b>>2]&1048575;c[b>>2]=e;c[i>>2]=7;d=7}}while(0);f=f-d|0}while((f|0)>0)}else g=b+12|0;d=c[g>>2]|0;e=a[d>>0]|0;if(e<<24>>24==-1)return;f=c[b>>2]|0;if(!(f&134217728)){h=d+1|0;c[g>>2]=h;a[h>>0]=f>>>19;c[b>>2]=c[b>>2]&524287;c[i>>2]=8;return}a[d>>0]=e+1<<24>>24;d=c[g>>2]|0;if((a[d>>0]|0)==-1){f=c[b>>2]&134217727;c[b>>2]=f;h=d+1|0;c[g>>2]=h;a[h>>0]=f>>>20;c[b>>2]=c[b>>2]&1048575;c[i>>2]=7;return}else{h=d+1|0;c[g>>2]=h;a[h>>0]=(c[b>>2]|0)>>>19;c[b>>2]=c[b>>2]&524287;c[i>>2]=8;return}}function uh(a){a=a|0;c[a+100>>2]=a+96;lh(a,1);lh(a,0);lh(a,1);lh(a,0);return}function vh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[b+100>>2]=b+24;c[b+16>>2]=e;c[b+20>>2]=e+f;h=b+12|0;c[h>>2]=e;do{if(f){i=d[e>>0]<<16;c[b>>2]=i;g=e+1|0;if((f|0)==1)f=255;else f=d[g>>0]|0;if((a[e>>0]|0)!=-1){c[h>>2]=g;g=i|f<<8;c[b>>2]=g;f=b+8|0;c[f>>2]=8;h=b;i=1;break}if(f>>>0>143){g=i|65280;c[b>>2]=g;f=b+8|0;c[f>>2]=8;h=b;i=1;break}else{c[h>>2]=g;g=i+(f<<9)|0;c[b>>2]=g;f=b+8|0;c[f>>2]=7;h=b;i=0;break}}else{c[b>>2]=16776960;f=b+8|0;c[f>>2]=8;g=16776960;h=b;i=1}}while(0);c[h>>2]=g<<7;c[f>>2]=i;c[b+4>>2]=32768;return 1}function wh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[b+100>>2]|0;g=c[f>>2]|0;j=c[g>>2]|0;n=b+4|0;i=(c[n>>2]|0)-j|0;c[n>>2]=i;h=c[b>>2]|0;if(h>>>16>>>0>>0){c[n>>2]=j;e=c[g+4>>2]|0;if(i>>>0>>0)c[f>>2]=c[g+8>>2];else{c[f>>2]=c[g+12>>2];e=1-e|0}k=b+8|0;l=b+12|0;m=b+20|0;g=c[k>>2]|0;f=h;do{do{if(!g){h=c[l>>2]|0;g=c[m>>2]|0;if((h|0)==(g|0)){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}i=h+1|0;if((i|0)==(g|0))g=255;else g=d[i>>0]|0;if((a[h>>0]|0)!=-1){c[l>>2]=i;f=f+(g<<8)|0;c[b>>2]=f;c[k>>2]=8;g=8;break}if(g>>>0>143){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}else{c[l>>2]=i;f=f+(g<<9)|0;c[b>>2]=f;c[k>>2]=7;g=7;break}}}while(0);j=j<<1;c[n>>2]=j;f=f<<1;c[b>>2]=f;g=g+-1|0;c[k>>2]=g}while(j>>>0<32768);return e|0}h=h-(j<<16)|0;c[b>>2]=h;if(i&32768){b=c[g+4>>2]|0;return b|0}e=c[g+4>>2]|0;if(j>>>0>i>>>0){c[f>>2]=c[g+12>>2];e=1-e|0}else c[f>>2]=c[g+8>>2];k=b+8|0;l=b+12|0;m=b+20|0;g=c[k>>2]|0;f=h;j=i;do{do{if(!g){h=c[l>>2]|0;g=c[m>>2]|0;if((h|0)==(g|0)){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}i=h+1|0;if((i|0)==(g|0))g=255;else g=d[i>>0]|0;if((a[h>>0]|0)!=-1){c[l>>2]=i;f=f+(g<<8)|0;c[b>>2]=f;c[k>>2]=8;g=8;break}if(g>>>0>143){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}else{c[l>>2]=i;f=f+(g<<9)|0;c[b>>2]=f;c[k>>2]=7;g=7;break}}}while(0);j=j<<1;c[n>>2]=j;f=f<<1;c[b>>2]=f;g=g+-1|0;c[k>>2]=g}while(j>>>0<32768);return e|0}function xh(){return Pc(28)|0}function yh(a){a=a|0;if(!a)return;Uc(a);return}function zh(b,d,e){b=b|0;d=d|0;e=e|0;c[b+20>>2]=d;c[b+8>>2]=e;c[b+12>>2]=0;a[b>>0]=0;c[b+4>>2]=0;return}function Ah(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=b+4|0;d=c[g>>2]|0;do{if(!d){c[g>>2]=8;e=b+12|0;f=c[e>>2]|0;if((f|0)==(c[b+8>>2]|0)){a[b>>0]=-1;d=8;e=-1;break}if((a[b>>0]|0)==-1){c[g>>2]=7;d=7}else d=8;h=a[(c[b+20>>2]|0)+f>>0]|0;a[b>>0]=h;c[e>>2]=f+1;e=h}else e=a[b>>0]|0}while(0);h=d+-1|0;c[g>>2]=h;return(e&255)>>>h&1|0}function Bh(){var a=0;if(!(c[665]|0))a=2712;else a=c[(Ca()|0)+60>>2]|0;return a|0}function Ch(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[22198+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=22286;e=5;break}}if((e|0)==2)if(!c)b=22286;else{b=22286;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function Dh(a){a=a|0;if(a>>>0>4294963200){c[(Bh()|0)>>2]=0-a;a=-1}return a|0}function Eh(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Ti(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Eh(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return+a}function Fh(a,b){a=+a;b=b|0;return+ +Eh(a,b)}function Gh(a,b){a=+a;b=b|0;return+ +Jh(a,b)}function Hh(a){a=+a;return~~+Ih(a)|0}function Ih(a){a=+a;var b=0;b=(g[k>>2]=a,c[k>>2]|0);if((b&2130706432)>>>0<=1249902592){b=(b|0)<0;a=b?a+-8388608.0+8388608.0:a+8388608.0+-8388608.0;if(a==0.0)a=b?-0.0:0.0}return+a}function Jh(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ri(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return+(a*+h[k>>3])}function Kh(b,d,e){b=b|0;d=d|0;e=e|0;do{if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(Bh()|0)>>2]=84;b=-1;break}}else b=1}while(0);return b|0}function Lh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Kh(a,b,0)|0;return a|0}function Mh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(ri(24090,f<<24>>24,4)|0){e=Fi(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(ti(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(ti(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ra(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ra(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ra(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Fa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=60;c[e+36>>2]=61;c[e+40>>2]=3;c[e+12>>2]=1;if(!(c[666]|0))c[e+76>>2]=-1;Ia(2688);f=c[671]|0;c[e+56>>2]=f;if(f)c[f+52>>2]=e;c[671]=e;Ga(2688)}}else{c[(Bh()|0)>>2]=22;e=0}i=o;return e|0}function Nh(b){b=b|0;var c=0,d=0,e=0;d=(ti(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(ti(b,120)|0)==0;d=e?d:d|128;b=(ti(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return(c<<24>>24==97?b|1024:b)|0}function Oh(a){a=a|0;return 0}function Ph(a){a=a|0;return}function Qh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Xh(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do{if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Ra[c[b+36>>2]&63](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}}while(0);i=m;return f|0}function Rh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=Dh(Ja(6,d|0)|0)|0;i=b;return a|0}function Sh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[665]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Dh(Na(145,h|0)|0)|0}else{ua(5,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Dh(Na(145,g|0)|0)|0;qa(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Dh(Ma(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[665]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Dh(Oa(146,n|0)|0)|0}else{ua(6,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Dh(Oa(146,m|0)|0)|0;qa(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Vh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=61;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Fa(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Uh(b,d,e)|0;i=g;return f|0}function Wh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Ra[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Xh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Yh(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ia(2688);d=c[a+52>>2]|0;b=a+56|0;if(d)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b)c[b+52>>2]=d;if((c[671]|0)==(a|0))c[671]=b;Ga(2688)}b=Zh(a)|0;b=Wa[c[a+12>>2]&15](a)|0|b;d=c[a+92>>2]|0;if(d)Gi(d);if(!e)Gi(a);return b|0}function Zh(a){a=a|0;var b=0,d=0;do{if(a){if((c[a+76>>2]|0)<=-1){b=zi(a)|0;break}d=(Oh(a)|0)==0;b=zi(a)|0;if(!d)Ph(a)}else{if(!(c[677]|0))b=0;else b=Zh(c[677]|0)|0;Ia(2688);a=c[671]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Oh(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=zi(a)|0|b;if(d)Ph(a);a=c[a+56>>2]|0}while((a|0)!=0);Ga(2688)}}while(0);return b|0}function _h(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(ri(24090,a[d>>0]|0,4)|0){h=Nh(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Dh(Ka(5,e|0)|0)|0;if((e|0)>=0){b=Mh(e,d)|0;if(!b){c[f>>2]=e;Ja(6,f|0)|0;b=0}}else b=0}else{c[(Bh()|0)>>2]=22;b=0}i=g;return b|0}function $h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=oi(a,b,f)|0;i=e;return d|0}function ai(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Oh(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Qh(d,b)|0;Ph(d)}else i=3;do{if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Qh(d,b)|0}}while(0);return e|0}function bi(a,b){a=a|0;b=b|0;return(ki(a,wi(a)|0,1,b)|0)+-1|0}function ci(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Oh(f)|0;else k=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:j;Ui(b|0,h|0,i|0)|0;c[g>>2]=h+i;b=b+i|0;g=j-i|0}else g=j;a:do{if(!g)l=13;else{i=f+32|0;h=g;while(1){if(Wh(f)|0){e=h;break}g=Ra[c[i>>2]&63](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k)Ph(f);e=((j-e|0)>>>0)/(d>>>0)|0}}while(0);if((l|0)==13)if(k)Ph(f);return e|0}function di(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;f=a+20|0;e=a+28|0;if((c[f>>2]|0)>>>0>(c[e>>2]|0)>>>0?(Ra[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[e>>2]=0;c[f>>2]=0;if((Ra[c[a+40>>2]&63](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Oh(a)|0)==0;b=di(a,b,d)|0;if(!e)Ph(a)}else b=di(a,b,d)|0;return b|0}function fi(a,b,c){a=a|0;b=b|0;c=c|0;return ei(a,b,c)|0}function gi(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Ra[c[a+40>>2]&63](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function hi(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Oh(a)|0)==0;a=gi(a)|0}else a=gi(a)|0;return a|0}function ii(a){a=a|0;return hi(a)|0}function ji(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Xh(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do{if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Ra[c[e+36>>2]&63](e,b,d)|0;break}b:do{if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Ra[c[e+36>>2]&63](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}}while(0);Ui(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}}while(0);return f|0}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=_(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Oh(e)|0)==0;a=ji(a,f,e)|0;if(!g)Ph(e)}else a=ji(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function li(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=oi(c[676]|0,a,e)|0;i=d;return b|0}function mi(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[676]|0;if((c[f+76>>2]|0)>-1)g=Oh(f)|0;else g=0;do{if((bi(b,f)|0)<0)d=1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;d=0;break}d=(Qh(f,10)|0)<0}}while(0);if(g)Ph(f);return d<<31>>31|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=qi(a,b,f)|0;i=e;return d|0}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=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;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((Ai(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Oh(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=Ai(b,d,o,q,r)|0;if(h){Ra[c[b+36>>2]&63](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=Ai(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Ph(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function pi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=2716;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Bh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=oi(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return pi(a,2147483647,b,c)|0}function ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do{if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5}while(0);if((i|0)==5)if(f)i=6;else e=0;b:do{if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=_(h,16843009)|0;c:do{if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11}while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}}while(0);return((e|0)!=0?b:0)|0}function si(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do{if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8}while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ti(b,c){b=b|0;c=c|0;b=ui(b,c)|0;return((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function ui(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do{if(!f)b=b+(wi(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do{if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009)break b;b=b+4|0;e=c[b>>2]|0}while(((e&-2139062144^-2139062144)&e+-16843009|0)==0)}while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}}while(0);return b|0}function vi(a,b){a=a|0;b=b|0;si(a,b)|0;return a|0}function wi(b){b=b|0;var d=0,e=0,f=0;f=b;a:do{if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do{b=b+1|0}while((a[b>>0]|0)!=0)}return b-f|0}function xi(a){a=a|0;if(!(c[a+68>>2]|0))Ph(a);return}function yi(a){a=a|0;if(!(c[a+68>>2]|0))Ph(a);return}function zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ra[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ra[c[a+40>>2]&63](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Ai(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;$=X;aa=$-Z|0;O=-2-Z|0;P=$+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do{if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(Bh()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do{if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)ji(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do{if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}}while(0);do{if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}}while(0);e:do{if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1}while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[25126+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do{if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Ci(ba,s,g)}}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do{switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=Ti(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=25606;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=25606;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=Oi(0,0,n|0,o|0)|0;o=C;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=25606;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?25606:25608;L=76}else{p=1;s=25607;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=25606;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=25606;n=N;break}case 109:{n=Ch(c[(Bh()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:25616;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){Ei(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?25624:25629}else{G=1;H=25626}else{q=-q;G=1;H=25623}h[k>>3]=q;F=c[k+4>>2]&2146435072;do{if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+Fh(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;D=u|32;if((D|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do{if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v}while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Di(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[25590+H>>0]|w;q=(q-+(H|0))*16.0;do{if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;Ei(e,32,K,p,I);if(!(c[e>>2]&32))ji(y,x,e)|0;Ei(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))ji(da,n,e)|0;o=$-t|0;Ei(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))ji(t,o,e)|0;Ei(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do{if(r>>>0>>0)r=s;else{o=0;do{B=Ri(c[r>>2]|0,0,t|0)|0;B=Si(B|0,C|0,o|0,0)|0;o=C;A=$i(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=_i(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(D|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do{if(w>>>0

>>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0

>>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w}while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do{if(w>>>0

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0}while(0);A=(D|0)==103;B=(n|0)!=0;r=n-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do{if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do{if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}}while(0);do{if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}}while(0);D=r+4|0;w=s;p=p>>>0>D>>>0?D:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;D=p;break}}do{if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do{if(z){p=c[D+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9}while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8}while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Di(r,((r|0)<0)<<31>>31,X)|0;if(($-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while(($-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=$-E|0;u=E}y=G+1+n+s+o|0;Ei(e,32,K,y,I);if(!(c[e>>2]&32))ji(H,G,e)|0;Ei(e,48,K,y,I^65536);do{if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Di(c[o>>2]|0,0,R)|0;do{if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}}while(0);if(!(c[e>>2]&32))ji(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do{if(x){if(c[e>>2]&32)break;ji(25658,1,e)|0}}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Di(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))ji(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}Ei(e,48,n+9|0,9,0)}else{t=z?D:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Di(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do{if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))ji(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}ji(25658,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}}while(0);p=S-o|0;if(!(c[e>>2]&32))ji(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}Ei(e,48,n+18|0,18,0);if(c[e>>2]&32)break;ji(u,$-u|0,e)|0}}while(0);Ei(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Ei(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){ji(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))ji(s?t?25650:25654:t?25642:25646,3,e)|0;Ei(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=25606;n=N}}}while(0);g:do{if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[25590+(o&15)>>0]|s;o=Ti(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=25606;L=77}else{o=t;t=2;s=25606+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=25606;L=77}}else if((L|0)==76){n=Di(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=ri(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=25606;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Lh(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}Ei(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Lh(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))ji(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}}while(0);if((L|0)==98){L=0;Ei(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;Ei(e,32,n,r,p);if(!(c[e>>2]&32))ji(u,t,e)|0;Ei(e,48,n,r,p^65536);Ei(e,48,o,s,0);if(!(c[e>>2]&32))ji(w,s,e)|0;Ei(e,32,n,r,p^8192);w=J}h:do{if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Ci(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0}while(0);i=ha;return m|0}function Bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;Ui(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Ci(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do{if(b>>>0<=20)do{switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}}while(0)}while(0);return}function Di(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=$i(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=_i(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function Ei(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do{if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;Qi(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){ji(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;ji(h,f,a)|0}}while(0);i=j;return}function Fi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do{if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[735]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=2980+(e<<2)|0;e=2980+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do{if((d|0)!=(h|0)){if(h>>>0<(c[739]|0)>>>0)ta();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else ta()}else c[735]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[737]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=2980+(e<<2)|0;e=2980+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do{if((d|0)!=(f|0)){if(f>>>0<(c[739]|0)>>>0)ta();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[737]|0;break}else ta()}else{c[735]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[740]|0;d=k>>>3;b=d<<1;e=2980+(b<<2)|0;a=c[735]|0;d=1<>2]|0;if(b>>>0<(c[739]|0)>>>0)ta();else{l=a;m=b}}else{c[735]=a|d;l=2980+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[737]=h;c[740]=i;M=j;return M|0}a=c[736]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[3244+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[739]|0;if(e>>>0>>0)ta();i=e+o|0;if(e>>>0>=i>>>0)ta();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do{if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)ta();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)ta();b=f+12|0;if((c[b>>2]|0)!=(e|0))ta();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else ta()}}while(0);do{if(h){b=c[e+28>>2]|0;a=3244+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[739]|0;if(n>>>0>>0)ta();c[n+24>>2]=h;b=c[e+16>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[n+16>>2]=b;c[b+24>>2]=n;break}}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[737]|0;if(b){g=c[740]|0;d=b>>>3;b=d<<1;f=2980+(b<<2)|0;a=c[735]|0;d=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{p=b;q=a}}else{c[735]=a|d;p=2980+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[737]=j;c[740]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[736]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[3244+(k<<2)>>2]|0;a:do{if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[3244+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[737]|0)-m|0)>>>0:0){f=c[739]|0;if(j>>>0>>0)ta();h=j+m|0;if(j>>>0>=h>>>0)ta();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do{if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)ta();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)ta();b=e+12|0;if((c[b>>2]|0)!=(j|0))ta();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else ta()}}while(0);do{if(g){b=c[j+28>>2]|0;a=3244+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[739]|0;if(o>>>0>>0)ta();c[o+24>>2]=g;b=c[j+16>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[o+16>>2]=b;c[b+24>>2]=o;break}}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}}while(0);b:do{if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{s=b;t=a}}else{c[735]=d|b;s=2980+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=3244+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[736]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do{if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b}while(0);b=y+8|0;a=c[b>>2]|0;M=c[739]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else ta()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1}while(0);d=c[737]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[740]|0;if(b>>>0>15){c[740]=a+q;c[737]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[737]=0;c[740]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[738]|0;if(a>>>0>q>>>0){L=a-q|0;c[738]=L;M=c[741]|0;c[741]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do{if(!(c[853]|0)){a=za(30)|0;if(!(a+-1&a)){c[855]=a;c[854]=a;c[856]=-1;c[857]=-1;c[858]=0;c[846]=0;c[853]=(La(0)|0)&-16^1431655768;break}else ta()}}while(0);j=q+48|0;i=c[855]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[845]|0;if((a|0)!=0?(t=c[843]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do{if(!(c[846]&4)){a=c[741]|0;e:do{if(a){f=3388;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[738]|0)&i;if(d>>>0<2147483647){f=xa(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174}while(0);do{if((v|0)==174){g=xa(0)|0;if((g|0)!=(-1|0)){a=g;d=c[854]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[843]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[845]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=xa(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}}while(0);f:do{if((v|0)==184){g=0-d|0;do{if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[855]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((xa(u|0)|0)==(-1|0)){xa(g|0)|0;break f}else{d=u+d|0;break}}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}}while(0);c[846]=c[846]|4;v=191}else{a=0;v=191}}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=xa(l|0)|0,x=xa(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[843]|0)+p|0;c[843]=a;if(a>>>0>(c[844]|0)>>>0)c[844]=a;h=c[741]|0;g:do{if(h){g=3388;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[738]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[741]=h+L;c[738]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[742]=c[857];break}a=c[739]|0;if(w>>>0>>0){c[739]=w;a=w}d=w+p|0;g=3388;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=3388;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do{if((b|0)!=(h|0)){if((b|0)==(c[740]|0)){M=(c[737]|0)+l|0;c[737]=M;c[740]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do{if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do{if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)ta();a=f+12|0;if((c[a>>2]|0)!=(b|0))ta();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else ta()}}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=3244+(a<<2)|0;do{if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[739]|0)>>>0)ta();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[736]=c[736]&~(1<>>0>>0)ta();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do{if(a)if(a>>>0>>0)ta();else{c[J+16>>2]=a;c[a+24>>2]=J;break}}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[739]|0)>>>0)ta();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=2980+(g<<1<<2)|0;do{if((e|0)!=(d|0)){if(e>>>0>>0)ta();if((c[e+12>>2]|0)==(b|0))break;ta()}}while(0);if((f|0)==(e|0)){c[735]=c[735]&~(1<>>0>>0)ta();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}ta()}}while(0);c[e+12>>2]=f;c[F>>2]=e}}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0>=(c[739]|0)>>>0){K=b;L=a;break}ta()}}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do{if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);b=3244+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[736]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do{if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b}while(0);b=M+8|0;a=c[b>>2]|0;L=c[739]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else ta()}else{M=(c[738]|0)+l|0;c[738]=M;c[741]=o;c[w+(m+4)>>2]=M|1}}while(0);M=w+(n|8)|0;return M|0}else d=3388;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[741]=w+d;c[738]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[742]=c[857];d=a+4|0;c[d>>2]=27;c[b>>2]=c[847];c[b+4>>2]=c[848];c[b+8>>2]=c[849];c[b+12>>2]=c[850];c[847]=w;c[848]=p;c[850]=0;c[849]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{G=b;H=a}}else{c[735]=d|b;G=2980+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=3244+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[736]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do{if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b}while(0);b=I+8|0;a=c[b>>2]|0;M=c[739]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else ta()}}else{M=c[739]|0;if((M|0)==0|w>>>0>>0)c[739]=w;c[847]=w;c[848]=p;c[850]=0;c[744]=c[853];c[743]=-1;b=0;do{M=b<<1;L=2980+(M<<2)|0;c[2980+(M+3<<2)>>2]=L;c[2980+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[741]=w+M;c[738]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[742]=c[857]}}while(0);b=c[738]|0;if(b>>>0>q>>>0){L=b-q|0;c[738]=L;M=c[741]|0;c[741]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(Bh()|0)>>2]=12;M=0;return M|0}function Gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[739]|0;if(b>>>0>>0)ta();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)ta();o=d&-8;q=a+(o+-8)|0;do{if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)ta();if((l|0)==(c[740]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[737]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=2980+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)ta();if((c[e+12>>2]|0)!=(l|0))ta()}if((d|0)==(e|0)){c[735]=c[735]&~(1<>>0>>0)ta();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else ta()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do{if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)ta();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)ta();b=f+12|0;if((c[b>>2]|0)!=(l|0))ta();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else ta()}}while(0);if(h){b=c[a+(j+28)>>2]|0;d=3244+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[739]|0;if(k>>>0>>0)ta();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[k+16>>2]=b;c[b+24>>2]=k;break}}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}}while(0);if(u>>>0>=q>>>0)ta();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))ta();if(!(d&2)){if((q|0)==(c[741]|0)){t=(c[738]|0)+g|0;c[738]=t;c[741]=u;c[u+4>>2]=t|1;if((u|0)!=(c[740]|0))return;c[740]=0;c[737]=0;return}if((q|0)==(c[740]|0)){t=(c[737]|0)+g|0;c[737]=t;c[740]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do{if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do{if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[739]|0)>>>0)ta();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[739]|0)>>>0)ta();e=d+12|0;if((c[e>>2]|0)!=(q|0))ta();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else ta()}}while(0);if(h){b=c[a+(o+20)>>2]|0;d=3244+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[739]|0;if(p>>>0>>0)ta();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[p+16>>2]=b;c[b+24>>2]=p;break}}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=2980+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[739]|0)>>>0)ta();if((c[e+12>>2]|0)!=(q|0))ta()}if((d|0)==(e|0)){c[735]=c[735]&~(1<>>0<(c[739]|0)>>>0)ta();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else ta()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[740]|0)){c[737]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=2980+(d<<2)|0;e=c[735]|0;b=1<>2]|0;if(d>>>0<(c[739]|0)>>>0)ta();else{r=b;s=d}}else{c[735]=e|b;r=2980+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=3244+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[736]|0;e=1<>2]|0;b:do{if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[739]|0)>>>0)ta();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b}while(0);b=t+8|0;d=c[b>>2]|0;s=c[739]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else ta()}else{c[736]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}}while(0);u=(c[743]|0)+-1|0;c[743]=u;if(!u)b=3396;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[743]=-1;return}function Hi(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Fi(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;Qi(b|0,0,d|0)|0;return b|0}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Fi(b)|0;return a|0}if(b>>>0>4294967231){c[(Bh()|0)>>2]=12;a=0;return a|0}d=Ki(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Fi(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;Ui(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Gi(a);a=d;return a|0}function Ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do{if((b|0)!=8){e=b>>>2;if((b&3|0)!=0|(e|0)==0){a=22;return a|0}if(e+1073741823&e){a=22;return a|0}if((-64-b|0)>>>0>>0){a=12;return a|0}else{e=Li(b>>>0<16?16:b,d)|0;break}}else e=Fi(d)|0}while(0);if(!e){a=12;return a|0}c[a>>2]=e;a=0;return a|0}function Ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[739]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))ta();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))ta();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[855]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Mi(a+b|0,d);return a|0}if((l|0)==(c[741]|0)){d=(c[738]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[741]=a+b;c[738]=n;return a|0}if((l|0)==(c[740]|0)){e=(c[737]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[737]=d;c[740]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do{if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do{if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)ta();d=f+12|0;if((c[d>>2]|0)!=(l|0))ta();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else ta()}}while(0);if(h){d=c[a+(j+28)>>2]|0;e=3244+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[739]|0;if(k>>>0>>0)ta();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do{if(d)if(d>>>0>>0)ta();else{c[k+16>>2]=d;c[d+24>>2]=k;break}}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(l|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else ta()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Mi(a+b|0,n);return a|0}return 0}function Li(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0<16?16:a;if(a+-1&a){d=16;while(1)if(d>>>0>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(Bh()|0)>>2]=12;i=0;return i|0}h=b>>>0<11?16:b+11&-8;e=Fi(h+12+a|0)|0;if(!e){i=0;return i|0}b=e+-8|0;d=a+-1|0;do{if(e&d){f=e+d&0-a;d=f+-8|0;g=b;f=(d-g|0)>>>0>15?d:f+(a+-8)|0;g=f-g|0;a=e+-4|0;e=c[a>>2]|0;d=(e&-8)-g|0;if(!(e&3)){c[f>>2]=(c[b>>2]|0)+g;c[f+4>>2]=d;b=f;break}else{e=f+4|0;c[e>>2]=d|c[e>>2]&1|2;d=f+(d+4)|0;c[d>>2]=c[d>>2]|1;c[a>>2]=g|c[a>>2]&1|2;c[e>>2]=c[e>>2]|1;Mi(b,g);b=f;break}}}while(0);a=b+4|0;d=c[a>>2]|0;if((d&3|0)!=0?(i=d&-8,i>>>0>(h+16|0)>>>0):0){g=i-h|0;c[a>>2]=h|d&1|2;c[b+(h|4)>>2]=g|3;i=b+(i|4)|0;c[i>>2]=c[i>>2]|1;Mi(b+h|0,g)}i=b+8|0;return i|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do{if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[739]|0;if(n>>>0>>0)ta();if((n|0)==(c[740]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[737]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(n|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else ta()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do{if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)ta();d=g+12|0;if((c[d>>2]|0)!=(n|0))ta();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else ta()}}while(0);if(i){d=c[a+(28-k)>>2]|0;e=3244+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[739]|0;if(l>>>0>>0)ta();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do{if(e)if(e>>>0>>0)ta();else{c[l+16>>2]=e;c[e+24>>2]=l;break}}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}}while(0);j=c[739]|0;if(q>>>0>>0)ta();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[741]|0)){s=(c[738]|0)+h|0;c[738]=s;c[741]=t;c[t+4>>2]=s|1;if((t|0)!=(c[740]|0))return;c[740]=0;c[737]=0;return}if((q|0)==(c[740]|0)){s=(c[737]|0)+h|0;c[737]=s;c[740]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do{if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do{if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)ta();d=g+12|0;if((c[d>>2]|0)!=(q|0))ta();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else ta()}}while(0);if(i){d=c[a+(b+28)>>2]|0;e=3244+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[739]|0;if(p>>>0>>0)ta();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do{if(d)if(d>>>0>>0)ta();else{c[p+16>>2]=d;c[d+24>>2]=p;break}}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(q|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else ta()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[740]|0)){c[737]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=2980+(e<<2)|0;f=c[735]|0;d=1<>2]|0;if(e>>>0<(c[739]|0)>>>0)ta();else{r=d;s=e}}else{c[735]=f|d;r=2980+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=3244+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[736]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do{if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[739]|0)>>>0)ta();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}}while(0);e=d+8|0;f=c[e>>2]|0;s=c[739]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))ta();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Ni(){}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return(C=d,a-c>>>0|0)|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<>c-32|0}function Qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>>0;return(C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Ui(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return ya(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Vi(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)>>0]|0)+24|0}function Wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return(C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Oi(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return Oi((aj(h,g,Oi(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function Yi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=Oi(h^a,g^b,h,g)|0;b=C;aj(a,b,Oi(l^d,k^e,l,k)|0,C,j)|0;e=Oi(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return(C=d,e)|0}function Zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=Wi(e,f)|0;a=C;return(C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function _i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return aj(a,b,c,d,0)|0}function $i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;aj(a,b,d,e,f)|0;i=g;return(C=c[f+4>>2]|0,c[f>>2]|0)|0}function aj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return(C=n,f)|0}else{if(!g){n=0;f=0;return(C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return(C=n,f)|0}}g=(i|0)==0;do{if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return(C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return(C=o,p)|0}else{p=Vi(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return(C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return(C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return(C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Vi(i|0)|0)>>>0);return(C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return(C=o,p)|0}}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Si(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Oi(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Oi(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return(C=o,p)|0}function bj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Qa[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function cj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ra[a&63](b|0,c|0,d|0)|0}function dj(a,b){a=a|0;b=b|0;return+Sa[a&3](b|0)}function ej(a,b){a=a|0;b=b|0;Ta[a&7](b|0)}function fj(a,b,c){a=a|0;b=b|0;c=c|0;Ua[a&7](b|0,c|0)}function gj(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 Va[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function hj(a,b){a=a|0;b=b|0;return Wa[a&15](b|0)|0}function ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Xa[a&15](b|0,c|0,d|0)}function jj(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;return Ya[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function kj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Za[a&63](b|0,c|0,d|0,e|0)|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return _a[a&7](b|0,c|0)|0}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;return $a[a&3](b|0,c|0,d|0,e|0,f|0)|0}function nj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ab[a&3](b|0,c|0,d|0,e|0)}function oj(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;ba(0);return 0}function pj(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function qj(a){a=a|0;ba(2);return 0.0}function rj(a){a=a|0;ba(3)}function sj(a,b){a=a|0;b=b|0;ba(4)}function tj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(5);return 0}function uj(a){a=a|0;ba(6);return 0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;ba(7)}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;ba(8);return 0}function xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(9);return 0}function yj(a,b){a=a|0;b=b|0;ba(10);return 0}function zj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function Aj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)}var Qa=[oj,ed,We,oj];var Ra=[pj,Bi,Vh,Th,Ab,Bb,Cb,Db,Hc,Ic,Kc,$c,nd,Oe,af,od,pd,Ne,Pe,Lc,Mc,Nc,Oc,td,ud,vd,wd,yd,zd,Bd,Cd,Dd,Ed,Fd,Gd,Hd,Id,Jd,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Vd,Wd,Xd,ef,ff,gf,hf,jf,kf,lf,mf,Sh,Uh,pj,pj];var Sa=[qj,Yd,Zd,qj];var Ta=[rj,Yc,Ve,gg,hg,xi,yi,rj];var Ua=[sj,mb,nb,ob,Wb,Wc,Le,sj];var Va=[tj,dd,Ue,rd,Te,tj,tj,tj];var Wa=[uj,Rh,jd,kd,$e,_e,Yh,Kg,Hg,uj,uj,uj,uj,uj,uj,uj];var Xa=[vj,Ge,He,Ie,Je,Ae,Be,Ce,De,we,xe,ye,ze,gd,Ze,vj];var Ya=[wj,cd,Se,wj];var Za=[xj,de,ee,fe,ge,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,xf,yf,zf,rf,sf,tf,uf,vf,wf,wb,xb,yb,zb,ld,ad,Ke,Re,qd,Zc,Qe,Me,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj];var _a=[yj,Jc,nf,of,pf,qf,yj,yj];var $a=[zj,md,Xe,zj];var ab=[Aj,Og,Rg,Aj];return{_opj_stream_destroy:Fb,_opj_stream_set_read_function:Gb,_opj_read_tile_header:mc,_opj_set_warning_handler:cc,_opj_destroy_cstr_info:Cc,_opj_image_create:Yb,_opj_set_error_handler:dc,_opj_stream_set_user_data:Kb,_opj_end_decompress:wc,_bitshift64Lshr:Ti,_opj_stream_set_seek_function:Hb,_opj_decode:kc,_opj_set_decoded_resolution_factor:pc,_i64Add:Si,_opj_stream_create_default_file_stream:Fc,_opj_set_default_decoder_parameters:hc,_bitshift64Ashr:Pi,_opj_get_decoded_tile:oc,_memset:Qi,_opj_version:fc,_memcpy:Ui,_opj_destroy_cstr_index:Ec,_opj_stream_set_user_data_length:Lb,_opj_stream_set_skip_function:Jb,_opj_image_destroy:Zb,_opj_stream_create_file_stream:Gc,_opj_setup_encoder:sc,_opj_stream_default_create:Eb,_bitshift64Shl:Ri,_opj_stream_create:vb,_jp2_version:lb,_i64Subtract:Oi,_opj_get_cstr_index:Dc,_opj_encode:uc,_opj_read_header:jc,_opj_get_cstr_info:Bc,_opj_set_default_encoder_parameters:rc,_opj_set_decode_area:lc,_opj_stream_set_write_function:Ib,_opj_dump_codec:Ac,_opj_create_decompress:gc,_opj_decode_tile_data:nc,_free:Gi,_opj_image_tile_create:ac,_opj_set_MCT:xc,_opj_set_info_handler:bc,_opj_start_compress:tc,_opj_write_tile:yc,_opj_setup_decoder:ic,_malloc:Fi,_opj_end_compress:vc,_opj_destroy_codec:zc,_jp2_decode:kb,_opj_stream_create_buffer_stream:ec,_opj_create_compress:qc,runPostSets:Ni,stackAlloc:bb,stackSave:cb,stackRestore:db,establishStackSpace:eb,setThrew:fb,setTempRet0:ib,getTempRet0:jb,dynCall_iiiiiiii:bj,dynCall_iiii:cj,dynCall_di:dj,dynCall_vi:ej,dynCall_vii:fj,dynCall_iiiiiii:gj,dynCall_ii:hj,dynCall_viii:ij,dynCall_iiiiiiiiiiii:jj,dynCall_iiiii:kj,dynCall_iii:lj,dynCall_iiiiii:mj,dynCall_viiii:nj}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _opj_stream_destroy=Module["_opj_stream_destroy"]=asm["_opj_stream_destroy"];var _opj_stream_set_read_function=Module["_opj_stream_set_read_function"]=asm["_opj_stream_set_read_function"];var _opj_read_tile_header=Module["_opj_read_tile_header"]=asm["_opj_read_tile_header"];var _opj_set_warning_handler=Module["_opj_set_warning_handler"]=asm["_opj_set_warning_handler"];var _opj_destroy_cstr_info=Module["_opj_destroy_cstr_info"]=asm["_opj_destroy_cstr_info"];var _opj_image_create=Module["_opj_image_create"]=asm["_opj_image_create"];var _opj_set_error_handler=Module["_opj_set_error_handler"]=asm["_opj_set_error_handler"];var _opj_image_tile_create=Module["_opj_image_tile_create"]=asm["_opj_image_tile_create"];var _opj_end_decompress=Module["_opj_end_decompress"]=asm["_opj_end_decompress"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _opj_stream_set_seek_function=Module["_opj_stream_set_seek_function"]=asm["_opj_stream_set_seek_function"];var _opj_decode=Module["_opj_decode"]=asm["_opj_decode"];var _opj_set_decoded_resolution_factor=Module["_opj_set_decoded_resolution_factor"]=asm["_opj_set_decoded_resolution_factor"];var _opj_stream_create_default_file_stream=Module["_opj_stream_create_default_file_stream"]=asm["_opj_stream_create_default_file_stream"];var _opj_encode=Module["_opj_encode"]=asm["_opj_encode"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _opj_get_decoded_tile=Module["_opj_get_decoded_tile"]=asm["_opj_get_decoded_tile"];var _memset=Module["_memset"]=asm["_memset"];var _opj_version=Module["_opj_version"]=asm["_opj_version"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _opj_destroy_cstr_index=Module["_opj_destroy_cstr_index"]=asm["_opj_destroy_cstr_index"];var _opj_stream_set_user_data_length=Module["_opj_stream_set_user_data_length"]=asm["_opj_stream_set_user_data_length"];var _opj_stream_set_skip_function=Module["_opj_stream_set_skip_function"]=asm["_opj_stream_set_skip_function"];var _opj_image_destroy=Module["_opj_image_destroy"]=asm["_opj_image_destroy"];var _opj_stream_create_file_stream=Module["_opj_stream_create_file_stream"]=asm["_opj_stream_create_file_stream"];var _opj_setup_encoder=Module["_opj_setup_encoder"]=asm["_opj_setup_encoder"];var _opj_stream_default_create=Module["_opj_stream_default_create"]=asm["_opj_stream_default_create"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _opj_stream_create=Module["_opj_stream_create"]=asm["_opj_stream_create"];var _jp2_version=Module["_jp2_version"]=asm["_jp2_version"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _opj_get_cstr_index=Module["_opj_get_cstr_index"]=asm["_opj_get_cstr_index"];var _opj_set_default_decoder_parameters=Module["_opj_set_default_decoder_parameters"]=asm["_opj_set_default_decoder_parameters"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _opj_get_cstr_info=Module["_opj_get_cstr_info"]=asm["_opj_get_cstr_info"];var _opj_set_default_encoder_parameters=Module["_opj_set_default_encoder_parameters"]=asm["_opj_set_default_encoder_parameters"];var _opj_set_decode_area=Module["_opj_set_decode_area"]=asm["_opj_set_decode_area"];var _opj_stream_set_write_function=Module["_opj_stream_set_write_function"]=asm["_opj_stream_set_write_function"];var _opj_dump_codec=Module["_opj_dump_codec"]=asm["_opj_dump_codec"];var _opj_read_header=Module["_opj_read_header"]=asm["_opj_read_header"];var _opj_create_decompress=Module["_opj_create_decompress"]=asm["_opj_create_decompress"];var _opj_decode_tile_data=Module["_opj_decode_tile_data"]=asm["_opj_decode_tile_data"];var _opj_set_info_handler=Module["_opj_set_info_handler"]=asm["_opj_set_info_handler"];var _opj_stream_set_user_data=Module["_opj_stream_set_user_data"]=asm["_opj_stream_set_user_data"];var _opj_set_MCT=Module["_opj_set_MCT"]=asm["_opj_set_MCT"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _opj_start_compress=Module["_opj_start_compress"]=asm["_opj_start_compress"];var _opj_write_tile=Module["_opj_write_tile"]=asm["_opj_write_tile"];var _opj_setup_decoder=Module["_opj_setup_decoder"]=asm["_opj_setup_decoder"];var _malloc=Module["_malloc"]=asm["_malloc"];var _opj_end_compress=Module["_opj_end_compress"]=asm["_opj_end_compress"];var _opj_destroy_codec=Module["_opj_destroy_codec"]=asm["_opj_destroy_codec"];var _jp2_decode=Module["_jp2_decode"]=asm["_jp2_decode"];var _opj_stream_create_buffer_stream=Module["_opj_stream_create_buffer_stream"]=asm["_opj_stream_create_buffer_stream"];var _opj_create_compress=Module["_opj_create_compress"]=asm["_opj_create_compress"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",function(){process["exit"](status)});console.log(" ");setTimeout(function(){process["exit"](status)},500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach(function(decorator){output=decorator(output,what)})}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();return Module};!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.pako=t()}}(function(){return function t(e,a,i){function n(s,o){if(!a[s]){if(!e[s]){var l="function"==typeof require&&require;if(!o&&l)return l(s,!0);if(r)return r(s,!0);var h=new Error("Cannot find module '"+s+"'");throw h.code="MODULE_NOT_FOUND",h}var d=a[s]={exports:{}};e[s][0].call(d.exports,function(t){var a=e[s][1][t];return n(a?a:t)},d,d.exports,t,e,a,i)}return a[s].exports}for(var r="function"==typeof require&&require,s=0;s0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new d,this.strm.avail_out=0;var a=s.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==c)throw new Error(h[a]);e.header&&s.deflateSetHeader(this.strm,e.header)};v.prototype.push=function(t,e){var a,i,n=this.strm,r=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:e===!0?u:_,"string"==typeof t?n.input=l.string2buf(t):"[object ArrayBuffer]"===f.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new o.Buf8(r),n.next_out=0,n.avail_out=r),a=s.deflate(n,i),a!==b&&a!==c)return this.onEnd(a),this.ended=!0,!1;(0===n.avail_out||0===n.avail_in&&(i===u||i===g))&&this.onData("string"===this.options.to?l.buf2binstring(o.shrinkBuf(n.output,n.next_out)):o.shrinkBuf(n.output,n.next_out))}while((n.avail_in>0||0===n.avail_out)&&a!==b);return i===u?(a=s.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===c):i===g?(this.onEnd(c),n.avail_out=0,!0):!0},v.prototype.onData=function(t){this.chunks.push(t)},v.prototype.onEnd=function(t){t===c&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Deflate=v,a.deflate=i,a.deflateRaw=n,a.gzip=r},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate.js":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(t,e,a){"use strict";function i(t,e){var a=new u(e);if(a.push(t,!0),a.err)throw a.msg;return a.result}function n(t,e){return e=e||{},e.raw=!0,i(t,e)}var r=t("./zlib/inflate.js"),s=t("./utils/common"),o=t("./utils/strings"),l=t("./zlib/constants"),h=t("./zlib/messages"),d=t("./zlib/zstream"),f=t("./zlib/gzheader"),_=Object.prototype.toString,u=function(t){this.options=s.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new d,this.strm.avail_out=0;var a=r.inflateInit2(this.strm,e.windowBits);if(a!==l.Z_OK)throw new Error(h[a]);this.header=new f,r.inflateGetHeader(this.strm,this.header)};u.prototype.push=function(t,e){var a,i,n,h,d,f=this.strm,u=this.options.chunkSize,c=!1;if(this.ended)return!1;i=e===~~e?e:e===!0?l.Z_FINISH:l.Z_NO_FLUSH,"string"==typeof t?f.input=o.binstring2buf(t):"[object ArrayBuffer]"===_.call(t)?f.input=new Uint8Array(t):f.input=t,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new s.Buf8(u),f.next_out=0,f.avail_out=u),a=r.inflate(f,l.Z_NO_FLUSH),a===l.Z_BUF_ERROR&&c===!0&&(a=l.Z_OK,c=!1),a!==l.Z_STREAM_END&&a!==l.Z_OK)return this.onEnd(a),this.ended=!0,!1;f.next_out&&(0===f.avail_out||a===l.Z_STREAM_END||0===f.avail_in&&(i===l.Z_FINISH||i===l.Z_SYNC_FLUSH))&&("string"===this.options.to?(n=o.utf8border(f.output,f.next_out),h=f.next_out-n,d=o.buf2string(f.output,n),f.next_out=h,f.avail_out=u-h,h&&s.arraySet(f.output,f.output,n,h,0),this.onData(d)):this.onData(s.shrinkBuf(f.output,f.next_out))),0===f.avail_in&&0===f.avail_out&&(c=!0)}while((f.avail_in>0||0===f.avail_out)&&a!==l.Z_STREAM_END);return a===l.Z_STREAM_END&&(i=l.Z_FINISH),i===l.Z_FINISH?(a=r.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===l.Z_OK):i===l.Z_SYNC_FLUSH?(this.onEnd(l.Z_OK),f.avail_out=0,!0):!0},u.prototype.onData=function(t){this.chunks.push(t)},u.prototype.onEnd=function(t){t===l.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=s.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Inflate=u,a.inflate=i,a.inflateRaw=n,a.ungzip=i},{"./utils/common":3,"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate.js":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(t,e,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;a.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(var i in a)a.hasOwnProperty(i)&&(t[i]=a[i])}}return t},a.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,a,i,n){if(e.subarray&&t.subarray)return void t.set(e.subarray(a,a+i),n);for(var r=0;i>r;r++)t[n+r]=e[a+r]},flattenChunks:function(t){var e,a,i,n,r,s;for(i=0,e=0,a=t.length;a>e;e++)i+=t[e].length;for(s=new Uint8Array(i),n=0,e=0,a=t.length;a>e;e++)r=t[e],s.set(r,n),n+=r.length;return s}},r={arraySet:function(t,e,a,i,n){for(var r=0;i>r;r++)t[n+r]=e[a+r]},flattenChunks:function(t){return[].concat.apply([],t)}};a.setTyped=function(t){t?(a.Buf8=Uint8Array,a.Buf16=Uint16Array,a.Buf32=Int32Array,a.assign(a,n)):(a.Buf8=Array,a.Buf16=Array,a.Buf32=Array,a.assign(a,r))},a.setTyped(i)},{}],4:[function(t,e,a){"use strict";function i(t,e){if(65537>e&&(t.subarray&&s||!t.subarray&&r))return String.fromCharCode.apply(null,n.shrinkBuf(t,e));for(var a="",i=0;e>i;i++)a+=String.fromCharCode(t[i]);return a}var n=t("./common"),r=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(o){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(o){s=!1}for(var l=new n.Buf8(256),h=0;256>h;h++)l[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;l[254]=l[254]=1,a.string2buf=function(t){var e,a,i,r,s,o=t.length,l=0;for(r=0;o>r;r++)a=t.charCodeAt(r),55296===(64512&a)&&o>r+1&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),l+=128>a?1:2048>a?2:65536>a?3:4;for(e=new n.Buf8(l),s=0,r=0;l>s;r++)a=t.charCodeAt(r),55296===(64512&a)&&o>r+1&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),128>a?e[s++]=a:2048>a?(e[s++]=192|a>>>6,e[s++]=128|63&a):65536>a?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},a.buf2binstring=function(t){return i(t,t.length)},a.binstring2buf=function(t){for(var e=new n.Buf8(t.length),a=0,i=e.length;i>a;a++)e[a]=t.charCodeAt(a);return e},a.buf2string=function(t,e){var a,n,r,s,o=e||t.length,h=new Array(2*o);for(n=0,a=0;o>a;)if(r=t[a++],128>r)h[n++]=r;else if(s=l[r],s>4)h[n++]=65533,a+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&o>a;)r=r<<6|63&t[a++],s--;s>1?h[n++]=65533:65536>r?h[n++]=r:(r-=65536,h[n++]=55296|r>>10&1023,h[n++]=56320|1023&r)}return i(h,n)},a.utf8border=function(t,e){var a;for(e=e||t.length,e>t.length&&(e=t.length),a=e-1;a>=0&&128===(192&t[a]);)a--;return 0>a?e:0===a?e:a+l[t[a]]>e?a:e}},{"./common":3}],5:[function(t,e,a){"use strict";function i(t,e,a,i){for(var n=65535&t|0,r=t>>>16&65535|0,s=0;0!==a;){s=a>2e3?2e3:a,a-=s;do{n=n+e[i++]|0,r=r+n|0}while(--s);n%=65521,r%=65521}return n|r<<16|0}e.exports=i},{}],6:[function(t,e,a){e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(t,e,a){"use strict";function i(){for(var t,e=[],a=0;256>a;a++){t=a;for(var i=0;8>i;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}function n(t,e,a,i){var n=r,s=i+a;t=-1^t;for(var o=i;s>o;o++)t=t>>>8^n[255&(t^e[o])];return-1^t}var r=i();e.exports=n},{}],8:[function(t,e,a){"use strict";function i(t,e){return t.msg=N[e],e}function n(t){return(t<<1)-(t>4?9:0)}function r(t){for(var e=t.length;--e>=0;)t[e]=0}function s(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(A.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function o(t,e){Z._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,s(t.strm)}function l(t,e){t.pending_buf[t.pending++]=e}function h(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function d(t,e,a,i){var n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,A.arraySet(e,t.input,t.next_in,n,a),1===t.state.wrap?t.adler=R(t.adler,e,n,a):2===t.state.wrap&&(t.adler=C(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)}function f(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-ht?t.strstart-(t.w_size-ht):0,h=t.window,d=t.w_mask,f=t.prev,_=t.strstart+lt,u=h[r+s-1],c=h[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(a=e,h[a+s]===c&&h[a+s-1]===u&&h[a]===h[r]&&h[++a]===h[r+1]){r+=2,a++;do{}while(h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&_>r);if(i=lt-(_-r),r=_-lt,i>s){if(t.match_start=e,s=i,i>=o)break;u=h[r+s-1],c=h[r+s]}}}while((e=f[e&d])>l&&0!==--n);return s<=t.lookahead?s:t.lookahead}function _(t){var e,a,i,n,r,s=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=s+(s-ht)){A.arraySet(t.window,t.window,s,s,0),t.match_start-=s,t.strstart-=s,t.block_start-=s,a=t.hash_size,e=a;do{i=t.head[--e],t.head[e]=i>=s?i-s:0}while(--a);a=s,e=a;do{i=t.prev[--e],t.prev[e]=i>=s?i-s:0}while(--a);n+=s}if(0===t.strm.avail_in)break;if(a=d(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=a,t.lookahead+t.insert>=ot)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=(t.ins_h<t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(_(t),0===t.lookahead&&e===O)return wt;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,o(t,!1),0===t.strm.avail_out))return wt;if(t.strstart-t.block_start>=t.w_size-ht&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?vt:kt):t.strstart>t.block_start&&(o(t,!1),0===t.strm.avail_out)?wt:wt}function c(t,e){for(var a,i;;){if(t.lookahead=ot&&(t.ins_h=(t.ins_h<=ot)if(i=Z._tr_tally(t,t.strstart-t.match_start,t.match_length-ot),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=ot){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<=ot&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=ot-1)),t.prev_length>=ot&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-ot,i=Z._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-ot),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=(t.ins_h<=ot&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){r=t.strstart+lt;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&r>n);t.match_length=lt-(r-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=ot?(a=Z._tr_tally(t,1,t.match_length-ot),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function m(t,e){for(var a;;){if(0===t.lookahead&&(_(t),0===t.lookahead)){if(e===O)return wt;break}if(t.match_length=0,a=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function w(t){t.window_size=2*t.w_size,r(t.head),t.max_lazy_match=E[t.level].max_lazy,t.good_match=E[t.level].good_length,t.nice_match=E[t.level].nice_length,t.max_chain_length=E[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ot-1,t.match_available=0,t.ins_h=0}function p(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=J,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new A.Buf16(2*rt),this.dyn_dtree=new A.Buf16(2*(2*it+1)),this.bl_tree=new A.Buf16(2*(2*nt+1)),r(this.dyn_ltree),r(this.dyn_dtree),r(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new A.Buf16(st+1),this.heap=new A.Buf16(2*at+1),r(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new A.Buf16(2*at+1),r(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function v(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=W,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?ft:gt,t.adler=2===e.wrap?0:1,e.last_flush=O,Z._tr_init(e),D):i(t,H)}function k(t){var e=v(t);return e===D&&w(t.state),e}function x(t,e){return t&&t.state?2!==t.state.wrap?H:(t.state.gzhead=e,D):H}function y(t,e,a,n,r,s){if(!t)return H;var o=1;if(e===M&&(e=6),0>n?(o=0,n=-n):n>15&&(o=2,n-=16),1>r||r>Q||a!==J||8>n||n>15||0>e||e>9||0>s||s>G)return i(t,H);8===n&&(n=9);var l=new p;return t.state=l,l.strm=t,l.wrap=o,l.gzhead=null,l.w_bits=n,l.w_size=1<>1,l.l_buf=3*l.lit_bufsize,l.level=e,l.strategy=s,l.method=a,k(t)}function z(t,e){return y(t,e,J,V,$,X)}function B(t,e){var a,o,d,f;if(!t||!t.state||e>T||0>e)return t?i(t,H):H;if(o=t.state,!t.output||!t.input&&0!==t.avail_in||o.status===mt&&e!==F)return i(t,0===t.avail_out?K:H);if(o.strm=t,a=o.last_flush,o.last_flush=e,o.status===ft)if(2===o.wrap)t.adler=0,l(o,31),l(o,139),l(o,8),o.gzhead?(l(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),l(o,255&o.gzhead.time),l(o,o.gzhead.time>>8&255),l(o,o.gzhead.time>>16&255),l(o,o.gzhead.time>>24&255),l(o,9===o.level?2:o.strategy>=Y||o.level<2?4:0),l(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(l(o,255&o.gzhead.extra.length),l(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(t.adler=C(t.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=_t):(l(o,0),l(o,0),l(o,0),l(o,0),l(o,0),l(o,9===o.level?2:o.strategy>=Y||o.level<2?4:0),l(o,xt),o.status=gt);else{var _=J+(o.w_bits-8<<4)<<8,u=-1;u=o.strategy>=Y||o.level<2?0:o.level<6?1:6===o.level?2:3,_|=u<<6,0!==o.strstart&&(_|=dt),_+=31-_%31,o.status=gt,h(o,_),0!==o.strstart&&(h(o,t.adler>>>16),h(o,65535&t.adler)),t.adler=1}if(o.status===_t)if(o.gzhead.extra){for(d=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending!==o.pending_buf_size));)l(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=ut)}else o.status=ut;if(o.status===ut)if(o.gzhead.name){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.gzindex=0,o.status=ct)}else o.status=ct;if(o.status===ct)if(o.gzhead.comment){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.status=bt)}else o.status=bt;if(o.status===bt&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&s(t),o.pending+2<=o.pending_buf_size&&(l(o,255&t.adler),l(o,t.adler>>8&255),t.adler=0,o.status=gt)):o.status=gt),0!==o.pending){if(s(t),0===t.avail_out)return o.last_flush=-1,D}else if(0===t.avail_in&&n(e)<=n(a)&&e!==F)return i(t,K);if(o.status===mt&&0!==t.avail_in)return i(t,K);if(0!==t.avail_in||0!==o.lookahead||e!==O&&o.status!==mt){var c=o.strategy===Y?m(o,e):o.strategy===q?g(o,e):E[o.level].func(o,e);if((c===vt||c===kt)&&(o.status=mt),c===wt||c===vt)return 0===t.avail_out&&(o.last_flush=-1),D;if(c===pt&&(e===I?Z._tr_align(o):e!==T&&(Z._tr_stored_block(o,0,0,!1),e===U&&(r(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),s(t),0===t.avail_out))return o.last_flush=-1,D}return e!==F?D:o.wrap<=0?L:(2===o.wrap?(l(o,255&t.adler),l(o,t.adler>>8&255),l(o,t.adler>>16&255),l(o,t.adler>>24&255),l(o,255&t.total_in),l(o,t.total_in>>8&255),l(o,t.total_in>>16&255),l(o,t.total_in>>24&255)):(h(o,t.adler>>>16),h(o,65535&t.adler)),s(t),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?D:L)}function S(t){var e;return t&&t.state?(e=t.state.status,e!==ft&&e!==_t&&e!==ut&&e!==ct&&e!==bt&&e!==gt&&e!==mt?i(t,H):(t.state=null,e===gt?i(t,j):D)):H}var E,A=t("../utils/common"),Z=t("./trees"),R=t("./adler32"),C=t("./crc32"),N=t("./messages"),O=0,I=1,U=3,F=4,T=5,D=0,L=1,H=-2,j=-3,K=-5,M=-1,P=1,Y=2,q=3,G=4,X=0,W=2,J=8,Q=9,V=15,$=8,tt=29,et=256,at=et+1+tt,it=30,nt=19,rt=2*at+1,st=15,ot=3,lt=258,ht=lt+ot+1,dt=32,ft=42,_t=69,ut=73,ct=91,bt=103,gt=113,mt=666,wt=1,pt=2,vt=3,kt=4,xt=3,yt=function(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n};E=[new yt(0,0,0,0,u),new yt(4,4,8,4,c),new yt(4,5,16,8,c),new yt(4,6,32,32,c),new yt(4,4,16,16,b),new yt(8,16,32,32,b),new yt(8,16,128,128,b),new yt(8,32,128,256,b),new yt(32,128,258,1024,b),new yt(32,258,258,4096,b)],a.deflateInit=z,a.deflateInit2=y,a.deflateReset=k,a.deflateResetKeep=v,a.deflateSetHeader=x,a.deflate=B,a.deflateEnd=S,a.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./messages":13,"./trees":14}],9:[function(t,e,a){"use strict";function i(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}e.exports=i},{}],10:[function(t,e,a){"use strict";var i=30,n=12;e.exports=function(t,e){var a,r,s,o,l,h,d,f,_,u,c,b,g,m,w,p,v,k,x,y,z,B,S,E,A;a=t.state,r=t.next_in,E=t.input,s=r+(t.avail_in-5),o=t.next_out,A=t.output,l=o-(e-t.avail_out),h=o+(t.avail_out-257),d=a.dmax,f=a.wsize,_=a.whave,u=a.wnext,c=a.window,b=a.hold,g=a.bits,m=a.lencode,w=a.distcode,p=(1<g&&(b+=E[r++]<>>24,b>>>=x,g-=x,x=k>>>16&255,0===x)A[o++]=65535&k;else{if(!(16&x)){if(0===(64&x)){k=m[(65535&k)+(b&(1<g&&(b+=E[r++]<>>=x,g-=x),15>g&&(b+=E[r++]<>>24,b>>>=x,g-=x,x=k>>>16&255,!(16&x)){if(0===(64&x)){k=w[(65535&k)+(b&(1<g&&(b+=E[r++]<g&&(b+=E[r++]<d){t.msg="invalid distance too far back",a.mode=i;break t}if(b>>>=x,g-=x,x=o-l,z>x){if(x=z-x,x>_&&a.sane){t.msg="invalid distance too far back",a.mode=i;break t}if(B=0,S=c,0===u){if(B+=f-x,y>x){y-=x;do{A[o++]=c[B++]}while(--x);B=o-z,S=A}}else if(x>u){if(B+=f+u-x,x-=u,y>x){y-=x;do{A[o++]=c[B++]}while(--x);if(B=0,y>u){x=u,y-=x;do{A[o++]=c[B++]}while(--x);B=o-z,S=A}}}else if(B+=u-x,y>x){y-=x;do{A[o++]=c[B++]}while(--x);B=o-z,S=A}for(;y>2;)A[o++]=S[B++],A[o++]=S[B++],A[o++]=S[B++],y-=3;y&&(A[o++]=S[B++],y>1&&(A[o++]=S[B++]))}else{B=o-z;do{A[o++]=A[B++],A[o++]=A[B++],A[o++]=A[B++],y-=3}while(y>2);y&&(A[o++]=A[B++],y>1&&(A[o++]=A[B++]))}break}}break}}while(s>r&&h>o);y=g>>3,r-=y,g-=y<<3,b&=(1<r?5+(s-r):5-(r-s),t.avail_out=h>o?257+(h-o):257-(o-h),a.hold=b,a.bits=g}},{}],11:[function(t,e,a){"use strict";function i(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new m.Buf16(320),this.work=new m.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function r(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=F,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new m.Buf32(ct),e.distcode=e.distdyn=new m.Buf32(bt),e.sane=1,e.back=-1,A):C}function s(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,r(t)):C}function o(t,e){var a,i;return t&&t.state?(i=t.state,0>e?(a=0,e=-e):(a=(e>>4)+1,48>e&&(e&=15)),e&&(8>e||e>15)?C:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,s(t))):C}function l(t,e){var a,i;return t?(i=new n,t.state=i,i.window=null,a=o(t,e),a!==A&&(t.state=null),a):C}function h(t){return l(t,mt)}function d(t){if(wt){var e;for(b=new m.Buf32(512),g=new m.Buf32(32),e=0;144>e;)t.lens[e++]=8;for(;256>e;)t.lens[e++]=9;for(;280>e;)t.lens[e++]=7;for(;288>e;)t.lens[e++]=8;for(k(y,t.lens,0,288,b,0,t.work,{bits:9}),e=0;32>e;)t.lens[e++]=5;k(z,t.lens,0,32,g,0,t.work,{bits:5}),wt=!1}t.lencode=b,t.lenbits=9,t.distcode=g,t.distbits=5}function f(t,e,a,i){var n,r=t.state;return null===r.window&&(r.wsize=1<=r.wsize?(m.arraySet(r.window,e,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),m.arraySet(r.window,e,a-i,n,r.wnext),i-=n,i?(m.arraySet(r.window,e,a-i,i,0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whaveu;){if(0===l)break t;l--,_+=n[s++]<>>8&255,a.check=p(a.check,Et,2,0),_=0,u=0,a.mode=T;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",a.mode=ft;break}if((15&_)!==U){t.msg="unknown compression method",a.mode=ft;break}if(_>>>=4,u-=4,xt=(15&_)+8,0===a.wbits)a.wbits=xt;else if(xt>a.wbits){t.msg="invalid window size",a.mode=ft;break}a.dmax=1<u;){if(0===l)break t;l--,_+=n[s++]<>8&1),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0,a.mode=D;case D:for(;32>u;){if(0===l)break t;l--,_+=n[s++]<>>8&255,Et[2]=_>>>16&255,Et[3]=_>>>24&255,a.check=p(a.check,Et,4,0)),_=0,u=0,a.mode=L;case L:for(;16>u;){if(0===l)break t;l--,_+=n[s++]<>8),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0,a.mode=H;case H:if(1024&a.flags){for(;16>u;){if(0===l)break t;l--,_+=n[s++]<>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0}else a.head&&(a.head.extra=null);a.mode=j;case j:if(1024&a.flags&&(g=a.length,g>l&&(g=l),g&&(a.head&&(xt=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),m.arraySet(a.head.extra,n,s,g,xt)),512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,a.length-=g),a.length))break t;a.length=0,a.mode=K;case K:if(2048&a.flags){if(0===l)break t;g=0;do{xt=n[s+g++],a.head&&xt&&a.length<65536&&(a.head.name+=String.fromCharCode(xt))}while(xt&&l>g);if(512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,xt)break t}else a.head&&(a.head.name=null);a.length=0,a.mode=M;case M:if(4096&a.flags){if(0===l)break t;g=0;do{xt=n[s+g++],a.head&&xt&&a.length<65536&&(a.head.comment+=String.fromCharCode(xt))}while(xt&&l>g);if(512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,xt)break t}else a.head&&(a.head.comment=null);a.mode=P;case P:if(512&a.flags){for(;16>u;){if(0===l)break t;l--,_+=n[s++]<>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=G;break;case Y:for(;32>u;){if(0===l)break t;l--,_+=n[s++]<>>=7&u,u-=7&u,a.mode=lt;break}for(;3>u;){if(0===l)break t;l--,_+=n[s++]<>>=1,u-=1,3&_){case 0:a.mode=W;break;case 1:if(d(a),a.mode=et,e===E){_>>>=2,u-=2;break t}break;case 2:a.mode=V;break;case 3:t.msg="invalid block type",a.mode=ft}_>>>=2,u-=2;break;case W:for(_>>>=7&u,u-=7&u;32>u;){if(0===l)break t;l--,_+=n[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=ft;break}if(a.length=65535&_,_=0,u=0,a.mode=J,e===E)break t;case J:a.mode=Q;case Q:if(g=a.length){if(g>l&&(g=l),g>h&&(g=h),0===g)break t;m.arraySet(r,n,s,g,o),l-=g,s+=g,h-=g,o+=g,a.length-=g;break}a.mode=G;break;case V:for(;14>u;){if(0===l)break t;l--,_+=n[s++]<>>=5,u-=5,a.ndist=(31&_)+1,_>>>=5,u-=5,a.ncode=(15&_)+4,_>>>=4,u-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=ft;break}a.have=0,a.mode=$;case $:for(;a.haveu;){if(0===l)break t;l--,_+=n[s++]<>>=3,u-=3}for(;a.have<19;)a.lens[At[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,zt={bits:a.lenbits},yt=k(x,a.lens,0,19,a.lencode,0,a.work,zt),a.lenbits=zt.bits,yt){t.msg="invalid code lengths set",a.mode=ft;break}a.have=0,a.mode=tt;case tt:for(;a.have>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<wt)_>>>=gt,u-=gt,a.lens[a.have++]=wt;else{if(16===wt){for(Bt=gt+2;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,0===a.have){t.msg="invalid bit length repeat",a.mode=ft;break}xt=a.lens[a.have-1],g=3+(3&_),_>>>=2,u-=2}else if(17===wt){for(Bt=gt+3;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,xt=0,g=3+(7&_),_>>>=3,u-=3}else{for(Bt=gt+7;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,xt=0,g=11+(127&_),_>>>=7,u-=7}if(a.have+g>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=ft;break}for(;g--;)a.lens[a.have++]=xt}}if(a.mode===ft)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=ft;break}if(a.lenbits=9,zt={bits:a.lenbits},yt=k(y,a.lens,0,a.nlen,a.lencode,0,a.work,zt),a.lenbits=zt.bits,yt){t.msg="invalid literal/lengths set",a.mode=ft;break}if(a.distbits=6,a.distcode=a.distdyn,zt={bits:a.distbits},yt=k(z,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,zt),a.distbits=zt.bits,yt){t.msg="invalid distances set",a.mode=ft;break}if(a.mode=et,e===E)break t;case et:a.mode=at;case at:if(l>=6&&h>=258){t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,v(t,b),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,a.mode===G&&(a.back=-1);break}for(a.back=0;St=a.lencode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=pt+gt);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,a.length=wt,0===mt){a.mode=ot;break}if(32&mt){a.back=-1,a.mode=G;break}if(64&mt){t.msg="invalid literal/length code",a.mode=ft;break}a.extra=15&mt,a.mode=it;case it:if(a.extra){for(Bt=a.extra;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=a.extra,u-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=nt;case nt:for(;St=a.distcode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=pt+gt);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,64&mt){t.msg="invalid distance code",a.mode=ft;break}a.offset=wt,a.extra=15&mt,a.mode=rt;case rt:if(a.extra){for(Bt=a.extra;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=a.extra,u-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=ft;break}a.mode=st;case st:if(0===h)break t;if(g=b-h,a.offset>g){if(g=a.offset-g,g>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=ft;break}g>a.wnext?(g-=a.wnext,ct=a.wsize-g):ct=a.wnext-g,g>a.length&&(g=a.length),bt=a.window}else bt=r,ct=o-a.offset,g=a.length;g>h&&(g=h),h-=g,a.length-=g;do{r[o++]=bt[ct++]}while(--g);0===a.length&&(a.mode=at);break;case ot:if(0===h)break t;r[o++]=a.length,h--,a.mode=at;break;case lt:if(a.wrap){for(;32>u;){if(0===l)break t;l--,_|=n[s++]<u;){if(0===l)break t;l--,_+=n[s++]<=Z;Z++)j[Z]=0;for(R=0;c>R;R++)j[e[a+R]]++;for(O=A,N=n;N>=1&&0===j[N];N--);if(O>N&&(O=N),0===N)return b[g++]=20971520,b[g++]=20971520,w.bits=1,0;for(C=1;N>C&&0===j[C];C++);for(C>O&&(O=C),F=1,Z=1;n>=Z;Z++)if(F<<=1,F-=j[Z],0>F)return-1;if(F>0&&(t===o||1!==N))return-1;for(K[1]=0,Z=1;n>Z;Z++)K[Z+1]=K[Z]+j[Z];for(R=0;c>R;R++)0!==e[a+R]&&(m[K[e[a+R]]++]=R);if(t===o?(L=M=m,z=19):t===l?(L=d,H-=257,M=f,P-=257,z=256):(L=_,M=u,z=-1),D=0,R=0,Z=C,y=g,I=O,U=0,k=-1,T=1<r||t===h&&T>s)return 1;for(var Y=0;;){Y++,B=Z-U,m[R]z?(S=M[P+m[R]],E=L[H+m[R]]):(S=96,E=0),p=1<>U)+v]=B<<24|S<<16|E|0}while(0!==v);for(p=1<>=1;if(0!==p?(D&=p-1,D+=p):D=0,R++,0===--j[Z]){if(Z===N)break;Z=e[a+m[R]]}if(Z>O&&(D&x)!==k){for(0===U&&(U=O),y+=C,I=Z-U,F=1<I+U&&(F-=j[I+U],!(0>=F));)I++,F<<=1;if(T+=1<r||t===h&&T>s)return 1;k=D&x,b[k]=O<<24|I<<16|y-g|0}}return 0!==D&&(b[y+D]=Z-U<<24|64<<16|0),w.bits=O,0}},{"../utils/common":3}],13:[function(t,e,a){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(t,e,a){"use strict";function i(t){for(var e=t.length;--e>=0;)t[e]=0}function n(t){return 256>t?st[t]:st[256+(t>>>7)]}function r(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function s(t,e,a){t.bi_valid>G-a?(t.bi_buf|=e<>G-t.bi_valid,t.bi_valid+=a-G):(t.bi_buf|=e<>>=1,a<<=1}while(--e>0);return a>>>1}function h(t){16===t.bi_valid?(r(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function d(t,e){var a,i,n,r,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,f=e.stat_desc.has_stree,_=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,b=0;for(r=0;q>=r;r++)t.bl_count[r]=0;for(l[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;Y>a;a++)i=t.heap[a],r=l[2*l[2*i+1]+1]+1,r>c&&(r=c,b++),l[2*i+1]=r,i>h||(t.bl_count[r]++,s=0,i>=u&&(s=_[i-u]),o=l[2*i],t.opt_len+=o*(r+s),f&&(t.static_len+=o*(d[2*i+1]+s)));if(0!==b){do{for(r=c-1;0===t.bl_count[r];)r--;t.bl_count[r]--,t.bl_count[r+1]+=2,t.bl_count[c]--,b-=2}while(b>0);for(r=c;0!==r;r--)for(i=t.bl_count[r];0!==i;)n=t.heap[--a],n>h||(l[2*n+1]!==r&&(t.opt_len+=(r-l[2*n+1])*l[2*n],l[2*n+1]=r),i--)}}function f(t,e,a){var i,n,r=new Array(q+1),s=0;for(i=1;q>=i;i++)r[i]=s=s+a[i-1]<<1;for(n=0;e>=n;n++){var o=t[2*n+1];0!==o&&(t[2*n]=l(r[o]++,o))}}function _(){var t,e,a,i,n,r=new Array(q+1);for(a=0,i=0;H-1>i;i++)for(lt[i]=a,t=0;t<1<<$[i];t++)ot[a++]=i;for(ot[a-1]=i,n=0,i=0;16>i;i++)for(ht[i]=n,t=0;t<1<>=7;M>i;i++)for(ht[i]=n<<7,t=0;t<1<=e;e++)r[e]=0;for(t=0;143>=t;)nt[2*t+1]=8,t++,r[8]++;for(;255>=t;)nt[2*t+1]=9,t++,r[9]++;for(;279>=t;)nt[2*t+1]=7,t++,r[7]++;for(;287>=t;)nt[2*t+1]=8,t++,r[8]++;for(f(nt,K+1,r),t=0;M>t;t++)rt[2*t+1]=5,rt[2*t]=l(t,5);dt=new ut(nt,$,j+1,K,q),ft=new ut(rt,tt,0,M,q),_t=new ut(new Array(0),et,0,P,X)}function u(t){var e;for(e=0;K>e;e++)t.dyn_ltree[2*e]=0;for(e=0;M>e;e++)t.dyn_dtree[2*e]=0;for(e=0;P>e;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*W]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function c(t){t.bi_valid>8?r(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function b(t,e,a,i){c(t),i&&(r(t,a),r(t,~a)),R.arraySet(t.pending_buf,t.window,e,a,t.pending),t.pending+=a}function g(t,e,a,i){var n=2*e,r=2*a;return t[n]a;a++)0!==r[2*a]?(t.heap[++t.heap_len]=h=a,t.depth[a]=0):r[2*a+1]=0;for(;t.heap_len<2;)n=t.heap[++t.heap_len]=2>h?++h:0,r[2*n]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=s[2*n+1]);for(e.max_code=h,a=t.heap_len>>1;a>=1;a--)m(t,r,a);n=l;do{a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],m(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,m(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],d(t,e),f(r,h,t.bl_count)}function v(t,e,a){var i,n,r=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;a>=i;i++)n=s,s=e[2*(i+1)+1],++oo?t.bl_tree[2*n]+=o:0!==n?(n!==r&&t.bl_tree[2*n]++,t.bl_tree[2*J]++):10>=o?t.bl_tree[2*Q]++:t.bl_tree[2*V]++,o=0,r=n,0===s?(l=138,h=3):n===s?(l=6,h=3):(l=7,h=4))}function k(t,e,a){var i,n,r=-1,l=e[1],h=0,d=7,f=4;for(0===l&&(d=138,f=3),i=0;a>=i;i++)if(n=l,l=e[2*(i+1)+1],!(++hh){do{o(t,n,t.bl_tree)}while(0!==--h)}else 0!==n?(n!==r&&(o(t,n,t.bl_tree),h--),o(t,J,t.bl_tree),s(t,h-3,2)):10>=h?(o(t,Q,t.bl_tree),s(t,h-3,3)):(o(t,V,t.bl_tree),s(t,h-11,7));h=0,r=n,0===l?(d=138,f=3):n===l?(d=6,f=3):(d=7,f=4)}}function x(t){var e;for(v(t,t.dyn_ltree,t.l_desc.max_code),v(t,t.dyn_dtree,t.d_desc.max_code),p(t,t.bl_desc),e=P-1;e>=3&&0===t.bl_tree[2*at[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}function y(t,e,a,i){var n;for(s(t,e-257,5),s(t,a-1,5),s(t,i-4,4),n=0;i>n;n++)s(t,t.bl_tree[2*at[n]+1],3);k(t,t.dyn_ltree,e-1),k(t,t.dyn_dtree,a-1)}function z(t){var e,a=4093624447;for(e=0;31>=e;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return N;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return O;for(e=32;j>e;e++)if(0!==t.dyn_ltree[2*e])return O;return N}function B(t){bt||(_(),bt=!0),t.l_desc=new ct(t.dyn_ltree,dt),t.d_desc=new ct(t.dyn_dtree,ft),t.bl_desc=new ct(t.bl_tree,_t),t.bi_buf=0,t.bi_valid=0,u(t)}function S(t,e,a,i){s(t,(U<<1)+(i?1:0),3),b(t,e,a,!0)}function E(t){s(t,F<<1,3),o(t,W,nt),h(t)}function A(t,e,a,i){var n,r,o=0;t.level>0?(t.strm.data_type===I&&(t.strm.data_type=z(t)),p(t,t.l_desc),p(t,t.d_desc),o=x(t),n=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,n>=r&&(n=r)):n=r=a+5,n>=a+4&&-1!==e?S(t,e,a,i):t.strategy===C||r===n?(s(t,(F<<1)+(i?1:0),3),w(t,nt,rt)):(s(t,(T<<1)+(i?1:0),3),y(t,t.l_desc.max_code+1,t.d_desc.max_code+1,o+1),w(t,t.dyn_ltree,t.dyn_dtree)),u(t),i&&c(t)}function Z(t,e,a){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(ot[a]+j+1)]++,t.dyn_dtree[2*n(e)]++),t.last_lit===t.lit_bufsize-1}var R=t("../utils/common"),C=4,N=0,O=1,I=2,U=0,F=1,T=2,D=3,L=258,H=29,j=256,K=j+1+H,M=30,P=19,Y=2*K+1,q=15,G=16,X=7,W=256,J=16,Q=17,V=18,$=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],tt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],et=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],at=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],it=512,nt=new Array(2*(K+2));i(nt);var rt=new Array(2*M);i(rt);var st=new Array(it);i(st);var ot=new Array(L-D+1);i(ot);var lt=new Array(H);i(lt);var ht=new Array(M);i(ht);var dt,ft,_t,ut=function(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length},ct=function(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e},bt=!1;a._tr_init=B,a._tr_stored_block=S,a._tr_flush_block=A,a._tr_tally=Z,a._tr_align=E},{"../utils/common":3}],15:[function(t,e,a){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=i},{}],"/":[function(t,e,a){"use strict";var i=t("./lib/utils/common").assign,n=t("./lib/deflate"),r=t("./lib/inflate"),s=t("./lib/zlib/constants"),o={};i(o,n,r,s),e.exports=o},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")}); \ No newline at end of file diff --git a/Packages-react/ohif-viewer/public/cornerstoneWADOImageLoaderWebWorker.min.js b/Packages-react/ohif-viewer/public/cornerstoneWADOImageLoaderWebWorker.min.js deleted file mode 100644 index 50d1d9d94..000000000 --- a/Packages-react/ohif-viewer/public/cornerstoneWADOImageLoaderWebWorker.min.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! cornerstone-wado-image-loader - 2.2.2 - 2018-12-05 | (c) 2016 Chris Hafey | https://github.com/cornerstonejs/cornerstoneWADOImageLoader */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("cornerstoneWADOImageLoaderWebWorker",[],t):"object"==typeof exports?exports.cornerstoneWADOImageLoaderWebWorker=t():e.cornerstoneWADOImageLoaderWebWorker=t()}(this,function(){return function(r){var a={};function n(e){if(a[e])return a[e].exports;var t=a[e]={i:e,l:!1,exports:{}};return r[e].call(t.exports,t,t.exports,n),t.l=!0,t.exports}return n.m=r,n.c=a,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)n.d(r,a,function(e){return t[e]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=7)}([function(e,t,r){"use strict";t.a=function(e){for(var t,r=e[0],a=e[0],n=e.length,i=1;i>8&255}else 8===e.bitsAllocated&&(e.pixelData=t);var o;return e};var d=function(e,t){if(8===e.bitsAllocated)return e.planarConfiguration?function(e,t){for(var r=t,a=e.rows*e.columns,n=new ArrayBuffer(a*e.samplesPerPixel),i=new DataView(r.buffer,r.byteOffset),o=new Int8Array(r.buffer,r.byteOffset),l=new Int8Array(n),s=0,f=i.getInt32(0,!0),u=0;u>l;var f=(new Date).getTime();return e.decodeTimeInMS=f-i,e}},,function(e,t,r){"use strict";r.r(t);var a,n={},i=!1;function o(e){if(n[e.taskType])return console.log('attempt to register duplicate task handler "',e.taskType,'"'),!1;n[e.taskType]=e,i&&e.initialize(a.taskConfiguration)}self.onmessage=function(r){var e;{if("initialize"!==r.data.taskType)return"loadWebWorkerTask"===r.data.taskType?(e=r.data,a=e.config,void self.importScripts(e.sourcePath)):void(n[r.data.taskType]?n[r.data.taskType].handler(r.data,function(e,t){self.postMessage({taskType:r.data.taskType,status:"success",result:e,workerIndex:r.data.workerIndex},t)}):(console.log("no task handler for ",r.data.taskType),console.log(n),self.postMessage({taskType:r.data.taskType,status:"failed - no task handler registered",workerIndex:r.data.workerIndex})));!function(e){if(!i){if(a=e.config,e.config.webWorkerTaskPaths)for(var t=0;t - - OHIF Viewer - - - - - - - - - - -

- diff --git a/Packages-react/ohif-viewer/src/images/icons.svg b/Packages-react/ohif-viewer/src/images/icons.svg deleted file mode 100644 index aa3817af6..000000000 --- a/Packages-react/ohif-viewer/src/images/icons.svg +++ /dev/null @@ -1,237 +0,0 @@ - - - HUD - - - - - - - - - Additional Measurements - - - - - - Lesions - - - - - - Settings - - - - Complete - - - - - - Locked - - - - Studies - - - - - - Window / Level - - - - - - - Link - - - - - - - Non-Target Measurement - - - - - - - - Target Measurement - - - - - - - Target CR Measurement - - CR - - - - - Target UN Measurement - - UN - - - - - Temporary Measurement - - - - - - - - More - - - - - - Pan - - - - - - - - - - - Zoom - - - - - - - Invert - - - - Stack Scroll - - - - Elliptical ROI - - - - Magnify - - - - Reset - - - - Rotate - - - - Rotate Right - - - - Cineplay Toggle - - - - Vertical - - - - Horizontal - - - - Trial Information - - - - - - Expand - - - - Add - - - - Close - - - - - - Comment - - - - - Capture Screen - - - - - - - - Warning - - - - - - - Viewport Link - - - - - - - Theme - - - - Log - - - - Server - - - - Study List - - - - Logout - - - - Password - - - diff --git a/Packages-react/ohif-viewer/src/sha.js b/Packages-react/ohif-viewer/src/sha.js deleted file mode 100644 index d3b849c85..000000000 --- a/Packages-react/ohif-viewer/src/sha.js +++ /dev/null @@ -1 +0,0 @@ -export default 'cca67a3413b8e1a0c59a456f8b00a6d8e0b090df'; diff --git a/Packages-react/ohif-viewer/src/version.js b/Packages-react/ohif-viewer/src/version.js deleted file mode 100644 index 9d369d17f..000000000 --- a/Packages-react/ohif-viewer/src/version.js +++ /dev/null @@ -1 +0,0 @@ -export default '0.0.20'; diff --git a/Packages-react/ohif-viewer/yarn.lock b/Packages-react/ohif-viewer/yarn.lock deleted file mode 100644 index 4b1dc54be..000000000 --- a/Packages-react/ohif-viewer/yarn.lock +++ /dev/null @@ -1,14033 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@7.0.0", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0-beta.35": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" - integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/core@7.2.2", "@babel/core@>=7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.2.2": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.2.tgz#07adba6dde27bb5ad8d8672f15fde3e08184a687" - integrity sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.2.2" - "@babel/helpers" "^7.2.0" - "@babel/parser" "^7.2.2" - "@babel/template" "^7.2.2" - "@babel/traverse" "^7.2.2" - "@babel/types" "^7.2.2" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.10" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.2.2": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.3.0.tgz#f663838cd7b542366de3aa608a657b8ccb2a99eb" - integrity sha512-dZTwMvTgWfhmibq4V9X+LMf6Bgl7zAodRn9PvcPdhlzFMbvUutx74dbEv7Atz3ToeEpevYEJtAwfxq/bDCzHWg== - dependencies: - "@babel/types" "^7.3.0" - jsesc "^2.5.1" - lodash "^4.17.10" - source-map "^0.5.0" - trim-right "^1.0.1" - -"@babel/helper-annotate-as-pure@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" - integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" - integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-builder-react-jsx@^7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" - integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw== - dependencies: - "@babel/types" "^7.3.0" - esutils "^2.0.0" - -"@babel/helper-call-delegate@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz#6a957f105f37755e8645343d3038a22e1449cc4a" - integrity sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ== - dependencies: - "@babel/helper-hoist-variables" "^7.0.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-create-class-features-plugin@^7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.3.0.tgz#2b01a81b3adc2b1287f9ee193688ef8dc71e718f" - integrity sha512-DUsQNS2CGLZZ7I3W3fvh0YpPDd6BuWJlDl+qmZZpABZHza2ErE3LxtEzLJFHFC1ZwtlAXvHhbFYbtM5o5B0WBw== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-member-expression-to-functions" "^7.0.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.2.3" - -"@babel/helper-define-map@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz#3b74caec329b3c80c116290887c0dd9ae468c20c" - integrity sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/types" "^7.0.0" - lodash "^4.17.10" - -"@babel/helper-explode-assignable-expression@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" - integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA== - dependencies: - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-function-name@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== - dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-hoist-variables@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz#46adc4c5e758645ae7a45deb92bab0918c23bb88" - integrity sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-member-expression-to-functions@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" - integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-module-imports@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" - integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-module-transforms@^7.1.0": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz#ab2f8e8d231409f8370c883d20c335190284b963" - integrity sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.0.0" - "@babel/template" "^7.2.2" - "@babel/types" "^7.2.2" - lodash "^4.17.10" - -"@babel/helper-optimise-call-expression@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" - integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-plugin-utils@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== - -"@babel/helper-regex@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27" - integrity sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg== - dependencies: - lodash "^4.17.10" - -"@babel/helper-remap-async-to-generator@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" - integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-wrap-function" "^7.1.0" - "@babel/template" "^7.1.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.2.3": - version "7.2.3" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz#19970020cf22677d62b3a689561dbd9644d8c5e5" - integrity sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.0.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.2.3" - "@babel/types" "^7.0.0" - -"@babel/helper-simple-access@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" - integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w== - dependencies: - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-split-export-declaration@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" - integrity sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-wrap-function@^7.1.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" - integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/template" "^7.1.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.2.0" - -"@babel/helpers@^7.2.0": - version "7.3.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.3.1.tgz#949eec9ea4b45d3210feb7dc1c22db664c9e44b9" - integrity sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA== - dependencies: - "@babel/template" "^7.1.2" - "@babel/traverse" "^7.1.5" - "@babel/types" "^7.3.0" - -"@babel/highlight@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" - integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.0.0", "@babel/parser@^7.2.2", "@babel/parser@^7.2.3": - version "7.3.1" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.3.1.tgz#8f4ffd45f779e6132780835ffa7a215fa0b2d181" - integrity sha512-ATz6yX/L8LEnC3dtLQnIx4ydcPxhLcoy9Vl6re00zb2w5lG6itY6Vhnr1KFRPq/FHNsgl/gh2mjNN20f9iJTTA== - -"@babel/plugin-external-helpers@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-external-helpers/-/plugin-external-helpers-7.2.0.tgz#7f4cb7dee651cd380d2034847d914288467a6be4" - integrity sha512-QFmtcCShFkyAsNtdCM3lJPmRe1iB+vPZymlB4LnDIKEBj2yKQLQKtoxXxJ8ePT5fwMl4QGg303p4mB0UsSI2/g== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-proposal-async-generator-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" - integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.1.0" - "@babel/plugin-syntax-async-generators" "^7.2.0" - -"@babel/plugin-proposal-class-properties@7.3.0", "@babel/plugin-proposal-class-properties@^7.2.3": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.3.0.tgz#272636bc0fa19a0bc46e601ec78136a173ea36cd" - integrity sha512-wNHxLkEKTQ2ay0tnsam2z7fGZUi+05ziDJflEt3AZTP3oXLKHJp9HqhfroB/vdMvt3sda9fAbq7FsG8QPDrZBg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.3.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-proposal-decorators@7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.3.0.tgz#637ba075fa780b1f75d08186e8fb4357d03a72a7" - integrity sha512-3W/oCUmsO43FmZIqermmq6TKaRSYhmh/vybPfVFwQWdSb8xwki38uAIvknCRzuyHRuYfCYmJzL9or1v0AffPjg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.3.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-decorators" "^7.2.0" - -"@babel/plugin-proposal-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" - integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - -"@babel/plugin-proposal-object-rest-spread@7.3.2": - version "7.3.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.2.tgz#6d1859882d4d778578e41f82cc5d7bf3d5daf6c1" - integrity sha512-DjeMS+J2+lpANkYLLO+m6GjoTMygYglKmRe6cDTbFv3L9i6mmiE8fe6B8MtCSLZpVXscD5kn7s6SgtHrDoBWoA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - -"@babel/plugin-proposal-object-rest-spread@^7.3.1": - version "7.3.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.1.tgz#f69fb6a1ea6a4e1c503994a91d9cf76f3c4b36e8" - integrity sha512-Nmmv1+3LqxJu/V5jU9vJmxR/KIRWFk2qLHmbB56yRRRFhlaSuOVXscX3gUmhaKgUhzA3otOHVubbIEVYsZ0eZg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - -"@babel/plugin-proposal-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" - integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - -"@babel/plugin-proposal-unicode-property-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz#abe7281fe46c95ddc143a65e5358647792039520" - integrity sha512-LvRVYb7kikuOtIoUeWTkOxQEV1kYvL5B6U3iWEGCzPNRus1MzJweFqORTj+0jkxozkTSYNJozPOddxmqdqsRpw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.2.0" - -"@babel/plugin-syntax-async-generators@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" - integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-decorators@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz#c50b1b957dcc69e4b1127b65e1c33eef61570c1b" - integrity sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-dynamic-import@7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612" - integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-flow@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz#a765f061f803bc48f240c26f8747faf97c26bf7c" - integrity sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" - integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-jsx@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" - integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-object-rest-spread@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" - integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" - integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-typescript@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.2.0.tgz#55d240536bd314dcbbec70fd949c5cabaed1de29" - integrity sha512-WhKr6yu6yGpGcNMVgIBuI9MkredpVc7Y3YR4UzEZmDztHoL6wV56YBHLhWnjO1EvId1B32HrD3DRFc+zSoKI1g== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-arrow-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" - integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-async-to-generator@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz#68b8a438663e88519e65b776f8938f3445b1a2ff" - integrity sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.1.0" - -"@babel/plugin-transform-block-scoped-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" - integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-block-scoping@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz#f17c49d91eedbcdf5dd50597d16f5f2f770132d4" - integrity sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.10" - -"@babel/plugin-transform-classes@7.2.2", "@babel/plugin-transform-classes@^7.2.0": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz#6c90542f210ee975aa2aa8c8b5af7fa73a126953" - integrity sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.1.0" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.0.0" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" - integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-destructuring@7.3.2": - version "7.3.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.3.2.tgz#f2f5520be055ba1c38c41c0e094d8a461dd78f2d" - integrity sha512-Lrj/u53Ufqxl/sGxyjsJ2XNtNuEjDyjpqdhMNh5aZ+XFOdThL46KBj27Uem4ggoezSYBxKWAil6Hu8HtwqesYw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-destructuring@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz#e75269b4b7889ec3a332cd0d0c8cff8fed0dc6f3" - integrity sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-dotall-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz#f0aabb93d120a8ac61e925ea0ba440812dbe0e49" - integrity sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.1.3" - -"@babel/plugin-transform-duplicate-keys@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3" - integrity sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-exponentiation-operator@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" - integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-flow-strip-types@7.2.3": - version "7.2.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz#e3ac2a594948454e7431c7db33e1d02d51b5cd69" - integrity sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-flow" "^7.2.0" - -"@babel/plugin-transform-for-of@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz#ab7468befa80f764bb03d3cb5eef8cc998e1cad9" - integrity sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-function-name@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz#f7930362829ff99a3174c39f0afcc024ef59731a" - integrity sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" - integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-modules-amd@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6" - integrity sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw== - dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-modules-commonjs@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz#c4f1933f5991d5145e9cfad1dfd848ea1727f404" - integrity sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ== - dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - -"@babel/plugin-transform-modules-systemjs@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz#912bfe9e5ff982924c81d0937c92d24994bb9068" - integrity sha512-aYJwpAhoK9a+1+O625WIjvMY11wkB/ok0WClVwmeo3mCjcNRjt+/8gHWrB5i+00mUju0gWsBkQnPpdvQ7PImmQ== - dependencies: - "@babel/helper-hoist-variables" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-modules-umd@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" - integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw== - dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.3.0.tgz#140b52985b2d6ef0cb092ef3b29502b990f9cd50" - integrity sha512-NxIoNVhk9ZxS+9lSoAQ/LM0V2UEvARLttEHUrRDGKFaAxOYQcrkN/nLRE+BbbicCAvZPl7wMP0X60HsHE5DtQw== - dependencies: - regexp-tree "^0.1.0" - -"@babel/plugin-transform-new-target@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz#ae8fbd89517fa7892d20e6564e641e8770c3aa4a" - integrity sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-object-super@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598" - integrity sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.1.0" - -"@babel/plugin-transform-parameters@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz#0d5ad15dc805e2ea866df4dd6682bfe76d1408c2" - integrity sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA== - dependencies: - "@babel/helper-call-delegate" "^7.1.0" - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-react-constant-elements@7.2.0", "@babel/plugin-transform-react-constant-elements@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.2.0.tgz#ed602dc2d8bff2f0cb1a5ce29263dbdec40779f7" - integrity sha512-YYQFg6giRFMsZPKUM9v+VcHOdfSQdz9jHCx3akAi3UYgyjndmdYGSXylQ/V+HswQt4fL8IklchD9HTsaOCrWQQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-react-display-name@7.2.0", "@babel/plugin-transform-react-display-name@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0" - integrity sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-react-jsx-self@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba" - integrity sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz#20c8c60f0140f5dd3cd63418d452801cf3f7180f" - integrity sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@babel/plugin-transform-react-jsx@^7.0.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" - integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg== - dependencies: - "@babel/helper-builder-react-jsx" "^7.3.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@babel/plugin-transform-regenerator@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz#5b41686b4ed40bef874d7ed6a84bdd849c13e0c1" - integrity sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw== - dependencies: - regenerator-transform "^0.13.3" - -"@babel/plugin-transform-runtime@7.2.0", "@babel/plugin-transform-runtime@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz#566bc43f7d0aedc880eaddbd29168d0f248966ea" - integrity sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - resolve "^1.8.1" - semver "^5.5.1" - -"@babel/plugin-transform-shorthand-properties@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" - integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-spread@^7.2.0": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" - integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-sticky-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" - integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - -"@babel/plugin-transform-template-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz#d87ed01b8eaac7a92473f608c97c089de2ba1e5b" - integrity sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-typeof-symbol@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" - integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-typescript@^7.1.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.2.0.tgz#bce7c06300434de6a860ae8acf6a442ef74a99d1" - integrity sha512-EnI7i2/gJ7ZNr2MuyvN2Hu+BHJENlxWte5XygPvfj/MbvtOkWor9zcnHpMMQL2YYaaCcqtIvJUyJ7QVfoGs7ew== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-typescript" "^7.2.0" - -"@babel/plugin-transform-unicode-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz#4eb8db16f972f8abb5062c161b8b115546ade08b" - integrity sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.1.3" - -"@babel/polyfill@^7.2.5": - version "7.2.5" - resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.2.5.tgz#6c54b964f71ad27edddc567d065e57e87ed7fa7d" - integrity sha512-8Y/t3MWThtMLYr0YNC/Q76tqN1w30+b0uQMeFUYauG2UGTR19zyUtFrAzT23zNtBxPp+LbE5E/nwV/q/r3y6ug== - dependencies: - core-js "^2.5.7" - regenerator-runtime "^0.12.0" - -"@babel/preset-env@7.3.1", "@babel/preset-env@^7.1.6", "@babel/preset-env@^7.2.3": - version "7.3.1" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.3.1.tgz#389e8ca6b17ae67aaf9a2111665030be923515db" - integrity sha512-FHKrD6Dxf30e8xgHQO0zJZpUPfVZg+Xwgz5/RdSWCbza9QLNk4Qbp40ctRoqDxml3O8RMzB1DU55SXeDG6PqHQ== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.2.0" - "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.3.1" - "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.2.0" - "@babel/plugin-syntax-async-generators" "^7.2.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.2.0" - "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.2.0" - "@babel/plugin-transform-classes" "^7.2.0" - "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.2.0" - "@babel/plugin-transform-dotall-regex" "^7.2.0" - "@babel/plugin-transform-duplicate-keys" "^7.2.0" - "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.2.0" - "@babel/plugin-transform-function-name" "^7.2.0" - "@babel/plugin-transform-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.2.0" - "@babel/plugin-transform-modules-commonjs" "^7.2.0" - "@babel/plugin-transform-modules-systemjs" "^7.2.0" - "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.3.0" - "@babel/plugin-transform-new-target" "^7.0.0" - "@babel/plugin-transform-object-super" "^7.2.0" - "@babel/plugin-transform-parameters" "^7.2.0" - "@babel/plugin-transform-regenerator" "^7.0.0" - "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.2.0" - "@babel/plugin-transform-sticky-regex" "^7.2.0" - "@babel/plugin-transform-template-literals" "^7.2.0" - "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.2.0" - browserslist "^4.3.4" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.3.0" - -"@babel/preset-react@7.0.0", "@babel/preset-react@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" - integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.0.0" - "@babel/plugin-transform-react-jsx" "^7.0.0" - "@babel/plugin-transform-react-jsx-self" "^7.0.0" - "@babel/plugin-transform-react-jsx-source" "^7.0.0" - -"@babel/preset-typescript@7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.1.0.tgz#49ad6e2084ff0bfb5f1f7fb3b5e76c434d442c7f" - integrity sha512-LYveByuF9AOM8WrsNne5+N79k1YxjNB6gmpCQsnuSBAcV8QUeB+ZUxQzL7Rz7HksPbahymKkq2qBR+o36ggFZA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-typescript" "^7.1.0" - -"@babel/runtime@7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0.tgz#adeb78fedfc855aa05bc041640f3f6f98e85424c" - integrity sha512-7hGhzlcmg01CvH1EHdSPVXYX1aJ8KCEyz6I9xYIi/asDtzBPMyMhVibhM/K6g/5qnKBwjZtp10bNZIEFTRW1MA== - dependencies: - regenerator-runtime "^0.12.0" - -"@babel/runtime@7.1.2": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.1.2.tgz#81c89935f4647706fc54541145e6b4ecfef4b8e3" - integrity sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg== - dependencies: - regenerator-runtime "^0.12.0" - -"@babel/runtime@7.3.1", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1": - version "7.3.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.1.tgz#574b03e8e8a9898eaf4a872a92ea20b7846f6f2a" - integrity sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA== - dependencies: - regenerator-runtime "^0.12.0" - -"@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907" - integrity sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.2.2" - "@babel/types" "^7.2.2" - -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.1.5", "@babel/traverse@^7.2.2", "@babel/traverse@^7.2.3": - version "7.2.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.2.3.tgz#7ff50cefa9c7c0bd2d81231fdac122f3957748d8" - integrity sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.2.2" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.0.0" - "@babel/parser" "^7.2.3" - "@babel/types" "^7.2.2" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.10" - -"@babel/types@^7.0.0", "@babel/types@^7.1.6", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.3.0.tgz#61dc0b336a93badc02bf5f69c4cd8e1353f2ffc0" - integrity sha512-QkFPw68QqWU1/RVPyBe8SO7lXbPfjtqAxRYQKpFpaB8yMq7X2qAqfwK5LKoQufEkSmO5NQ70O6Kc3Afk03RwXw== - dependencies: - esutils "^2.0.2" - lodash "^4.17.10" - to-fast-properties "^2.0.0" - -"@csstools/convert-colors@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" - integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== - -"@iamstarkov/listr-update-renderer@0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@iamstarkov/listr-update-renderer/-/listr-update-renderer-0.4.1.tgz#d7c48092a2dcf90fd672b6c8b458649cb350c77e" - integrity sha512-IJyxQWsYDEkf8C8QthBn5N8tIUR9V9je6j3sMIpAkonaadjbvxmRC6RAhpa3RKxndhNnU2M6iNbtJwd7usQYIA== - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - elegant-spinner "^1.0.1" - figures "^1.7.0" - indent-string "^3.0.0" - log-symbols "^1.0.2" - log-update "^2.3.0" - strip-ansi "^3.0.1" - -"@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== - -"@samverschueren/stream-to-observable@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f" - integrity sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg== - dependencies: - any-observable "^0.3.0" - -"@svgr/babel-plugin-add-jsx-attribute@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.0.0.tgz#5acf239cd2747b1a36ec7e708de05d914cb9b948" - integrity sha512-PDvHV2WhSGCSExp+eIMEKxYd1Q0SBvXLb4gAOXbdh0dswHFFgXWzxGjCmx5aln4qGrhkuN81khzYzR/44DYaMA== - -"@svgr/babel-plugin-remove-jsx-attribute@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.0.3.tgz#32564b5c4d761b51e34492b6a4894196c0f75803" - integrity sha512-fpG7AzzJxz1tc8ITYS1jCAt1cq4ydK2R+sx//BMTJgvOjfk91M5GiqFolP8aYTzLcum92IGNAVFS3zEcucOQEA== - -"@svgr/babel-plugin-remove-jsx-empty-expression@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.0.0.tgz#0b59338c00671cf8137eb823bd84a3efac686502" - integrity sha512-nBGVl6LzXTdk1c6w3rMWcjq3mYGz+syWc5b3CdqAiEeY/nswYDoW/cnGUKKC8ofD6/LaG+G/IUnfv3jKoHz43A== - -"@svgr/babel-plugin-replace-jsx-attribute-value@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.0.0.tgz#91785643540c2300f3d89e515b37af9b5ce4e695" - integrity sha512-ejQqpTfORy6TT5w1x/2IQkscgfbtNFjitcFDu63GRz7qfhVTYhMdiJvJ1+Aw9hmv9bO4tXThGQDr1IF5lIvgew== - -"@svgr/babel-plugin-svg-dynamic-title@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.0.0.tgz#eb8d50b80ba0a26f9b27c7268e2a803d90f1bc9e" - integrity sha512-OE6GT9WRKWqd0Dk6NJ5TYXTF5OxAyn74+c/D+gTLbCXnK2A0luEXuwMbe5zR5Px4A/jow2OeEBboTENl4vtuQg== - -"@svgr/babel-plugin-svg-em-dimensions@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.0.0.tgz#0de3972c46ff1960bed765646037a3a7f9e1da3d" - integrity sha512-QeDRGHXfjYEBTXxV0TsjWmepsL9Up5BOOlMFD557x2JrSiVGUn2myNxHIrHiVW0+nnWnaDcrkjg/jUvbJ5nKCg== - -"@svgr/babel-plugin-transform-react-native-svg@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.0.0.tgz#5e8ecc2a9870ae05fb1e553b1fe9c6b5853a1c66" - integrity sha512-c6eE6ovs14k6dmHKoy26h7iRFhjWNnwYVrDWIPfouVm/gcLIeMw/ME4i91O5LEfaDHs6kTRCcVpbAVbNULZOtw== - -"@svgr/babel-plugin-transform-svg-component@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.1.0.tgz#257159e28a21ac20988b1eaa5f59d4724f37fdaa" - integrity sha512-uulxdx2p3nrM2BkrtADQHK8IhEzCxdUILfC/ddvFC8tlFWuKiA3ych8C6q0ulyQHq34/3hzz+3rmUbhWF9redg== - -"@svgr/babel-preset@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.1.0.tgz#f6fa8ad90064b85dd7a3566a70b7006e789e8385" - integrity sha512-Nat5aJ3VO3LE8KfMyIbd3sGWnaWPiFCeWIdEV+lalga0To/tpmzsnPDdnrR9fNYhvSSLJbwhU/lrLYt9wXY0ZQ== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^4.0.0" - "@svgr/babel-plugin-remove-jsx-attribute" "^4.0.3" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.0.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.0.0" - "@svgr/babel-plugin-svg-dynamic-title" "^4.0.0" - "@svgr/babel-plugin-svg-em-dimensions" "^4.0.0" - "@svgr/babel-plugin-transform-react-native-svg" "^4.0.0" - "@svgr/babel-plugin-transform-svg-component" "^4.1.0" - -"@svgr/core@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.1.0.tgz#4f8ad24fb4ab25c787c12a6bbb511c6430558f83" - integrity sha512-ahv3lvOKuUAcs0KbQ4Jr5fT5pGHhye4ew8jZVS4lw8IQdWrbG/o3rkpgxCPREBk7PShmEoGQpteeXVwp2yExuQ== - dependencies: - "@svgr/plugin-jsx" "^4.1.0" - camelcase "^5.0.0" - cosmiconfig "^5.0.7" - -"@svgr/hast-util-to-babel-ast@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.1.0.tgz#a1eb0f47059769896f759f47995b636fce5d9fa4" - integrity sha512-tdkEZHmigYYiVhIEzycAMKN5aUSpddUnjr6v7bPwaNTFuSyqGUrpCg1JlIGi7PUaaJVHbn6whGQMGUpKOwT5nw== - dependencies: - "@babel/types" "^7.1.6" - -"@svgr/plugin-jsx@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.1.0.tgz#4045e9cc0589374a6c182a1217c80e6734b5cbec" - integrity sha512-xwu+9TGziuN7cu7p+vhCw2EJIfv8iDNMzn2dR0C7fBYc8q+SRtYTcg4Uyn8ZWh6DM+IZOlVrS02VEMT0FQzXSA== - dependencies: - "@babel/core" "^7.1.6" - "@svgr/babel-preset" "^4.1.0" - "@svgr/hast-util-to-babel-ast" "^4.1.0" - rehype-parse "^6.0.0" - unified "^7.0.2" - vfile "^3.0.1" - -"@svgr/plugin-svgo@^4.0.3": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.0.3.tgz#a07ea0a736c26fa3a5440fe8e222e2e887764cab" - integrity sha512-MgL1CrlxvNe+1tQjPUc2bIJtsdJOIE5arbHlPgW+XVWGjMZTUcyNNP8R7/IjM2Iyrc98UJY+WYiiWHrinnY9ZQ== - dependencies: - cosmiconfig "^5.0.7" - merge-deep "^3.0.2" - svgo "^1.1.1" - -"@svgr/rollup@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@svgr/rollup/-/rollup-4.1.0.tgz#fd1be5eef562c31983a58101bf4528084d5094d0" - integrity sha512-7+smsooCaAxqc1CHxtHMxVj0uvn/rwETXj2tRqmo+IOklfS+lSYEKT6Mldsj0vDhM+CX9F6xIiLgIuA2hk+wvQ== - dependencies: - "@babel/core" "^7.1.6" - "@babel/plugin-transform-react-constant-elements" "^7.0.0" - "@babel/preset-env" "^7.1.6" - "@babel/preset-react" "^7.0.0" - "@svgr/core" "^4.1.0" - "@svgr/plugin-jsx" "^4.1.0" - "@svgr/plugin-svgo" "^4.0.3" - rollup-pluginutils "^2.3.3" - -"@svgr/webpack@4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.1.0.tgz#20c88f32f731c7b1d4711045b2b993887d731c28" - integrity sha512-d09ehQWqLMywP/PT/5JvXwPskPK9QCXUjiSkAHehreB381qExXf5JFCBWhfEyNonRbkIneCeYM99w+Ud48YIQQ== - dependencies: - "@babel/core" "^7.1.6" - "@babel/plugin-transform-react-constant-elements" "^7.0.0" - "@babel/preset-env" "^7.1.6" - "@babel/preset-react" "^7.0.0" - "@svgr/core" "^4.1.0" - "@svgr/plugin-jsx" "^4.1.0" - "@svgr/plugin-svgo" "^4.0.3" - loader-utils "^1.1.0" - -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - -"@types/node@*": - version "10.12.19" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.19.tgz#ca1018c26be01f07e66ac7fefbeb6407e4490c61" - integrity sha512-2NVovndCjJQj6fUUn9jCgpP4WSqr+u1SoUZMZyJkhGeBFsm6dE46l31S7lPUYt9uQ28XI+ibrJA1f5XyH5HNtA== - -"@types/q@^1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.1.tgz#48fd98c1561fe718b61733daed46ff115b496e18" - integrity sha512-eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA== - -"@types/tapable@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.2.tgz#e13182e1b69871a422d7863e11a4a6f5b814a4bd" - integrity sha512-42zEJkBpNfMEAvWR5WlwtTH22oDzcMjFsL9gDGExwF8X8WvAiw7Vwop7hPw03QT8TKfec83LwbHj6SvpqM4ELQ== - -"@types/unist@*", "@types/unist@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.2.tgz#5dc0a7f76809b7518c0df58689cd16a19bd751c6" - integrity sha512-iHI60IbyfQilNubmxsq4zqSjdynlmc2Q/QvH9kjzg9+CCYVVzq1O6tc7VBzSygIwnmOt07w80IG6HDQvjv3Liw== - -"@types/vfile-message@*": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/vfile-message/-/vfile-message-1.0.1.tgz#e1e9895cc6b36c462d4244e64e6d0b6eaf65355a" - integrity sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA== - dependencies: - "@types/node" "*" - "@types/unist" "*" - -"@types/vfile@^3.0.0": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/vfile/-/vfile-3.0.2.tgz#19c18cd232df11ce6fa6ad80259bc86c366b09b9" - integrity sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw== - dependencies: - "@types/node" "*" - "@types/unist" "*" - "@types/vfile-message" "*" - -"@webassemblyjs/ast@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace" - integrity sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA== - dependencies: - "@webassemblyjs/helper-module-context" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/wast-parser" "1.7.11" - -"@webassemblyjs/floating-point-hex-parser@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz#a69f0af6502eb9a3c045555b1a6129d3d3f2e313" - integrity sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg== - -"@webassemblyjs/helper-api-error@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz#c7b6bb8105f84039511a2b39ce494f193818a32a" - integrity sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg== - -"@webassemblyjs/helper-buffer@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz#3122d48dcc6c9456ed982debe16c8f37101df39b" - integrity sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w== - -"@webassemblyjs/helper-code-frame@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz#cf8f106e746662a0da29bdef635fcd3d1248364b" - integrity sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw== - dependencies: - "@webassemblyjs/wast-printer" "1.7.11" - -"@webassemblyjs/helper-fsm@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz#df38882a624080d03f7503f93e3f17ac5ac01181" - integrity sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A== - -"@webassemblyjs/helper-module-context@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz#d874d722e51e62ac202476935d649c802fa0e209" - integrity sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg== - -"@webassemblyjs/helper-wasm-bytecode@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz#dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06" - integrity sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ== - -"@webassemblyjs/helper-wasm-section@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz#9c9ac41ecf9fbcfffc96f6d2675e2de33811e68a" - integrity sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-buffer" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/wasm-gen" "1.7.11" - -"@webassemblyjs/ieee754@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz#c95839eb63757a31880aaec7b6512d4191ac640b" - integrity sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.11.tgz#d7267a1ee9c4594fd3f7e37298818ec65687db63" - integrity sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw== - dependencies: - "@xtuc/long" "4.2.1" - -"@webassemblyjs/utf8@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.11.tgz#06d7218ea9fdc94a6793aa92208160db3d26ee82" - integrity sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA== - -"@webassemblyjs/wasm-edit@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz#8c74ca474d4f951d01dbae9bd70814ee22a82005" - integrity sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-buffer" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/helper-wasm-section" "1.7.11" - "@webassemblyjs/wasm-gen" "1.7.11" - "@webassemblyjs/wasm-opt" "1.7.11" - "@webassemblyjs/wasm-parser" "1.7.11" - "@webassemblyjs/wast-printer" "1.7.11" - -"@webassemblyjs/wasm-gen@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz#9bbba942f22375686a6fb759afcd7ac9c45da1a8" - integrity sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/ieee754" "1.7.11" - "@webassemblyjs/leb128" "1.7.11" - "@webassemblyjs/utf8" "1.7.11" - -"@webassemblyjs/wasm-opt@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz#b331e8e7cef8f8e2f007d42c3a36a0580a7d6ca7" - integrity sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-buffer" "1.7.11" - "@webassemblyjs/wasm-gen" "1.7.11" - "@webassemblyjs/wasm-parser" "1.7.11" - -"@webassemblyjs/wasm-parser@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz#6e3d20fa6a3519f6b084ef9391ad58211efb0a1a" - integrity sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-api-error" "1.7.11" - "@webassemblyjs/helper-wasm-bytecode" "1.7.11" - "@webassemblyjs/ieee754" "1.7.11" - "@webassemblyjs/leb128" "1.7.11" - "@webassemblyjs/utf8" "1.7.11" - -"@webassemblyjs/wast-parser@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz#25bd117562ca8c002720ff8116ef9072d9ca869c" - integrity sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/floating-point-hex-parser" "1.7.11" - "@webassemblyjs/helper-api-error" "1.7.11" - "@webassemblyjs/helper-code-frame" "1.7.11" - "@webassemblyjs/helper-fsm" "1.7.11" - "@xtuc/long" "4.2.1" - -"@webassemblyjs/wast-printer@1.7.11": - version "1.7.11" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz#c4245b6de242cb50a2cc950174fdbf65c78d7813" - integrity sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/wast-parser" "1.7.11" - "@xtuc/long" "4.2.1" - -"@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.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8" - integrity sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g== - -JSONStream@^1.3.2: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abab@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" - integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w== - -abbrev@1, abbrev@~1.1.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== - -abstract-leveldown@~0.12.0, abstract-leveldown@~0.12.1: - version "0.12.4" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz#29e18e632e60e4e221d5810247852a63d7b2e410" - integrity sha1-KeGOYy5g5OIh1YECR4UqY9ey5BA= - dependencies: - xtend "~3.0.0" - -accepts@~1.3.4, accepts@~1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" - integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= - dependencies: - mime-types "~2.1.18" - negotiator "0.6.1" - -acorn-dynamic-import@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" - integrity sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg== - dependencies: - acorn "^5.0.0" - -acorn-globals@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.0.tgz#e3b6f8da3c1552a95ae627571f7dd6923bb54103" - integrity sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw== - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - -acorn-jsx@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" - integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== - -acorn-walk@^6.0.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" - integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw== - -acorn@^5.0.0, acorn@^5.5.3, acorn@^5.6.2: - version "5.7.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" - integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== - -acorn@^6.0.1, acorn@^6.0.2: - version "6.0.6" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.6.tgz#cd75181670d5b99bdb1b1c993941d3a239ab1f56" - integrity sha512-5M3G/A4uBSMIlfJ+h9W125vJvPFH/zirISsW5qfxF5YzEvXJCtolLoQvM5yZft0DvMcUrPGKPOlgEu55I6iUtA== - -acorn@^6.0.5: - version "6.1.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.0.tgz#b0a3be31752c97a0f7013c5f4903b71a05db6818" - integrity sha512-MW/FjM+IvU9CgBzjO3UIPCE2pyEwUsoFl+VGdczOPEdxfGFjuKny/gN54mOuX7Qxmb9Rg9MCn2oKiSUeW+pjrw== - -address@1.0.3, address@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9" - integrity sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg== - -agent-base@4, agent-base@^4.1.0, agent-base@~4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" - integrity sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg== - dependencies: - es6-promisify "^5.0.0" - -agentkeepalive@^3.3.0, agentkeepalive@^3.4.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67" - integrity sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ== - dependencies: - humanize-ms "^1.2.1" - -airbnb-prop-types@^2.10.0, airbnb-prop-types@^2.8.1: - version "2.12.0" - resolved "https://registry.yarnpkg.com/airbnb-prop-types/-/airbnb-prop-types-2.12.0.tgz#67b30a5ba4dda9b9e70a480f85150a2ccd7fa132" - integrity sha512-EJLaLf0Rjg+AouOgIBlO1rerwgwu3Y0dwxp7BWzUemY9J1UPO9XOlMmOXzpaHW9O0RzpofiThVl0sIToHtLPAQ== - dependencies: - array.prototype.find "^2.0.4" - function.prototype.name "^1.1.0" - has "^1.0.3" - is-regex "^1.0.4" - object-is "^1.0.1" - object.assign "^4.1.0" - object.entries "^1.1.0" - prop-types "^15.6.2" - prop-types-exact "^1.2.0" - react-is "^16.8.1" - -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: - version "3.3.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.3.0.tgz#cb6499da9b83177af8bc1732b2f0a1a1a3aacf8c" - integrity sha512-CMzN9S62ZOO4sA/mJZIO4S++ZM7KFWzH3PPWkveLhy4OZ9i1/VatgwWMD46w/XbGCBy7Ye0gCk+Za6mmyfKK7g== - -ajv@^6.1.0, ajv@^6.5.3, ajv@^6.5.5, ajv@^6.6.1: - version "6.7.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.7.0.tgz#e3ce7bb372d6577bb1839f1dfdfcbf5ad2948d96" - integrity sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.9.1: - version "6.9.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.9.1.tgz#a4d3683d74abc5670e75f0b16520f70a20ea8dc1" - integrity sha512-XDN92U311aINL77ieWHmqCcNlwjoP5cHXDxIxbf2MaPYuCXOHS7gHH8jktxeK5omgd52XbSTX6a4Piwd1pQmzA== - dependencies: - fast-deep-equal "^2.0.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= - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= - -ansi-align@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" - integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= - dependencies: - string-width "^2.0.0" - -ansi-colors@^3.0.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" - integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== - -ansi-escapes@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -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, 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: - version "4.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.0.0.tgz#70de791edf021404c3fd615aa89118ae0432e5a9" - integrity sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w== - -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" - -ansicolors@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" - integrity sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk= - -ansistyles@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ansistyles/-/ansistyles-0.1.3.tgz#5de60415bda071bb37127854c864f41b23254539" - integrity sha1-XeYEFb2gcbs3EnhUyGT0GyMlRTk= - -any-observable@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" - integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog== - -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" - -append-transform@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" - integrity sha1-126/jKlNJ24keja61EpLdKthGZE= - dependencies: - default-require-extensions "^1.0.0" - -aproba@^1.0.3, aproba@^1.1.1, aproba@^1.1.2, aproba@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -"aproba@^1.1.2 || 2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - -archy@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -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" - -aria-query@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" - integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= - dependencies: - ast-types-flow "0.0.7" - commander "^2.11.0" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= - dependencies: - arr-flatten "^1.0.1" - -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.0.1, 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-filter@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" - integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw= - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= - -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-includes@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" - integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" - -array-map@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" - integrity sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI= - -array-reduce@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" - integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys= - -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.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= - -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= - -array.prototype.find@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.4.tgz#556a5c5362c08648323ddaeb9de9d14bc1864c90" - integrity sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" - -array.prototype.flat@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz#812db8f02cad24d3fab65dd67eabe3b8903494a4" - integrity sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw== - dependencies: - define-properties "^1.1.2" - es-abstract "^1.10.0" - function-bind "^1.1.1" - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -asap@^2.0.0, asap@^2.0.6, asap@~2.0.3, asap@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= - -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.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.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= - dependencies: - 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= - -ast-types-flow@0.0.7, ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= - -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.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" - integrity sha1-GdOGodntxufByF04iu28xW0zYC0= - -async-limiter@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" - integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== - -async@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= - -async@^2.1.4, async@^2.5.0, async@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" - integrity sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ== - dependencies: - lodash "^4.17.10" - -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.1: - 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.0.0, autoprefixer@^9.4.2: - version "9.4.7" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.4.7.tgz#f997994f9a810eae47b38fa6d8a119772051c4ff" - integrity sha512-qS5wW6aXHkm53Y4z73tFGsUhmZu4aMPV9iHXYlF0c/wxjknXNHuj/1cIQb+6YH692DbJGGWcckAXX+VxKvahMA== - dependencies: - browserslist "^4.4.1" - caniuse-lite "^1.0.30000932" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.14" - postcss-value-parser "^3.3.1" - -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.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== - -axobject-query@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" - integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww== - dependencies: - ast-types-flow "0.0.7" - -babel-code-frame@^6.22.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-core@^6.0.0, babel-core@^6.26.0: - version "6.26.3" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" - integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== - dependencies: - 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" - -babel-eslint@9.0.0, babel-eslint@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-9.0.0.tgz#7d9445f81ed9f60aff38115f838970df9f2b6220" - integrity sha512-itv1MwE3TMbY0QtNfeL7wzak1mV47Uy+n6HtSOO4Xd7rvmO+tsGQSgyOEEgo6Y2vHZKZphaoelNeSVj4vkLA1g== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - eslint-scope "3.7.1" - eslint-visitor-keys "^1.0.0" - -babel-extract-comments@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21" - integrity sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ== - dependencies: - babylon "^6.18.0" - -babel-generator@^6.18.0, babel-generator@^6.26.0: - version "6.26.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" - integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== - dependencies: - 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" - -babel-helpers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" - integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-jest@23.6.0, babel-jest@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.6.0.tgz#a644232366557a2240a0c083da6b25786185a2f1" - integrity sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew== - dependencies: - babel-plugin-istanbul "^4.1.6" - babel-preset-jest "^23.2.0" - -babel-loader@8.0.5: - version "8.0.5" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.5.tgz#225322d7509c2157655840bba52e46b6c2f2fe33" - integrity sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw== - dependencies: - find-cache-dir "^2.0.0" - loader-utils "^1.0.2" - mkdirp "^0.5.1" - util.promisify "^1.0.0" - -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.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.2.0.tgz#c0adfb07d95f4a4495e9aaac6ec386c4d7c2524e" - integrity sha512-fP899ELUnTaBcIzmrW7nniyqqdYWrWuJUyPWHxFa/c7r7hS6KC8FscNfLlBNIoPSc55kYMGEEKjPjJGCLbE1qA== - dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^4.1.6: - version "4.1.6" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" - integrity sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ== - dependencies: - babel-plugin-syntax-object-rest-spread "^6.13.0" - find-up "^2.1.0" - istanbul-lib-instrument "^1.10.1" - test-exclude "^4.2.1" - -babel-plugin-jest-hoist@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167" - integrity sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc= - -babel-plugin-macros@2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.5.0.tgz#01f4d3b50ed567a67b80a30b9da066e94f4097b6" - integrity sha512-BWw0lD0kVZAXRD3Od1kMrdmfudqzDzYv2qrN3l2ISR1HVp1EgLKfbOrYV9xmY5k3qx3RIu5uPAUZZZHpo0o5Iw== - dependencies: - cosmiconfig "^5.0.5" - resolve "^1.8.1" - -babel-plugin-named-asset-import@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.1.tgz#5ec13ec446d0a1e5bb6c57a1f94c9cdedb0c50d6" - integrity sha512-vzZlo+yEB5YHqI6CRRTDojeT43J3Wf3C/MVkZW5UlbSeIIVUYRKtxaFT2L/VTv9mbIyatCW39+9g/SZolvwRUQ== - -babel-plugin-syntax-object-rest-spread@^6.13.0, babel-plugin-syntax-object-rest-spread@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" - integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= - -babel-plugin-transform-object-rest-spread@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" - integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= - dependencies: - babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.26.0" - -babel-plugin-transform-react-remove-prop-types@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" - integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== - -babel-polyfill@>=6.9.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" - integrity sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM= - dependencies: - babel-runtime "^6.26.0" - core-js "^2.5.0" - regenerator-runtime "^0.10.5" - -babel-preset-jest@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz#8ec7a03a138f001a1a8fb1e8113652bf1a55da46" - integrity sha1-jsegOhOPABoaj7HoETZSvxpV2kY= - dependencies: - babel-plugin-jest-hoist "^23.2.0" - babel-plugin-syntax-object-rest-spread "^6.13.0" - -babel-preset-react-app@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-7.0.1.tgz#8dd7fef73fba124a6e140d245185ca657a943313" - integrity sha512-cic2V+GftWwt82XNMKGxvkFAVvuaBISy0/mzNLLPlALXXJxUvxJgVy2DI8HVk311oewJsmBiu/unE4wINUCvkg== - dependencies: - "@babel/core" "7.2.2" - "@babel/plugin-proposal-class-properties" "7.3.0" - "@babel/plugin-proposal-decorators" "7.3.0" - "@babel/plugin-proposal-object-rest-spread" "7.3.2" - "@babel/plugin-syntax-dynamic-import" "7.2.0" - "@babel/plugin-transform-classes" "7.2.2" - "@babel/plugin-transform-destructuring" "7.3.2" - "@babel/plugin-transform-flow-strip-types" "7.2.3" - "@babel/plugin-transform-react-constant-elements" "7.2.0" - "@babel/plugin-transform-react-display-name" "7.2.0" - "@babel/plugin-transform-runtime" "7.2.0" - "@babel/preset-env" "7.3.1" - "@babel/preset-react" "7.0.0" - "@babel/preset-typescript" "7.1.0" - "@babel/runtime" "7.3.1" - babel-loader "8.0.5" - babel-plugin-dynamic-import-node "2.2.0" - babel-plugin-macros "2.5.0" - babel-plugin-transform-react-remove-prop-types "0.4.24" - -babel-register@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" - integrity sha1-btAhFz4vy0htestFxgCahW9kcHE= - dependencies: - 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@^6.22.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.16.0, babel-template@^6.24.1, 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.0.0, babel-traverse@^6.18.0, 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.0.0, babel-types@^6.18.0, 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== - -bail@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.3.tgz#63cfb9ddbac829b02a3128cd53224be78e6c21a3" - integrity sha512-1X8CnjFVQ+a+KW36uBNMTU5s8+v5FzeqrP7hTG5aTb4aPreSbZJlhwPon9VKMuEVgV++JM+SQrALY3kr7eswdg== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base64-js@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" - integrity sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw== - -base64-js@^1.0.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" - integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== - -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@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.1" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.1.tgz#05a3b7784fbd72cfa3c22e56002ef99336516c48" - integrity sha512-+GUNvzHR4nRyGybQc2WpNJL4MJazMuvf92ueIyA0bIkPRwhhQu3IfZQ2PSoVPpCBJfmoSdOxu5rnotfFLlvYRQ== - dependencies: - bluebird "^3.5.1" - check-types "^7.3.0" - hoopy "^0.1.2" - tryer "^1.0.0" - -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== - -bin-links@^1.1.0, bin-links@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-1.1.2.tgz#fb74bd54bae6b7befc6c6221f25322ac830d9757" - integrity sha512-8eEHVgYP03nILphilltWjeIjMbKyJo3wvp9K816pHbhP301ismzw15mxAAEVQ/USUwcP++1uNrbERbp8lOA6Fg== - dependencies: - bluebird "^3.5.0" - cmd-shim "^2.0.2" - gentle-fs "^2.0.0" - graceful-fs "^4.1.11" - write-file-atomic "^2.3.0" - -binary-extensions@^1.0.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14" - integrity sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg== - -bl@~0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/bl/-/bl-0.8.2.tgz#c9b6bca08d1bc2ea00fc8afb4f1a5fd1e1c66e4e" - integrity sha1-yba8oI0bwuoA/Ir7Txpf0eHGbk4= - dependencies: - readable-stream "~1.0.26" - -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= - dependencies: - inherits "~2.0.0" - -bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@~3.5.1: - version "3.5.3" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" - integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw== - -blueimp-md5@2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.10.0.tgz#02f0843921f90dca14f5b8920a38593201d6964d" - integrity sha512-EkNUOi7tpV68TqjpiUz9D9NcT8um2+qtgntmMbi5UKssVX2m/2PLqotcric0RE63pB3HPN/fjf3cKHN2ufGSUQ== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== - -body-parser@1.18.3: - version "1.18.3" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" - integrity sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ= - dependencies: - bytes "3.0.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "~1.6.3" - iconv-lite "0.4.23" - on-finished "~2.3.0" - qs "6.5.2" - raw-body "2.3.3" - type-is "~1.6.16" - -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= - -boxen@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" - integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== - dependencies: - ansi-align "^2.0.0" - camelcase "^4.0.0" - chalk "^2.0.1" - cli-boxes "^1.0.0" - string-width "^2.0.0" - term-size "^1.2.0" - widest-line "^2.0.0" - -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@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -braces@^2.3.0, braces@^2.3.1: - 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" - -brcast@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/brcast/-/brcast-2.0.2.tgz#2db16de44140e418dc37fab10beec0369e78dcef" - integrity sha512-Tfn5JSE7hrUlFcOoaLzVvkbgIemIorMIyoMr3TgvszWW7jFt2C9PdeMLtysYD9RU0MmU17b69+XJG1eRY2OBRg== - -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-process-hrtime@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" - integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw== - -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-fs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browserify-fs/-/browserify-fs-1.0.0.tgz#f075aa8a729d4d1716d066620e386fcc1311a96f" - integrity sha1-8HWqinKdTRcW0GZiDjhvzBMRqW8= - dependencies: - level-filesystem "^1.0.1" - level-js "^2.1.3" - levelup "^0.18.2" - -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.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.4.1, browserslist@^4.0.0, browserslist@^4.3.4, browserslist@^4.3.5, browserslist@^4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.4.1.tgz#42e828954b6b29a7a53e352277be429478a69062" - integrity sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A== - dependencies: - caniuse-lite "^1.0.30000929" - electron-to-chromium "^1.3.103" - node-releases "^1.1.3" - -bser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" - integrity sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk= - dependencies: - node-int64 "^0.4.0" - -buffer-es6@^4.9.2: - version "4.9.3" - resolved "https://registry.yarnpkg.com/buffer-es6/-/buffer-es6-4.9.3.tgz#f26347b82df76fd37e18bcb5288c4970cfd5c404" - integrity sha1-8mNHuC33b9N+GLy1KIxJcM/VxAQ= - -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-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.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - -builtin-modules@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.0.0.tgz#1e587d44b006620d90286cc7a9238bbc6129cab1" - integrity sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg== - -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= - -builtins@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" - integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= - -byline@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" - integrity sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE= - -byte-size@^4.0.2: - version "4.0.4" - resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-4.0.4.tgz#29d381709f41aae0d89c631f1c81aec88cd40b23" - integrity sha512-82RPeneC6nqCdSwCX2hZUz3JPOvN5at/nTEw/CMf05Smu3Hrpo9Psb7LjN+k+XndNArG1EY8L4+BM3aTM4BCvw== - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -cacache@^10.0.0, cacache@^10.0.4: - version "10.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" - integrity sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA== - dependencies: - 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" - -cacache@^11.0.1, cacache@^11.0.2: - version "11.3.2" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz#2d81e308e3d258ca38125b676b98b2ac9ce69bfa" - integrity sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg== - dependencies: - bluebird "^3.5.3" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.3" - graceful-fs "^4.1.15" - 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.2" - 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" - -call-limit@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/call-limit/-/call-limit-1.1.0.tgz#6fd61b03f3da42a2cd0ec2b60f02bd0e71991fea" - integrity sha1-b9YbA/PaQqLNDsK2DwK9DnGZH+o= - -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.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" - integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw== - -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-keys@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" - integrity sha1-oqpfsa9oh1glnDLBQUJteJI7m3c= - dependencies: - camelcase "^4.1.0" - map-obj "^2.0.0" - quick-lru "^1.0.0" - -camelcase@^4.0.0, 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: - version "5.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" - integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== - -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.30000929, caniuse-lite@^1.0.30000932: - version "1.0.30000932" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000932.tgz#d01763e9ce77810962ca7391ff827b5949ce4272" - integrity sha512-4bghJFItvzz8m0T3lLZbacmEY9X1Z2AtIzTr7s7byqZIOumASfr4ynDx7rtm0J85nDmx8vsgR6vnaSoeU8Oh0A== - -caniuse-lite@^1.0.30000918: - version "1.0.30000936" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000936.tgz#5d33b118763988bf721b9b8ad436d0400e4a116b" - integrity sha512-orX4IdpbFhdNO7bTBhSbahp1EBpqzBc+qrvTRVUFfZgA4zta7TdM6PN5ZxkEUgDnz36m+PfWGcdX7AVfFWItJw== - -capture-exit@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" - integrity sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28= - dependencies: - rsvp "^3.3.3" - -capture-stack-trace@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" - integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== - -cardboard-vr-display@^1.0.15: - version "1.0.16" - resolved "https://registry.yarnpkg.com/cardboard-vr-display/-/cardboard-vr-display-1.0.16.tgz#f91e2798e8fb70a348599638c6742c72dfeadabc" - integrity sha512-GFBWPMH/ixy4Ji014BAO1ryddGHphtJlA8gUR6UdKsOpPjUQukCKpgsx2XIJ5oBlqXnDQOcLVRqBWyuvTI32jQ== - dependencies: - gl-preserve-state "^1.0.0" - nosleep.js "^0.7.0" - webvr-polyfill-dpdb "^1.0.11" - -case-sensitive-paths-webpack-plugin@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz#3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e" - integrity sha512-u5ElzokS8A1pm9vM3/iDgTcI3xqHxuCao94Oz8etI3cf0Tio0p8izkDYbTIn09uP3yUUr6+veaE6IkjnTYS46g== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -ccount@^1.0.0, ccount@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.3.tgz#f1cec43f332e2ea5a569fd46f9f5bde4e6102aff" - integrity sha512-Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw== - -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, 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@^1.0.0, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/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" - -change-emitter@^0.1.2: - version "0.1.6" - resolved "https://registry.yarnpkg.com/change-emitter/-/change-emitter-0.1.6.tgz#e8b2fe3d7f1ab7d69a32199aff91ea6931409515" - integrity sha1-6LL+PX8at9aaMhma/5HqaTFAlRU= - -character-entities-html4@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.2.tgz#c44fdde3ce66b52e8d321d6c1bf46101f0150610" - integrity sha512-sIrXwyna2+5b0eB9W149izTPJk/KkJTg6mEzDGibwBUkyH1SbDa+nf515Ppdi3MaH35lW0JFJDWeq9Luzes1Iw== - -character-entities-legacy@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz#7c6defb81648498222c9855309953d05f4d63a9c" - integrity sha512-9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA== - -character-entities@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.2.tgz#58c8f371c0774ef0ba9b2aca5f00d8f100e6e363" - integrity sha512-sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ== - -character-reference-invalid@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz#21e421ad3d84055952dab4a43a04e73cd425d3ed" - integrity sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ== - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -check-types@^7.3.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4" - integrity sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg== - -chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" - integrity sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.0" - braces "^2.3.0" - glob-parent "^3.1.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - lodash.debounce "^4.0.8" - normalize-path "^2.1.1" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - upath "^1.0.5" - optionalDependencies: - fsevents "^1.2.2" - -chownr@^1.0.1, chownr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" - integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== - -chownr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" - integrity sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE= - -chrome-trace-event@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" - integrity sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A== - dependencies: - tslib "^1.9.0" - -ci-info@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" - integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== - -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== - -cidr-regex@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cidr-regex/-/cidr-regex-1.0.6.tgz#74abfd619df370b9d54ab14475568e97dd64c0c1" - integrity sha1-dKv9YZ3zcLnVSrFEdVaOl91kwME= - -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" - -circular-json@^0.3.1: - version "0.3.3" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" - integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== - -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.2.6" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" - integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== - -clean-css@4.2.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" - integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g== - dependencies: - source-map "~0.6.0" - -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= - -cli-columns@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/cli-columns/-/cli-columns-3.1.2.tgz#6732d972979efc2ae444a1f08e08fa139c96a18e" - integrity sha1-ZzLZcpee/CrkRKHwjgj6E5yWoY4= - dependencies: - string-width "^2.0.0" - strip-ansi "^3.0.1" - -cli-cursor@^2.0.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-table2@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/cli-table2/-/cli-table2-0.2.0.tgz#2d1ef7f218a0e786e214540562d4bd177fe32d97" - integrity sha1-LR738hig54biFFQFYtS9F3/jLZc= - dependencies: - lodash "^3.10.1" - string-width "^1.0.1" - optionalDependencies: - colors "^1.1.2" - -cli-table3@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" - integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== - dependencies: - object-assign "^4.1.0" - string-width "^2.1.1" - optionalDependencies: - colors "^1.1.2" - -cli-truncate@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" - integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= - dependencies: - slice-ansi "0.0.4" - string-width "^1.0.1" - -cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= - -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - -clone-deep@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" - integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY= - dependencies: - for-own "^0.1.3" - is-plain-object "^2.0.1" - kind-of "^3.0.2" - lazy-cache "^1.0.3" - shallow-clone "^0.1.2" - -clone-deep@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-2.0.2.tgz#00db3a1e173656730d1188c3d6aced6d7ea97713" - integrity sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ== - dependencies: - for-own "^1.0.0" - is-plain-object "^2.0.4" - kind-of "^6.0.0" - shallow-clone "^1.0.0" - -clone-regexp@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-1.0.1.tgz#051805cd33173375d82118fc0918606da39fd60f" - integrity sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw== - dependencies: - is-regexp "^1.0.0" - is-supported-regexp-flag "^1.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= - -clone@~0.1.9: - version "0.1.19" - resolved "https://registry.yarnpkg.com/clone/-/clone-0.1.19.tgz#613fb68639b26a494ac53253e15b1a6bd88ada85" - integrity sha1-YT+2hjmyaklKxTJT4Vsaa9iK2oU= - -cmd-shim@^2.0.2, cmd-shim@~2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" - integrity sha1-b8vamUg6j9FdfTChlspp1oii79s= - dependencies: - graceful-fs "^4.1.2" - mkdirp "~0.5.0" - -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.1: - 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" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collapse-white-space@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.4.tgz#ce05cf49e54c3277ae573036a26851ba430a0091" - integrity sha512-YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw== - -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-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: - 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.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.0.tgz#d8e9fb096732875774c84bf922815df0308d0ffc" - integrity sha512-CwyopLkuRYO5ei2EpzpIh6LqJMt6Mt+jZhO5VI5f/wJLZriXQE32/SSqzmrh+QB+AZT81Cj8yv+7zwToW8ahZg== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.2" - -colors@^1.1.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d" - integrity sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg== - -colors@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" - integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM= - -columnify@~1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" - integrity sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs= - dependencies: - strip-ansi "^3.0.0" - wcwidth "^1.0.0" - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" - integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== - dependencies: - delayed-stream "~1.0.0" - -comma-separated-tokens@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.5.tgz#b13793131d9ea2d2431cf5b507ddec258f0ce0db" - integrity sha512-Cg90/fcK93n0ecgYTAz1jaA3zvnQ0ExlmKY1rdbyHqAx6BHxwoJc+J7HDu0iuQ7ixEs1qaa+WyQ6oeuBpYP1iA== - dependencies: - trim "0.0.1" - -commander@2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" - integrity sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ== - -commander@2.17.x, commander@~2.17.1: - 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.11.0, commander@^2.14.1, commander@^2.18.0, commander@^2.9.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" - integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== - -common-tags@^1.4.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" - integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= - -compressible@~2.0.14: - version "2.0.15" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.15.tgz#857a9ab0a7e5a07d8d837ed43fe2defff64fe212" - integrity sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw== - dependencies: - mime-db ">= 1.36.0 < 2" - -compression@^1.5.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.3.tgz#27e0e176aaf260f7f2c2813c3e440adb9f1993db" - integrity sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.14" - debug "2.6.9" - on-headers "~1.0.1" - 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.4.4, concat-stream@^1.5.0, concat-stream@^1.5.2: - 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" - -concat-with-sourcemaps@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" - integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== - dependencies: - source-map "^0.6.1" - -config-chain@~1.1.11: - 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" - -configstore@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" - integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw== - dependencies: - dot-prop "^4.1.0" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - unique-string "^1.0.0" - write-file-atomic "^2.0.0" - xdg-basedir "^3.0.0" - -confusing-browser-globals@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.5.tgz#0171050cfdd4261e278978078bc00c4d88e135f4" - integrity sha512-tHo1tQL/9Ox5RELbkCAJhnViqWlzBz3MG1bB2czbHjH2mWd4aYUgNCNLfysFL7c4LoDws7pjg2tj48Gmpw4QHA== - -connect-history-api-fallback@^1.3.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.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= - dependencies: - date-now "^0.1.4" - -console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -"consolidated-events@^1.1.1 || ^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/consolidated-events/-/consolidated-events-2.0.2.tgz#da8d8f8c2b232831413d9e190dc11669c79f4a91" - integrity sha512-2/uRVMdRypf5z/TW/ncD/66l75P5hH2vM/GR8Jf8HLc2xnfJtmina6F6du8+v4Z2vTrMo7jC+W1tmEEuuELgkQ== - -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= - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= - -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.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== - 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.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= - -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= - -core-js@2.6.4: - version "2.6.4" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.4.tgz#b8897c062c4d769dd30a0ac5c73976c47f92ea0d" - integrity sha512-05qQ5hXShcqGkPZpXEFLIpxayZscVD2kuMBZewxiIPPEagukO4mqgPA9CWhUvFBJfy3ODdK2p9xyHh7FTU9/7A== - -core-js@^1.0.0: - version "1.2.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" - integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= - -core-js@^2.4.0, core-js@^2.5.0, core-js@^2.5.7: - version "2.6.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.3.tgz#4b70938bdffdaf64931e66e2db158f0892289c49" - integrity sha512-l00tmFFZOBHtYhN4Cz7k32VM7vTn3rE2ANjQDxdEN6zmXZ/xq1jQuutnmHvMG1ZJ7xd72+TA5YpUK8wz3rWsfQ== - -core-js@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.3.0.tgz#fab83fbb0b2d8dc85fa636c4b9d34c75420c6d65" - integrity sha1-+rg/uwstjchfpjbEudNMdUIMbWU= - -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= - -cornerstone-core@^2.2.8: - version "2.2.8" - resolved "https://registry.yarnpkg.com/cornerstone-core/-/cornerstone-core-2.2.8.tgz#5f10c65c80f8efa7623ee1dd5c9a9d4605f5467c" - integrity sha512-iJrmfXy1nvM4ZLTJawif2VYBPq8APQ1GYjRbUZAJPNqPYmfYfKWkToVyf9o/i8GMl81op7xLJ4ib3ZMSINKjjQ== - -cornerstone-math@^0.1.7, cornerstone-math@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/cornerstone-math/-/cornerstone-math-0.1.8.tgz#68ab1f9e4fdcd7c5cb23a0d2eb4263f9f894f1c5" - integrity sha512-x7NEQHBtVG7j1yeyj/aRoKTpXv1Vh2/H9zNLMyqYJDtJkNng8C4Q8M3CgZ1qer0Yr7eVq2x+Ynmj6kfOm5jXKw== - -cornerstone-tools@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/cornerstone-tools/-/cornerstone-tools-3.2.4.tgz#b9de92ef85649bd47ba31ab7272ca2bab8d006fa" - integrity sha512-FwGbrMZdSzS/m5dOYkmVQ0hVNJlf24LV8M6mdydV1RjyYa3ZsyHBIss0rVrrzlezKg8KXPjsA/cevyoAIzeEuA== - dependencies: - "@babel/runtime" "7.1.2" - cornerstone-math "^0.1.7" - -cornerstone-wado-image-loader@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/cornerstone-wado-image-loader/-/cornerstone-wado-image-loader-2.2.3.tgz#2d4c06b5c87cd9198b52906c48e2d9dd145de986" - integrity sha512-0N5ykSEVoUx3zzfGn5Oaa7OJL/EHOthPUI2Kv8gSnMgf6ipcz5TcK8xGMOfu6grMkKlNb0SFJ/cEqsHR7bddKQ== - dependencies: - dicom-parser "^1.8.1" - -cosmiconfig@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc" - integrity sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ== - dependencies: - is-directory "^0.3.1" - js-yaml "^3.9.0" - parse-json "^4.0.0" - require-from-string "^2.0.1" - -cosmiconfig@^5.0.0, cosmiconfig@^5.0.2, cosmiconfig@^5.0.5, cosmiconfig@^5.0.7: - version "5.0.7" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.7.tgz#39826b292ee0d78eda137dfa3173bd1c21a43b04" - integrity sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA== - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.9.0" - parse-json "^4.0.0" - -create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - -create-error-class@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= - dependencies: - capture-stack-trace "^1.0.0" - -create-hash@^1.1.0, create-hash@^1.1.2: - 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.2, create-hmac@^1.1.4: - 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-env@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.0.tgz#6ecd4c015d5773e614039ee529076669b9d126f2" - integrity sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg== - dependencies: - cross-spawn "^6.0.5" - is-windows "^1.0.0" - -cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - 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@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -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" - -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" - integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= - -css-blank-pseudo@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" - integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== - dependencies: - postcss "^7.0.5" - -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-has-pseudo@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" - integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^5.0.0-rc.4" - -css-loader@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-1.0.0.tgz#9f46aaa5ca41dbe31860e3b62b8e23c42916bf56" - integrity sha512-tMXlTYf3mIMt3b0dDCOQFJiVvxbocJ5Ho577WiGPYPZcqVEO218L2iU22pDXzkTZCLDE+9AmGSUkWxeh/nZReA== - dependencies: - babel-code-frame "^6.26.0" - css-selector-tokenizer "^0.7.0" - icss-utils "^2.1.0" - loader-utils "^1.0.2" - lodash.camelcase "^4.3.0" - postcss "^6.0.23" - 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" - -css-modules-loader-core@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz#5908668294a1becd261ae0a4ce21b0b551f21d16" - integrity sha1-WQhmgpShvs0mGuCkziGwtVHyHRY= - dependencies: - icss-replace-symbols "1.1.0" - postcss "6.0.1" - postcss-modules-extract-imports "1.1.0" - postcss-modules-local-by-default "1.2.0" - postcss-modules-scope "1.1.0" - postcss-modules-values "1.3.0" - -css-parse@1.7.x: - version "1.7.0" - resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-1.7.0.tgz#321f6cf73782a6ff751111390fc05e2c657d8c9b" - integrity sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs= - -css-prefers-color-scheme@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" - integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== - dependencies: - postcss "^7.0.5" - -css-select-base-adapter@~0.1.0: - 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@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - -css-select@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz#ab4386cec9e1f668855564b17c3733b43b2a5ede" - integrity sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ== - dependencies: - boolbase "^1.0.0" - css-what "^2.1.2" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-selector-tokenizer@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d" - integrity sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA== - dependencies: - cssesc "^0.1.0" - fastparse "^1.1.1" - regexpu-core "^1.0.0" - -css-tree@1.0.0-alpha.28: - version "1.0.0-alpha.28" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f" - integrity sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w== - dependencies: - mdn-data "~1.1.0" - source-map "^0.5.3" - -css-tree@1.0.0-alpha.29: - version "1.0.0-alpha.29" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" - integrity sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg== - dependencies: - mdn-data "~1.1.0" - source-map "^0.5.3" - -css-unit-converter@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" - integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= - -css-url-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec" - integrity sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w= - -css-what@2.1, css-what@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.2.tgz#c0876d9d0480927d7d4920dcd72af3595649554d" - integrity sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ== - -cssdb@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.3.0.tgz#2e1229900616f80c66ff2d568ea2b4f92db1c78c" - integrity sha512-VHPES/+c9s+I0ryNj+PXvp84nz+ms843z/efpaEINwP/QfGsINL3gpLp5qjapzDNzNzbXxur8uxKxSXImrg4ag== - -cssesc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" - integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= - -cssesc@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== - -cssnano-preset-default@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.6.tgz#92379e2a6db4a91c0ea727f5f556eeac693eab6a" - integrity sha512-UPboYbFaJFtDUhJ4fqctThWbbyF4q01/7UhsZbLzp35l+nUxtzh1SifoVlEfyLM3n3Z0htd8B1YlCxy9i+bQvg== - dependencies: - css-declaration-sorter "^4.0.1" - cssnano-util-raw-cache "^4.0.1" - postcss "^7.0.0" - postcss-calc "^7.0.0" - postcss-colormin "^4.0.2" - postcss-convert-values "^4.0.1" - postcss-discard-comments "^4.0.1" - postcss-discard-duplicates "^4.0.2" - postcss-discard-empty "^4.0.1" - postcss-discard-overridden "^4.0.1" - postcss-merge-longhand "^4.0.10" - postcss-merge-rules "^4.0.2" - postcss-minify-font-values "^4.0.2" - postcss-minify-gradients "^4.0.1" - postcss-minify-params "^4.0.1" - postcss-minify-selectors "^4.0.1" - postcss-normalize-charset "^4.0.1" - postcss-normalize-display-values "^4.0.1" - postcss-normalize-positions "^4.0.1" - postcss-normalize-repeat-style "^4.0.1" - postcss-normalize-string "^4.0.1" - postcss-normalize-timing-functions "^4.0.1" - postcss-normalize-unicode "^4.0.1" - postcss-normalize-url "^4.0.1" - postcss-normalize-whitespace "^4.0.1" - postcss-ordered-values "^4.1.1" - postcss-reduce-initial "^4.0.2" - postcss-reduce-transforms "^4.0.1" - postcss-svgo "^4.0.1" - 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.1.0, cssnano@^4.1.8: - version "4.1.8" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.8.tgz#8014989679d5fd42491e4499a521dbfb85c95fd1" - integrity sha512-5GIY0VzAHORpbKiL3rMXp4w4M1Ki+XlXgEXyuWXVd3h6hlASb+9Vo76dNP56/elLMVBBsUfusCo1q56uW0UWig== - dependencies: - cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.6" - is-resolvable "^1.0.0" - postcss "^7.0.0" - -csso@^3.5.0: - version "3.5.1" - resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" - integrity sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg== - dependencies: - css-tree "1.0.0-alpha.29" - -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": - version "0.3.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797" - integrity sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog== - -cssstyle@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.1.1.tgz#18b038a9c44d65f7a8e428a653b9f6fe42faf5fb" - integrity sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog== - dependencies: - cssom "0.3.x" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= - dependencies: - array-find-index "^1.0.1" - -cyclist@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" - integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= - -damerau-levenshtein@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" - integrity sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ= - -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: - 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" - -date-fns@^1.27.2: - version "1.30.1" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" - integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== - -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= - -dcmjs@^0.3.8: - version "0.3.8" - resolved "https://registry.yarnpkg.com/dcmjs/-/dcmjs-0.3.8.tgz#cce165ee6e291d02e6631c279efe2711d575bed8" - integrity sha512-GW1WmhBknxpiJD7Daxh8hCO6gS/WtdBDMz7txlI+IXTXKgeNAsREdYQcdQI7id9N8QkWgVmZjtgr5dHv4udRmQ== - dependencies: - "@babel/polyfill" "^7.2.5" - "@babel/runtime" "^7.3.1" - loglevelnext "^3.0.0" - ndarray "^1.0.18" - -debug@*, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@3.1.0, debug@=3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -debug@^3.1.0, debug@^3.2.5: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debuglog@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" - integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= - -decamelize-keys@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decamelize@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" - integrity sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg== - dependencies: - xregexp "4.0.0" - -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= - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - -deep-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -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.1, 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== - -default-gateway@^2.6.0: - version "2.7.2" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-2.7.2.tgz#b7ef339e5e024b045467af403d50348db4642d0f" - integrity sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ== - dependencies: - execa "^0.10.0" - ip-regex "^2.1.0" - -default-require-extensions@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" - integrity sha1-836hXT4T/9m0N9M+GnW1+5eHTLg= - dependencies: - strip-bom "^2.0.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" - -deferred-leveldown@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz#2cef1f111e1c57870d8bbb8af2650e587cd2f5b4" - integrity sha1-LO8fER4cV4cNi7uK8mUOWHzS9bQ= - dependencies: - abstract-leveldown "~0.12.1" - -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@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" - integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= - dependencies: - 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" - -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= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -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.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= - 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-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= - dependencies: - repeating "^2.0.0" - -detect-indent@~5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" - integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= - -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - -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.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== - -detect-port-alt@1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" - integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== - dependencies: - address "^1.0.1" - debug "^2.6.0" - -dezalgo@^1.0.0, dezalgo@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" - integrity sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY= - dependencies: - asap "^2.0.0" - wrappy "1" - -dicom-microscopy-viewer@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dicom-microscopy-viewer/-/dicom-microscopy-viewer-0.2.0.tgz#3281fccdab99eb96e7f19e18adddf567a8c15b06" - integrity sha512-niNZBUy7S6bk5AJ/8D02xFi3YFt579P5i9wBE6NVcP7GIAIzM+gceG1dwyj0/VxG9K0wqKE/t12SxDuhSzxPRA== - dependencies: - dicomweb-client "^0.4.0" - ol "^5.3.0" - -dicom-parser@^1.8.1, dicom-parser@^1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/dicom-parser/-/dicom-parser-1.8.3.tgz#6e4b862898112304db30143147562011c1ce6a4d" - integrity sha512-CMeUr+jea7Ml70N+/Z5Pd2MYtvLp6IU+TnvdLe6VRVKzZuTeYLYyuAQa9R+sFK4v4N39hig+hKHN+Wfi9sQ6GA== - -dicomweb-client@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/dicomweb-client/-/dicomweb-client-0.4.1.tgz#b846556e61677566e36f5ea3cf0c1b48014bcbe4" - integrity sha512-kTNklf8TTnLToybOFzpEArmdMx2ibOETkCVNTcHMHnV2P9dZSXAcbn0oWRbN9lt7/eGGeHAOQYYZwYjSfBlk5g== - -dicomweb-client@^0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/dicomweb-client/-/dicomweb-client-0.4.2.tgz#f1f5167d935810423ad2599e5160306bde2458ed" - integrity sha512-Raf2SVjWDrNaVIVt4CmfXWdKVacyEX5ux+pY2Qop0mhluG+OiCkbnESljz4PjglFRnprETEk6C0ELGDru0haew== - -diff@^3.2.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - -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: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" - integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag== - dependencies: - arrify "^1.0.1" - path-type "^3.0.0" - -dir-glob@^2.2.1: - 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" - -direction@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/direction/-/direction-1.0.2.tgz#ac49c4699edf1283fd82f34e701ca668ea4883b9" - integrity sha512-hSKoz5FBn+zhP9vWKkVQaaxnRDg3/MoPdcg2au54HIUDR8MrP8Ah1jXSJwCXel6SV3Afh5DSzc8Uqv2r1UoQwQ== - -dnd-core@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/dnd-core/-/dnd-core-7.0.2.tgz#6c080eb57243fa0372fd083b3db242d9eb525010" - integrity sha512-InwRBi6zTndtE3+3nTYpLJkYMEr7utSR7OziAoSFhtQsbUfJE1KeqxM+ZFRIMKn6ehxUTAC+QU6QC7IG9u86Mg== - dependencies: - asap "^2.0.6" - invariant "^2.2.4" - lodash "^4.17.11" - redux "^4.0.1" - -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.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== - 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" - -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -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-helpers@^3.2.1, dom-helpers@^3.3.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" - integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== - dependencies: - "@babel/runtime" "^7.1.2" - -dom-serializer@0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" - integrity sha1-BzxpdUbOB4DOI75KKOKT5AvDDII= - dependencies: - domelementtype "~1.1.1" - entities "~1.1.1" - -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.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@~1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" - integrity sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs= - -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.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" - integrity sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ= - dependencies: - domelementtype "1" - -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.1: - version "1.1.6" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" - integrity sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU= - dependencies: - domelementtype "1" - -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= - dependencies: - dom-serializer "0" - 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@^4.1.0, dot-prop@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== - dependencies: - is-obj "^1.0.0" - -dotenv-expand@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-4.2.0.tgz#def1f1ca5d6059d24a766e587942c21106ce1275" - integrity sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU= - -dotenv@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.0.0.tgz#24e37c041741c5f4b25324958ebbc34bca965935" - integrity sha512-FlWbnhgjtwD+uNLUGHbMykMOYQaTivdHEmYwAKFjn6GKe/CqY0fNae93ZHTd20snh9ZLr8mTzIL9m0APQ1pjQg== - -dotenv@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" - integrity sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow== - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -duplexer@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.1.tgz#b1a7a29c4abfd639585efaecce80d666b1e34125" - integrity sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -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" - -editor@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/editor/-/editor-1.0.0.tgz#60c7f87bd62bcc6a894fa8ccd6afb7823a24f742" - integrity sha1-YMf4e9YrzGqJT6jM1q+3gjok90I= - -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= - -electron-to-chromium@^1.3.103: - version "1.3.109" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.109.tgz#ee04a55a5157a5580a5ea88e526b02c84a3a7bc8" - integrity sha512-1qhgVZD9KIULMyeBkbjU/dWmm30zpPUfdWZfVO3nPhbtqMHJqHr4Ua5wBcWtAymVFrUCuAJxjMF1OhG+bR21Ow== - -elegant-spinner@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" - integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= - -elliptic@^6.0.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a" - integrity sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -email-addresses@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/email-addresses/-/email-addresses-3.0.3.tgz#fc3c6952f68da24239914e982c8a7783bc2ed96d" - integrity sha512-kUlSC06PVvvjlMRpNIl3kR1NRXLEe86VQ7N0bQeaCZb2g+InShCeHQp/JvyYNTugMnRN2NvJhHlc3q12MWbbpg== - -emoji-regex@^6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2" - integrity sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ== - -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== - -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= - -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.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= - dependencies: - iconv-lite "~0.4.13" - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" - integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - tapable "^1.0.0" - -entities@^1.1.1, entities@~1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - -err-code@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" - integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= - -errno@^0.1.1, errno@^0.1.3, errno@~0.1.1, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.10.0, es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.5.1, es-abstract@^1.7.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" - integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== - dependencies: - es-to-primitive "^1.2.0" - function-bind "^1.1.1" - has "^1.0.3" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-keys "^1.0.12" - -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es6-promise@^4.0.3: - version "4.2.6" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.6.tgz#b685edd8258886365ea62b57d30de28fadcd974f" - integrity sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q== - -es6-promise@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.0.2.tgz#010d5858423a5f118979665f46486a95c6ee2bb6" - integrity sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y= - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= - dependencies: - es6-promise "^4.0.3" - -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.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, 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= - -escodegen@^1.9.1: - version "1.11.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589" - integrity sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw== - dependencies: - esprima "^3.1.3" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-react-app@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-3.0.7.tgz#d58c9216ff285e2b4de0eb8403c28b0600e45b3e" - integrity sha512-Mmmc9lIY/qvX6OEV09+ZLqVTz1aX8VVCrgCjBHXdmMGaC+pldD+87oj3BiJWXMSfcYs5iOo9gy0mGnQ8f/fMsQ== - dependencies: - confusing-browser-globals "^1.0.5" - -eslint-import-resolver-node@^0.3.1, eslint-import-resolver-node@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" - integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== - dependencies: - debug "^2.6.9" - resolve "^1.5.0" - -eslint-loader@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.1.1.tgz#2a9251523652430bfdd643efdb0afc1a2a89546a" - integrity sha512-1GrJFfSevQdYpoDzx8mEE2TDWsb/zmFuY09l6hURg1AeFIKQOvZ+vH0UPjzmd1CZIbfTV5HUkMeBmFiDBkgIsQ== - dependencies: - loader-fs-cache "^1.0.0" - loader-utils "^1.0.2" - object-assign "^4.0.1" - object-hash "^1.1.4" - rimraf "^2.6.1" - -eslint-module-utils@^2.2.0, eslint-module-utils@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.3.0.tgz#546178dab5e046c8b562bbb50705e2456d7bda49" - integrity sha512-lmDJgeOOjk8hObTysjqH7wyMi+nsHwwvfBykwfhjR1LNdd7C2uFJBvx4OpWYpXOw4df1yE1cDEVd1yLHitk34w== - dependencies: - debug "^2.6.8" - pkg-dir "^2.0.0" - -eslint-plugin-es@^1.3.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-1.4.0.tgz#475f65bb20c993fc10e8c8fe77d1d60068072da6" - integrity sha512-XfFmgFdIUDgvaRAlaXUkxrRg5JSADoRC8IkKLc/cISeR3yHVMefFHQZpcyXXEUUPHfy5DwviBcrfqlyqEwlQVw== - dependencies: - eslint-utils "^1.3.0" - regexpp "^2.0.1" - -eslint-plugin-flowtype@2.50.1: - version "2.50.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.1.tgz#36d4c961ac8b9e9e1dc091d3fba0537dad34ae8a" - integrity sha512-9kRxF9hfM/O6WGZcZPszOVPd2W0TLHBtceulLTsGfwMPtiCCLnCW0ssRiOOiXyqrCA20pm1iXdXm7gQeN306zQ== - dependencies: - lodash "^4.17.10" - -eslint-plugin-import@2.14.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz#6b17626d2e3e6ad52cfce8807a845d15e22111a8" - integrity sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g== - dependencies: - contains-path "^0.1.0" - debug "^2.6.8" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.1" - eslint-module-utils "^2.2.0" - has "^1.0.1" - lodash "^4.17.4" - minimatch "^3.0.3" - read-pkg-up "^2.0.0" - resolve "^1.6.0" - -eslint-plugin-import@^2.14.0: - version "2.16.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.16.0.tgz#97ac3e75d0791c4fac0e15ef388510217be7f66f" - integrity sha512-z6oqWlf1x5GkHIFgrSvtmudnqM6Q60KM4KvpWi5ubonMjycLjndvd5+8VAZIsTlHC03djdgJuyKG6XO577px6A== - dependencies: - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.2" - eslint-module-utils "^2.3.0" - has "^1.0.3" - lodash "^4.17.11" - minimatch "^3.0.4" - read-pkg-up "^2.0.0" - resolve "^1.9.0" - -eslint-plugin-jsx-a11y@6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.2.tgz#69bca4890b36dcf0fe16dd2129d2d88b98f33f88" - integrity sha512-7gSSmwb3A+fQwtw0arguwMdOdzmKUgnUcbSNlo+GjKLAQFuC2EZxWqG9XHRI8VscBJD5a8raz3RuxQNFW+XJbw== - dependencies: - aria-query "^3.0.0" - array-includes "^3.0.3" - ast-types-flow "^0.0.7" - axobject-query "^2.0.1" - damerau-levenshtein "^1.0.4" - emoji-regex "^6.5.1" - has "^1.0.3" - jsx-ast-utils "^2.0.1" - -eslint-plugin-node@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-8.0.1.tgz#55ae3560022863d141fa7a11799532340a685964" - integrity sha512-ZjOjbjEi6jd82rIpFSgagv4CHWzG9xsQAVp1ZPlhRnnYxcTgENUVBvhYmkQ7GvT1QFijUSo69RaiOJKhMu6i8w== - dependencies: - eslint-plugin-es "^1.3.1" - eslint-utils "^1.3.1" - ignore "^5.0.2" - minimatch "^3.0.4" - resolve "^1.8.1" - semver "^5.5.0" - -eslint-plugin-promise@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.0.1.tgz#2d074b653f35a23d1ba89d8e976a985117d1c6a2" - integrity sha512-Si16O0+Hqz1gDHsys6RtFRrW7cCTB6P7p3OJmKp3Y3dxpQE2qwOA7d3xnV+0mBmrPoi0RBnxlCKvqu70te6wjg== - -eslint-plugin-react@7.12.4, eslint-plugin-react@^7.11.1: - version "7.12.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c" - integrity sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ== - dependencies: - array-includes "^3.0.3" - doctrine "^2.1.0" - has "^1.0.3" - jsx-ast-utils "^2.0.1" - object.fromentries "^2.0.0" - prop-types "^15.6.2" - resolve "^1.9.0" - -eslint-scope@3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" - integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug= - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" - integrity sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-utils@^1.3.0, eslint-utils@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" - integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== - -eslint-visitor-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" - integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== - -eslint@5.12.0: - version "5.12.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.12.0.tgz#fab3b908f60c52671fb14e996a450b96c743c859" - integrity sha512-LntwyPxtOHrsJdcSwyQKVtHofPHdv+4+mFwEe91r2V13vqpM8yLr7b1sW+Oo/yheOPkWYsYlYJCkzlFAt8KV7g== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.5.3" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^2.1.0" - eslint-scope "^4.0.0" - eslint-utils "^1.3.1" - eslint-visitor-keys "^1.0.0" - espree "^5.0.0" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^2.0.0" - functional-red-black-tree "^1.0.1" - glob "^7.1.2" - globals "^11.7.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^6.1.0" - js-yaml "^3.12.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.5" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.2" - pluralize "^7.0.0" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^5.5.1" - strip-ansi "^4.0.0" - strip-json-comments "^2.0.1" - table "^5.0.2" - text-table "^0.2.0" - -espree@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.0.tgz#fc7f984b62b36a0f543b13fb9cd7b9f4a7f5b65c" - integrity sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA== - dependencies: - acorn "^6.0.2" - acorn-jsx "^5.0.0" - eslint-visitor-keys "^1.0.0" - -esprima@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" - integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== - dependencies: - estraverse "^4.0.0" - -esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== - dependencies: - estraverse "^4.1.0" - -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= - -estree-walker@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39" - integrity sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig== - -esutils@^2.0.0, esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -eventemitter3@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" - integrity sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA== - -events@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" - integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== - -eventsource@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" - integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== - 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.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36" - integrity sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw== - dependencies: - merge "^1.2.0" - -execa@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" - integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== - dependencies: - cross-spawn "^6.0.0" - 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" - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= - dependencies: - 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" - -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" - -execall@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execall/-/execall-1.0.0.tgz#73d0904e395b3cab0658b08d09ec25307f29bb73" - integrity sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M= - dependencies: - clone-regexp "^1.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@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= - dependencies: - is-posix-bracket "^0.1.0" - -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" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= - dependencies: - fill-range "^2.1.0" - -expect@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-23.6.0.tgz#1e0c8d3ba9a581c87bd71fb9bc8862d443425f98" - integrity sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w== - dependencies: - ansi-styles "^3.2.0" - jest-diff "^23.6.0" - jest-get-type "^22.1.0" - jest-matcher-utils "^23.6.0" - jest-message-util "^23.4.0" - jest-regex-util "^23.3.0" - -express@^4.16.2: - version "4.16.4" - resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" - integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg== - dependencies: - accepts "~1.3.5" - array-flatten "1.1.1" - body-parser "1.18.3" - content-disposition "0.5.2" - content-type "~1.0.4" - cookie "0.3.1" - 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.1" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.2" - path-to-regexp "0.1.7" - proxy-addr "~2.0.4" - qs "6.5.2" - range-parser "~1.2.0" - safe-buffer "5.1.2" - send "0.16.2" - serve-static "1.13.2" - setprototypeof "1.1.0" - statuses "~1.4.0" - type-is "~1.6.16" - 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.0, extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" - integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= - dependencies: - is-extglob "^1.0.0" - -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" - -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@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= - -fast-glob@^2.0.2, fast-glob@^2.2.6: - version "2.2.6" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.6.tgz#a5d5b697ec8deda468d85a74035290a025a95295" - integrity sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w== - 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.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastparse@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" - integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== - -faye-websocket@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= - dependencies: - websocket-driver ">=0.5.1" - -faye-websocket@~0.11.1: - version "0.11.1" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" - integrity sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg= - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= - dependencies: - bser "^2.0.0" - -fbjs@^0.8.1, fbjs@^0.8.4: - version "0.8.17" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" - integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= - dependencies: - core-js "^1.0.0" - isomorphic-fetch "^2.1.1" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^0.7.18" - -figgy-pudding@^3.0.0, figgy-pudding@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" - integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== - -figures@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" - integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= - dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" - -file-entry-cache@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-4.0.0.tgz#633567d15364aefe0b299e1e217735e8f3a9f6e8" - integrity sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA== - dependencies: - flat-cache "^2.0.1" - -file-loader@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-2.0.0.tgz#39749c82f020b9e85901dcff98e8004e6401cfde" - integrity sha512-YCsBfd1ZGCyonOKLxPiKPdu+8ld9HAaMEvJewzz+b2eTF7uL5Zm/HdBF6FjCrpCMRq25Mi0U1gl4pwn2TlH7hQ== - dependencies: - loader-utils "^1.0.2" - schema-utils "^1.0.0" - -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= - -filename-reserved-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz#e61cf805f0de1c984567d0386dc5df50ee5af7e4" - integrity sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q= - -filenamify-url@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/filenamify-url/-/filenamify-url-1.0.0.tgz#b32bd81319ef5863b73078bed50f46a4f7975f50" - integrity sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A= - dependencies: - filenamify "^1.0.0" - humanize-url "^1.0.0" - -filenamify@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-1.2.1.tgz#a9f2ffd11c503bed300015029272378f1f1365a5" - integrity sha1-qfL/0RxQO+0wABUCknI3jx8TZaU= - dependencies: - filename-reserved-regex "^1.0.0" - strip-outer "^1.0.0" - trim-repeated "^1.0.0" - -fileset@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" - integrity sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA= - dependencies: - glob "^7.0.3" - minimatch "^3.0.3" - -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@^2.1.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" - integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^3.0.0" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -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" - -finalhandler@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" - integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.2" - statuses "~1.4.0" - unpipe "~1.0.0" - -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= - dependencies: - commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" - -find-cache-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.0.0.tgz#4c1faed59f45184530fb9d7fa123a4d04a98472d" - integrity sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA== - dependencies: - commondir "^1.0.1" - make-dir "^1.0.0" - pkg-dir "^3.0.0" - -find-npm-prefix@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/find-npm-prefix/-/find-npm-prefix-1.0.2.tgz#8d8ce2c78b3b4b9e66c8acc6a37c231eb841cfdf" - integrity sha512-KEftzJ+H90x6pcKtdXZEPsQse8/y/UnvzRKrOSQFprnrGaFuJ62fVkP34Iu2IYuMvyauCyoLTNkJZgrrGA2wkA== - -find-parent-dir@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54" - integrity sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ= - -find-up@3.0.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@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -flat-cache@^1.2.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f" - integrity sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg== - dependencies: - circular-json "^0.3.1" - graceful-fs "^4.1.2" - rimraf "~2.6.2" - write "^0.2.1" - -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - -flatted@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916" - integrity sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg== - -flatten@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" - integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= - -flush-write-stream@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" - integrity sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw== - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.4" - -fn-name@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" - integrity sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc= - -follow-redirects@^1.0.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.6.1.tgz#514973c44b5757368bad8bddfe52f81f015c94cb" - integrity sha512-t2JCjbzxQpWvbhts3l6SH1DKzSrx8a+SsaVf4h6bG4kOXUuPYS/kg2Lr4gQSb7eemaHqJkOThF1BGyjlUkO1GQ== - dependencies: - debug "=3.1.0" - -for-in@^0.1.3: - version "0.1.8" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" - integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE= - -for-in@^1.0.1, 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= - -for-own@^0.1.3, for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= - dependencies: - for-in "^1.0.1" - -for-own@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" - integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= - dependencies: - for-in "^1.0.1" - -foreach@~2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= - -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= - -fork-ts-checker-webpack-plugin-alt@0.4.14: - version "0.4.14" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin-alt/-/fork-ts-checker-webpack-plugin-alt-0.4.14.tgz#1bd6c0d97b7d4682dde61255fcbd78b72f7473a0" - integrity sha512-s0wjOBuPdylMRBzZ4yO8LSJuzem3g0MYZFxsjRXrFDQyL5KJBVSq30+GoHM/t/r2CRU4tI6zi04sq6OXK0UYnw== - dependencies: - babel-code-frame "^6.22.0" - chalk "^2.4.1" - chokidar "^2.0.4" - lodash "^4.17.11" - micromatch "^3.1.10" - minimatch "^3.0.4" - resolve "^1.5.0" - tapable "^1.0.0" - -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@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-1.3.0.tgz#88413baaa5f9a597cfde9221d86986cd3c061dfd" - integrity sha1-iEE7qqX5pZfP3pIh2GmGzTwGHf0= - dependencies: - inherits "~2.0.1" - readable-stream "~1.1.10" - -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, fs-extra@^7.0.0: - 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-extra@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-minipass@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" - integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== - dependencies: - minipass "^2.2.1" - -fs-vacuum@^1.2.10, fs-vacuum@~1.2.10: - version "1.2.10" - resolved "https://registry.yarnpkg.com/fs-vacuum/-/fs-vacuum-1.2.10.tgz#b7629bec07a4031a2548fdf99f5ecf1cc8b31e36" - integrity sha1-t2Kb7AekAxolSP35n17PHMizHjY= - dependencies: - graceful-fs "^4.1.2" - path-is-inside "^1.0.1" - rimraf "^2.5.2" - -fs-write-stream-atomic@^1.0.8, fs-write-stream-atomic@~1.0.10: - 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= - -fsevents@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" - integrity sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg== - dependencies: - nan "^2.9.2" - node-pre-gyp "^0.10.0" - -fsevents@^1.2.2, fsevents@^1.2.3: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.7.tgz#4851b664a3783e52003b3c66eb0eee1074933aa4" - integrity sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw== - dependencies: - nan "^2.9.2" - node-pre-gyp "^0.10.0" - -fstream@^1.0.0, fstream@^1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" - integrity sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE= - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -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== - -function.prototype.name@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.0.tgz#8bd763cc0af860a859cc5d49384d74b932cd2327" - integrity sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - is-callable "^1.1.3" - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -fwd-stream@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/fwd-stream/-/fwd-stream-1.0.4.tgz#ed281cabed46feecf921ee32dc4c50b372ac7cfa" - integrity sha1-7Sgcq+1G/uz5Ie4y3ExQs3KsfPo= - dependencies: - readable-stream "~1.0.26-4" - -g-status@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/g-status/-/g-status-2.0.2.tgz#270fd32119e8fc9496f066fe5fe88e0a6bc78b97" - integrity sha512-kQoE9qH+T1AHKgSSD0Hkv98bobE90ILQcXAF4wvGgsr7uFqNvwmh8j+Lq3l0RVt3E3HjSbv2B9biEGcEtpHLCA== - dependencies: - arrify "^1.0.1" - matcher "^1.0.0" - simple-git "^1.85.0" - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -generic-names@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-1.0.3.tgz#2d786a121aee508876796939e8e3bff836c20917" - integrity sha1-LXhqEhruUIh2eWk56OO/+DbCCRc= - dependencies: - loader-utils "^0.2.16" - -genfun@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537" - integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA== - -gentle-fs@^2.0.0, gentle-fs@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/gentle-fs/-/gentle-fs-2.0.1.tgz#585cfd612bfc5cd52471fdb42537f016a5ce3687" - integrity sha512-cEng5+3fuARewXktTEGbwsktcldA+YsnUEaXZwcK/3pjSE1X9ObnTs+/8rYf8s+RnIcQm2D5x3rwpN7Zom8Bew== - dependencies: - aproba "^1.1.2" - fs-vacuum "^1.2.10" - graceful-fs "^4.1.11" - iferr "^0.1.5" - mkdirp "^0.5.1" - path-is-inside "^1.0.2" - read-cmd-shim "^1.0.1" - slide "^1.1.6" - -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203" - integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg== - -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - -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-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" - -gh-pages@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-2.0.1.tgz#aefe47a43b8d9d2aa3130576b33fe95641e29a2f" - integrity sha512-uFlk3bukljeiWKQ2XvPfjcSi/ou7IfoDf2p+Fj672saLAr8bnOdFVqI/JSgrSgInKpCg5BksxEwGUl++dbg8Dg== - dependencies: - async "^2.6.1" - commander "^2.18.0" - email-addresses "^3.0.1" - filenamify-url "^1.0.0" - fs-extra "^7.0.0" - globby "^6.1.0" - graceful-fs "^4.1.11" - rimraf "^2.6.2" - -gl-matrix@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-2.5.1.tgz#361817af4798a62832c514ac5701c100c8f4e031" - integrity sha512-GCv0L5v+2Hdh+al6Ny7MO4B+BfXd6qfUom6CE5O/nqkBvaIY7+dVZhuKad+EkUK0uyot8V6TkgsMQrQzlmZl2A== - dependencies: - npm "^5.8.0" - -gl-preserve-state@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gl-preserve-state/-/gl-preserve-state-1.0.0.tgz#4ef710d62873f1470ed015c6546c37dacddd4198" - integrity sha512-zQZ25l3haD4hvgJZ6C9+s0ebdkW9y+7U2qxvGu1uWOJh8a4RU+jURIKEQhf8elIlFpMH6CrAY2tH0mYrRjet3Q== - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= - dependencies: - is-glob "^2.0.0" - -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-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.x: - version "7.0.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" - integrity sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo= - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@~7.1.2: - version "7.1.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" - integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== - 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" - -global-cache@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/global-cache/-/global-cache-1.2.1.tgz#39ca020d3dd7b3f0934c52b75363f8d53312c16d" - integrity sha512-EOeUaup5DgWKlCMhA9YFqNRIlZwoxt731jCh47WBV9fQqHgXhr3Fa55hfgIUqilIcPsfdNKN7LHjrNY+Km40KA== - dependencies: - define-properties "^1.1.2" - is-symbol "^1.0.1" - -global-dirs@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" - integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= - dependencies: - ini "^1.3.4" - -global-modules@2.0.0, global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -globals@^11.1.0, globals@^11.7.0: - version "11.10.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.10.0.tgz#1e09776dffda5e01816b3bb4077c8b59c24eaa50" - integrity sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ== - -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@8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" - integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w== - dependencies: - array-union "^1.0.1" - dir-glob "2.0.0" - fast-glob "^2.0.2" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -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@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-9.0.0.tgz#3800df736dc711266df39b4ce33fe0d481f94c23" - integrity sha512-q0qiO/p1w/yJ0hk8V9x1UXlgsXUxlGd0AHUOXZVXBO6aznDtpx7M8D1kBrCAItoPm+4l8r6ATXV1JpjY2SBQOw== - dependencies: - array-union "^1.0.2" - dir-glob "^2.2.1" - fast-glob "^2.2.6" - glob "^7.1.3" - ignore "^4.0.3" - pify "^4.0.1" - slash "^2.0.0" - -globjoin@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" - integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM= - -gonzales-pe@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.2.3.tgz#41091703625433285e0aee3aa47829fc1fbeb6f2" - integrity sha512-Kjhohco0esHQnOiqqdJeNz/5fyPkOMD/d6XVjwTAoPGUFh0mCollPUTUTa2OZy4dYNAqlPIQdTiNzJTWdd9Htw== - dependencies: - minimist "1.1.x" - -got@^6.7.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" - integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= - dependencies: - create-error-class "^3.0.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@~4.1.11: - version "4.1.15" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== - -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.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.0.0.tgz#a55ecd99222f4c48fd8c01c625ce3b349d0a0e80" - integrity sha512-5iI7omclyqrnWw4XbXAmGhPsABkSIDQonv2K0h61lybgofWa6iZyvrI3r2zsJH4P8Nb64fFVzlvfhs0g7BBxAA== - dependencies: - duplexer "^0.1.1" - pify "^3.0.0" - -hammerjs@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1" - integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE= - -handle-thing@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" - integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== - -handlebars@^4.0.3: - version "4.0.12" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.12.tgz#2c15c8a96d46da5e266700518ba8cb8d919d5bc5" - integrity sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA== - dependencies: - async "^2.5.0" - optimist "^0.6.1" - source-map "^0.6.1" - optionalDependencies: - uglify-js "^3.1.4" - -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.0: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== - dependencies: - ajv "^6.5.5" - har-schema "^2.0.0" - -harmony-reflect@^1.4.6: - version "1.6.1" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9" - integrity sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA== - -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-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= - -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-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= - -has-unicode@^2.0.0, has-unicode@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -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.1, 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.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -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" - -hast-util-from-parse5@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-5.0.0.tgz#a505a05766e0f96e389bfb0b1dd809eeefcef47b" - integrity sha512-A7ev5OseS/J15214cvDdcI62uwovJO2PB60Xhnq7kaxvvQRFDEccuqbkrFXU03GPBGopdPqlpQBRqIcDS/Fjbg== - dependencies: - ccount "^1.0.3" - hastscript "^5.0.0" - property-information "^5.0.0" - web-namespaces "^1.1.2" - xtend "^4.0.1" - -hast-util-parse-selector@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.1.tgz#4ddbae1ae12c124e3eb91b581d2556441766f0ab" - integrity sha512-Xyh0v+nHmQvrOqop2Jqd8gOdyQtE8sIP9IQf7mlVDqp924W4w/8Liuguk2L2qei9hARnQSG2m+wAOCxM7npJVw== - -hastscript@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.0.0.tgz#fee10382c1bc4ba3f1be311521d368c047d2c43a" - integrity sha512-xJtuJ8D42Xtq5yJrnDg/KAIxl2cXBXKoiIJwmWX9XMf8113qHTGl/Bf7jEsxmENJ4w6q4Tfl8s/Y6mEZo8x8qw== - dependencies: - comma-separated-tokens "^1.0.0" - hast-util-parse-selector "^2.2.0" - property-information "^5.0.1" - space-separated-tokens "^1.0.0" - -he@1.2.x: - 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== - -history@^4.7.2: - version "4.7.2" - resolved "https://registry.yarnpkg.com/history/-/history-4.7.2.tgz#22b5c7f31633c5b8021c7f4a8a954ac139ee8d5b" - integrity sha512-1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA== - dependencies: - invariant "^2.2.1" - loose-envify "^1.2.0" - resolve-pathname "^2.2.0" - value-equal "^0.4.0" - warning "^3.0.0" - -hmac-drbg@^1.0.0: - 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" - -hoek@4.x.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" - integrity sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA== - -hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.0: - version "2.5.5" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" - integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== - -hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b" - integrity sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA== - dependencies: - react-is "^16.7.0" - -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg= - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - -hoopy@^0.1.2: - 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, hosted-git-info@^2.6.0: - version "2.7.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" - integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== - -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-comment-regex@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" - integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== - -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.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" - integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= - -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-webpack-plugin@4.0.0-alpha.2: - version "4.0.0-alpha.2" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-alpha.2.tgz#7745967e389a57a098e26963f328ebe4c19b598d" - integrity sha512-tyvhjVpuGqD7QYHi1l1drMQTg5i+qRxpQEGbdnYFREgOKy7aFDf/ocQ/V1fuEDlQx7jV2zMap3Hj2nE9i5eGXw== - dependencies: - "@types/tapable" "1.0.2" - html-minifier "^3.2.3" - loader-utils "^1.1.0" - lodash "^4.17.10" - pretty-error "^2.0.2" - tapable "^1.0.0" - util.promisify "1.0.0" - -htmlparser2@^3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.0.tgz#5f5e422dcf6119c0d983ed36260ce9ded0bee464" - integrity sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ== - dependencies: - domelementtype "^1.3.0" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.0.6" - -htmlparser2@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe" - integrity sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4= - dependencies: - domelementtype "1" - domhandler "2.1" - domutils "1.1" - readable-stream "1.0" - -http-cache-semantics@^3.8.0, http-cache-semantics@^3.8.1: - version "3.8.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" - integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== - -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.6.3, http-errors@~1.6.2, http-errors@~1.6.3: - 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-parser-js@>=0.4.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz#d65edbede84349d0dc30320815a15d39cc3cbbd8" - integrity sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w== - -http-proxy-agent@^2.0.0, http-proxy-agent@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" - integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg== - dependencies: - agent-base "4" - debug "3.1.0" - -http-proxy-middleware@~0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz#0987e6bb5a5606e5a69168d8f967a87f15dd8aab" - integrity sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q== - dependencies: - http-proxy "^1.16.2" - is-glob "^4.0.0" - lodash "^4.17.5" - micromatch "^3.1.9" - -http-proxy@^1.16.2: - version "1.17.0" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a" - integrity sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g== - dependencies: - eventemitter3 "^3.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= - -https-proxy-agent@^2.1.0, https-proxy-agent@^2.2.0, https-proxy-agent@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0" - integrity sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ== - dependencies: - agent-base "^4.1.0" - debug "^3.1.0" - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= - dependencies: - ms "^2.0.0" - -humanize-url@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/humanize-url/-/humanize-url-1.0.1.tgz#f4ab99e0d288174ca4e1e50407c55fbae464efff" - integrity sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8= - dependencies: - normalize-url "^1.0.0" - strip-url-auth "^1.0.0" - -husky@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/husky/-/husky-1.3.1.tgz#26823e399300388ca2afff11cfa8a86b0033fae0" - integrity sha512-86U6sVVVf4b5NYSZ0yvv88dRgBSSXXmHaiq5pP4KDj5JVzdwKgBjEtUPOm8hcoytezFwbU+7gotXNhpHdystlg== - dependencies: - cosmiconfig "^5.0.7" - execa "^1.0.0" - find-up "^3.0.0" - get-stdin "^6.0.0" - is-ci "^2.0.0" - pkg-dir "^3.0.0" - please-upgrade-node "^3.1.1" - read-pkg "^4.0.1" - run-node "^1.0.0" - slash "^2.0.0" - -iconv-lite@0.4.23: - version "0.4.23" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" - integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-replace-symbols@1.1.0, icss-replace-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" - integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= - -icss-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" - integrity sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI= - dependencies: - postcss "^6.0.1" - -idb-wrapper@^1.5.0: - version "1.7.2" - resolved "https://registry.yarnpkg.com/idb-wrapper/-/idb-wrapper-1.7.2.tgz#8251afd5e77fe95568b1c16152eb44b396767ea2" - integrity sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg== - -identity-obj-proxy@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= - dependencies: - harmony-reflect "^1.4.6" - -ieee754@^1.1.4, ieee754@^1.1.6: - version "1.1.12" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" - integrity sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA== - -iferr@^0.1.5, 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-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== - dependencies: - minimatch "^3.0.4" - -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, ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.0.2, ignore@^5.0.4: - version "5.0.5" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.0.5.tgz#c663c548d6ce186fb33616a8ccb5d46e56bdbbf9" - integrity sha512-kOC8IUb8HSDMVcYrDVezCxpJkzSQWTAzf3olpKM6o9rM5zpojx23O0Fl8Wr4+qJ6ZbPEHqf1fdwev/DS7v7pmA== - -immediate@~3.0.5: - version "3.0.6" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" - integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= - -immer@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" - integrity sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg== - -immutable@>=3.6.0: - version "3.8.2" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" - integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM= - -import-cwd@^2.0.0, import-cwd@^2.1.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-fresh@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390" - integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.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-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= - -import-lazy@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-3.1.0.tgz#891279202c8a2280fdbd6674dbd8da1a1dfc67cc" - integrity sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ== - -import-local@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" - integrity sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ== - dependencies: - pkg-dir "^2.0.0" - resolve-cwd "^2.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= - -indent-string@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" - integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= - -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= - -indexof@0.0.1, indexof@~0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= - -inflight@^1.0.4, inflight@~1.0.6: - 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.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - -init-package-json@^1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.10.3.tgz#45ffe2f610a8ca134f2bd1db5637b235070f6cbe" - integrity sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw== - dependencies: - glob "^7.1.1" - npm-package-arg "^4.0.0 || ^5.0.0 || ^6.0.0" - promzard "^0.3.0" - read "~1.0.1" - read-package-json "1 || 2" - semver "2.x || 3.x || 4 || 5" - validate-npm-package-license "^3.0.1" - validate-npm-package-name "^3.0.0" - -inquirer@6.2.1, inquirer@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.1.tgz#9943fc4882161bdb0b0c9276769c75b32dbfcd52" - integrity sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg== - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.0" - figures "^2.0.0" - lodash "^4.17.10" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.1.0" - string-width "^2.1.0" - strip-ansi "^5.0.0" - through "^2.3.6" - -internal-ip@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-3.0.1.tgz#df5c99876e1d2eb2ea2d74f520e3f669a00ece27" - integrity sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q== - dependencies: - default-gateway "^2.6.0" - ipaddr.js "^1.5.2" - -interpret@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" - integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== - -invariant@^2.1.0, invariant@^2.2.1, 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" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= - -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== - -iota-array@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/iota-array/-/iota-array-1.0.0.tgz#81ef57fe5d05814cd58c2483632a99c30a0e8087" - integrity sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc= - -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-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-3.0.0.tgz#0a934694b4066558c46294244a23cc33116bf732" - integrity sha512-T8wDtjy+Qf2TAPDQmBp0eGKJ8GavlWlUnamr3wRn6vvdZlKVuJXXMlSncYFRYgVHOM3If5NR1H4+OvVQU9Idvg== - -ip@^1.1.0, ip@^1.1.4, 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.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" - integrity sha1-6qM9bd16zo9/b+DJygRA5wZzix4= - -ipaddr.js@^1.5.2: - version "1.8.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.1.tgz#fa4b79fa47fd3def5e3b159825161c0a519c9427" - integrity sha1-+kt5+kf9Pe9eOxWYJRYcClGclCc= - -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-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-alphabetical@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.2.tgz#1fa6e49213cb7885b75d15862fb3f3d96c884f41" - integrity sha512-V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg== - -is-alphanumeric@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" - integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ= - -is-alphanumerical@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz#1138e9ae5040158dc6ff76b820acd6b7a181fd40" - integrity sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg== - dependencies: - is-alphabetical "^1.0.0" - is-decimal "^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-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-buffer@^1.0.2, is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-buffer@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" - integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - integrity sha1-VAVy0096wxGfj3bDDLwbHgN6/74= - dependencies: - builtin-modules "^1.0.0" - -is-builtin-module@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.0.0.tgz#137d3d2425023a19a660fb9dd6ddfabe52c03466" - integrity sha512-/93sDihsAD652hrMEbJGbMAVBf1qc96kyThHQ0CAOONHaE3aROLpTjDe4WQ5aoC5ITHFxEq1z8XqSU7km+8amw== - dependencies: - builtin-modules "^3.0.0" - -is-callable@^1.1.3, is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== - -is-ci@^1.0.10: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" - integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== - dependencies: - ci-info "^1.5.0" - -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-cidr@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-1.0.0.tgz#fb5aacf659255310359da32cae03e40c6a1c2afc" - integrity sha1-+1qs9lklUxA1naMsrgPkDGocKvw= - dependencies: - cidr-regex "1.0.6" - -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-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.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= - -is-decimal@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.2.tgz#894662d6a8709d307f3a276ca4339c8fa5dff0ff" - integrity sha512-TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg== - -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-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= - dependencies: - is-primitive "^2.0.0" - -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@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= - -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-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -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-generator-fn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" - integrity sha1-lp1J4bszKfa7fwkIm+JleLLd1Go= - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= - dependencies: - is-extglob "^1.0.0" - -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: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" - integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A= - dependencies: - is-extglob "^2.1.1" - -is-hexadecimal@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz#b6e710d7d07bb66b98cb8cece5c9b4921deeb835" - integrity sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A== - -is-installed-globally@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" - integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= - dependencies: - global-dirs "^0.1.0" - is-path-inside "^1.0.0" - -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= - -is-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" - integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= - -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= - dependencies: - kind-of "^3.0.2" - -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@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== - -is-obj@^1.0.0, is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-object@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-0.1.2.tgz#00efbc08816c33cfc4ac8251d132e10dc65098d7" - integrity sha1-AO+8CIFsM8/ErIJR0TLhDcZQmNc= - -is-observable@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" - integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA== - dependencies: - symbol-observable "^1.1.0" - -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= - -is-path-in-cwd@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" - integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - -is-plain-obj@^1.0.0, is-plain-obj@^1.1.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-object@^2.0.1, 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-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= - -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= - -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= - -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= - dependencies: - has "^1.0.1" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -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-retry-allowed@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= - -is-root@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.0.0.tgz#838d1e82318144e5a6f77819d90207645acc7019" - integrity sha512-F/pJIk8QD6OX5DNhRB7hWamLsUilmkDGho48KbgZ6xg/lmAZXHxzXQ91jzB3yRSw5kdQGGGc4yz8HYhTYIMWPg== - -is-stream@^1.0.0, 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-supported-regexp-flag@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz#21ee16518d2c1dd3edd3e9a0d57e50207ac364ca" - integrity sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ== - -is-svg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" - integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== - dependencies: - html-comment-regex "^1.1.0" - -is-symbol@^1.0.1, is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== - dependencies: - has-symbols "^1.0.0" - -is-touch-device@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-touch-device/-/is-touch-device-1.0.1.tgz#9a2fd59f689e9a9bf6ae9a86924c4ba805a42eab" - integrity sha512-LAYzo9kMT1b2p19L/1ATGt2XcSilnzNlyvq6c0pbPRVisLbAPpLqr53tIJS00kvrTkj0HtR8U7+u8X0yR8lPSw== - -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-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-whitespace-character@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.2.tgz#ede53b4c6f6fb3874533751ec9280d01928d03ed" - integrity sha512-SzM+T5GKUCtLhlHFKt2SDAX2RFzfS6joT91F2/WSi9LxgFdsnhfPK/UIA+JhRR2xuyLdrCys2PiFDrtn1fU5hQ== - -is-windows@^1.0.0, 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-word-character@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.2.tgz#46a5dac3f2a1840898b91e576cd40d493f3ae553" - integrity sha512-T3FlsX8rCHAH8e7RE7PfOPZVFQlcV3XRF9eOOBQ1uf70OxO7CjjSOjeImMPCADBdYWcStAbVbYvJ1m2D3tb+EA== - -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@~0.2.6: - version "0.2.7" - resolved "https://registry.yarnpkg.com/is/-/is-0.2.7.tgz#3b34a2c48f359972f35042849193ae7264b63562" - integrity sha1-OzSixI81mXLzUEKEkZOucmS2NWI= - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -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= - -isbuffer@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/isbuffer/-/isbuffer-0.0.0.tgz#38c146d9df528b8bf9b0701c3d43cf12df3fc39b" - integrity sha1-OMFG2d9Si4v5sHAcPUPPEt8/w5s= - -isemail@3.x.x: - version "3.2.0" - resolved "https://registry.yarnpkg.com/isemail/-/isemail-3.2.0.tgz#59310a021931a9fb06bbb51e155ce0b3f236832c" - integrity sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg== - dependencies: - punycode "2.x.x" - -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= - -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-base64@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/isomorphic-base64/-/isomorphic-base64-1.0.2.tgz#f426aae82569ba8a4ec5ca73ad21a44ab1ee7803" - integrity sha1-9Caq6CVpuopOxcpzrSGkSrHueAM= - -isomorphic-fetch@^2.1.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-api@^1.3.1: - version "1.3.7" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.7.tgz#a86c770d2b03e11e3f778cd7aedd82d2722092aa" - integrity sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA== - dependencies: - async "^2.1.4" - fileset "^2.0.2" - istanbul-lib-coverage "^1.2.1" - istanbul-lib-hook "^1.2.2" - istanbul-lib-instrument "^1.10.2" - istanbul-lib-report "^1.1.5" - istanbul-lib-source-maps "^1.2.6" - istanbul-reports "^1.5.1" - js-yaml "^3.7.0" - mkdirp "^0.5.1" - once "^1.4.0" - -istanbul-lib-coverage@^1.2.0, istanbul-lib-coverage@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0" - integrity sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ== - -istanbul-lib-hook@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz#bc6bf07f12a641fbf1c85391d0daa8f0aea6bf86" - integrity sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw== - dependencies: - append-transform "^0.4.0" - -istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.10.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca" - integrity sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A== - dependencies: - babel-generator "^6.18.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.18.0" - istanbul-lib-coverage "^1.2.1" - semver "^5.3.0" - -istanbul-lib-report@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz#f2a657fc6282f96170aaf281eb30a458f7f4170c" - integrity sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw== - dependencies: - istanbul-lib-coverage "^1.2.1" - mkdirp "^0.5.1" - path-parse "^1.0.5" - supports-color "^3.1.2" - -istanbul-lib-source-maps@^1.2.4, istanbul-lib-source-maps@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz#37b9ff661580f8fca11232752ee42e08c6675d8f" - integrity sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg== - dependencies: - debug "^3.1.0" - istanbul-lib-coverage "^1.2.1" - mkdirp "^0.5.1" - rimraf "^2.6.1" - source-map "^0.5.3" - -istanbul-reports@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.5.1.tgz#97e4dbf3b515e8c484caea15d6524eebd3ff4e1a" - integrity sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw== - dependencies: - handlebars "^4.0.3" - -jest-changed-files@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.4.2.tgz#1eed688370cd5eebafe4ae93d34bb3b64968fe83" - integrity sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA== - dependencies: - throat "^4.0.0" - -jest-cli@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.6.0.tgz#61ab917744338f443ef2baa282ddffdd658a5da4" - integrity sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ== - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.1.11" - import-local "^1.0.0" - is-ci "^1.0.10" - istanbul-api "^1.3.1" - istanbul-lib-coverage "^1.2.0" - istanbul-lib-instrument "^1.10.1" - istanbul-lib-source-maps "^1.2.4" - jest-changed-files "^23.4.2" - jest-config "^23.6.0" - jest-environment-jsdom "^23.4.0" - jest-get-type "^22.1.0" - jest-haste-map "^23.6.0" - jest-message-util "^23.4.0" - jest-regex-util "^23.3.0" - jest-resolve-dependencies "^23.6.0" - jest-runner "^23.6.0" - jest-runtime "^23.6.0" - jest-snapshot "^23.6.0" - jest-util "^23.4.0" - jest-validate "^23.6.0" - jest-watcher "^23.4.0" - jest-worker "^23.2.0" - micromatch "^2.3.11" - node-notifier "^5.2.1" - prompts "^0.1.9" - realpath-native "^1.0.0" - rimraf "^2.5.4" - slash "^1.0.0" - string-length "^2.0.0" - strip-ansi "^4.0.0" - which "^1.2.12" - yargs "^11.0.0" - -jest-config@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.6.0.tgz#f82546a90ade2d8c7026fbf6ac5207fc22f8eb1d" - integrity sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ== - dependencies: - babel-core "^6.0.0" - babel-jest "^23.6.0" - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^23.4.0" - jest-environment-node "^23.4.0" - jest-get-type "^22.1.0" - jest-jasmine2 "^23.6.0" - jest-regex-util "^23.3.0" - jest-resolve "^23.6.0" - jest-util "^23.4.0" - jest-validate "^23.6.0" - micromatch "^2.3.11" - pretty-format "^23.6.0" - -jest-diff@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.6.0.tgz#1500f3f16e850bb3d71233408089be099f610c7d" - integrity sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g== - dependencies: - chalk "^2.0.1" - diff "^3.2.0" - jest-get-type "^22.1.0" - pretty-format "^23.6.0" - -jest-docblock@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7" - integrity sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c= - dependencies: - detect-newline "^2.1.0" - -jest-each@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-23.6.0.tgz#ba0c3a82a8054387016139c733a05242d3d71575" - integrity sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg== - dependencies: - chalk "^2.0.1" - pretty-format "^23.6.0" - -jest-environment-jsdom@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz#056a7952b3fea513ac62a140a2c368c79d9e6023" - integrity sha1-BWp5UrP+pROsYqFAosNox52eYCM= - dependencies: - jest-mock "^23.2.0" - jest-util "^23.4.0" - jsdom "^11.5.1" - -jest-environment-node@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-23.4.0.tgz#57e80ed0841dea303167cce8cd79521debafde10" - integrity sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA= - dependencies: - jest-mock "^23.2.0" - jest-util "^23.4.0" - -jest-get-type@^22.1.0: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" - integrity sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w== - -jest-haste-map@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.6.0.tgz#2e3eb997814ca696d62afdb3f2529f5bbc935e16" - integrity sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg== - dependencies: - fb-watchman "^2.0.0" - graceful-fs "^4.1.11" - invariant "^2.2.4" - jest-docblock "^23.2.0" - jest-serializer "^23.0.1" - jest-worker "^23.2.0" - micromatch "^2.3.11" - sane "^2.0.0" - -jest-jasmine2@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz#840e937f848a6c8638df24360ab869cc718592e0" - integrity sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ== - dependencies: - babel-traverse "^6.0.0" - chalk "^2.0.1" - co "^4.6.0" - expect "^23.6.0" - is-generator-fn "^1.0.0" - jest-diff "^23.6.0" - jest-each "^23.6.0" - jest-matcher-utils "^23.6.0" - jest-message-util "^23.4.0" - jest-snapshot "^23.6.0" - jest-util "^23.4.0" - pretty-format "^23.6.0" - -jest-leak-detector@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz#e4230fd42cf381a1a1971237ad56897de7e171de" - integrity sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg== - dependencies: - pretty-format "^23.6.0" - -jest-matcher-utils@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz#726bcea0c5294261a7417afb6da3186b4b8cac80" - integrity sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog== - dependencies: - chalk "^2.0.1" - jest-get-type "^22.1.0" - pretty-format "^23.6.0" - -jest-message-util@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-23.4.0.tgz#17610c50942349508d01a3d1e0bda2c079086a9f" - integrity sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8= - dependencies: - "@babel/code-frame" "^7.0.0-beta.35" - chalk "^2.0.1" - micromatch "^2.3.11" - slash "^1.0.0" - stack-utils "^1.0.1" - -jest-mock@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.2.0.tgz#ad1c60f29e8719d47c26e1138098b6d18b261134" - integrity sha1-rRxg8p6HGdR8JuETgJi20YsmETQ= - -jest-pnp-resolver@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.0.2.tgz#470384ae9ea31f72136db52618aa4010ff23b715" - integrity sha512-H2DvUlwdMedNGv4FOliPDnxani6ATWy70xe2eckGJgkLoMaWzRPqpSlc5ShqX0Ltk5OhRQvPQY2LLZPOpgcc7g== - -jest-regex-util@^23.3.0: - version "23.3.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.3.0.tgz#5f86729547c2785c4002ceaa8f849fe8ca471bc5" - integrity sha1-X4ZylUfCeFxAAs6qj4Sf6MpHG8U= - -jest-resolve-dependencies@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz#b4526af24c8540d9a3fab102c15081cf509b723d" - integrity sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA== - dependencies: - jest-regex-util "^23.3.0" - jest-snapshot "^23.6.0" - -jest-resolve@23.6.0, jest-resolve@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.6.0.tgz#cf1d1a24ce7ee7b23d661c33ba2150f3aebfa0ae" - integrity sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA== - dependencies: - browser-resolve "^1.11.3" - chalk "^2.0.1" - realpath-native "^1.0.0" - -jest-runner@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.6.0.tgz#3894bd219ffc3f3cb94dc48a4170a2e6f23a5a38" - integrity sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA== - dependencies: - exit "^0.1.2" - graceful-fs "^4.1.11" - jest-config "^23.6.0" - jest-docblock "^23.2.0" - jest-haste-map "^23.6.0" - jest-jasmine2 "^23.6.0" - jest-leak-detector "^23.6.0" - jest-message-util "^23.4.0" - jest-runtime "^23.6.0" - jest-util "^23.4.0" - jest-worker "^23.2.0" - source-map-support "^0.5.6" - throat "^4.0.0" - -jest-runtime@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.6.0.tgz#059e58c8ab445917cd0e0d84ac2ba68de8f23082" - integrity sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw== - dependencies: - babel-core "^6.0.0" - babel-plugin-istanbul "^4.1.6" - chalk "^2.0.1" - convert-source-map "^1.4.0" - exit "^0.1.2" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.1.11" - jest-config "^23.6.0" - jest-haste-map "^23.6.0" - jest-message-util "^23.4.0" - jest-regex-util "^23.3.0" - jest-resolve "^23.6.0" - jest-snapshot "^23.6.0" - jest-util "^23.4.0" - jest-validate "^23.6.0" - micromatch "^2.3.11" - realpath-native "^1.0.0" - slash "^1.0.0" - strip-bom "3.0.0" - write-file-atomic "^2.1.0" - yargs "^11.0.0" - -jest-serializer@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165" - integrity sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU= - -jest-snapshot@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.6.0.tgz#f9c2625d1b18acda01ec2d2b826c0ce58a5aa17a" - integrity sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg== - dependencies: - babel-types "^6.0.0" - chalk "^2.0.1" - jest-diff "^23.6.0" - jest-matcher-utils "^23.6.0" - jest-message-util "^23.4.0" - jest-resolve "^23.6.0" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^23.6.0" - semver "^5.5.0" - -jest-util@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-23.4.0.tgz#4d063cb927baf0a23831ff61bec2cbbf49793561" - integrity sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE= - dependencies: - callsites "^2.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.11" - is-ci "^1.0.10" - jest-message-util "^23.4.0" - mkdirp "^0.5.1" - slash "^1.0.0" - source-map "^0.6.0" - -jest-validate@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.6.0.tgz#36761f99d1ed33fcd425b4e4c5595d62b6597474" - integrity sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A== - dependencies: - chalk "^2.0.1" - jest-get-type "^22.1.0" - leven "^2.1.0" - pretty-format "^23.6.0" - -jest-watch-typeahead@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.2.1.tgz#6c40f232996ca6c39977e929e9f79b189e7d87e4" - integrity sha512-xdhEtKSj0gmnkDQbPTIHvcMmXNUDzYpHLEJ5TFqlaI+schi2NI96xhWiZk9QoesAS7oBmKwWWsHazTrYl2ORgg== - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.4.1" - jest-watcher "^23.1.0" - slash "^2.0.0" - string-length "^2.0.0" - strip-ansi "^5.0.0" - -jest-watcher@^23.1.0, jest-watcher@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-23.4.0.tgz#d2e28ce74f8dad6c6afc922b92cabef6ed05c91c" - integrity sha1-0uKM50+NrWxq/JIrksq+9u0FyRw= - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.1" - string-length "^2.0.0" - -jest-worker@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9" - integrity sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk= - dependencies: - merge-stream "^1.0.1" - -jest@23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-23.6.0.tgz#ad5835e923ebf6e19e7a1d7529a432edfee7813d" - integrity sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw== - dependencies: - import-local "^1.0.0" - jest-cli "^23.6.0" - -joi@^11.1.1: - version "11.4.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-11.4.0.tgz#f674897537b625e9ac3d0b7e1604c828ad913ccb" - integrity sha512-O7Uw+w/zEWgbL6OcHbyACKSj0PkQeUgmehdoXVSxt92QFCq4+1390Rwh5moI2K/OgC7D8RHRZqHZxT2husMJHA== - dependencies: - hoek "4.x.x" - isemail "3.x.x" - topo "2.x.x" - -jquery.hotkeys@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/jquery.hotkeys/-/jquery.hotkeys-0.1.0.tgz#a88f636494fe75de41e4b753a059e5a523b83273" - integrity sha1-qI9jZJT+dd5B5LdToFnlpSO4MnM= - -jquery@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca" - integrity sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg== - -js-levenshtein@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" - integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== - -"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.12.0, js-yaml@^3.7.0, js-yaml@^3.9.0: - version "3.12.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.1.tgz#295c8632a18a23e054cf5c9d3cecafe678167600" - integrity sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA== - 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" - -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= - -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.0, 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-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-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= - dependencies: - jsonify "~0.0.0" - -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= - -json3@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" - integrity sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE= - -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" - -json5@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== - 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" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= - -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" - -jsrsasign@^8.0.12: - version "8.0.12" - resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-8.0.12.tgz#22abb9656d34a30b9530436720835e89c2e5c316" - integrity sha1-Iqu5ZW00owuVMENnIINeicLlwxY= - -jsx-ast-utils@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" - integrity sha1-6AGxs5mF4g//yHtA43SAgOLcrH8= - dependencies: - array-includes "^3.0.3" - -jszip@3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.1.4.tgz#fc323fe41bb1730348d20dd022aa4d8b57cbbcf9" - integrity sha512-z6w8iYIxZ/fcgul0j/OerkYnkomH8BZigvzbxVmr2h5HkZUrPtk2kjYtLkqR9wwQxEP6ecKNoKLsbhd18jfnGA== - dependencies: - core-js "~2.3.0" - es6-promise "~3.0.2" - lie "~3.1.0" - pako "~1.0.2" - readable-stream "~2.0.6" - -killable@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== - -kind-of@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" - integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU= - dependencies: - is-buffer "^1.0.2" - -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.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== - -kleur@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-2.0.2.tgz#b704f4944d95e255d038f0cb05fb8a602c55a300" - integrity sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ== - -known-css-properties@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.11.0.tgz#0da784f115ea77c76b81536d7052e90ee6c86a8a" - integrity sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w== - -last-call-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" - integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== - dependencies: - lodash "^4.17.5" - webpack-sources "^1.1.0" - -latest-version@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" - integrity sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU= - dependencies: - package-json "^4.0.0" - -lazy-cache@^0.2.3: - version "0.2.7" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" - integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= - -lazy-property@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lazy-property/-/lazy-property-1.0.0.tgz#84ddc4b370679ba8bd4cdcfa4c06b43d57111147" - integrity sha1-hN3Es3Bnm6i9TNz6TAa0PVcREUc= - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= - dependencies: - invert-kv "^1.0.0" - -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== - dependencies: - invert-kv "^2.0.0" - -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== - -level-blobs@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/level-blobs/-/level-blobs-0.1.7.tgz#9ab9b97bb99f1edbf9f78a3433e21ed56386bdaf" - integrity sha1-mrm5e7mfHtv594o0M+Ie1WOGva8= - dependencies: - level-peek "1.0.6" - once "^1.3.0" - readable-stream "^1.0.26-4" - -level-filesystem@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/level-filesystem/-/level-filesystem-1.2.0.tgz#a00aca9919c4a4dfafdca6a8108d225aadff63b3" - integrity sha1-oArKmRnEpN+v3KaoEI0iWq3/Y7M= - dependencies: - concat-stream "^1.4.4" - errno "^0.1.1" - fwd-stream "^1.0.4" - level-blobs "^0.1.7" - level-peek "^1.0.6" - level-sublevel "^5.2.0" - octal "^1.0.0" - once "^1.3.0" - xtend "^2.2.0" - -level-fix-range@2.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/level-fix-range/-/level-fix-range-2.0.0.tgz#c417d62159442151a19d9a2367868f1724c2d548" - integrity sha1-xBfWIVlEIVGhnZojZ4aPFyTC1Ug= - dependencies: - clone "~0.1.9" - -level-fix-range@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/level-fix-range/-/level-fix-range-1.0.2.tgz#bf15b915ae36d8470c821e883ddf79cd16420828" - integrity sha1-vxW5Fa422EcMgh6IPd95zRZCCCg= - -"level-hooks@>=4.4.0 <5": - version "4.5.0" - resolved "https://registry.yarnpkg.com/level-hooks/-/level-hooks-4.5.0.tgz#1b9ae61922930f3305d1a61fc4d83c8102c0dd93" - integrity sha1-G5rmGSKTDzMF0aYfxNg8gQLA3ZM= - dependencies: - string-range "~1.2" - -level-js@^2.1.3: - version "2.2.4" - resolved "https://registry.yarnpkg.com/level-js/-/level-js-2.2.4.tgz#bc055f4180635d4489b561c9486fa370e8c11697" - integrity sha1-vAVfQYBjXUSJtWHJSG+jcOjBFpc= - dependencies: - abstract-leveldown "~0.12.0" - idb-wrapper "^1.5.0" - isbuffer "~0.0.0" - ltgt "^2.1.2" - typedarray-to-buffer "~1.0.0" - xtend "~2.1.2" - -level-peek@1.0.6, level-peek@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/level-peek/-/level-peek-1.0.6.tgz#bec51c72a82ee464d336434c7c876c3fcbcce77f" - integrity sha1-vsUccqgu5GTTNkNMfIdsP8vM538= - dependencies: - level-fix-range "~1.0.2" - -level-sublevel@^5.2.0: - version "5.2.3" - resolved "https://registry.yarnpkg.com/level-sublevel/-/level-sublevel-5.2.3.tgz#744c12c72d2e72be78dde3b9b5cd84d62191413a" - integrity sha1-dEwSxy0ucr543eO5tc2E1iGRQTo= - dependencies: - level-fix-range "2.0" - level-hooks ">=4.4.0 <5" - string-range "~1.2.1" - xtend "~2.0.4" - -levelup@^0.18.2: - version "0.18.6" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-0.18.6.tgz#e6a01cb089616c8ecc0291c2a9bd3f0c44e3e5eb" - integrity sha1-5qAcsIlhbI7MApHCqb0/DETj5es= - dependencies: - bl "~0.8.1" - deferred-leveldown "~0.2.0" - errno "~0.1.1" - prr "~0.0.0" - readable-stream "~1.0.26" - semver "~2.3.1" - xtend "~3.0.0" - -leven@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" - integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -libcipm@^1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/libcipm/-/libcipm-1.6.3.tgz#dc4052d710941547782d85bbdb3c77eedec733ff" - integrity sha512-WUEjQk1aZDECb2MFnAbx6o7sJbBJWrWwt9rbinOmpc0cLKWgYJOvKNqCUN3sl2P9LFqPsnVT4Aj5SPw4/xKI5A== - dependencies: - bin-links "^1.1.2" - bluebird "^3.5.1" - find-npm-prefix "^1.0.2" - graceful-fs "^4.1.11" - lock-verify "^2.0.2" - npm-lifecycle "^2.0.3" - npm-logical-tree "^1.2.1" - npm-package-arg "^6.1.0" - pacote "^8.1.6" - protoduck "^5.0.0" - read-package-json "^2.0.13" - rimraf "^2.6.2" - worker-farm "^1.6.0" - -libnpx@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/libnpx/-/libnpx-10.2.0.tgz#1bf4a1c9f36081f64935eb014041da10855e3102" - integrity sha512-X28coei8/XRCt15cYStbLBph+KGhFra4VQhRBPuH/HHMkC5dxM8v24RVgUsvODKCrUZ0eTgiTqJp6zbl0sskQQ== - dependencies: - dotenv "^5.0.1" - npm-package-arg "^6.0.0" - rimraf "^2.6.2" - safe-buffer "^5.1.0" - update-notifier "^2.3.0" - which "^1.3.0" - y18n "^4.0.0" - yargs "^11.0.0" - -lie@~3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" - integrity sha1-mkNrLMd0bKWd56QfpGmz77dr2H4= - dependencies: - immediate "~3.0.5" - -lint-staged@^8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-8.1.1.tgz#4a9837c75ea23d1ea81f2c5b5f334153cc7f7932" - integrity sha512-6C9tmmCedjDYQMzHydT5mXRtmEgpGUQDoIl+Ser8cfI/n9grsRUsuG2jd1BWqGf62OV+BV+6n/Drt82uYTCgJg== - dependencies: - "@iamstarkov/listr-update-renderer" "0.4.1" - chalk "^2.3.1" - commander "^2.14.1" - cosmiconfig "^5.0.2" - debug "^3.1.0" - dedent "^0.7.0" - del "^3.0.0" - execa "^1.0.0" - find-parent-dir "^0.3.0" - g-status "^2.0.2" - is-glob "^4.0.0" - is-windows "^1.0.2" - listr "^0.14.2" - lodash "^4.17.5" - log-symbols "^2.2.0" - micromatch "^3.1.8" - npm-which "^3.0.1" - p-map "^1.1.1" - path-is-inside "^1.0.2" - pify "^3.0.0" - please-upgrade-node "^3.0.2" - staged-git-files "1.1.2" - string-argv "^0.0.2" - stringify-object "^3.2.2" - yup "^0.26.10" - -listr-silent-renderer@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" - integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= - -listr-update-renderer@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2" - integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA== - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - elegant-spinner "^1.0.1" - figures "^1.7.0" - indent-string "^3.0.0" - log-symbols "^1.0.2" - log-update "^2.3.0" - strip-ansi "^3.0.1" - -listr-verbose-renderer@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db" - integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw== - dependencies: - chalk "^2.4.1" - cli-cursor "^2.1.0" - date-fns "^1.27.2" - figures "^2.0.0" - -listr@^0.14.2: - version "0.14.3" - resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" - integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA== - dependencies: - "@samverschueren/stream-to-observable" "^0.3.0" - is-observable "^1.1.0" - is-promise "^2.1.0" - is-stream "^1.1.0" - listr-silent-renderer "^1.1.1" - listr-update-renderer "^0.5.0" - listr-verbose-renderer "^0.5.0" - p-map "^2.0.0" - rxjs "^6.3.3" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -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-fs-cache@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz#56e0bf08bd9708b26a765b68509840c8dec9fdbc" - integrity sha1-VuC/CL2XCLJqdltoUJhAyN7J/bw= - dependencies: - find-cache-dir "^0.1.1" - mkdirp "0.5.1" - -loader-runner@^2.3.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.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== - dependencies: - big.js "^5.2.2" - emojis-list "^2.0.0" - json5 "^1.0.1" - -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" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -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" - -lock-verify@^2.0.2: - version "2.1.0" - resolved "https://registry.yarnpkg.com/lock-verify/-/lock-verify-2.1.0.tgz#fff4c918b8db9497af0c5fa7f6d71555de3ceb47" - integrity sha512-vcLpxnGvrqisKvLQ2C2v0/u7LVly17ak2YSgoK4PrdsYBXQIax19vhKiLfvKNFx7FRrpTnitrpzF/uuCMuorIg== - dependencies: - npm-package-arg "^6.1.0" - semver "^5.4.1" - -lockfile@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz#07f819d25ae48f87e538e6578b6964a4981a5609" - integrity sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA== - dependencies: - signal-exit "^3.0.2" - -lodash-es@^4.17.11: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.11.tgz#145ab4a7ac5c5e52a3531fb4f310255a152b4be0" - integrity sha512-DHb1ub+rMjjrxqlB3H56/6MXtm1lSksDp2rA2cNWjG8mlDUYFhUj3Di2Zn5IwSU87xLv8tNIQ7sSwE/YOX/D/Q== - -lodash._baseuniq@~4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" - integrity sha1-DrtE5FaBSveQXGIS+iybLVG4Qeg= - dependencies: - lodash._createset "~4.0.0" - lodash._root "~3.0.0" - -lodash._createset@~4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" - integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY= - -lodash._reinterpolate@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= - -lodash._root@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" - integrity sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI= - -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= - -lodash.clonedeep@^4.5.0, lodash.clonedeep@~4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/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.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= - -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.merge@^4.6.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54" - integrity sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ== - -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.tail@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" - integrity sha1-0jM6NtnncXyK0vfKyv7HwytERmQ= - -lodash.template@^4.2.4, lodash.template@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" - integrity sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A= - dependencies: - lodash._reinterpolate "~3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" - integrity sha1-K01OlbpEDZFf8IvImeRVNmZxMxY= - dependencies: - lodash._reinterpolate "~3.0.0" - -lodash.throttle@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" - integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= - -lodash.union@~4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" - integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg= - -lodash.uniq@^4.5.0, 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.without@~4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" - integrity sha1-PNRXSgC2e643OpS3SHcmQFB7eqw= - -"lodash@>=3.5 <5", lodash@^4.1.1, lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== - -lodash@^3.10.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" - integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= - -log-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" - integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= - dependencies: - chalk "^1.0.0" - -log-symbols@^2.0.0, 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" - -log-update@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" - integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= - dependencies: - ansi-escapes "^3.0.0" - cli-cursor "^2.0.0" - wrap-ansi "^3.0.1" - -loglevel@^1.4.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa" - integrity sha1-4PyVEztu8nbNyIh82vJKpvFW+Po= - -loglevelnext@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/loglevelnext/-/loglevelnext-3.0.0.tgz#cd0f094acc488adf143d7b099927054b1a296124" - integrity sha512-QpOjsecBDe3lI9sDcdCyVbuMsit3T15Qluf4C7MoYeeR6jmqSOvH3QFctZtygfIdGJLlchdN7JSjSVhOhZ3HxQ== - -longest-streak@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.2.tgz#2421b6ba939a443bb9ffebf596585a50b4c38e2e" - integrity sha512-TmYTeEYxiAmSVdpbnQDXGtvYOIRsCMg89CVZzwzc2o7GFL1CjoiRPjH5ec0NFAVlAx3fVof9dX/t6KKRAo2OWA== - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.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" - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.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= - -lowercase-keys@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2, lru-cache@^4.1.3: - 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" - -ltgt@^2.1.2: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" - integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU= - -magic-string@^0.25.1: - version "0.25.1" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.1.tgz#b1c248b399cd7485da0fe7385c2fc7011843266e" - integrity sha512-sCuTz6pYom8Rlt4ISPFn6wuFodbKMIHUMv4Qko9P17dpxb7s52KJTmRuZZqHdGmLCK9AOcDare039nRIcfdkEg== - dependencies: - sourcemap-codec "^1.4.1" - -make-dir@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - -"make-fetch-happen@^2.5.0 || 3 || 4", make-fetch-happen@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz#141497cb878f243ba93136c83d8aba12c216c083" - integrity sha512-7R5ivfy9ilRJ1EMKIOziwrns9fGeAD4bAha8EB7BIiBBLHm2KeTUGCrICFt2rbHfzheTLynv50GnNTK1zDTrcQ== - dependencies: - agentkeepalive "^3.4.1" - cacache "^11.0.1" - http-cache-semantics "^3.8.1" - http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.1" - lru-cache "^4.1.2" - mississippi "^3.0.0" - node-fetch-npm "^2.0.2" - promise-retry "^1.1.1" - socks-proxy-agent "^4.0.0" - ssri "^6.0.0" - -make-fetch-happen@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-2.6.0.tgz#8474aa52198f6b1ae4f3094c04e8370d35ea8a38" - integrity sha512-FFq0lNI0ax+n9IWzWpH8A4JdgYiAp2DDYIZ3rsaav8JDe8I+72CzK6PQW/oom15YDZpV5bYW/9INd6nIJ2ZfZw== - dependencies: - agentkeepalive "^3.3.0" - cacache "^10.0.0" - http-cache-semantics "^3.8.0" - http-proxy-agent "^2.0.0" - https-proxy-agent "^2.1.0" - lru-cache "^4.1.1" - mississippi "^1.2.0" - node-fetch-npm "^2.0.2" - promise-retry "^1.1.1" - socks-proxy-agent "^3.0.1" - ssri "^5.0.0" - -make-fetch-happen@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-3.0.0.tgz#7b661d2372fc4710ab5cc8e1fa3c290eea69a961" - integrity sha512-FmWY7gC0mL6Z4N86vE14+m719JKE4H0A+pyiOH18B025gF/C113pyfb4gHDDYP5cqnRMHOz06JGdmffC/SES+w== - dependencies: - agentkeepalive "^3.4.1" - cacache "^10.0.4" - http-cache-semantics "^3.8.1" - http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.0" - lru-cache "^4.1.2" - mississippi "^3.0.0" - node-fetch-npm "^2.0.2" - promise-retry "^1.1.1" - socks-proxy-agent "^3.0.1" - ssri "^5.2.4" - -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-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - -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-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" - integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk= - -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-escapes@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.2.tgz#e639cbde7b99c841c0bacc8a07982873b46d2122" - integrity sha512-lbRZ2mE3Q9RtLjxZBZ9+IMl68DKIXaVAhwvwn9pmjnPLS0h/6kyBMgNhqi1xFJ/2yv6cSyv0jbiZavZv93JkkA== - -markdown-table@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.2.tgz#c78db948fa879903a41bce522e3b96f801c63786" - integrity sha512-NcWuJFHDA8V3wkDgR/j4+gZx+YQwstPgfQDV8ndUeWWzta3dnDTBxpVzqS9lkmJAuV5YX35lmyojl6HO5JXAgw== - -matcher@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/matcher/-/matcher-1.1.1.tgz#51d8301e138f840982b338b116bb0c09af62c1c2" - integrity sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg== - dependencies: - escape-string-regexp "^1.0.4" - -math-random@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" - integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== - -mathml-tag-names@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.0.tgz#490b70e062ee24636536e3d9481e333733d00f2c" - integrity sha512-3Zs9P/0zzwTob2pdgT0CHZuMbnSUSp8MB1bddfm+HDmnFWHGT4jvEZRf+2RuPoa+cjdn/z25SEt5gFTqdhvJAg== - -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" - -mdast-util-compact@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.2.tgz#c12ebe16fffc84573d3e19767726de226e95f649" - integrity sha512-d2WS98JSDVbpSsBfVvD9TaDMlqPRz7ohM/11G0rp5jOBb5q96RJ6YLszQ/09AAixyzh23FeIpCGqfaamEADtWg== - dependencies: - unist-util-visit "^1.1.0" - -mdn-data@~1.1.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" - integrity sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA== - -meant@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/meant/-/meant-1.0.1.tgz#66044fea2f23230ec806fb515efea29c44d2115d" - integrity sha512-UakVLFjKkbbUwNWJ2frVLnnAtbb7D7DsloxRd3s/gDpI8rdv8W5Hp3NaDb+POBI1fQdeussER6NB8vpcRURvlg== - -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= - -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= - dependencies: - mimic-fn "^1.0.0" - -mem@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.1.0.tgz#aeb9be2d21f47e78af29e4ac5978e8afa2ca5b8a" - integrity sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg== - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^1.0.0" - p-is-promise "^2.0.0" - -memory-fs@^0.4.0, 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" - -meow@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4" - integrity sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig== - dependencies: - camelcase-keys "^4.0.0" - decamelize-keys "^1.0.0" - loud-rejection "^1.0.0" - minimist-options "^3.0.1" - normalize-package-data "^2.3.4" - read-pkg-up "^3.0.0" - redent "^2.0.0" - trim-newlines "^2.0.0" - yargs-parser "^10.0.0" - -merge-deep@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" - integrity sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA== - dependencies: - arr-union "^3.1.0" - clone-deep "^0.2.4" - kind-of "^3.0.2" - -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-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" - integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= - dependencies: - readable-stream "^2.0.1" - -merge2@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" - integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== - -merge@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" - integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== - -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@^2.3.11: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9: - 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" - -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.36.0 < 2", mime-db@~1.37.0: - version "1.37.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" - integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg== - -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.19: - version "2.1.21" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" - integrity sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg== - dependencies: - mime-db "~1.37.0" - -mime@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" - integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== - -mime@^2.0.3, mime@^2.3.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.0.tgz#e051fd881358585f3279df333fe694da0bcffdd6" - integrity sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w== - -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== - -mini-css-extract-plugin@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz#ac0059b02b9692515a637115b0cc9fed3a35c7b0" - integrity sha512-IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw== - dependencies: - loader-utils "^1.1.0" - 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.0, 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, minimatch@^3.0.2, minimatch@^3.0.3, 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-options@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" - integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@1.1.x: - version "1.1.3" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" - integrity sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag= - -minimist@^1.1.1, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= - -minipass@^2.2.1, minipass@^2.3.3, minipass@^2.3.4: - version "2.3.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" - integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.1.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" - integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== - dependencies: - minipass "^2.2.1" - -mississippi@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-1.3.1.tgz#2a8bb465e86550ac8b36a7b6f45599171d78671e" - integrity sha512-/6rB8YXFbAtsUVRphIRQqB0+9c7VaPHCjVtvto+JqwVxgz8Zz+I+f68/JgQ+Pb4VlZb2svA9OtdXnHHsZz7ltg== - 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 "^1.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mississippi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" - integrity sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw== - 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 "^2.0.1" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.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.1" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" - integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mixin-object@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" - integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4= - dependencies: - for-in "^0.1.3" - is-extendable "^0.1.1" - -mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - -mkpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/mkpath/-/mkpath-1.0.0.tgz#ebb3a977e7af1c683ae6fda12b545a6ba6c5853d" - integrity sha1-67Opd+evHGg65v2hK1Raa6bFhT0= - -moment@>=1.6.0, moment@^2.23.0, moment@^2.24.0: - version "2.24.0" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" - integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== - -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.0.0, 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== - -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" - -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - -mute-stream@~0.0.4: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -nan@^2.9.2: - version "2.12.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz#7b1aa193e9aa86057e3c7bbd0ac448e770925552" - integrity sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw== - -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" - -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= - -ndarray@^1.0.18: - version "1.0.18" - resolved "https://registry.yarnpkg.com/ndarray/-/ndarray-1.0.18.tgz#b60d3a73224ec555d0faa79711e502448fd3f793" - integrity sha1-tg06cyJOxVXQ+qeXEeUCRI/T95M= - dependencies: - iota-array "^1.0.0" - is-buffer "^1.0.2" - -needle@^2.2.1: - version "2.2.4" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" - integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA== - dependencies: - debug "^2.1.2" - iconv-lite "^0.4.4" - sax "^1.2.4" - -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= - -neo-async@^2.5.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.0.tgz#b9d15e4d71c6762908654b5183ed38b753340835" - integrity sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA== - -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-fetch-npm@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7" - integrity sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw== - dependencies: - encoding "^0.1.11" - json-parse-better-errors "^1.0.0" - safe-buffer "^5.1.1" - -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.7.5: - version "0.7.5" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" - integrity sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ== - -node-gyp@^3.6.2, node-gyp@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" - integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== - dependencies: - fstream "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request "^2.87.0" - rimraf "2" - semver "~5.3.0" - tar "^2.0.0" - which "1" - -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-libs-browser@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.0.tgz#c72f60d9d46de08a940dedbb25f3ffa2f9bbaa77" - integrity sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA== - 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.0" - 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 "0.0.4" - -node-notifier@^5.2.1: - version "5.3.0" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.3.0.tgz#c77a4a7b84038733d5fb351aafd8a268bfe19a01" - integrity sha512-AhENzCSGZnZJgBARsUjnQ7DnZbzyP+HxlVXuD0xqAnvL8q+OqtSX7lGg9e8nHzwXkMMXNdVeqq4E2M3EUAqX6Q== - dependencies: - growly "^1.3.0" - semver "^5.5.0" - shellwords "^0.1.1" - which "^1.3.0" - -node-pre-gyp@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" - integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - -node-releases@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.6.tgz#47d160033e24a64e79487a62de63cf691052ec54" - integrity sha512-lODUVHEIZutZx+TDdOk47qLik8FJMXzJ+WnyUGci1MTvTOyzZrz5eVPIIpc5Hb3NfHZGeGHeuwrRYVI1PEITWg== - dependencies: - semver "^5.3.0" - -"nopt@2 || 3": - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= - dependencies: - abbrev "1" - -nopt@^4.0.1, nopt@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= - dependencies: - abbrev "1" - osenv "^0.1.4" - -normalize-package-data@^2.0.0, normalize-package-data@^2.4.0, "normalize-package-data@~1.0.1 || ^2.0.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-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.4.1" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.1.tgz#ca948bac9af17c3c91e49fadd011fd7cb2be5c09" - integrity sha512-ZVuHxWJv1bopjv/SD5uPhgwUhLqxdJ+SsdUQbGR9HWlXrvnd/C08Cn9Bq48PbvX3y5V97GIpAHpL5Bk9BwChGg== - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^3.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@~2.4.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.2.tgz#6b2abd85774e51f7936f1395e45acb905dc849b2" - integrity sha512-YcMnjqeoUckXTPKZSAsPjUPLxH85XotbpqK3w4RyCwdFQSU5FxxBys8buehkSfg0j9fKvV1hn7O0+8reEgkAiw== - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.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-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-selector@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/normalize-selector/-/normalize-selector-0.2.0.tgz#d0b145eb691189c63a78d201dc4fdb1293ef0c03" - integrity sha1-0LFF62kRicY6eNIB3E/bEpPvDAM= - -normalize-url@^1.0.0: - 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== - -nosleep.js@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/nosleep.js/-/nosleep.js-0.7.0.tgz#cfd919c25523ca0d0f4a69fb3305c083adaee289" - integrity sha1-z9kZwlUjyg0PSmn7MwXAg62u4ok= - -npm-audit-report@^1.0.9: - version "1.3.2" - resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-1.3.2.tgz#303bc78cd9e4c226415076a4f7e528c89fc77018" - integrity sha512-abeqS5ONyXNaZJPGAf6TOUMNdSe1Y6cpc9MLBRn+CuUoYbfdca6AxOyXVlfIv9OgKX+cacblbG5w7A6ccwoTPw== - dependencies: - cli-table3 "^0.5.0" - console-control-strings "^1.1.0" - -npm-bundled@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" - integrity sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g== - -npm-cache-filename@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz#ded306c5b0bfc870a9e9faf823bc5f283e05ae11" - integrity sha1-3tMGxbC/yHCp6fr4I7xfKD4FrhE= - -npm-install-checks@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-3.0.0.tgz#d4aecdfd51a53e3723b7b2f93b2ee28e307bc0d7" - integrity sha1-1K7N/VGlPjcjt7L5Oy7ijjB7wNc= - dependencies: - semver "^2.3.0 || 3.x || 4 || 5" - -npm-lifecycle@^2.0.1, npm-lifecycle@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-2.1.0.tgz#1eda2eedb82db929e3a0c50341ab0aad140ed569" - integrity sha512-QbBfLlGBKsktwBZLj6AviHC6Q9Y3R/AY4a2PYSIRhSKSS0/CxRyD/PfxEX6tPeOCXQgMSNdwGeECacstgptc+g== - dependencies: - byline "^5.0.0" - graceful-fs "^4.1.11" - node-gyp "^3.8.0" - resolve-from "^4.0.0" - slide "^1.1.6" - uid-number "0.0.6" - umask "^1.1.0" - which "^1.3.1" - -npm-logical-tree@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/npm-logical-tree/-/npm-logical-tree-1.2.1.tgz#44610141ca24664cad35d1e607176193fd8f5b88" - integrity sha512-AJI/qxDB2PWI4LG1CYN579AY1vCiNyWfkiquCsJWqntRu/WwimVrC8yXeILBFHDwxfOejxewlmnvW9XXjMlYIg== - -"npm-package-arg@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", "npm-package-arg@^4.0.0 || ^5.0.0 || ^6.0.0", npm-package-arg@^6.0.0, npm-package-arg@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz#15ae1e2758a5027efb4c250554b85a737db7fcc1" - integrity sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA== - dependencies: - hosted-git-info "^2.6.0" - osenv "^0.1.5" - semver "^5.5.0" - validate-npm-package-name "^3.0.0" - -npm-packlist@^1.1.10: - version "1.4.1" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz#19064cdf988da80ea3cee45533879d90192bbfbc" - integrity sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - -npm-packlist@^1.1.6: - version "1.2.0" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.2.0.tgz#55a60e793e272f00862c7089274439a4cc31fc7f" - integrity sha512-7Mni4Z8Xkx0/oegoqlcao/JpPCPEMtUvsmB0q7mgvlMinykJLSRTYuFqoQLYgGY8biuxIeiHO+QNJKbCfljewQ== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - -npm-packlist@~1.1.10: - version "1.1.12" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz#22bde2ebc12e72ca482abd67afc51eb49377243a" - integrity sha512-WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - -npm-path@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64" - integrity sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw== - dependencies: - which "^1.2.10" - -npm-pick-manifest@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz#32111d2a9562638bb2c8f2bf27f7f3092c8fae40" - integrity sha512-+IluBC5K201+gRU85vFlUwX3PFShZAbAgDNp2ewJdWMVSppdo/Zih0ul2Ecky/X7b51J7LrrUAP+XOmOCvYZqA== - dependencies: - figgy-pudding "^3.5.1" - npm-package-arg "^6.0.0" - semver "^5.4.1" - -npm-profile@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-3.0.2.tgz#58d568f1b56ef769602fd0aed8c43fa0e0de0f57" - integrity sha512-rEJOFR6PbwOvvhGa2YTNOJQKNuc6RovJ6T50xPU7pS9h/zKPNCJ+VHZY2OFXyZvEi+UQYtHRTp8O/YM3tUD20A== - dependencies: - aproba "^1.1.2 || 2" - make-fetch-happen "^2.5.0 || 3 || 4" - -npm-registry-client@^8.5.1: - version "8.6.0" - resolved "https://registry.yarnpkg.com/npm-registry-client/-/npm-registry-client-8.6.0.tgz#7f1529f91450732e89f8518e0f21459deea3e4c4" - integrity sha512-Qs6P6nnopig+Y8gbzpeN/dkt+n7IyVd8f45NTMotGk6Qo7GfBmzwYx6jRLoOOgKiMnaQfYxsuyQlD8Mc3guBhg== - dependencies: - concat-stream "^1.5.2" - graceful-fs "^4.1.6" - normalize-package-data "~1.0.1 || ^2.0.0" - npm-package-arg "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" - once "^1.3.3" - request "^2.74.0" - retry "^0.10.0" - safe-buffer "^5.1.1" - semver "2 >=2.2.1 || 3.x || 4 || 5" - slide "^1.1.3" - ssri "^5.2.4" - optionalDependencies: - npmlog "2 || ^3.1.0 || ^4.0.0" - -npm-registry-fetch@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-1.1.1.tgz#710bc5947d9ee2c549375072dab6d5d17baf2eb2" - integrity sha512-ev+zxOXsgAqRsR8Rk+ErjgWOlbrXcqGdme94/VNdjDo1q8TSy10Pp8xgDv/ZmMk2jG/KvGtXUNG4GS3+l6xbDw== - dependencies: - bluebird "^3.5.1" - figgy-pudding "^3.0.0" - lru-cache "^4.1.2" - make-fetch-happen "^3.0.0" - npm-package-arg "^6.0.0" - safe-buffer "^5.1.1" - -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-user-validate@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.0.tgz#8ceca0f5cea04d4e93519ef72d0557a75122e951" - integrity sha1-jOyg9c6gTU6TUZ73LQVXp1Ei6VE= - -npm-which@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" - integrity sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo= - dependencies: - commander "^2.9.0" - npm-path "^2.0.2" - which "^1.2.10" - -npm@^5.8.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/npm/-/npm-5.10.0.tgz#3bec62312c94a9b0f48f208e00b98bf0304b40db" - integrity sha512-lvjvjgR5wG2RJ2uqak1xtZcVAWMwVOzN5HkUlUj/n8rU1f3A0fNn+7HwOzH9Lyf0Ppyu9ApgsEpHczOSnx1cwA== - dependencies: - JSONStream "^1.3.2" - abbrev "~1.1.1" - ansi-regex "~3.0.0" - ansicolors "~0.3.2" - ansistyles "~0.1.3" - aproba "~1.2.0" - archy "~1.0.0" - bin-links "^1.1.0" - bluebird "~3.5.1" - byte-size "^4.0.2" - cacache "^10.0.4" - call-limit "~1.1.0" - chownr "~1.0.1" - cli-columns "^3.1.2" - cli-table2 "~0.2.0" - cmd-shim "~2.0.2" - columnify "~1.5.4" - config-chain "~1.1.11" - detect-indent "~5.0.0" - detect-newline "^2.1.0" - dezalgo "~1.0.3" - editor "~1.0.0" - find-npm-prefix "^1.0.2" - fs-vacuum "~1.2.10" - fs-write-stream-atomic "~1.0.10" - gentle-fs "^2.0.1" - glob "~7.1.2" - graceful-fs "~4.1.11" - has-unicode "~2.0.1" - hosted-git-info "^2.6.0" - iferr "~0.1.5" - inflight "~1.0.6" - inherits "~2.0.3" - ini "^1.3.5" - init-package-json "^1.10.3" - is-cidr "~1.0.0" - json-parse-better-errors "^1.0.2" - lazy-property "~1.0.0" - libcipm "^1.6.2" - libnpx "^10.2.0" - lock-verify "^2.0.2" - lockfile "^1.0.4" - lodash._baseuniq "~4.6.0" - lodash.clonedeep "~4.5.0" - lodash.union "~4.6.0" - lodash.uniq "~4.5.0" - lodash.without "~4.4.0" - lru-cache "^4.1.2" - meant "~1.0.1" - mississippi "^3.0.0" - mkdirp "~0.5.1" - move-concurrently "^1.0.1" - node-gyp "^3.6.2" - nopt "~4.0.1" - normalize-package-data "~2.4.0" - npm-audit-report "^1.0.9" - npm-cache-filename "~1.0.2" - npm-install-checks "~3.0.0" - npm-lifecycle "^2.0.1" - npm-package-arg "^6.1.0" - npm-packlist "~1.1.10" - npm-profile "^3.0.1" - npm-registry-client "^8.5.1" - npm-registry-fetch "^1.1.0" - npm-user-validate "~1.0.0" - npmlog "~4.1.2" - once "~1.4.0" - opener "~1.4.3" - osenv "^0.1.5" - pacote "^7.6.1" - path-is-inside "~1.0.2" - promise-inflight "~1.0.1" - qrcode-terminal "^0.12.0" - query-string "^6.1.0" - qw "~1.0.1" - read "~1.0.7" - read-cmd-shim "~1.0.1" - read-installed "~4.0.3" - read-package-json "^2.0.13" - read-package-tree "^5.2.1" - readable-stream "^2.3.6" - request "^2.85.0" - retry "^0.12.0" - rimraf "~2.6.2" - safe-buffer "^5.1.2" - semver "^5.5.0" - sha "~2.0.1" - slide "~1.1.6" - sorted-object "~2.0.1" - sorted-union-stream "~2.1.3" - ssri "^5.3.0" - strip-ansi "~4.0.0" - tar "^4.4.2" - text-table "~0.2.0" - tiny-relative-date "^1.3.0" - uid-number "0.0.6" - umask "~1.1.0" - unique-filename "~1.1.0" - unpipe "~1.0.0" - update-notifier "^2.5.0" - uuid "^3.2.1" - validate-npm-package-license "^3.0.3" - validate-npm-package-name "~3.0.0" - which "~1.3.0" - worker-farm "^1.6.0" - wrappy "~1.0.2" - write-file-atomic "^2.3.0" - -"npmlog@0 || 1 || 2 || 3 || 4", "npmlog@2 || ^3.1.0 || ^4.0.0", npmlog@^4.0.2, npmlog@~4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -nth-check@^1.0.2, nth-check@~1.0.1: - 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= - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -nwsapi@^2.0.7: - version "2.0.9" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.9.tgz#77ac0cdfdcad52b6a1151a84e73254edc33ed016" - integrity sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ== - -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.1.1, 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-hash@^1.1.4: - version "1.3.1" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" - integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== - -object-is@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" - integrity sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY= - -object-keys@^1.0.11, object-keys@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" - integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== - -object-keys@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.2.0.tgz#cddec02998b091be42bf1035ae32e49f1cb6ea67" - integrity sha1-zd7AKZiwkb5CvxA1rjLknxy26mc= - dependencies: - foreach "~2.0.1" - indexof "~0.0.1" - is "~0.2.6" - -object-keys@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" - integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= - -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: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.entries@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" - integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.12.0" - function-bind "^1.1.1" - has "^1.0.3" - -object.fromentries@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" - integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA== - dependencies: - define-properties "^1.1.2" - es-abstract "^1.11.0" - function-bind "^1.1.1" - has "^1.0.1" - -object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.1" - -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -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.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" - integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.12.0" - function-bind "^1.1.1" - has "^1.0.3" - -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== - -octal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/octal/-/octal-1.0.0.tgz#63e7162a68efbeb9e213588d58e989d1e5c4530b" - integrity sha1-Y+cWKmjvvrniE1iNWOmJ0eXEUws= - -ohif-core@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/ohif-core/-/ohif-core-0.3.5.tgz#787ff37c4ac99fe11261bc23d46c0b08844c3c3b" - integrity sha512-AqJdTxWaFBWLR7HFto3S1EYBcCCHQ5i4cA4l/twgNa4HVG/WxGF57YXdonXkEO+6KQSjz84prl2+CaGFFeO3Yw== - dependencies: - "@babel/runtime" "^7.2.0" - dicomweb-client "^0.4.2" - isomorphic-base64 "^1.0.2" - jquery "^3.3.1" - jquery.hotkeys "^0.1.0" - lodash.clonedeep "^4.5.0" - lodash.merge "^4.6.1" - validate.js "^0.12.0" - -ohif-cornerstone-extension@^0.0.26: - version "0.0.26" - resolved "https://registry.yarnpkg.com/ohif-cornerstone-extension/-/ohif-cornerstone-extension-0.0.26.tgz#aac3ce9b5defd698b37064cf7b0af7efa2d71b9f" - integrity sha512-mriZWb9lgkIKE+hMGSNJLNz9qgIeQNfOR2/QDz8/Hfma0xrw80ZNyKOwuvSdGH1upUk3QpnY/H5uJrDDeHYUqQ== - dependencies: - "@babel/runtime" "^7.2.0" - classnames "^2.2.6" - lodash.throttle "^4.1.1" - react-cornerstone-viewport "^0.1.23" - -ohif-dicom-html-extension@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/ohif-dicom-html-extension/-/ohif-dicom-html-extension-0.0.2.tgz#5dd80836ee8f12f6ddf6de2b88c72af96d8c347b" - integrity sha512-7/YkaKrgnydiypFl39mvWO5vxCoGecudkdyCFedgDnG10UvkDF4nBcgNvoBupwBtGKYhXTfqye6fPWxQO0NWyw== - dependencies: - "@babel/runtime" "^7.2.0" - -ohif-dicom-microscopy-extension@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/ohif-dicom-microscopy-extension/-/ohif-dicom-microscopy-extension-0.0.5.tgz#c61ca7ae9bfae25de8c964a436ea95187ec98de8" - integrity sha512-FyqeS+Vt0P+W7VX0wrlEzkDqVXC1NTM/U4xJz+b3Cuv4MJEAZCqlE3zGnpxRIOxq/VzfjKrtVxHr8jEUlb9GwQ== - dependencies: - "@babel/runtime" "^7.2.0" - classnames "^2.2.6" - dicom-microscopy-viewer "^0.2.0" - -ohif-dicom-pdf-extension@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/ohif-dicom-pdf-extension/-/ohif-dicom-pdf-extension-0.0.6.tgz#5c1c1bf955d160dda01c36c4ed899d8e65384d63" - integrity sha512-MRBDnC78itsos3c8QMKjgaFp8tmXyGIq5qVLREr//osqCYirhWQbCFJv73eYR5+bRCdJfUMMpvnDSChFIhcT6A== - dependencies: - "@babel/runtime" "^7.2.0" - classnames "^2.2.6" - lodash.isequal "^4.5.0" - -ohif-vtk-extension@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/ohif-vtk-extension/-/ohif-vtk-extension-0.0.1.tgz#aec448c1d0a905d162154c65982227b3503f5f15" - integrity sha512-JfLh0AyEc2hOstpiXj9wMwvuYIQathOmsbb49SZFTw9Y9jMjgdxzdTJaiGtERsVT/92I9u42YrMYk6w5TQCT6A== - dependencies: - "@babel/runtime" "^7.2.0" - classnames "^2.2.6" - react-vtkjs-viewport "^0.0.7" - -oidc-client@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/oidc-client/-/oidc-client-1.6.1.tgz#76a7f24ad7fb5342269b6cae895bb32e1e27e785" - integrity sha512-buA9G0hlFjUwxoL/xuHunBtTgoICtJSojnZtATqMliUTKxPYAzHprOQ85Lj0hgF+Zv8lI/ViqaNFDG0Z5KCUKA== - dependencies: - jsrsasign "^8.0.12" - optionalDependencies: - babel-polyfill ">=6.9.1" - -ol@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ol/-/ol-5.3.0.tgz#106b870561fabb9b790b5869b3d93025cb03d389" - integrity sha512-UrOJGNI5XdYfE9n43RJdsMq25SjI4nIi5Kf0kxi+q6vEknzeRxM/wgYf8FMs7Ss3URuIbsKmetW9dVMOYB/DkQ== - dependencies: - pbf "3.1.0" - pixelworks "1.1.0" - rbush "2.0.2" - -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.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" - integrity sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c= - -once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0, 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" - -opener@~1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" - integrity sha1-XG2ixdflgx6P+jlklQ+NZnSskLg= - -opn@5.4.0, opn@^5.1.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035" - integrity sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw== - dependencies: - is-wsl "^1.1.0" - -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -optimize-css-assets-webpack-plugin@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.1.tgz#9eb500711d35165b45e7fd60ba2df40cb3eb9159" - integrity sha512-Rqm6sSjWtx9FchdP0uzTQDc7GXDKnwVEGoSxjezPkzMewx7gEWE9IMUYKmigTRC4U3RaNSwYVnUDLuIdtTpm0A== - dependencies: - cssnano "^4.1.0" - last-call-webpack-plugin "^3.0.0" - -optionator@^0.8.1, optionator@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -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= - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - -os-locale@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -osenv@0, osenv@^0.1.4, osenv@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - -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-is-promise@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5" - integrity sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg== - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" - integrity sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.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-map@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" - integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== - -p-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.0.0.tgz#be18c5a5adeb8e156460651421aceca56c213a50" - integrity sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w== - -p-queue@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-2.4.2.tgz#03609826682b743be9a22dba25051bd46724fc34" - integrity sha512-n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng== - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" - integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== - -package-json@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" - integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0= - dependencies: - got "^6.7.1" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" - -pacote@^7.6.1: - version "7.6.1" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-7.6.1.tgz#d44621c89a5a61f173989b60236757728387c094" - integrity sha512-2kRIsHxjuYC1KRUIK80AFIXKWy0IgtFj76nKcaunozKAOSlfT+DFh3EfeaaKvNHCWixgi0G0rLg11lJeyEnp/Q== - dependencies: - bluebird "^3.5.1" - cacache "^10.0.4" - get-stream "^3.0.0" - glob "^7.1.2" - lru-cache "^4.1.1" - make-fetch-happen "^2.6.0" - minimatch "^3.0.4" - mississippi "^3.0.0" - mkdirp "^0.5.1" - normalize-package-data "^2.4.0" - npm-package-arg "^6.0.0" - npm-packlist "^1.1.10" - npm-pick-manifest "^2.1.0" - osenv "^0.1.5" - promise-inflight "^1.0.1" - promise-retry "^1.1.1" - protoduck "^5.0.0" - rimraf "^2.6.2" - safe-buffer "^5.1.1" - semver "^5.5.0" - ssri "^5.2.4" - tar "^4.4.0" - unique-filename "^1.1.0" - which "^1.3.0" - -pacote@^8.1.6: - version "8.1.6" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-8.1.6.tgz#8e647564d38156367e7a9dc47a79ca1ab278d46e" - integrity sha512-wTOOfpaAQNEQNtPEx92x9Y9kRWVu45v583XT8x2oEV2xRB74+xdqMZIeGW4uFvAyZdmSBtye+wKdyyLaT8pcmw== - dependencies: - bluebird "^3.5.1" - cacache "^11.0.2" - get-stream "^3.0.0" - glob "^7.1.2" - lru-cache "^4.1.3" - make-fetch-happen "^4.0.1" - minimatch "^3.0.4" - minipass "^2.3.3" - mississippi "^3.0.0" - mkdirp "^0.5.1" - normalize-package-data "^2.4.0" - npm-package-arg "^6.1.0" - npm-packlist "^1.1.10" - npm-pick-manifest "^2.1.0" - osenv "^0.1.5" - promise-inflight "^1.0.1" - promise-retry "^1.1.1" - protoduck "^5.0.0" - rimraf "^2.6.2" - safe-buffer "^5.1.2" - semver "^5.5.0" - ssri "^6.0.0" - tar "^4.4.3" - unique-filename "^1.1.0" - which "^1.3.0" - -pako@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" - integrity sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg== - -pako@~1.0.2: - version "1.0.10" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" - integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== - -pako@~1.0.5: - version "1.0.8" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.8.tgz#6844890aab9c635af868ad5fecc62e8acbba3ea4" - integrity sha512-6i0HVbUfcKaTv+EG8ZTr75az7GFXcLYk9UyLEg7Notv/Ma+z/UG3TCoz6GiNeOrn1E/e63I0X/Hpw18jHOTUnA== - -parallel-transform@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" - integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY= - dependencies: - cyclist "~0.2.2" - 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" - -parent-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.0.tgz#df250bdc5391f4a085fb589dad761f5ad6b865b5" - integrity sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA== - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0: - version "5.1.3" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.3.tgz#1600c6cc0727365d68b97f3aa78939e735a75204" - integrity sha512-VrPoetlz7B/FqjBLD2f5wBVZvsZVLnRUrxVLfRYhGXCODa/NWE4p3Wp+6+aV3ZPL3KM7/OZmxDIwwijD7yuucg== - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-entities@^1.0.2, parse-entities@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.0.tgz#9deac087661b2e36814153cb78d7e54a4c5fd6f4" - integrity sha512-XXtDdOPLSB0sHecbEapQi6/58U/ODj/KWfIXmmMCJF/eRn8laX6LZbOyioMoETOOJoWRW8/qTSl5VQkUIfKM5g== - dependencies: - character-entities "^1.0.0" - character-entities-legacy "^1.0.0" - character-reference-invalid "^1.0.0" - is-alphanumerical "^1.0.0" - is-decimal "^1.0.0" - is-hexadecimal "^1.0.0" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -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" - -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.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" - integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== - -parseurl@~1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" - integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= - -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.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" - integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo= - -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@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - -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-is-absolute@^1.0.0, path-is-absolute@^1.0.1: - 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.1, path-is-inside@^1.0.2, 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-parse@^1.0.5, path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -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-to-regexp@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= - dependencies: - isarray "0.0.1" - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -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" - -pbf@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pbf/-/pbf-3.1.0.tgz#f70004badcb281761eabb1e76c92f179f08189e9" - integrity sha512-/hYJmIsTmh7fMkHAWWXJ5b8IKLWdjdlAFb3IHkRBn1XUhIYBChVGfVwmHEAV3UfXTxsP/AKfYTXTS/dCPxJd5w== - dependencies: - ieee754 "^1.1.6" - resolve-protobuf-schema "^2.0.0" - -pbkdf2@^3.0.3: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== - 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= - -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.0, 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= - -pixelworks@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pixelworks/-/pixelworks-1.1.0.tgz#1f095ad48dca8bf8a1c8258e0092031a44f22ca5" - integrity sha1-Hwla1I3Ki/ihyCWOAJIDGkTyLKU= - -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= - dependencies: - find-up "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.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-up@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - -please-upgrade-node@^3.0.2, please-upgrade-node@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz#ed320051dfcc5024fae696712c8288993595e8ac" - integrity sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ== - dependencies: - semver-compare "^1.0.0" - -pluralize@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" - integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== - -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.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.2.1.tgz#cd9d698df2a6fcf7255093c1c9511adf65b9421b" - integrity sha512-W6GctK7K2qQiVR+gYSv/Gyt6jwwIH4vwdviFqx+Y2jAtVf5eZyYIDf5Ac2NCDMBiX5yWscBLZElPTsyA1UtVVA== - dependencies: - ts-pnp "^1.0.0" - -portfinder@^1.0.9: - version "1.0.20" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a" - integrity sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw== - dependencies: - async "^1.5.2" - debug "^2.2.0" - mkdirp "0.5.x" - -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-attribute-case-insensitive@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz#b2a721a0d279c2f9103a36331c88981526428cc7" - integrity sha512-L2YKB3vF4PetdTIthQVeT+7YiSzMoNMLLYxPXXppOOP7NoazEAy45sh2LvJ8leCQjfBcfkYQs8TtCcQjeZTp8A== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0" - -postcss-calc@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436" - integrity sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ== - dependencies: - css-unit-converter "^1.1.1" - postcss "^7.0.5" - postcss-selector-parser "^5.0.0-rc.4" - postcss-value-parser "^3.3.1" - -postcss-color-functional-notation@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" - integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-gray@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" - integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-color-hex-alpha@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.2.tgz#e9b1886bb038daed33f6394168c210b40bb4fdb6" - integrity sha512-8bIOzQMGdZVifoBQUJdw+yIY00omBd2EwkJXepQo9cjp1UOHHHoeRDeSzTP6vakEpaRc6GAIOfvcQR7jBYaG5Q== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-mod-function@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" - integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-rebeccapurple@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" - integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-colormin@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.2.tgz#93cd1fa11280008696887db1a528048b18e7ed99" - integrity sha512-1QJc2coIehnVFsz0otges8kQLsryi4lo19WD+U5xCWvXd0uw/Z+KKYnbiNDCnO9GP+PvErPHCG0jNvWTngk9Rw== - 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-custom-media@^7.0.7: - version "7.0.7" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.7.tgz#bbc698ed3089ded61aad0f5bfb1fb48bf6969e73" - integrity sha512-bWPCdZKdH60wKOTG4HKEgxWnZVjAIVNOJDvi3lkuTa90xo/K0YHa2ZnlKLC5e2qF8qCcMQXt0yzQITBp8d0OFA== - dependencies: - postcss "^7.0.5" - -postcss-custom-properties@^8.0.9: - version "8.0.9" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.9.tgz#8943870528a6eae4c8e8d285b6ccc9fd1f97e69c" - integrity sha512-/Lbn5GP2JkKhgUO2elMs4NnbUJcvHX4AaF5nuJDaNkd2chYW1KA5qtOGGgdkBEWcXtKSQfHXzT7C6grEVyb13w== - dependencies: - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-custom-selectors@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" - integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-dir-pseudo-class@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" - integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-discard-comments@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.1.tgz#30697735b0c476852a7a11050eb84387a67ef55d" - integrity sha512-Ay+rZu1Sz6g8IdzRjUgG2NafSNpp2MSMOQUb+9kkzzzP+kh07fP0yNbhtFejURnyVXSX3FYy2nVNW1QTnNjgBQ== - 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-double-position-gradients@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" - integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== - dependencies: - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-env-function@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" - integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-flexbugs-fixes@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz#e094a9df1783e2200b7b19f875dcad3b3aff8b20" - integrity sha512-jr1LHxQvStNNAHlgco6PzY308zvLklh7SJVYuWUwyUQncofaAlD2l+P/gxKHOdqWKe7xJSkVLFF/2Tp+JqMSZA== - dependencies: - postcss "^7.0.0" - -postcss-focus-visible@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" - integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== - dependencies: - postcss "^7.0.2" - -postcss-focus-within@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" - integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== - dependencies: - postcss "^7.0.2" - -postcss-font-variant@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz#71dd3c6c10a0d846c5eda07803439617bbbabacc" - integrity sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg== - dependencies: - postcss "^7.0.2" - -postcss-gap-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" - integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== - dependencies: - postcss "^7.0.2" - -postcss-html@^0.36.0: - version "0.36.0" - resolved "https://registry.yarnpkg.com/postcss-html/-/postcss-html-0.36.0.tgz#b40913f94eaacc2453fd30a1327ad6ee1f88b204" - integrity sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw== - dependencies: - htmlparser2 "^3.10.0" - -postcss-image-set-function@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" - integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-initial@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.0.tgz#1772512faf11421b791fb2ca6879df5f68aa0517" - integrity sha512-WzrqZ5nG9R9fUtrA+we92R4jhVvEB32IIRTzfIG/PLL8UV4CvbF1ugTEHEFX6vWxl41Xt5RTCJPEZkuWzrOM+Q== - dependencies: - lodash.template "^4.2.4" - postcss "^7.0.2" - -postcss-jsx@^0.36.0: - version "0.36.0" - resolved "https://registry.yarnpkg.com/postcss-jsx/-/postcss-jsx-0.36.0.tgz#b7685ed3d070a175ef0aa48f83d9015bd772c82d" - integrity sha512-/lWOSXSX5jlITCKFkuYU2WLFdrncZmjSVyNpHAunEgirZXLwI8RjU556e3Uz4mv0WVHnJA9d3JWb36lK9Yx99g== - dependencies: - "@babel/core" ">=7.1.0" - -postcss-lab-function@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" - integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-less@^3.1.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-3.1.2.tgz#fb67e7ba351dbdf69de3c52eebd1184c52bfaea6" - integrity sha512-66ZBVo1JGkQ7r13M97xcHcyarWpgg21RaqIZWZXHE3XOtb5+ywK1uZWeY1DYkYRkIX/l8Hvxnx9iSKB68nFr+w== - dependencies: - postcss "^7.0.14" - -postcss-load-config@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.0.0.tgz#f1312ddbf5912cd747177083c5ef7a19d62ee484" - integrity sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ== - dependencies: - cosmiconfig "^4.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-logical@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" - integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== - dependencies: - postcss "^7.0.2" - -postcss-markdown@^0.36.0: - version "0.36.0" - resolved "https://registry.yarnpkg.com/postcss-markdown/-/postcss-markdown-0.36.0.tgz#7f22849ae0e3db18820b7b0d5e7833f13a447560" - integrity sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ== - dependencies: - remark "^10.0.1" - unist-util-find-all-after "^1.0.2" - -postcss-media-minmax@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" - integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== - dependencies: - postcss "^7.0.2" - -postcss-media-query-parser@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" - integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ= - -postcss-merge-longhand@^4.0.10: - version "4.0.10" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.10.tgz#c4d63ab57bdc054ab4067ab075d488c8c2978380" - integrity sha512-hME10s6CSjm9nlVIcO1ukR7Jr5RisTaaC1y83jWCivpuBtPohA3pZE7cGTIVSYjXvLnXozHTiVOkG4dnnl756g== - 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.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.2.tgz#2be44401bf19856f27f32b8b12c0df5af1b88e74" - integrity sha512-UiuXwCCJtQy9tAIxsnurfF0mrNHKc4NnNx6NxqmzNNjXpQwLSukUxELHTRF0Rg1pAmcoKLih8PwvZbiordchag== - 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.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.1.tgz#6da95c6e92a809f956bb76bf0c04494953e1a7dd" - integrity sha512-pySEW3E6Ly5mHm18rekbWiAjVi/Wj8KKt2vwSfVFAWdW6wOIekgqxKxLU7vJfb107o3FDNPkaYFCxGAJBFyogA== - 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.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.1.tgz#5b2e2d0264dd645ef5d68f8fec0d4c38c1cf93d2" - integrity sha512-h4W0FEMEzBLxpxIVelRtMheskOKKp52ND6rJv+nBS33G1twu2tCyurYj/YtgU76+UDCvWeNs0hs8HFAWE2OUFg== - 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.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.1.tgz#a891c197977cc37abf60b3ea06b84248b1c1e9cd" - integrity sha512-8+plQkomve3G+CodLCgbhAKrb5lekAnLYuL1d7Nz+/7RANpBEVdgBkPNwljfSKvZ9xkkZTZITd04KP+zeJTJqg== - dependencies: - alphanum-sort "^1.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -postcss-modules-extract-imports@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz#b614c9720be6816eaee35fb3a5faa1dba6a05ddb" - integrity sha1-thTJcgvmgW6u41+zpfqh26agXds= - dependencies: - postcss "^6.0.1" - -postcss-modules-extract-imports@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz#dc87e34148ec7eab5f791f7cd5849833375b741a" - integrity sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw== - dependencies: - postcss "^6.0.1" - -postcss-modules-local-by-default@1.2.0, postcss-modules-local-by-default@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" - integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= - dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" - -postcss-modules-scope@1.1.0, postcss-modules-scope@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" - integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A= - dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" - -postcss-modules-values@1.3.0, postcss-modules-values@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" - integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA= - dependencies: - icss-replace-symbols "^1.1.0" - postcss "^6.0.1" - -postcss-modules@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-1.4.1.tgz#8aa35bd3461db67e27377a7ce770d77b654a84ef" - integrity sha512-btTrbK+Xc3NBuYF8TPBjCMRSp5h6NoQ1iVZ6WiDQENIze6KIYCSf0+UFQuV3yJ7gRHA+4AAtF8i2jRvUpbBMMg== - dependencies: - css-modules-loader-core "^1.1.0" - generic-names "^1.0.3" - lodash.camelcase "^4.3.0" - postcss "^7.0.1" - string-hash "^1.1.1" - -postcss-nesting@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.0.tgz#6e26a770a0c8fcba33782a6b6f350845e1a448f6" - integrity sha512-WSsbVd5Ampi3Y0nk/SKr5+K34n52PqMqEfswu6RtU4r7wA8vSD+gM8/D9qq4aJkHImwn1+9iEFTbjoWsQeqtaQ== - dependencies: - postcss "^7.0.2" - -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.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.1.tgz#d9a83d47c716e8a980f22f632c8b0458cfb48a4c" - integrity sha512-R5mC4vaDdvsrku96yXP7zak+O3Mm9Y8IslUobk7IMP+u/g+lXvcN4jngmHY5zeJnrQvE13dfAg5ViU05ZFDwdg== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-positions@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.1.tgz#ee2d4b67818c961964c6be09d179894b94fd6ba1" - integrity sha512-GNoOaLRBM0gvH+ZRb2vKCIujzz4aclli64MBwDuYGU2EY53LwiP7MxOZGE46UGtotrSnmarPPZ69l2S/uxdaWA== - 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.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.1.tgz#5293f234b94d7669a9f805495d35b82a581c50e5" - integrity sha512-fFHPGIjBUyUiswY2rd9rsFcC0t3oRta4wxE1h3lpwfQZwFeFjXFSiDtdJ7APCmHQOnUZnqYBADNRPKPwFAONgA== - 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.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.1.tgz#23c5030c2cc24175f66c914fa5199e2e3c10fef3" - integrity sha512-IJoexFTkAvAq5UZVxWXAGE0yLoNN/012v7TQh5nDo6imZJl2Fwgbhy3J2qnIoaDBrtUP0H7JrXlX1jjn2YcvCQ== - dependencies: - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-timing-functions@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.1.tgz#8be83e0b9cb3ff2d1abddee032a49108f05f95d7" - integrity sha512-1nOtk7ze36+63ONWD8RCaRDYsnzorrj+Q6fxkQV+mlY5+471Qx9kspqv0O/qQNMeApg8KNrRf496zHwJ3tBZ7w== - 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.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.1.tgz#d14cb639b61238418ac8bc8d3b7bdd65fc86575e" - integrity sha512-U8MBODMB2L+nStzOk6VvWWjZgi5kQNShCyjRhMT3s+W9Jw93yIjOnrEkKYD3Ul7ChWbEcjDWmXq0qOL9MIAnAw== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-ordered-values@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.1.tgz#2e3b432ef3e489b18333aeca1f1295eb89be9fc2" - integrity sha512-PeJiLgJWPzkVF8JuKSBcylaU+hDJ/TX3zqAMIjlghgn1JBi6QwQaDZoDIlqWRcCAI8SxKrt3FCPSRmOgKRB97Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-overflow-shorthand@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" - integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== - dependencies: - postcss "^7.0.2" - -postcss-page-break@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" - integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== - dependencies: - postcss "^7.0.2" - -postcss-place@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" - integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-preset-env@6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.5.0.tgz#a14b8f6e748b2a3a4a02a56f36c390f30073b9e1" - integrity sha512-RdsIrYJd9p9AouQoJ8dFP5ksBJEIegA4q4WzJDih8nevz3cZyIP/q1Eaw3pTVpUAu3n7Y32YmvAW3X07mSRGkw== - dependencies: - autoprefixer "^9.4.2" - browserslist "^4.3.5" - caniuse-lite "^1.0.30000918" - css-blank-pseudo "^0.1.4" - css-has-pseudo "^0.10.0" - css-prefers-color-scheme "^3.1.1" - cssdb "^4.3.0" - postcss "^7.0.6" - postcss-attribute-case-insensitive "^4.0.0" - postcss-color-functional-notation "^2.0.1" - postcss-color-gray "^5.0.0" - postcss-color-hex-alpha "^5.0.2" - postcss-color-mod-function "^3.0.3" - postcss-color-rebeccapurple "^4.0.1" - postcss-custom-media "^7.0.7" - postcss-custom-properties "^8.0.9" - postcss-custom-selectors "^5.1.2" - postcss-dir-pseudo-class "^5.0.0" - postcss-double-position-gradients "^1.0.0" - postcss-env-function "^2.0.2" - postcss-focus-visible "^4.0.0" - postcss-focus-within "^3.0.0" - postcss-font-variant "^4.0.0" - postcss-gap-properties "^2.0.0" - postcss-image-set-function "^3.0.1" - postcss-initial "^3.0.0" - postcss-lab-function "^2.0.1" - postcss-logical "^3.0.0" - postcss-media-minmax "^4.0.0" - postcss-nesting "^7.0.0" - postcss-overflow-shorthand "^2.0.0" - postcss-page-break "^2.0.0" - postcss-place "^4.0.1" - postcss-pseudo-class-any-link "^6.0.0" - postcss-replace-overflow-wrap "^3.0.0" - postcss-selector-matches "^4.0.0" - postcss-selector-not "^4.0.0" - -postcss-pseudo-class-any-link@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" - integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-reduce-initial@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.2.tgz#bac8e325d67510ee01fa460676dc8ea9e3b40f15" - integrity sha512-epUiC39NonKUKG+P3eAOKKZtm5OtAtQJL7Ye0CBN1f+UQTHzqotudp+hki7zxXm7tT0ZAKDMBj1uihpPjP25ug== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - -postcss-reduce-transforms@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.1.tgz#8600d5553bdd3ad640f43bff81eb52f8760d4561" - integrity sha512-sZVr3QlGs0pjh6JAIe6DzWvBaqYw05V1t3d9Tp+VnFRT5j+rsqoWsysh/iSD7YNsULjq9IAylCznIwVd5oU/zA== - dependencies: - cssnano-util-get-match "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-replace-overflow-wrap@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" - integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== - dependencies: - postcss "^7.0.2" - -postcss-reporter@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-6.0.1.tgz#7c055120060a97c8837b4e48215661aafb74245f" - integrity sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw== - dependencies: - chalk "^2.4.1" - lodash "^4.17.11" - log-symbols "^2.2.0" - postcss "^7.0.7" - -postcss-resolve-nested-selector@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" - integrity sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4= - -postcss-safe-parser@4.0.1, postcss-safe-parser@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea" - integrity sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ== - dependencies: - postcss "^7.0.0" - -postcss-sass@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.3.5.tgz#6d3e39f101a53d2efa091f953493116d32beb68c" - integrity sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A== - dependencies: - gonzales-pe "^4.2.3" - postcss "^7.0.1" - -postcss-scss@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-2.0.0.tgz#248b0a28af77ea7b32b1011aba0f738bda27dea1" - integrity sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug== - dependencies: - postcss "^7.0.0" - -postcss-selector-matches@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" - integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-not@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz#c68ff7ba96527499e832724a2674d65603b645c0" - integrity sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-parser@^3.0.0, postcss-selector-parser@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" - integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU= - dependencies: - dot-prop "^4.1.1" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^5.0.0, postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== - dependencies: - cssesc "^2.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-svgo@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.1.tgz#5628cdb38f015de6b588ce6d0bf0724b492b581d" - integrity sha512-YD5uIk5NDRySy0hcI+ZJHwqemv2WiqqzDgtvgMzO8EGSkK5aONyX8HMVFRFJSdO8wUWTuisUFn/d7yRRbBr5Qw== - dependencies: - is-svg "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - svgo "^1.0.0" - -postcss-syntax@^0.36.2: - version "0.36.2" - resolved "https://registry.yarnpkg.com/postcss-syntax/-/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c" - integrity sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w== - -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, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: - 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-values-parser@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" - integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== - dependencies: - flatten "^1.0.2" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2" - integrity sha1-AA29H47vIXqjaLmiEsX8QLKo8/I= - dependencies: - chalk "^1.1.3" - source-map "^0.5.6" - supports-color "^3.2.3" - -postcss@^6.0.1, postcss@^6.0.23: - version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.13, postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6, postcss@^7.0.7: - version "7.0.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5" - integrity sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg== - 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, prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= - -prettier@^1.15.3: - version "1.16.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.2.tgz#f60bc5929a7f9a05260cc88d5430391100092414" - integrity sha512-vBMdCn1LjrFi2CpBsiWVKOq+WP9poXDTIGPe2sG3eE33LQ3b6IUgmaMjLZKKY+frD/8FqPeEK1qAx9mOV8iruA== - -pretty-bytes@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" - integrity sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk= - -pretty-error@^2.0.2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= - dependencies: - renderkid "^2.0.1" - utila "~0.4" - -pretty-format@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.6.0.tgz#5eaac8eeb6b33b987b7fe6097ea6a8a146ab5760" - integrity sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw== - dependencies: - ansi-regex "^3.0.0" - ansi-styles "^3.2.0" - -private@^0.1.6, private@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - -process-es6@^0.11.2: - version "0.11.6" - resolved "https://registry.yarnpkg.com/process-es6/-/process-es6-0.11.6.tgz#c6bb389f9a951f82bd4eb169600105bd2ff9c778" - integrity sha1-xrs4n5qVH4K9TrFpYAEFvS/5x3g= - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= - -process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" - integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-inflight@^1.0.1, 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= - -promise-retry@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d" - integrity sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0= - dependencies: - err-code "^1.0.0" - retry "^0.10.0" - -promise.series@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/promise.series/-/promise.series-0.2.0.tgz#2cc7ebe959fc3a6619c04ab4dbdc9e452d864bbd" - integrity sha1-LMfr6Vn8OmYZwEq029yeRS2GS70= - -promise@8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/promise/-/promise-8.0.2.tgz#9dcd0672192c589477d56891271bdc27547ae9f0" - integrity sha512-EIyzM39FpVOMbqgzEHhxdrEhtOSDOtjMZQ0M6iVfCE+kWNgCkAyOdnuCWqfmflylftfadU6FkiMgHZA2kUzwRw== - dependencies: - asap "~2.0.6" - -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - -prompts@^0.1.9: - version "0.1.14" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-0.1.14.tgz#a8e15c612c5c9ec8f8111847df3337c9cbd443b2" - integrity sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w== - dependencies: - kleur "^2.0.1" - sisteransi "^0.1.1" - -promzard@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" - integrity sha1-JqXW7ox97kyxIggwWs+5O6OCqe4= - dependencies: - read "1" - -prop-types-exact@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/prop-types-exact/-/prop-types-exact-1.2.0.tgz#825d6be46094663848237e3925a98c6e944e9869" - integrity sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA== - dependencies: - has "^1.0.3" - object.assign "^4.1.0" - reflect.ownkeys "^0.2.0" - -prop-types-extra@^1.0.1, prop-types-extra@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/prop-types-extra/-/prop-types-extra-1.1.0.tgz#32609910ea2dcf190366bacd3490d5a6412a605f" - integrity sha512-QFyuDxvMipmIVKD2TwxLVPzMnO4e5oOf1vr3tJIomL8E7d0lr6phTHd5nkPhFIzTD1idBLLEPeylL9g+rrTzRg== - dependencies: - react-is "^16.3.2" - warning "^3.0.0" - -prop-types@^15.5.10, prop-types@^15.6.1, prop-types@^15.6.2: - version "15.6.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102" - integrity sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ== - dependencies: - loose-envify "^1.3.1" - object-assign "^4.1.1" - -prop-types@^15.5.8, prop-types@^15.6.0: - version "15.7.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.1.tgz#2fa61e0a699d428b40320127733ee2931f05d9d1" - integrity sha512-f8Lku2z9kERjOCcnDOPm68EBJAO2K00Q5mSgPAUE/gJuBgsYLbVy6owSrtcHj90zt8PvW+z0qaIIgsIhHOa1Qw== - dependencies: - object-assign "^4.1.1" - react-is "^16.8.1" - -property-expr@^1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-1.5.1.tgz#22e8706894a0c8e28d58735804f6ba3a3673314f" - integrity sha512-CGuc0VUTGthpJXL36ydB6jnbyOf/rAHFvmVrJlH+Rg0DqqLFQGAP6hIaxD/G0OAmBJPhXDHuEJigrp0e0wFV6g== - -property-information@^5.0.0, property-information@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.0.1.tgz#c3b09f4f5750b1634c0b24205adbf78f18bdf94f" - integrity sha512-nAtBDVeSwFM3Ot/YxT7s4NqZmqXI7lLzf46BThvotEtYf2uk2yH0ACYuWQkJ7gxKs49PPtKVY0UlDGkyN9aJlw== - dependencies: - xtend "^4.0.1" - -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= - -protocol-buffers-schema@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.3.2.tgz#00434f608b4e8df54c59e070efeefc37fb4bb859" - integrity sha512-Xdayp8sB/mU+sUV4G7ws8xtYMGdQnxbeIfLjyO9TZZRJdztBGhlmbI5x1qcY4TG5hBkIKGnc28i7nXxaugu88w== - -protoduck@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz#03c3659ca18007b69a50fd82a7ebcc516261151f" - integrity sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg== - dependencies: - genfun "^5.0.0" - -proxy-addr@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" - integrity sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA== - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.8.0" - -prr@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" - integrity sha1-GoS4WQgyVQFBGFPQCB7j+obikmo= - -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.24, psl@^1.1.28: - version "1.1.31" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" - integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== - -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@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" - integrity sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^2.0.0, pump@^2.0.1: - 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@2.x.x, 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== - -punycode@^1.2.4, punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -q@^1.1.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -qrcode-terminal@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" - integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== - -qs@6.5.2, 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" - -query-string@^6.1.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.2.0.tgz#468edeb542b7e0538f9f9b1aeb26f034f19c86e1" - integrity sha512-5wupExkIt8RYL4h/FE+WTg3JHk62e6fFPWtAZA9J5IWK1PfTfKkMS93HBUHcFpeYi9KsY5pFbh+ldvEyaz5MyA== - dependencies: - decode-uri-component "^0.2.0" - strict-uri-encode "^2.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.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.0.tgz#7ded8dfbf7879dcc60d0a644ac6754b283ad17ef" - integrity sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg== - -quick-lru@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" - integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= - -quickselect@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-1.1.1.tgz#852e412ce418f237ad5b660d70cffac647ae94c2" - integrity sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ== - -qw@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/qw/-/qw-1.0.1.tgz#efbfdc740f9ad054304426acb183412cc8b996d4" - integrity sha1-77/cdA+a0FQwRCassYNBLMi5ltQ= - -raf@3.4.1: - 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" - -randomatic@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" - integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== - dependencies: - is-number "^4.0.0" - kind-of "^6.0.0" - math-random "^1.0.1" - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" - integrity sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A== - 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.0.3, range-parser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= - -raw-body@2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" - integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== - dependencies: - bytes "3.0.0" - http-errors "1.6.3" - iconv-lite "0.4.23" - unpipe "1.0.0" - -rbush@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/rbush/-/rbush-2.0.2.tgz#bb6005c2731b7ba1d5a9a035772927d16a614605" - integrity sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA== - dependencies: - quickselect "^1.0.1" - -rc@^1.0.1, rc@^1.1.6, rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-addons-shallow-compare@^15.6.2: - version "15.6.2" - resolved "https://registry.yarnpkg.com/react-addons-shallow-compare/-/react-addons-shallow-compare-15.6.2.tgz#198a00b91fc37623db64a28fd17b596ba362702f" - integrity sha1-GYoAuR/DdiPbZKKP0XtZa6NicC8= - dependencies: - fbjs "^0.8.4" - object-assign "^4.1.0" - -react-app-polyfill@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-0.2.1.tgz#96c701a40b9671c8547f70bdbb4a47f4d5767790" - integrity sha512-rcpR+WKmLOoYGDAxXaLlxl5Sw6jqbcD1qg2Okn1Ta2RHCxLuQv75B9Em2L2GvuOTx3lAxDpNl/TYGWbKnO/Aag== - dependencies: - core-js "2.6.4" - object-assign "4.1.1" - promise "8.0.2" - raf "3.4.1" - whatwg-fetch "3.0.0" - -react-bootstrap-modal@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/react-bootstrap-modal/-/react-bootstrap-modal-4.2.0.tgz#010b3ca9230a3c147fa5fc6aa39b6971e34151bd" - integrity sha512-2Xx9yvPEnMNhJIAKCg+t3CECF6w3qt2mmICv1Y1vwDBHeuyyf3OvSFcnRM8E0Tn7pywgopL2qyU4yx0vnGKmdA== - dependencies: - classnames "^2.2.6" - dom-helpers "^3.3.1" - prop-types "^15.6.1" - prop-types-extra "^1.1.0" - react-overlays "^0.8.0" - react-transition-group "^2.0.0" - -react-cornerstone-viewport@^0.1.23: - version "0.1.23" - resolved "https://registry.yarnpkg.com/react-cornerstone-viewport/-/react-cornerstone-viewport-0.1.23.tgz#4f065c4d1a5e721a45b819d1b7e94489af69b5c1" - integrity sha512-uukvBIrtvExY0oOo6d/79CZRrALtU2Pq8NBovYVvD02Hg40yYtGYLZ2AnbjbQEtsf0LjpLhcfT/QU6ZOB2v8rw== - dependencies: - lodash.debounce "^4.0.8" - moment "^2.23.0" - stylus "^0.54.5" - -react-dates@^18.4.1: - version "18.5.0" - resolved "https://registry.yarnpkg.com/react-dates/-/react-dates-18.5.0.tgz#31cc8ab01b2cc546b938e198fd8d4316878f5717" - integrity sha512-5zWR3+ekkRzf740omDkO+N0JifsGGOeyvWwQ/7dFxSb2CqHUsOfKgvpXOiwd3hBm4yr+lelESI3b458BEOU5og== - dependencies: - airbnb-prop-types "^2.10.0" - consolidated-events "^1.1.1 || ^2.0.0" - is-touch-device "^1.0.1" - lodash "^4.1.1" - object.assign "^4.1.0" - object.values "^1.0.4" - prop-types "^15.6.1" - react-addons-shallow-compare "^15.6.2" - react-moment-proptypes "^1.6.0" - react-outside-click-handler "^1.2.0" - react-portal "^4.1.5" - react-with-direction "^1.3.0" - react-with-styles "^3.2.0" - react-with-styles-interface-css "^4.0.2" - -react-dev-utils@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-7.0.3.tgz#f1316cfffd792fd41b0c28ad5db86c1d74484d6f" - integrity sha512-KEFsH1CewnmddPLXIuU+QWKTH/hpJKZClL2+74XN54NkPnR2KnB5gGmuQ0E7DwcCkUpdMxxqBX+rB7aB5sZS4A== - dependencies: - "@babel/code-frame" "7.0.0" - address "1.0.3" - browserslist "4.4.1" - chalk "2.4.2" - cross-spawn "6.0.5" - detect-port-alt "1.1.6" - escape-string-regexp "1.0.5" - filesize "3.6.1" - find-up "3.0.0" - global-modules "2.0.0" - globby "8.0.2" - gzip-size "5.0.0" - immer "1.10.0" - inquirer "6.2.1" - is-root "2.0.0" - loader-utils "1.2.3" - opn "5.4.0" - pkg-up "2.0.0" - react-error-overlay "^5.1.3" - recursive-readdir "2.2.2" - shell-quote "1.6.1" - sockjs-client "1.3.0" - strip-ansi "5.0.0" - text-table "0.2.0" - -react-dnd-html5-backend@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/react-dnd-html5-backend/-/react-dnd-html5-backend-7.0.2.tgz#f74181ca0ff05be13eb6094629c5ad560f558a7e" - integrity sha512-BPhmHeQjvhPXRykHvFLbM+TJFrrarcuf/mIArNEmXzZuNhLfbOnHtMSzR8lPwodABcDAYj7hEF7vTABXX298vA== - dependencies: - dnd-core "^7.0.2" - lodash "^4.17.11" - -react-dnd@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/react-dnd/-/react-dnd-7.0.2.tgz#8f5611a6e877592932c082d6280c64d1c817f420" - integrity sha512-nJnHJo/tNQjyod234+hPNopWHPvgH0gujf3pcdJWRe3l0GL+jSXXwXJ2SFwIHkVmxPYrx8+gbKU3+Pq26p6fkg== - dependencies: - dnd-core "^7.0.2" - hoist-non-react-statics "^3.1.0" - invariant "^2.1.0" - lodash "^4.17.11" - recompose "^0.30.0" - shallowequal "^1.1.0" - -react-dom@^16.7.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.7.0.tgz#a17b2a7ca89ee7390bc1ed5eb81783c7461748b8" - integrity sha512-D0Ufv1ExCAmF38P2Uh1lwpminZFRXEINJe53zRAbm4KPwSyd6DY/uDoS0Blj9jvPpn1+wivKpZYc8aAAN/nAkg== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.12.0" - -react-error-overlay@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-5.1.3.tgz#16fcbde75ed4dc6161dc6dc959b48e92c6ffa9ad" - integrity sha512-GoqeM3Xadie7XUApXOjkY3Qhs8RkwB/Za4WMedBGrOKH1eTuKGyoAECff7jiVonJchOx6KZ9i8ILO5XIoHB+Tg== - -react-is@^16.3.2, react-is@^16.6.3, react-is@^16.7.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.7.0.tgz#c1bd21c64f1f1364c6f70695ec02d69392f41bfa" - integrity sha512-Z0VRQdF4NPDoI0tsXVMLkJLiwEBa+RP66g0xDHxgxysxSoCUccSten4RTF/UFvZF1dZvZ9Zu1sx+MDXwcOR34g== - -react-is@^16.8.1: - version "16.8.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.1.tgz#a80141e246eb894824fb4f2901c0c50ef31d4cdb" - integrity sha512-ioMCzVDWvCvKD8eeT+iukyWrBGrA3DiFYkXfBsVYIRdaREZuBjENG+KjrikavCLasozqRWTwFUagU/O4vPpRMA== - -react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== - -react-moment-proptypes@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/react-moment-proptypes/-/react-moment-proptypes-1.6.0.tgz#8ec266ee392a08ba3412d2df2eebf833ab1046df" - integrity sha512-4h7EuhDMTzQqZ+02KUUO+AVA7PqhbD88yXB740nFpNDyDS/bj9jiPyn2rwr9sa8oDyaE1ByFN9+t5XPyPTmN6g== - dependencies: - moment ">=1.6.0" - -react-outside-click-handler@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/react-outside-click-handler/-/react-outside-click-handler-1.2.2.tgz#2c4609fbaacbfc192e269786d555419b115bf93f" - integrity sha512-MgCxmFARGN1VrZdwoLkER/y3So6mC/fSniXI4XcXcB+Jt05nw/k8a/R1hSoa7p414uZUZ8NfClN3eVmZm9bM5Q== - dependencies: - airbnb-prop-types "^2.10.0" - consolidated-events "^1.1.1 || ^2.0.0" - object.values "^1.0.4" - prop-types "^15.6.1" - -react-overlays@^0.8.0: - version "0.8.3" - resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-0.8.3.tgz#fad65eea5b24301cca192a169f5dddb0b20d3ac5" - integrity sha512-h6GT3jgy90PgctleP39Yu3eK1v9vaJAW73GOA/UbN9dJ7aAN4BTZD6793eI1D5U+ukMk17qiqN/wl3diK1Z5LA== - dependencies: - classnames "^2.2.5" - dom-helpers "^3.2.1" - prop-types "^15.5.10" - prop-types-extra "^1.0.1" - react-transition-group "^2.2.0" - warning "^3.0.0" - -react-portal@^4.1.5: - version "4.2.0" - resolved "https://registry.yarnpkg.com/react-portal/-/react-portal-4.2.0.tgz#5400831cdb0ae64dccb8128121cf076089ab1afd" - integrity sha512-Zf+vGQ/VEAb5XAy+muKEn48yhdCNYPZaB1BWg1xc8sAZWD8pXTgPtQT4ihBdmWzsfCq8p8/kqf0GWydSBqc+Eg== - dependencies: - prop-types "^15.5.8" - -react-redux@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-6.0.0.tgz#09e86eeed5febb98e9442458ad2970c8f1a173ef" - integrity sha512-EmbC3uLl60pw2VqSSkj6HpZ6jTk12RMrwXMBdYtM6niq0MdEaRq9KYCwpJflkOZj349BLGQm1MI/JO1W96kLWQ== - dependencies: - "@babel/runtime" "^7.2.0" - hoist-non-react-statics "^3.2.1" - invariant "^2.2.4" - loose-envify "^1.4.0" - prop-types "^15.6.2" - react-is "^16.6.3" - -react-resize-detector@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-3.4.0.tgz#2ccd399958a0efe9b7c52c5db5a13d87e47cd585" - integrity sha512-T96I8Iqa1hGWyooeFA2Sl6FdPoMhXWINfEKg2/EJLxhP37+/94VNuyuyz9CRqpmApD83IWRR+lbB3r0ADMoKJg== - dependencies: - lodash "^4.17.11" - lodash-es "^4.17.11" - prop-types "^15.6.2" - resize-observer-polyfill "^1.5.1" - -react-router-dom@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz#4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6" - integrity sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA== - dependencies: - history "^4.7.2" - invariant "^2.2.4" - loose-envify "^1.3.1" - prop-types "^15.6.1" - react-router "^4.3.1" - warning "^4.0.1" - -react-router@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz#aada4aef14c809cb2e686b05cee4742234506c4e" - integrity sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg== - dependencies: - history "^4.7.2" - hoist-non-react-statics "^2.5.0" - invariant "^2.2.4" - loose-envify "^1.3.1" - path-to-regexp "^1.7.0" - prop-types "^15.6.1" - warning "^4.0.1" - -react-scripts@^2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-2.1.5.tgz#0740507db0a06d518c231caa1ef4e908bd8ebce5" - integrity sha512-NaDKSxBLlU/jmO3TjTChz0PnnGToaQn0R/y4l4/Uk1vZdrIUsKCGdOWV1z0SJoRg7bFgNKxh55yS0qMr8rFwCg== - dependencies: - "@babel/core" "7.2.2" - "@svgr/webpack" "4.1.0" - babel-core "7.0.0-bridge.0" - babel-eslint "9.0.0" - babel-jest "23.6.0" - babel-loader "8.0.5" - babel-plugin-named-asset-import "^0.3.1" - babel-preset-react-app "^7.0.1" - bfj "6.1.1" - case-sensitive-paths-webpack-plugin "2.2.0" - css-loader "1.0.0" - dotenv "6.0.0" - dotenv-expand "4.2.0" - eslint "5.12.0" - eslint-config-react-app "^3.0.7" - eslint-loader "2.1.1" - eslint-plugin-flowtype "2.50.1" - eslint-plugin-import "2.14.0" - eslint-plugin-jsx-a11y "6.1.2" - eslint-plugin-react "7.12.4" - file-loader "2.0.0" - fork-ts-checker-webpack-plugin-alt "0.4.14" - fs-extra "7.0.1" - html-webpack-plugin "4.0.0-alpha.2" - identity-obj-proxy "3.0.0" - jest "23.6.0" - jest-pnp-resolver "1.0.2" - jest-resolve "23.6.0" - jest-watch-typeahead "^0.2.1" - mini-css-extract-plugin "0.5.0" - optimize-css-assets-webpack-plugin "5.0.1" - pnp-webpack-plugin "1.2.1" - postcss-flexbugs-fixes "4.1.0" - postcss-loader "3.0.0" - postcss-preset-env "6.5.0" - postcss-safe-parser "4.0.1" - react-app-polyfill "^0.2.1" - react-dev-utils "^7.0.3" - resolve "1.10.0" - sass-loader "7.1.0" - style-loader "0.23.1" - terser-webpack-plugin "1.2.2" - url-loader "1.1.2" - webpack "4.28.3" - webpack-dev-server "3.1.14" - webpack-manifest-plugin "2.0.4" - workbox-webpack-plugin "3.6.3" - optionalDependencies: - fsevents "1.2.4" - -react-transition-group@^2.0.0, react-transition-group@^2.2.0: - version "2.5.3" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.5.3.tgz#26de363cab19e5c88ae5dbae105c706cf953bb92" - integrity sha512-2DGFck6h99kLNr8pOFk+z4Soq3iISydwOFeeEVPjTN6+Y01CmvbWmnN02VuTWyFdnRtIDPe+wy2q6Ui8snBPZg== - dependencies: - dom-helpers "^3.3.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - react-lifecycles-compat "^3.0.4" - -react-viewerbase@0.2.17: - version "0.2.17" - resolved "https://registry.yarnpkg.com/react-viewerbase/-/react-viewerbase-0.2.17.tgz#94683c2a30ebd0a724d05f5957d49bd9011205ec" - integrity sha512-5ljWoNe3TD1Yq8zPkKXJ3x97Uh7lfSzjM0p44axg90NhZHm0136F8rX6WKnWMF9VwXG/S874cPvuT/AvFaSYxQ== - dependencies: - "@babel/runtime" "^7.2.0" - classnames "^2.2.6" - lodash.isequal "^4.5.0" - moment "^2.24.0" - prop-types "^15.6.2" - react-bootstrap-modal "^4.2.0" - react-dates "^18.4.1" - react-dnd "^7.0.2" - react-dnd-html5-backend "^7.0.2" - react-with-direction "^1.3.0" - -react-vtkjs-viewport@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/react-vtkjs-viewport/-/react-vtkjs-viewport-0.0.7.tgz#8fcb3adfc6609d6e3fc6d5af94d59cb1ec4426c0" - integrity sha512-rlum/DCr5hwX4CcWXOG4HuMeD3c5ebU7eWhQRhetfcmljatCMt1oKctt+JLqllvSrpzr8lHpRG95Ek2KH12JEA== - dependencies: - cornerstone-core "^2.2.8" - cornerstone-math "^0.1.8" - vtk.js "^8.3.11" - -react-with-direction@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/react-with-direction/-/react-with-direction-1.3.0.tgz#9885f5941aa986be753db95a41e8f3d8f8de97ff" - integrity sha512-2TflEebNckTNUybw3Rzqjg4BwM/H380ZL5lsbZ5f4UTY2JyE5uQdQZK5T2w+BDJSAMcqoA2RDJYa4e7Cl6C2Kg== - dependencies: - airbnb-prop-types "^2.8.1" - brcast "^2.0.2" - deepmerge "^1.5.1" - direction "^1.0.1" - hoist-non-react-statics "^2.3.1" - object.assign "^4.1.0" - object.values "^1.0.4" - prop-types "^15.6.0" - -react-with-styles-interface-css@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/react-with-styles-interface-css/-/react-with-styles-interface-css-4.0.3.tgz#c4a61277b2b8e4126b2cd25eca3ac4097bd2af09" - integrity sha512-wE43PIyjal2dexxyyx4Lhbcb+E42amoYPnkunRZkb9WTA+Z+9LagbyxwsI352NqMdFmghR0opg29dzDO4/YXbw== - dependencies: - array.prototype.flat "^1.2.1" - global-cache "^1.2.1" - -react-with-styles@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/react-with-styles/-/react-with-styles-3.2.1.tgz#57a313ae3dcd0b347193a5538d5061d3bb96bab4" - integrity sha512-L+x/EDgrKkqV6pTfDtLMShf7Xs+bVQ+HAT5rByX88QYX+ft9t5Gn4PWMmg36Ur21IVEBMGjjQQIJGJpBrzbsyg== - dependencies: - deepmerge "^1.5.2" - hoist-non-react-statics "^2.5.0" - prop-types "^15.6.1" - react-with-direction "^1.3.0" - -react@^16.7.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.7.0.tgz#b674ec396b0a5715873b350446f7ea0802ab6381" - integrity sha512-StCz3QY8lxTb5cl2HJxjwLFOXPIFQp+p+hxQfc8WE0QiLfCtIlKj8/+5tjjKm8uSTlAW+fCPaavGFS06V9Ar3A== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.12.0" - -read-cmd-shim@^1.0.1, read-cmd-shim@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b" - integrity sha1-LV0Vd4ajfAVdIgd8MsU/gynpHHs= - dependencies: - graceful-fs "^4.1.2" - -read-installed@~4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/read-installed/-/read-installed-4.0.3.tgz#ff9b8b67f187d1e4c29b9feb31f6b223acd19067" - integrity sha1-/5uLZ/GH0eTCm5/rMfayI6zRkGc= - dependencies: - debuglog "^1.0.1" - read-package-json "^2.0.0" - readdir-scoped-modules "^1.0.0" - semver "2 || 3 || 4 || 5" - slide "~1.1.3" - util-extend "^1.0.1" - optionalDependencies: - graceful-fs "^4.1.2" - -"read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13: - version "2.0.13" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.13.tgz#2e82ebd9f613baa6d2ebe3aa72cefe3f68e41f4a" - integrity sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg== - dependencies: - glob "^7.1.1" - json-parse-better-errors "^1.0.1" - normalize-package-data "^2.0.0" - slash "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.2" - -read-package-tree@^5.2.1: - version "5.2.2" - resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.2.2.tgz#4b6a0ef2d943c1ea36a578214c9a7f6b7424f7a8" - integrity sha512-rW3XWUUkhdKmN2JKB4FL563YAgtINifso5KShykufR03nJ5loGFlkUMe1g/yxmqX073SoYYTsgXu7XdDinKZuA== - dependencies: - debuglog "^1.0.1" - dezalgo "^1.0.0" - once "^1.3.0" - read-package-json "^2.0.0" - readdir-scoped-modules "^1.0.0" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.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@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237" - integrity sha1-ljYlN48+HE1IyFhytabsfV0JMjc= - dependencies: - normalize-package-data "^2.3.2" - parse-json "^4.0.0" - pify "^3.0.0" - -read@1, read@~1.0.1, read@~1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" - integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= - dependencies: - mute-stream "~0.0.4" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, 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.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== - 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@1.0, readable-stream@~1.0.26, readable-stream@~1.0.26-4: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^1.0.26-4, readable-stream@~1.1.10: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^3.0.6: - version "3.1.1" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.1.1.tgz#ed6bbc6c5ba58b090039ff18ce670515795aeb06" - integrity sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" - integrity sha1-j5A0HmilPMySh4jaz80Rs265t44= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readdir-scoped-modules@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" - integrity sha1-n6+jfShr5dksuuve4DDcm19AZ0c= - dependencies: - debuglog "^1.0.1" - dezalgo "^1.0.0" - graceful-fs "^4.1.2" - once "^1.3.0" - -readdirp@^2.0.0: - 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" - -realpath-native@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.2.tgz#cd51ce089b513b45cf9b1516c82989b51ccc6560" - integrity sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g== - dependencies: - util.promisify "^1.0.0" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - -recompose@^0.30.0: - version "0.30.0" - resolved "https://registry.yarnpkg.com/recompose/-/recompose-0.30.0.tgz#82773641b3927e8c7d24a0d87d65aeeba18aabd0" - integrity sha512-ZTrzzUDa9AqUIhRk4KmVFihH0rapdCSMFXjhHbNrjAWxBuUD/guYlyysMnuHjlZC/KRiOKRtB4jf96yYSkKE8w== - dependencies: - "@babel/runtime" "^7.0.0" - change-emitter "^0.1.2" - fbjs "^0.8.1" - hoist-non-react-statics "^2.3.1" - react-lifecycles-compat "^3.0.2" - symbol-observable "^1.0.4" - -recursive-readdir@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" - integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== - dependencies: - minimatch "3.0.4" - -redent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" - integrity sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo= - dependencies: - indent-string "^3.0.0" - strip-indent "^2.0.0" - -redux-oidc@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/redux-oidc/-/redux-oidc-3.1.0.tgz#26791fab7d2542f4827a175d515a941a5e35b4c6" - integrity sha512-VygfGdkuUI8kRn+R1LQLcGAmm0fJUPHKqaRB3l2BL8D9s3sIFFanuVf7Q05QS6DlRVIz9pmcgInyBHlAVZE8og== - optionalDependencies: - immutable ">=3.6.0" - -redux@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5" - integrity sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg== - dependencies: - loose-envify "^1.4.0" - symbol-observable "^1.2.0" - -reflect.ownkeys@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz#749aceec7f3fdf8b63f927a04809e90c5c0b3460" - integrity sha1-dJrO7H8/34tj+SegSAnpDFwLNGA= - -regenerate-unicode-properties@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c" - integrity sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.2.1, regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== - -regenerator-runtime@^0.10.5: - version "0.10.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" - integrity sha1-M2w+/BIgrc7dosn6tntaeVWjNlg= - -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.12.0: - version "0.12.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" - integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== - -regenerator-transform@^0.13.3: - version "0.13.3" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz#264bd9ff38a8ce24b06e0636496b2c856b57bcbb" - integrity sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA== - dependencies: - private "^0.1.6" - -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== - dependencies: - is-equal-shallow "^0.1.3" - -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-tree@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.1.tgz#27b455f9b138ca2e84c090e9aff1ffe2a04d97fa" - integrity sha512-HwRjOquc9QOwKTgbxvZTcddS5mlNlwePMQ3NFL8broajMLD5CXDAqas8Y5yxJH5QtZp5iRor3YCILd5pz71Cgw== - dependencies: - cli-table3 "^0.5.0" - colors "^1.1.2" - yargs "^12.0.5" - -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== - -regexpu-core@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" - integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs= - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -regexpu-core@^4.1.3, regexpu-core@^4.2.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.4.0.tgz#8d43e0d1266883969720345e70c275ee0aec0d32" - integrity sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^7.0.0" - regjsgen "^0.5.0" - regjsparser "^0.6.0" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.0.2" - -registry-auth-token@^3.0.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20" - integrity sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ== - dependencies: - rc "^1.1.6" - safe-buffer "^5.0.1" - -registry-url@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= - dependencies: - rc "^1.0.1" - -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= - -regjsgen@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" - integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= - dependencies: - jsesc "~0.5.0" - -regjsparser@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" - integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== - dependencies: - jsesc "~0.5.0" - -rehype-parse@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-6.0.0.tgz#f681555f2598165bee2c778b39f9073d17b16bca" - integrity sha512-V2OjMD0xcSt39G4uRdMTqDXXm6HwkUbLMDayYKA/d037j8/OtVSQ+tqKwYWOuyBeoCs/3clXRe30VUjeMDTBSA== - dependencies: - hast-util-from-parse5 "^5.0.0" - parse5 "^5.0.0" - xtend "^4.0.1" - -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= - -remark-parse@^6.0.0: - version "6.0.3" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-6.0.3.tgz#c99131052809da482108413f87b0ee7f52180a3a" - integrity sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg== - dependencies: - collapse-white-space "^1.0.2" - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - is-whitespace-character "^1.0.0" - is-word-character "^1.0.0" - markdown-escapes "^1.0.0" - parse-entities "^1.1.0" - repeat-string "^1.5.4" - state-toggle "^1.0.0" - trim "0.0.1" - trim-trailing-lines "^1.0.0" - unherit "^1.0.4" - unist-util-remove-position "^1.0.0" - vfile-location "^2.0.0" - xtend "^4.0.1" - -remark-stringify@^6.0.0: - version "6.0.4" - resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-6.0.4.tgz#16ac229d4d1593249018663c7bddf28aafc4e088" - integrity sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg== - dependencies: - ccount "^1.0.0" - is-alphanumeric "^1.0.0" - is-decimal "^1.0.0" - is-whitespace-character "^1.0.0" - longest-streak "^2.0.1" - markdown-escapes "^1.0.0" - markdown-table "^1.1.0" - mdast-util-compact "^1.0.0" - parse-entities "^1.0.2" - repeat-string "^1.5.4" - state-toggle "^1.0.0" - stringify-entities "^1.0.1" - unherit "^1.0.4" - xtend "^4.0.1" - -remark@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/remark/-/remark-10.0.1.tgz#3058076dc41781bf505d8978c291485fe47667df" - integrity sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ== - dependencies: - remark-parse "^6.0.0" - remark-stringify "^6.0.0" - unified "^7.0.0" - -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.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.2.tgz#12d310f255360c07ad8fde253f6c9e9de372d2aa" - integrity sha512-FsygIxevi1jSiPY9h7vZmBFUbAOcbYm9UwyiLNdVsLRs/5We9Ob5NMPbGYUTWiLq5L+ezlVdE0A8bbME5CWTpg== - dependencies: - css-select "^1.1.0" - dom-converter "~0.2" - htmlparser2 "~3.3.0" - strip-ansi "^3.0.0" - utila "^0.4.0" - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - -replace-ext@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" - integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= - -request-promise-core@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" - integrity sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY= - dependencies: - lodash "^4.13.1" - -request-promise-native@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5" - integrity sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU= - dependencies: - request-promise-core "1.1.1" - stealthy-require "^1.1.0" - tough-cookie ">=2.3.3" - -request@^2.74.0, request@^2.85.0, request@^2.87.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== - 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.0" - 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.4.3" - 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-from-string@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - -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= - -reserved-words@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1" - integrity sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE= - -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-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-pathname@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" - integrity sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg== - -resolve-protobuf-schema@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758" - integrity sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ== - dependencies: - protocol-buffers-schema "^3.3.1" - -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.10.0, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.6.0, resolve@^1.8.1, resolve@^1.9.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" - integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== - dependencies: - 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.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" - integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= - -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, rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@~2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - 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" - -rollup-plugin-babel@^4.2.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.3.2.tgz#8c0e1bd7aa9826e90769cf76895007098ffd1413" - integrity sha512-KfnizE258L/4enADKX61ozfwGHoqYauvoofghFJBhFnpH9Sb9dNPpWg8QHOaAfVASUYV8w0mCx430i9z0LJoJg== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - rollup-pluginutils "^2.3.0" - -rollup-plugin-commonjs@^9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.2.0.tgz#4604e25069e0c78a09e08faa95dc32dec27f7c89" - integrity sha512-0RM5U4Vd6iHjL6rLvr3lKBwnPsaVml+qxOGaaNUWN1lSq6S33KhITOfHmvxV3z2vy9Mk4t0g4rNlVaJJsNQPWA== - dependencies: - estree-walker "^0.5.2" - magic-string "^0.25.1" - resolve "^1.8.1" - rollup-pluginutils "^2.3.3" - -rollup-plugin-json@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-json/-/rollup-plugin-json-3.1.0.tgz#7c1daf60c46bc21021ea016bd00863561a03321b" - integrity sha512-BlYk5VspvGpjz7lAwArVzBXR60JK+4EKtPkCHouAWg39obk9S61hZYJDBfMK+oitPdoe11i69TlxKlMQNFC/Uw== - dependencies: - rollup-pluginutils "^2.3.1" - -rollup-plugin-node-builtins@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/rollup-plugin-node-builtins/-/rollup-plugin-node-builtins-2.1.2.tgz#24a1fed4a43257b6b64371d8abc6ce1ab14597e9" - integrity sha1-JKH+1KQyV7a2Q3HYq8bOGrFFl+k= - dependencies: - browserify-fs "^1.0.0" - buffer-es6 "^4.9.2" - crypto-browserify "^3.11.0" - process-es6 "^0.11.2" - -rollup-plugin-node-resolve@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-4.0.0.tgz#9bc6b8205e9936cc0e26bba2415f1ecf1e64d9b2" - integrity sha512-7Ni+/M5RPSUBfUaP9alwYQiIKnKeXCOHiqBpKUl9kwp3jX5ZJtgXAait1cne6pGEVUUztPD6skIKH9Kq9sNtfw== - dependencies: - builtin-modules "^3.0.0" - is-module "^1.0.0" - resolve "^1.8.1" - -rollup-plugin-peer-deps-external@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-peer-deps-external/-/rollup-plugin-peer-deps-external-2.2.0.tgz#99ef9231aa01736f3e9605b7c3084a0d627f665b" - integrity sha512-BmJMHUWQcvjS2dQMwJ7dzvdbwpRChnq4AYk2sTU/4aySt9Kumk8y8W3HhTHss31wxzKb0AC/wsiX1AqDcOBIEA== - -rollup-plugin-postcss@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-postcss/-/rollup-plugin-postcss-2.0.3.tgz#1fd5b7e1fc7545cb0084d9c99d11b259e41a05e6" - integrity sha512-d12oKl6za/GGXmlytzVPzzTdPCKgti/Kq2kNhtfm5vv9hkNbyrTvizMBm6zZ5rRWX/sIWl3znjIJ8xy6Hofoeg== - dependencies: - chalk "^2.4.2" - concat-with-sourcemaps "^1.0.5" - cssnano "^4.1.8" - import-cwd "^2.1.0" - p-queue "^2.4.2" - pify "^3.0.0" - postcss "^7.0.14" - postcss-load-config "^2.0.0" - postcss-modules "^1.4.1" - promise.series "^0.2.0" - reserved-words "^0.1.2" - resolve "^1.5.0" - rollup-pluginutils "^2.0.1" - style-inject "^0.3.0" - -rollup-plugin-url@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-url/-/rollup-plugin-url-2.2.0.tgz#bc721af685eaa1af26892ea13d46c112e19e3db4" - integrity sha512-cCxysvj85i00fDGL/5WFT1KgXYzxanPdi9BpKpRQqnzqogDKU2nuzar5Sk9dBR9kgK1uOVti41zY1beqPIzIPg== - dependencies: - mime "^2.3.1" - mkpath "^1.0.0" - rollup-pluginutils "^2.3.3" - -rollup-pluginutils@^2.0.1, rollup-pluginutils@^2.3.0, rollup-pluginutils@^2.3.1, rollup-pluginutils@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.3.3.tgz#3aad9b1eb3e7fe8262820818840bf091e5ae6794" - integrity sha512-2XZwja7b6P5q4RZ5FhyX1+f46xi1Z3qBKigLRZ6VTZjwbN0K1IFGMlwm06Uu0Emcre2Z63l77nq/pzn+KxIEoA== - dependencies: - estree-walker "^0.5.2" - micromatch "^2.3.11" - -rollup@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.1.2.tgz#8d094b85683b810d0c05a16bd7618cf70d48eba7" - integrity sha512-OkdMxqMl8pWoQc5D8y1cIinYQPPLV8ZkfLgCzL6SytXeNA2P7UHynEQXI9tYxuAjAMsSyvRaWnyJDLHMxq0XAg== - dependencies: - "@types/estree" "0.0.39" - "@types/node" "*" - acorn "^6.0.5" - -rsvp@^3.3.3: - version "3.6.2" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" - integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw== - -run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= - dependencies: - is-promise "^2.1.0" - -run-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e" - integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A== - -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" - -rxjs@^6.1.0, rxjs@^6.3.3: - version "6.4.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504" - integrity sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw== - dependencies: - tslib "^1.9.0" - -safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.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-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.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@^2.0.0: - version "2.5.2" - resolved "https://registry.yarnpkg.com/sane/-/sane-2.5.2.tgz#b4dc1861c21b427e929507a3e751e2a2cb8ab3fa" - integrity sha1-tNwYYcIbQn6SlQej51HiosuKs/o= - dependencies: - anymatch "^2.0.0" - capture-exit "^1.2.0" - exec-sh "^0.2.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - watch "~0.18.0" - optionalDependencies: - fsevents "^1.2.3" - -sass-loader@7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.1.0.tgz#16fd5138cb8b424bf8a759528a1972d72aad069d" - integrity sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w== - dependencies: - clone-deep "^2.0.1" - loader-utils "^1.0.1" - lodash.tail "^4.1.1" - neo-async "^2.5.0" - pify "^3.0.0" - semver "^5.5.0" - -sax@0.5.x: - version "0.5.8" - resolved "https://registry.yarnpkg.com/sax/-/sax-0.5.8.tgz#d472db228eb331c2506b0e8c15524adb939d12c1" - integrity sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE= - -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== - -scheduler@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.12.0.tgz#8ab17699939c0aedc5a196a657743c496538647b" - integrity sha512-t7MBR28Akcp4Jm+QoR63XgAi9YgCUmgvDHqf5otgAj4QvdoBE4ImCX0ffehefePPG+aitiYHp0g/mW6s4Tp+dw== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -schema-utils@^0.4.4: - version "0.4.7" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" - integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ== - dependencies: - ajv "^6.1.0" - ajv-keywords "^3.1.0" - -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" - -seedrandom@2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-2.4.3.tgz#2438504dad33917314bff18ac4d794f16d6aaecc" - integrity sha1-JDhQTa0zkXMUv/GKxNeU8W1qrsw= - -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= - -selfsigned@^1.9.1: - version "1.10.4" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.4.tgz#cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd" - integrity sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw== - dependencies: - node-forge "0.7.5" - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= - -semver-diff@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" - integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= - dependencies: - semver "^5.0.3" - -"semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" - integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== - -semver@~2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-2.3.2.tgz#b9848f25d6cf36333073ec9ef8856d42f1233e52" - integrity sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI= - -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= - -send@0.16.2: - version "0.16.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" - integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== - 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.6.2" - mime "1.4.1" - ms "2.0.0" - on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.4.0" - -serialize-javascript@^1.4.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.6.1.tgz#4d1f697ec49429a847ca6f442a2a755126c4d879" - integrity sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw== - -serve-index@^1.7.2: - 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.13.2: - version "1.13.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" - integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.2" - send "0.16.2" - -set-blocking@^2.0.0, 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@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" - -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" - integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== - 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, setimmediate@^1.0.5: - 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== - -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" - -sha@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/sha/-/sha-2.0.1.tgz#6030822fbd2c9823949f8f72ed6411ee5cf25aae" - integrity sha1-YDCCL70smCOUn49y7WQR7lzyWq4= - dependencies: - graceful-fs "^4.1.2" - readable-stream "^2.0.2" - -shallow-clone@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" - integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA= - dependencies: - is-extendable "^0.1.1" - kind-of "^2.0.1" - lazy-cache "^0.2.3" - mixin-object "^2.0.1" - -shallow-clone@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-1.0.0.tgz#4480cd06e882ef68b2ad88a3ea54832e2c48b571" - integrity sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA== - dependencies: - is-extendable "^0.1.1" - kind-of "^5.0.0" - mixin-object "^2.0.1" - -shallowequal@^1.1.0: - 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-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= - -shell-quote@1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" - integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c= - dependencies: - array-filter "~0.0.0" - array-map "~0.0.0" - array-reduce "~0.0.0" - jsonify "~0.0.0" - -shelljs@0.7.8: - version "0.7.8" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" - integrity sha1-3svPh0sNHl+3LhSxZKloMEjprLM= - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -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== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - -simple-git@^1.85.0: - version "1.107.0" - resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.107.0.tgz#12cffaf261c14d6f450f7fdb86c21ccee968b383" - integrity sha512-t4OK1JRlp4ayKRfcW6owrWcRVLyHRUlhGd0uN6ZZTqfDq8a5XpcUdOKiGRNobHEuMtNqzp0vcJNvhYWwh5PsQA== - dependencies: - debug "^4.0.1" - -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@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce" - integrity sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g== - -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== - -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= - -slice-ansi@^2.0.0, slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - -slide@^1.1.3, slide@^1.1.6, slide@~1.1.3, slide@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= - -smart-buffer@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.2.tgz#5207858c3815cc69110703c6b94e46c15634395d" - integrity sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw== - -smart-buffer@^1.0.13: - version "1.1.15" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-1.1.15.tgz#7f114b5b65fab3e2a35aa775bb12f0d1c649bf16" - integrity sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY= - -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.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" - integrity sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg== - dependencies: - debug "^3.2.5" - eventsource "^1.0.7" - faye-websocket "~0.11.1" - inherits "^2.0.3" - json3 "^3.3.2" - url-parse "^1.4.3" - -sockjs@0.3.19: - version "0.3.19" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" - integrity sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw== - dependencies: - faye-websocket "^0.10.0" - uuid "^3.0.1" - -socks-proxy-agent@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz#2eae7cf8e2a82d34565761539a7f9718c5617659" - integrity sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA== - dependencies: - agent-base "^4.1.0" - socks "^1.1.10" - -socks-proxy-agent@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz#5936bf8b707a993079c6f37db2091821bffa6473" - integrity sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw== - dependencies: - agent-base "~4.2.0" - socks "~2.2.0" - -socks@^1.1.10: - version "1.1.10" - resolved "https://registry.yarnpkg.com/socks/-/socks-1.1.10.tgz#5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a" - integrity sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o= - dependencies: - ip "^1.1.4" - smart-buffer "^1.0.13" - -socks@~2.2.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.2.3.tgz#7399ce11e19b2a997153c983a9ccb6306721f2dc" - integrity sha512-+2r83WaRT3PXYoO/1z+RDEBE7Z2f9YcdQnJ0K/ncXXbV5gJ6wYfNAebYFYiiUjM6E4JyXnPY8cimwyvFYHVUUA== - dependencies: - ip "^1.1.5" - smart-buffer "4.0.2" - -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" - -sorted-object@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/sorted-object/-/sorted-object-2.0.1.tgz#7d631f4bd3a798a24af1dffcfbfe83337a5df5fc" - integrity sha1-fWMfS9OnmKJK8d/8+/6DM3pd9fw= - -sorted-union-stream@~2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/sorted-union-stream/-/sorted-union-stream-2.1.3.tgz#c7794c7e077880052ff71a8d4a2dbb4a9a638ac7" - integrity sha1-x3lMfgd4gAUv9xqNSi27Sppjisc= - dependencies: - from2 "^1.3.0" - stream-iterate "^1.1.0" - -source-list-map@^2.0.0: - 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: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== - dependencies: - atob "^2.1.1" - 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.4.15: - version "0.4.18" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" - integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== - dependencies: - source-map "^0.5.6" - -source-map-support@^0.5.6, source-map-support@~0.5.9: - version "0.5.10" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" - integrity sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@0.1.x: - version "0.1.43" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" - integrity sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y= - dependencies: - amdefine ">=0.0.4" - -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-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== - -sourcemap-codec@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz#c63ea927c029dd6bd9a2b7fa03b3fec02ad56e9f" - integrity sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg== - -space-separated-tokens@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.2.tgz#e95ab9d19ae841e200808cd96bc7bd0adbbb3412" - integrity sha512-G3jprCEw+xFEs0ORweLmblJ3XLymGGr6hxZYTYZjIlvDti9vOBUjRQa1Rzjt012aRrocKstHwdNi+F7HguPsEA== - dependencies: - trim "0.0.1" - -spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== - -spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz#81c0ce8f21474756148bbb5f3bfc0f36bf15d76e" - integrity sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g== - -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.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.0.tgz#81f222b5a743a329aa12cea6a390e60e9b613c52" - integrity sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q== - 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" - -specificity@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.4.1.tgz#aab5e645012db08ba182e151165738d00887b019" - integrity sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg== - -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@^5.0.0, ssri@^5.2.4, ssri@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" - integrity sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ== - dependencies: - safe-buffer "^5.1.1" - -ssri@^6.0.0, ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== - dependencies: - figgy-pudding "^3.5.1" - -stable@~0.1.6: - 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.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== - -staged-git-files@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.2.tgz#4326d33886dc9ecfa29a6193bf511ba90a46454b" - integrity sha512-0Eyrk6uXW6tg9PYkhi/V/J4zHp33aNyi2hOCmhFLqLTIhbgqWn5jlSzI+IU0VqrZq6+DbHcabQl/WP6P3BG0QA== - -state-toggle@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.1.tgz#c3cb0974f40a6a0f8e905b96789eb41afa1cde3a" - integrity sha512-Qe8QntFrrpWTnHwvwj2FZTgv+PKIsp0B9VxLzLLbSpPXWOgRgc5LVj/aTiSfK1RqIeF9jeC1UeOH8Q8y60A7og== - -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": - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -statuses@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" - integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== - -stealthy-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -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-iterate@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/stream-iterate/-/stream-iterate-1.2.0.tgz#2bd7c77296c1702a46488b8ad41f79865eecd4e1" - integrity sha1-K9fHcpbBcCpGSIuK1B95hl7s1OE= - dependencies: - readable-stream "^2.1.5" - stream-shift "^1.0.0" - -stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= - -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= - -strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= - -string-argv@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736" - integrity sha1-2sMECGkMIfPDYwo/86BYd73L1zY= - -string-hash@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" - integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= - -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-range@~1.2, string-range@~1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/string-range/-/string-range-1.2.2.tgz#a893ed347e72299bc83befbbf2a692a8d239d5dd" - integrity sha1-qJPtNH5yKZvIO++78qaSqNI51d0= - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.0.0.tgz#5a1690a57cc78211fffd9bf24bbe24d090604eb1" - integrity sha512-rr8CUxBbvOZDUvc5lNIJ+OC1nPVpz+Siw9VBtUjB9b6jZehZLFt0JMCZzShFHIsI8cbhm0EsNIfWJMFV3cu3Ew== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.0.0" - -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" - integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== - dependencies: - safe-buffer "~5.1.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - -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" - -stringify-entities@^1.0.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.2.tgz#a98417e5471fd227b3e45d3db1861c11caf668f7" - integrity sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A== - dependencies: - character-entities-html4 "^1.0.0" - character-entities-legacy "^1.0.0" - is-alphanumerical "^1.0.0" - is-hexadecimal "^1.0.0" - -stringify-object@^3.2.2: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@5.0.0, strip-ansi@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.0.0.tgz#f78f68b5d0866c20b2c9b8c61b5298508dc8756f" - integrity sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow== - dependencies: - ansi-regex "^4.0.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, 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-bom@3.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-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - -strip-comments@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d" - integrity sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw== - dependencies: - babel-extract-comments "^1.0.0" - babel-plugin-transform-object-rest-spread "^6.26.0" - -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-indent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" - integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= - -strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -strip-outer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" - integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== - dependencies: - escape-string-regexp "^1.0.2" - -strip-url-auth@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-url-auth/-/strip-url-auth-1.0.1.tgz#22b0fa3a41385b33be3f331551bbb837fa0cd7ae" - integrity sha1-IrD6OkE4WzO+PzMVUbu4N/oM164= - -style-inject@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/style-inject/-/style-inject-0.3.0.tgz#d21c477affec91811cc82355832a700d22bf8dd3" - integrity sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw== - -style-loader@0.23.1: - version "0.23.1" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925" - integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg== - dependencies: - loader-utils "^1.1.0" - schema-utils "^1.0.0" - -style-search@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" - integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI= - -stylehacks@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.1.tgz#3186595d047ab0df813d213e51c8b94e0b9010f2" - integrity sha512-TK5zEPeD9NyC1uPIdjikzsgWxdQQN/ry1X3d1iOz1UkYDCmcr928gWD1KHgyC27F50UnE0xCTrBOO1l6KR8M4w== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -stylelint-config-recommended@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-2.1.0.tgz#f526d5c771c6811186d9eaedbed02195fee30858" - integrity sha512-ajMbivOD7JxdsnlS5945KYhvt7L/HwN6YeYF2BH6kE4UCLJR0YvXMf+2j7nQpJyYLZx9uZzU5G1ZOSBiWAc6yA== - -stylelint@^9.9.0: - version "9.10.1" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-9.10.1.tgz#5f0ee3701461dff1d68284e1386efe8f0677a75d" - integrity sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ== - dependencies: - autoprefixer "^9.0.0" - balanced-match "^1.0.0" - chalk "^2.4.1" - cosmiconfig "^5.0.0" - debug "^4.0.0" - execall "^1.0.0" - file-entry-cache "^4.0.0" - get-stdin "^6.0.0" - global-modules "^2.0.0" - globby "^9.0.0" - globjoin "^0.1.4" - html-tags "^2.0.0" - ignore "^5.0.4" - import-lazy "^3.1.0" - imurmurhash "^0.1.4" - known-css-properties "^0.11.0" - leven "^2.1.0" - lodash "^4.17.4" - log-symbols "^2.0.0" - mathml-tag-names "^2.0.1" - meow "^5.0.0" - micromatch "^3.1.10" - normalize-selector "^0.2.0" - pify "^4.0.0" - postcss "^7.0.13" - postcss-html "^0.36.0" - postcss-jsx "^0.36.0" - postcss-less "^3.1.0" - postcss-markdown "^0.36.0" - postcss-media-query-parser "^0.2.3" - postcss-reporter "^6.0.0" - postcss-resolve-nested-selector "^0.1.1" - postcss-safe-parser "^4.0.0" - postcss-sass "^0.3.5" - postcss-scss "^2.0.0" - postcss-selector-parser "^3.1.0" - postcss-syntax "^0.36.2" - postcss-value-parser "^3.3.0" - resolve-from "^4.0.0" - signal-exit "^3.0.2" - slash "^2.0.0" - specificity "^0.4.1" - string-width "^3.0.0" - style-search "^0.1.0" - sugarss "^2.0.0" - svg-tags "^1.0.0" - table "^5.0.0" - -stylus@^0.54.5: - version "0.54.5" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.5.tgz#42b9560931ca7090ce8515a798ba9e6aa3d6dc79" - integrity sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk= - dependencies: - css-parse "1.7.x" - debug "*" - glob "7.0.x" - mkdirp "0.5.x" - sax "0.5.x" - source-map "0.1.x" - -sugarss@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-2.0.0.tgz#ddd76e0124b297d40bf3cca31c8b22ecb43bc61d" - integrity sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ== - dependencies: - postcss "^7.0.2" - -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@^3.1.2, supports-color@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" - integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= - dependencies: - has-flag "^1.0.0" - -supports-color@^5.1.0, supports-color@^5.3.0, supports-color@^5.4.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" - -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, svgo@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.1.1.tgz#12384b03335bcecd85cfa5f4e3375fed671cb985" - integrity sha512-GBkJbnTuFpM4jFbiERHDWhZc/S/kpHToqmZag3aEBjPYK44JAN2QBjvrGIxLOoCyMZjuFQIfTO2eJd8uwLY/9g== - dependencies: - coa "~2.0.1" - colors "~1.1.2" - css-select "^2.0.0" - css-select-base-adapter "~0.1.0" - css-tree "1.0.0-alpha.28" - css-url-regex "^1.1.0" - csso "^3.5.0" - js-yaml "^3.12.0" - mkdirp "~0.5.1" - object.values "^1.0.4" - sax "~1.2.4" - stable "~0.1.6" - unquote "~1.1.1" - util.promisify "~1.0.0" - -symbol-observable@^1.0.4, symbol-observable@^1.1.0, symbol-observable@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== - -symbol-tree@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" - integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY= - -synchronous-promise@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.6.tgz#de76e0ea2b3558c1e673942e47e714a930fa64aa" - integrity sha512-TyOuWLwkmtPL49LHCX1caIwHjRzcVd62+GF6h8W/jHOeZUFHpnd2XJDVuUlaTaLPH1nuu2M69mfHr5XbQJnf/g== - -table@^5.0.0: - version "5.2.2" - resolved "https://registry.yarnpkg.com/table/-/table-5.2.2.tgz#61d474c9e4d8f4f7062c98c7504acb3c08aa738f" - integrity sha512-f8mJmuu9beQEDkKHLzOv4VxVYlU68NpdzjbGPl69i4Hx0sTopJuNxuzJd17iV2h24dAfa93u794OnDA5jqXvfQ== - dependencies: - ajv "^6.6.1" - lodash "^4.17.11" - slice-ansi "^2.0.0" - string-width "^2.1.1" - -table@^5.0.2: - version "5.2.3" - resolved "https://registry.yarnpkg.com/table/-/table-5.2.3.tgz#cde0cc6eb06751c009efab27e8c820ca5b67b7f2" - integrity sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ== - dependencies: - ajv "^6.9.1" - lodash "^4.17.11" - slice-ansi "^2.1.0" - string-width "^3.0.0" - -tapable@^1.0.0, tapable@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.1.tgz#4d297923c5a72a42360de2ab52dadfaaec00018e" - integrity sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA== - -tar@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - integrity sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE= - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" - -tar@^4, tar@^4.4.0, tar@^4.4.2, tar@^4.4.3: - version "4.4.8" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" - integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.3.4" - minizlib "^1.1.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.2" - -term-size@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" - integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= - dependencies: - execa "^0.7.0" - -terser-webpack-plugin@1.2.2, terser-webpack-plugin@^1.1.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.2.2.tgz#9bff3a891ad614855a7dde0d707f7db5a927e3d9" - integrity sha512-1DMkTk286BzmfylAvLXwpJrI7dWa5BnFmscV/2dCr8+c56egFcbaeFAl7+sujAjdmpLam21XRdhA4oifLyiWWg== - dependencies: - cacache "^11.0.2" - find-cache-dir "^2.0.0" - schema-utils "^1.0.0" - serialize-javascript "^1.4.0" - source-map "^0.6.1" - terser "^3.16.1" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" - -terser@^3.16.1: - version "3.16.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-3.16.1.tgz#5b0dd4fa1ffd0b0b43c2493b2c364fd179160493" - integrity sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow== - dependencies: - commander "~2.17.1" - source-map "~0.6.1" - source-map-support "~0.5.9" - -test-exclude@^4.2.1: - version "4.2.3" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.3.tgz#a9a5e64474e4398339245a0a769ad7c2f4a97c20" - integrity sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA== - dependencies: - arrify "^1.0.1" - micromatch "^2.3.11" - object-assign "^4.1.0" - read-pkg-up "^1.0.1" - require-main-filename "^1.0.1" - -text-table@0.2.0, text-table@^0.2.0, text-table@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -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" - -"through@>=2.2.7 <3", through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -thunky@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826" - integrity sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow== - -timed-out@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= - -timers-browserify@^2.0.4: - version "2.0.10" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" - integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg== - 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-relative-date@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz#fa08aad501ed730f31cc043181d995c39a935e07" - integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A== - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -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@^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" - -topo@2.x.x: - version "2.0.2" - resolved "https://registry.yarnpkg.com/topo/-/topo-2.0.2.tgz#cd5615752539057c0dc0491a621c3bc6fbe1d182" - integrity sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI= - dependencies: - hoek "4.x.x" - -toposort@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" - integrity sha1-riF2gXXRVZ1IvvNUILL0li8JwzA= - -tough-cookie@>=2.3.3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.0.tgz#d2bceddebde633153ff20a52fa844a0dc71dacef" - integrity sha512-LHMvg+RBP/mAVNqVbOX8t+iJ+tqhBA/t49DuI7+IDAWHrASnesqSu1vWbKB7UrE2yk+HMFUBMadRGMkB4VCfog== - dependencies: - ip-regex "^3.0.0" - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^2.3.4: - 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@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== - dependencies: - psl "^1.1.24" - punycode "^1.4.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" - -trim-newlines@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" - integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= - -trim-repeated@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" - integrity sha1-42RqLqTokTEr9+rObPsFOAvAHCE= - dependencies: - escape-string-regexp "^1.0.2" - -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= - -trim-trailing-lines@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.1.tgz#e0ec0810fd3c3f1730516b45f49083caaf2774d9" - integrity sha512-bWLv9BbWbbd7mlqqs2oQYnLD/U/ZqeJeJwbO0FG2zA1aTq+HTvxfHNKFa/HGCVyJpDiioUYaBhfiT6rgk+l4mg== - -trim@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" - integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= - -trough@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.3.tgz#e29bd1614c6458d44869fc28b255ab7857ef7c24" - integrity sha512-fwkLWH+DimvA4YCy+/nvJd61nWQQ2liO/nF/RjkTpiOGi+zxZzVkhb1mvbHIIW4b/8nDsYI8uTmAlc0nNkRMOw== - -tryer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - -ts-pnp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.0.0.tgz#44a3a9e8c13fcb711bcda75d7b576c21af120c9d" - integrity sha512-qgwM7eBrxFvZSXLtSvjf3c2mXwJOOGD49VlE+KocUGX95DuMdLc/psZHBnPpZL5b2NU7VtQGHRCWF3cNfe5kxQ== - -tslib@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" - integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== - -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-is@~1.6.16: - version "1.6.16" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" - integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.18" - -typedarray-to-buffer@~1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-1.0.4.tgz#9bb8ba0e841fb3f4cf1fe7c245e9f3fa8a5fe99c" - integrity sha1-m7i6DoQfs/TPH+fCRenz+opf6Zw= - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -ua-parser-js@^0.7.18: - version "0.7.19" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.19.tgz#94151be4c0a7fb1d001af7022fdaca4642659e4b" - integrity sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ== - -uglify-js@3.4.x, uglify-js@^3.1.4: - version "3.4.9" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz#af02f180c1207d76432e473ed24a28f4a782bae3" - integrity sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q== - dependencies: - commander "~2.17.1" - source-map "~0.6.1" - -uid-number@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE= - -umask@^1.1.0, umask@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" - integrity sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0= - -unherit@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.1.tgz#132748da3e88eab767e08fabfbb89c5e9d28628c" - integrity sha512-+XZuV691Cn4zHsK0vkKYwBEwB74T3IZIcxrgn2E4rKwTfFyI1zCh7X7grwh9Re08fdPlarIdyWgI8aVB3F5A5g== - dependencies: - inherits "^2.0.1" - xtend "^4.0.1" - -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.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4" - integrity sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0" - integrity sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg== - -unified@^7.0.0, unified@^7.0.2: - version "7.1.0" - resolved "https://registry.yarnpkg.com/unified/-/unified-7.1.0.tgz#5032f1c1ee3364bd09da12e27fdd4a7553c7be13" - integrity sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw== - dependencies: - "@types/unist" "^2.0.0" - "@types/vfile" "^3.0.0" - bail "^1.0.0" - extend "^3.0.0" - is-plain-obj "^1.1.0" - trough "^1.0.0" - vfile "^3.0.0" - x-is-string "^0.1.0" - -union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^0.4.3" - -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.0, unique-filename@^1.1.1, unique-filename@~1.1.0: - 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.1" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz#5e9edc6d1ce8fb264db18a507ef9bd8544451ca6" - integrity sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg== - dependencies: - imurmurhash "^0.1.4" - -unique-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" - integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= - dependencies: - crypto-random-string "^1.0.0" - -unist-util-find-all-after@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-1.0.2.tgz#9be49cfbae5ca1566b27536670a92836bf2f8d6d" - integrity sha512-nDl79mKpffXojLpCimVXnxhlH/jjaTnDuScznU9J4jjsaUtBdDbxmlc109XtcqxY4SDO0SwzngsxxW8DIISt1w== - dependencies: - unist-util-is "^2.0.0" - -unist-util-is@^2.0.0, unist-util-is@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-2.1.2.tgz#1193fa8f2bfbbb82150633f3a8d2eb9a1c1d55db" - integrity sha512-YkXBK/H9raAmG7KXck+UUpnKiNmUdB+aBGrknfQ4EreE1banuzrKABx3jP6Z5Z3fMSPMQQmeXBlKpCbMwBkxVw== - -unist-util-remove-position@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.2.tgz#86b5dad104d0bbfbeb1db5f5c92f3570575c12cb" - integrity sha512-XxoNOBvq1WXRKXxgnSYbtCF76TJrRoe5++pD4cCBsssSiWSnPEktyFrFLE8LTk3JW5mt9hB0Sk5zn4x/JeWY7Q== - dependencies: - unist-util-visit "^1.1.0" - -unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6" - integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ== - -unist-util-visit-parents@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.0.1.tgz#63fffc8929027bee04bfef7d2cce474f71cb6217" - integrity sha512-6B0UTiMfdWql4cQ03gDTCSns+64Zkfo2OCbK31Ov0uMizEz+CJeAp0cgZVb5Fhmcd7Bct2iRNywejT0orpbqUA== - dependencies: - unist-util-is "^2.1.2" - -unist-util-visit@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.0.tgz#1cb763647186dc26f5e1df5db6bd1e48b3cc2fb1" - integrity sha512-FiGu34ziNsZA3ZUteZxSFaczIjGmksfSgdKqBfOejrrfzyUy5b7YrlzT1Bcvi+djkYDituJDy2XB7tGTeBieKw== - dependencies: - unist-util-visit-parents "^2.0.0" - -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" - -unzip-response@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" - integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= - -upath@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" - integrity sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw== - -update-notifier@^2.3.0, update-notifier@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" - integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== - dependencies: - boxen "^1.2.1" - chalk "^2.0.1" - configstore "^3.0.0" - import-lazy "^2.1.0" - is-ci "^1.0.10" - is-installed-globally "^0.1.0" - is-npm "^1.0.0" - latest-version "^3.0.0" - semver-diff "^2.0.0" - xdg-basedir "^3.0.0" - -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.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== - 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@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-1.1.2.tgz#b971d191b83af693c5e3fea4064be9e1f2d7f8d8" - integrity sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg== - dependencies: - loader-utils "^1.1.0" - mime "^2.0.3" - schema-utils "^1.0.0" - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= - dependencies: - prepend-http "^1.0.1" - -url-parse@^1.4.3: - version "1.4.4" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz#cac1556e95faa0303691fec5cf9d5a1bc34648f8" - integrity sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg== - dependencies: - querystringify "^2.0.0" - 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.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util-extend@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f" - integrity sha1-p8IW0mdUUWljeztu3GypEZ4v+T8= - -util.promisify@1.0.0, util.promisify@^1.0.0, 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@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.0, 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.0.1, uuid@^3.2.1, uuid@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== - -validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3: - 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" - -validate-npm-package-name@^3.0.0, validate-npm-package-name@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" - integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= - dependencies: - builtins "^1.0.3" - -validate.js@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/validate.js/-/validate.js-0.12.0.tgz#17f989e37c192ea2f826bbf19bf4e97e6e4be68f" - integrity sha512-/x2RJSvbqEyxKj0RPN4xaRquK+EggjeVXiDDEyrJzsJogjtiZ9ov7lj/svVb4DM5Q5braQF4cooAryQbUwOxlA== - -value-equal@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7" - integrity sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw== - -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.2" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801" - integrity sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ== - -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" - -vfile-location@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.4.tgz#2a5e7297dd0d9e2da4381464d04acc6b834d3e55" - integrity sha512-KRL5uXQPoUKu+NGvQVL4XLORw45W62v4U4gxJ3vRlDfI9QsT4ZN1PNXn/zQpKUulqGDpYuT0XDfp5q9O87/y/w== - -vfile-message@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1" - integrity sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA== - dependencies: - unist-util-stringify-position "^1.1.1" - -vfile@^3.0.0, vfile@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803" - integrity sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ== - dependencies: - is-buffer "^2.0.0" - replace-ext "1.0.0" - unist-util-stringify-position "^1.0.0" - vfile-message "^1.0.0" - -vm-browserify@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM= - dependencies: - indexof "0.0.1" - -vtk.js@^8.3.11: - version "8.3.15" - resolved "https://registry.yarnpkg.com/vtk.js/-/vtk.js-8.3.15.tgz#060b355c1a811229ec0e43ef69b63915d0e1da8e" - integrity sha512-mbsajcTnRgIGmWtcSdGqzYLdrRVrLE7YjdNcvDybLM9JNTVXEngHzeWuNZGYqklPAGcCsckaZ3FzYqu/EH4UBA== - dependencies: - base64-js "1.2.1" - blueimp-md5 "2.10.0" - commander "2.11.0" - gl-matrix "2.5.1" - jszip "3.1.4" - pako "1.0.6" - seedrandom "2.4.3" - shelljs "0.7.8" - webvr-polyfill "0.10.8" - webworker-promise "0.4.2" - -w3c-hr-time@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" - integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU= - dependencies: - browser-process-hrtime "^0.1.2" - -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" - -warning@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" - integrity sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w= - dependencies: - loose-envify "^1.0.0" - -warning@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.2.tgz#aa6876480872116fa3e11d434b0d0d8d91e44607" - integrity sha512-wbTp09q/9C+jJn4KKJfJfoS6VleK/Dti0yqWSm6KMvJ4MRCXFQNapHuJXutJIrWV0Cf4AhTdeIe4qdKHR1+Hug== - dependencies: - loose-envify "^1.0.0" - -watch@~0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" - integrity sha1-KAlUdsbffJDJYxOJkMClQj60uYY= - dependencies: - exec-sh "^0.2.0" - minimist "^1.2.0" - -watchpack@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" - integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== - dependencies: - chokidar "^2.0.2" - graceful-fs "^4.1.2" - neo-async "^2.5.0" - -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.0: - 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" - -web-namespaces@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.2.tgz#c8dc267ab639505276bae19e129dbd6ae72b22b4" - integrity sha512-II+n2ms4mPxK+RnIxRPOw3zwF2jRscdJIUE9BfkKHm4FYEg9+biIoTMnaZF5MpemE3T+VhMLrhbyD4ilkPCSbg== - -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-dev-middleware@3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz#1132fecc9026fd90f0ecedac5cbff75d1fb45890" - integrity sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA== - dependencies: - memory-fs "~0.4.1" - mime "^2.3.1" - range-parser "^1.0.3" - webpack-log "^2.0.0" - -webpack-dev-server@3.1.14: - version "3.1.14" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.14.tgz#60fb229b997fc5a0a1fc6237421030180959d469" - integrity sha512-mGXDgz5SlTxcF3hUpfC8hrQ11yhAttuUQWf1Wmb+6zo3x6rb7b9mIfuQvAPLdfDRCGRGvakBWHdHOa0I9p/EVQ== - dependencies: - ansi-html "0.0.7" - bonjour "^3.5.0" - chokidar "^2.0.0" - compression "^1.5.2" - 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.18.0" - import-local "^2.0.0" - internal-ip "^3.0.1" - ip "^1.1.5" - killable "^1.0.0" - loglevel "^1.4.1" - opn "^5.1.0" - portfinder "^1.0.9" - schema-utils "^1.0.0" - selfsigned "^1.9.1" - semver "^5.6.0" - serve-index "^1.7.2" - sockjs "0.3.19" - sockjs-client "1.3.0" - spdy "^4.0.0" - strip-ansi "^3.0.0" - supports-color "^5.1.0" - url "^0.11.0" - webpack-dev-middleware "3.4.0" - webpack-log "^2.0.0" - yargs "12.0.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-manifest-plugin@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.0.4.tgz#e4ca2999b09557716b8ba4475fb79fab5986f0cd" - integrity sha512-nejhOHexXDBKQOj/5v5IZSfCeTO3x1Dt1RZEcGfBSul891X/eLIcIVH31gwxPDdsi2Z8LKKFGpM4w9+oTBOSCg== - dependencies: - fs-extra "^7.0.0" - lodash ">=3.5 <5" - tapable "^1.0.0" - -webpack-sources@^1.1.0, webpack-sources@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" - integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@4.28.3: - version "4.28.3" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.28.3.tgz#8acef6e77fad8a01bfd0c2b25aa3636d46511874" - integrity sha512-vLZN9k5I7Nr/XB1IDG9GbZB4yQd1sPuvufMFgJkx0b31fi2LD97KQIjwjxE7xytdruAYfu5S0FLBLjdxmwGJCg== - dependencies: - "@webassemblyjs/ast" "1.7.11" - "@webassemblyjs/helper-module-context" "1.7.11" - "@webassemblyjs/wasm-edit" "1.7.11" - "@webassemblyjs/wasm-parser" "1.7.11" - acorn "^5.6.2" - acorn-dynamic-import "^3.0.0" - ajv "^6.1.0" - ajv-keywords "^3.1.0" - chrome-trace-event "^1.0.0" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.0" - json-parse-better-errors "^1.0.2" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - micromatch "^3.1.8" - mkdirp "~0.5.0" - neo-async "^2.5.0" - node-libs-browser "^2.0.0" - schema-utils "^0.4.4" - tapable "^1.1.0" - terser-webpack-plugin "^1.1.0" - watchpack "^1.5.0" - webpack-sources "^1.3.0" - -websocket-driver@>=0.5.1: - version "0.7.0" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" - integrity sha1-DK+dLXVdk67gSdS90NP+LMoqJOs= - dependencies: - http-parser-js ">=0.4.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" - integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== - -webvr-polyfill-dpdb@^1.0.11: - version "1.0.15" - resolved "https://registry.yarnpkg.com/webvr-polyfill-dpdb/-/webvr-polyfill-dpdb-1.0.15.tgz#37c9ff013023b0cb118007f9e7869b310205def9" - integrity sha512-EfjKbmt9n0WCSrTZgvL76IEjMl5yaZ8kZIlgWZnRJzmuKSMB0lrzZzlCJC5AtDizGnpWXlVn9UtAEgVd2nAIjA== - -webvr-polyfill@0.10.8: - version "0.10.8" - resolved "https://registry.yarnpkg.com/webvr-polyfill/-/webvr-polyfill-0.10.8.tgz#64f8896a4d07375347217284a66b943c93da3dc9" - integrity sha512-Oa89Hb0+NRRgQXxnMxnPgT/1UYItPJfpnwmn7RFmPtGpxcWBXpwXZ0zR0RkfoB77ahlJZ+No+5QejLfOA4CJ8Q== - dependencies: - cardboard-vr-display "^1.0.15" - -webworker-promise@0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/webworker-promise/-/webworker-promise-0.4.2.tgz#aeb92684a3a5a05e95ddaeccf8482254c6cf5dc0" - integrity sha512-/se9zS6MpRhyodk+C7YcBZq5mY1apJvKys6Tb6t2NDDeRMGgRuuyYjox38PssylFyPodjPEab/S0WuA20CFu7g== - -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: - 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@3.0.0, whatwg-fetch@>=0.10.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" - integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== - -whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.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.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" - integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -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, which@^1.2.10, which@^1.2.12, which@^1.2.9, which@^1.3.0, which@^1.3.1, 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" - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - -widest-line@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" - integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== - dependencies: - string-width "^2.1.1" - -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= - -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - -workbox-background-sync@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-3.6.3.tgz#6609a0fac9eda336a7c52e6aa227ba2ae532ad94" - integrity sha512-ypLo0B6dces4gSpaslmDg5wuoUWrHHVJfFWwl1udvSylLdXvnrfhFfriCS42SNEe5lsZtcNZF27W/SMzBlva7Q== - dependencies: - workbox-core "^3.6.3" - -workbox-broadcast-cache-update@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-broadcast-cache-update/-/workbox-broadcast-cache-update-3.6.3.tgz#3f5dff22ada8c93e397fb38c1dc100606a7b92da" - integrity sha512-pJl4lbClQcvp0SyTiEw0zLSsVYE1RDlCPtpKnpMjxFtu8lCFTAEuVyzxp9w7GF4/b3P4h5nyQ+q7V9mIR7YzGg== - dependencies: - workbox-core "^3.6.3" - -workbox-build@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-3.6.3.tgz#77110f9f52dc5d82fa6c1c384c6f5e2225adcbd8" - integrity sha512-w0clZ/pVjL8VXy6GfthefxpEXs0T8uiRuopZSFVQ8ovfbH6c6kUpEh6DcYwm/Y6dyWPiCucdyAZotgjz+nRz8g== - dependencies: - babel-runtime "^6.26.0" - common-tags "^1.4.0" - fs-extra "^4.0.2" - glob "^7.1.2" - joi "^11.1.1" - lodash.template "^4.4.0" - pretty-bytes "^4.0.2" - stringify-object "^3.2.2" - strip-comments "^1.0.2" - workbox-background-sync "^3.6.3" - workbox-broadcast-cache-update "^3.6.3" - workbox-cache-expiration "^3.6.3" - workbox-cacheable-response "^3.6.3" - workbox-core "^3.6.3" - workbox-google-analytics "^3.6.3" - workbox-navigation-preload "^3.6.3" - workbox-precaching "^3.6.3" - workbox-range-requests "^3.6.3" - workbox-routing "^3.6.3" - workbox-strategies "^3.6.3" - workbox-streams "^3.6.3" - workbox-sw "^3.6.3" - -workbox-cache-expiration@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-cache-expiration/-/workbox-cache-expiration-3.6.3.tgz#4819697254a72098a13f94b594325a28a1e90372" - integrity sha512-+ECNph/6doYx89oopO/UolYdDmQtGUgo8KCgluwBF/RieyA1ZOFKfrSiNjztxOrGJoyBB7raTIOlEEwZ1LaHoA== - dependencies: - workbox-core "^3.6.3" - -workbox-cacheable-response@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-3.6.3.tgz#869f1a68fce9063f6869ddbf7fa0a2e0a868b3aa" - integrity sha512-QpmbGA9SLcA7fklBLm06C4zFg577Dt8u3QgLM0eMnnbaVv3rhm4vbmDpBkyTqvgK/Ly8MBDQzlXDtUCswQwqqg== - dependencies: - workbox-core "^3.6.3" - -workbox-core@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-3.6.3.tgz#69abba70a4f3f2a5c059295a6f3b7c62bd00e15c" - integrity sha512-cx9cx0nscPkIWs8Pt98HGrS9/aORuUcSkWjG25GqNWdvD/pSe7/5Oh3BKs0fC+rUshCiyLbxW54q0hA+GqZeSQ== - -workbox-google-analytics@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-3.6.3.tgz#99df2a3d70d6e91961e18a6752bac12e91fbf727" - integrity sha512-RQBUo/6SXtIaQTRFj4RQZ9e1gAl7D8oS5S+Hi173Kk70/BgJjzPwXpC5A249Jv5YfkCOLMQCeF9A27BiD0b0ig== - dependencies: - workbox-background-sync "^3.6.3" - workbox-core "^3.6.3" - workbox-routing "^3.6.3" - workbox-strategies "^3.6.3" - -workbox-navigation-preload@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-3.6.3.tgz#a2c34eb7c17e7485b795125091215f757b3c4964" - integrity sha512-dd26xTX16DUu0i+MhqZK/jQXgfIitu0yATM4jhRXEmpMqQ4MxEeNvl2CgjDMOHBnCVMax+CFZQWwxMx/X/PqCw== - dependencies: - workbox-core "^3.6.3" - -workbox-precaching@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-3.6.3.tgz#5341515e9d5872c58ede026a31e19bafafa4e1c1" - integrity sha512-aBqT66BuMFviPTW6IpccZZHzpA8xzvZU2OM1AdhmSlYDXOJyb1+Z6blVD7z2Q8VNtV1UVwQIdImIX+hH3C3PIw== - dependencies: - workbox-core "^3.6.3" - -workbox-range-requests@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-3.6.3.tgz#3cc21cba31f2dd8c43c52a196bcc8f6cdbcde803" - integrity sha512-R+yLWQy7D9aRF9yJ3QzwYnGFnGDhMUij4jVBUVtkl67oaVoP1ymZ81AfCmfZro2kpPRI+vmNMfxxW531cqdx8A== - dependencies: - workbox-core "^3.6.3" - -workbox-routing@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-3.6.3.tgz#659cd8f9274986cfa98fda0d050de6422075acf7" - integrity sha512-bX20i95OKXXQovXhFOViOK63HYmXvsIwZXKWbSpVeKToxMrp0G/6LZXnhg82ijj/S5yhKNRf9LeGDzaqxzAwMQ== - dependencies: - workbox-core "^3.6.3" - -workbox-strategies@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-3.6.3.tgz#11a0dc249a7bc23d3465ec1322d28fa6643d64a0" - integrity sha512-Pg5eulqeKet2y8j73Yw6xTgLdElktcWExGkzDVCGqfV9JCvnGuEpz5eVsCIK70+k4oJcBCin9qEg3g3CwEIH3g== - dependencies: - workbox-core "^3.6.3" - -workbox-streams@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-3.6.3.tgz#beaea5d5b230239836cc327b07d471aa6101955a" - integrity sha512-rqDuS4duj+3aZUYI1LsrD2t9hHOjwPqnUIfrXSOxSVjVn83W2MisDF2Bj+dFUZv4GalL9xqErcFW++9gH+Z27w== - dependencies: - workbox-core "^3.6.3" - -workbox-sw@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-3.6.3.tgz#278ea4c1831b92bbe2d420da8399176c4b2789ff" - integrity sha512-IQOUi+RLhvYCiv80RP23KBW/NTtIvzvjex28B8NW1jOm+iV4VIu3VXKXTA6er5/wjjuhmtB28qEAUqADLAyOSg== - -workbox-webpack-plugin@3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-3.6.3.tgz#a807bb891b4e4e3c808df07e58f17de2d5ba6182" - integrity sha512-RwmKjc7HFHUFHoOlKoZUq9349u0QN3F8W5tZZU0vc1qsBZDINWXRiIBCAKvo/Njgay5sWz7z4I2adnyTo97qIQ== - dependencies: - babel-runtime "^6.26.0" - json-stable-stringify "^1.0.1" - workbox-build "^3.6.3" - -worker-farm@^1.5.2, worker-farm@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" - integrity sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ== - dependencies: - errno "~0.1.7" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" - integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - -wrappy@1, wrappy@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^2.0.0, write-file-atomic@^2.1.0, write-file-atomic@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.2.tgz#a7181706dfba17855d221140a9c06e15fcdd87b9" - integrity sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= - dependencies: - mkdirp "^0.5.1" - -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" - -x-is-string@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" - integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI= - -xdg-basedir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" - integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= - -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== - -xregexp@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" - integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg== - -xtend@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.2.0.tgz#eef6b1f198c1c8deafad8b1765a04dad4a01c5a9" - integrity sha1-7vax8ZjByN6vrYsXZaBNrUoBxak= - -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= - -xtend@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.0.6.tgz#5ea657a6dba447069c2e59c58a1138cb0c5e6cee" - integrity sha1-XqZXptukRwacLlnFihE4ywxebO4= - dependencies: - is-object "~0.1.2" - object-keys "~0.2.0" - -xtend@~2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" - integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os= - dependencies: - object-keys "~0.4.0" - -xtend@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a" - integrity sha1-XM50B7r2Qsunvs2laBEcST9ZZlo= - -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= - -"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== - -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.0, yallist@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== - -yargs-parser@^10.0.0, yargs-parser@^10.1.0: - 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@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" - integrity sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc= - dependencies: - camelcase "^4.1.0" - -yargs@12.0.2: - version "12.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" - integrity sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ== - dependencies: - cliui "^4.0.0" - decamelize "^2.0.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.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 || ^4.0.0" - yargs-parser "^10.1.0" - -yargs@^11.0.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" - integrity sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A== - dependencies: - cliui "^4.0.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^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 "^9.0.2" - -yargs@^12.0.5: - version "12.0.5" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== - dependencies: - cliui "^4.0.0" - decamelize "^1.2.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.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 || ^4.0.0" - yargs-parser "^11.1.1" - -yup@^0.26.10: - version "0.26.10" - resolved "https://registry.yarnpkg.com/yup/-/yup-0.26.10.tgz#3545839663289038faf25facfc07e11fd67c0cb1" - integrity sha512-keuNEbNSnsOTOuGCt3UJW69jDE3O4P+UHAakO7vSeFMnjaitcmlbij/a3oNb9g1Y1KvSKH/7O1R2PQ4m4TRylw== - dependencies: - "@babel/runtime" "7.0.0" - fn-name "~2.0.1" - lodash "^4.17.10" - property-expr "^1.5.0" - synchronous-promise "^2.0.5" - toposort "^2.0.2" diff --git a/Packages-react/react-cornerstone-viewport b/Packages-react/react-cornerstone-viewport deleted file mode 160000 index 1519ec03b..000000000 --- a/Packages-react/react-cornerstone-viewport +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1519ec03b2aca15efc1291d945ac1139c966bc78 diff --git a/Packages-react/react-viewerbase b/Packages-react/react-viewerbase deleted file mode 160000 index a97200c7a..000000000 --- a/Packages-react/react-viewerbase +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a97200c7af92ca37d55cec13f65cf593e3d6b8dc diff --git a/Packages-react/react-vtkjs-viewport b/Packages-react/react-vtkjs-viewport deleted file mode 160000 index 09b6fb77a..000000000 --- a/Packages-react/react-vtkjs-viewport +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 09b6fb77ae73ee7927bf7bd4324925aef38d4242 diff --git a/Packages/.eslintignore b/Packages/.eslintignore deleted file mode 100644 index 2265c0e41..000000000 --- a/Packages/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -active-entry -hipaa-audit-log -meteor-stale-session -orthanc-remote -ohif-cornerstone -ohif-viewerbase/client/compatibility -ohif-core/client/lib/third-party/ diff --git a/Packages/.eslintrc.json b/Packages/.eslintrc.json deleted file mode 100644 index e09c61411..000000000 --- a/Packages/.eslintrc.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "parser": "babel-eslint", - "parserOptions": { - "allowImportExportEverywhere": true - }, - "plugins": [ - "meteor" - ], - "env": { - /* Allows global vars from the Meteor environment to pass and enables certain rules */ - "meteor": true, - "node": true, - "browser": true - }, - "extends": [ - "airbnb", - "plugin:meteor/recommended" - ], - "settings": { - "import/resolver": "meteor" - }, - "rules": { - "meteor/no-session": 0, // We are actually using Session for now... - "meteor/eventmap-params": [2, {"eventParamName": "event"}], - "meteor/eventmap-params": [2, {"templateInstanceParamName": "instance"}], - "import/no-extraneous-dependencies": 0, - "import/no-unresolved": 0, // There are a bunch of ESLint problems with Meteor's resolver - "import/no-duplicates": 0, // So we are disabling these for now - "import/extensions": 0, - "import/no-absolute-path": 0, - "no-console": 0, // For development - "no-plusplus": ["error", { "allowForLoopAfterthoughts": true }], - "indent": ["error", 4], - "new-cap": 0, // Until Match has an exception - "func-names": 0, // This is a bit of an annoying rule - "no-underscore-dangle": 0, // Doesn't seem to mesh with _id for MongoDB Ids (or SimpleSchema) - "max-len": 0, // TODO: re-enable the rules below and fix all of the errors - "consistent-return": 0, - "no-param-reassign": 0, - "no-mixed-operators": 0, - "arrow-body-style": 0, - "valid-typeof": 0, - "import/prefer-default-export": 0 - //"no-undef": 0 - }, - "globals": {} -} \ No newline at end of file diff --git a/Packages/ohif-cornerstone/main.js b/Packages/ohif-cornerstone/main.js deleted file mode 100644 index 168423d8a..000000000 --- a/Packages/ohif-cornerstone/main.js +++ /dev/null @@ -1,24 +0,0 @@ -import Hammer from 'hammerjs'; -import cornerstone from 'cornerstone-core'; -import cornerstoneMath from 'cornerstone-math'; -import cornerstoneTools from 'cornerstone-tools'; -import cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader'; -import dicomParser from 'dicom-parser'; -import * as dcmjs from 'dcmjs/build/dcmjs'; - -cornerstoneTools.external.Hammer = Hammer; -cornerstoneTools.external.cornerstone = cornerstone; -cornerstoneTools.external.cornerstoneMath = cornerstoneMath; -cornerstoneWADOImageLoader.external.cornerstone = cornerstone; -cornerstoneWADOImageLoader.external.dicomParser = dicomParser; - -// Export scripts that will populate the Cornerstone namespace as a side effect only import. -// This is effectively the public API... -export { - cornerstone, - cornerstoneTools, - cornerstoneMath, - cornerstoneWADOImageLoader, - dicomParser, - dcmjs -}; diff --git a/Packages/ohif-cornerstone/package.js b/Packages/ohif-cornerstone/package.js deleted file mode 100644 index 0404f35aa..000000000 --- a/Packages/ohif-cornerstone/package.js +++ /dev/null @@ -1,34 +0,0 @@ -Package.describe({ - name: 'ohif:cornerstone', - summary: 'Cornerstone Web-based Medical Imaging libraries', - version: '0.0.1' -}); - -Npm.depends({ - hammerjs: '2.0.8', - 'cornerstone-core': '2.2.8', - 'cornerstone-tools': '3.0.0-b.1471', - 'cornerstone-math': '0.1.7', - 'dicom-parser': '1.8.3', - 'cornerstone-wado-image-loader': '2.2.3', - 'dcmjs': '0.2.1' -}); - -Package.onUse(function(api) { - api.versionsFrom('1.7'); - - api.use('ecmascript'); - - api.addAssets('public/js/cornerstoneWADOImageLoaderCodecs.es5.js', 'client'); - api.addAssets('public/js/cornerstoneWADOImageLoaderWebWorker.es5.js', 'client'); - api.addAssets('public/js/cornerstoneWADOImageLoaderWebWorker.min.js.map', 'client'); - - api.mainModule('main.js', 'client'); - - api.export('cornerstone', 'client'); - api.export('cornerstoneMath', 'client'); - api.export('cornerstoneTools', 'client'); - api.export('cornerstoneWADOImageLoader', 'client'); - api.export('dicomParser', 'client'); - api.export('dcmjs', 'client'); -}); diff --git a/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderCodecs.es5.js b/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderCodecs.es5.js deleted file mode 100644 index 6f2940877..000000000 --- a/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderCodecs.es5.js +++ /dev/null @@ -1 +0,0 @@ -var CharLS=function(Module){Module=Module||{};var Module;if(!Module)Module=(typeof CharLS!=="undefined"?CharLS:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?function(x){dump(x)}:function(x){}}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=function(title){document.title=title}}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=function(){}}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:function(value){tempRet0=value},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(stackTop){STACKTOP=stackTop},getNativeTypeSize:function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}},getNativeFieldSize:function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr},getAlignSize:function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)},dynCall:function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}},functionPointers:[],addFunction:function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret},alignMemory:function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret},makeBigInt:function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret},stringToC:function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret}};var toC={string:JSfuncs["stringToC"],array:JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||4e8;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32};Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;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["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+59744;__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_jpegls_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});allocate([0,0,0,0,0,0,0,0,84,144,0,0,31,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,237,191,0,0,48,0,0,0,0,0,0,0,44,144,0,0,41,192,0,0,84,144,0,0,55,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,115,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,192,0,0,152,3,0,0,0,0,0,0,84,144,0,0,241,192,0,0,216,3,0,0,0,0,0,0,84,144,0,0,55,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,95,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,135,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,216,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,241,193,0,0,48,0,0,0,0,0,0,0,44,144,0,0,13,194,0,0,84,144,0,0,80,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,44,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,139,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,179,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,219,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,3,195,0,0,48,0,0,0,0,0,0,0,84,144,0,0,103,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,157,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,211,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,8,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,71,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,138,196,0,0,160,1,0,0,0,0,0,0,44,144,0,0,120,196,0,0,84,144,0,0,187,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,246,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,49,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,103,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,157,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,210,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,17,198,0,0,160,1,0,0,0,0,0,0,84,144,0,0,86,198,0,0,72,3,0,0,0,0,0,0,84,144,0,0,162,198,0,0,56,2,0,0,0,0,0,0,44,144,0,0,182,198,0,0,84,144,0,0,196,198,0,0,56,2,0,0,0,0,0,0,84,144,0,0,112,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,125,199,0,0,84,144,0,0,138,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,156,199,0,0,84,144,0,0,169,199,0,0,96,2,0,0,0,0,0,0,84,144,0,0,181,199,0,0,120,2,0,0,0,0,0,0,84,144,0,0,214,199,0,0,144,2,0,0,0,0,0,0,84,144,0,0,28,200,0,0,144,2,0,0,0,0,0,0,84,144,0,0,248,199,0,0,176,2,0,0,0,0,0,0,84,144,0,0,62,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,99,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,182,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,245,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,13,222,0,0,152,3,0,0,0,0,0,0,84,144,0,0,38,222,0,0,152,3,0,0,0,0,0,0,44,144,0,0,62,222,0,0,84,144,0,0,87,222,0,0,104,2,0,0,0,0,0,0,44,144,0,0,110,222,0,0,84,144,0,0,135,222,0,0,72,3,0,0,0,0,0,0,84,144,0,0,161,222,0,0,56,3,0,0,0,0,0,0,44,144,0,0,187,222,0,0,84,144,0,0,205,222,0,0,112,3,0,0,0,0,0,0,84,144,0,0,247,222,0,0,112,3,0,0,0,0,0,0,44,144,0,0,33,223,0,0,44,144,0,0,82,223,0,0,124,144,0,0,131,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,178,223,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,124,144,0,0,225,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,16,224,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,84,144,0,0,63,224,0,0,80,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,144,0,0,187,224,0,0,48,3,0,0,0,0,0,0,124,144,0,0,209,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,124,144,0,0,227,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,5,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,40,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,75,225,0,0,144,4,0,0,0,0,0,0,84,144,0,0,109,225,0,0,144,4,0,0,0,0,0,0,124,144,0,0,144,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,178,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,200,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,220,225,0,0,32,4,0,0,0,0,0,0,124,144,0,0,240,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,84,144,0,0,2,226,0,0,32,4,0,0,0,0,0,0,84,144,0,0,23,226,0,0,32,4,0,0,0,0,0,0,124,144,0,0,44,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,80,10,0,0,0,0,0,0,124,144,0,0,112,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,104,10,0,0,0,0,0,0,124,144,0,0,180,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,128,10,0,0,0,0,0,0,124,144,0,0,248,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,152,10,0,0,0,0,0,0,124,144,0,0,60,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,184,10,0,0,0,8,0,0,124,144,0,0,129,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,192,10,0,0,0,8,0,0,124,144,0,0,198,227,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,11,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,80,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,108,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,136,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,164,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,192,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,216,10,0,0,0,0,0,0,124,144,0,0,6,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,224,10,0,0,0,0,0,0,124,144,0,0,76,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,232,10,0,0,0,0,0,0,124,144,0,0,146,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,240,10,0,0,0,0,0,0,124,144,0,0,216,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,124,144,0,0,237,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,144,0,0,73,233,0,0,44,144,0,0,50,233,0,0,124,144,0,0,28,233,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,237,232,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,215,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,124,144,0,0,168,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,44,144,0,0,149,232,0,0,44,144,0,0,115,232,0,0,44,144,0,0,81,232,0,0,44,144,0,0,60,232,0,0,44,144,0,0,39,232,0,0,44,144,0,0,14,232,0,0,44,144,0,0,245,231,0,0,44,144,0,0,220,231,0,0,44,144,0,0,195,231,0,0,44,144,0,0,171,231,0,0,44,144,0,0,190,232,0,0,44,144,0,0,3,233],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([156,143,0,0,0,0,0,0,8,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,248,1,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,1,0,0,5,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,7,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,9,0,0,0,10,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,184,1,0,0,11,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,13,0,0,0,14,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,144,1,0,0,15,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,128,1,0,0,17,0,0,0,18,0,0,0,9,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,112,1,0,0,19,0,0,0,20,0,0,0,10,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,96,1,0,0,21,0,0,0,22,0,0,0,11,0,0,0,3,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,23,0,0,0,24,0,0,0,12,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,64,1,0,0,25,0,0,0,26,0,0,0,13,0,0,0,5,0,0,0,13,0,0,0,0,0,0,0,240,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,6,0,0,0,14,0,0,0,0,0,0,0,224,0,0,0,29,0,0,0,30,0,0,0,15,0,0,0,7,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,31,0,0,0,32,0,0,0,16,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,200,0,0,0,33,0,0,0,34,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,56,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,200,255,255,255,200,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,56,0,0,0,0,0,0,0,104,0,0,0,40,0,0,0,41,0,0,0,200,255,255,255,200,255,255,255,104,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,88,0,0,0,44,0,0,0,45,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,17,0,0,0,3,0,0,0,18,0,0,0,104,141,0,0,64,141,0,0,84,141,0,0,124,141,0,0,0,0,0,0,32,0,0,0,46,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,56,0,0,0,48,0,0,0,49,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,50,0,0,0,51,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,120,0,0,0,52,0,0,0,53,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,136,0,0,0,54,0,0,0,55,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,152,0,0,0,56,0,0,0,57,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,168,0,0,0,58,0,0,0,59,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,216,0,0,0,60,0,0,0,61,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,62,0,0,0,63,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,16,1,0,0,64,0,0,0,65,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,32,1,0,0,66,0,0,0,67,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,48,1,0,0,68,0,0,0,69,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,160,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,2,0,0,72,0,0,0,73,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,40,2,0,0,74,0,0,0,75,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,76,0,0,0,77,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,80,2,0,0,78,0,0,0,79,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,104,2,0,0,80,0,0,0,81,0,0,0,7,0,0,0,0,0,0,0,128,2,0,0,82,0,0,0,83,0,0,0,8,0,0,0,0,0,0,0,160,2,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,2,0,0,0,9,0,0,0,28,0,0,0,0,0,0,0,208,2,0,0,84,0,0,0,88,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,3,0,0,0,10,0,0,0,29,0,0,0,0,0,0,0,224,2,0,0,84,0,0,0,89,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,4,0,0,0,11,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,1,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,88,146,0,0,200,146,0,0,56,147,0,0,56,147,0,0,120,187,0,0,168,155,0,0,168,149,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,159,219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,9,0,0,0,151,215,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,143,211,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+35640);allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+39844);allocate([240,2,0,0,90,0,0,0,91,0,0,0,20,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,14,0,0,0,20,0,0,0,0,0,0,0,0,3,0,0,90,0,0,0,92,0,0,0,21,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,16,0,0,0,21,0,0,0,15,0,0,0,22,0,0,0,0,0,0,0,16,3,0,0,93,0,0,0,94,0,0,0,22,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,32,3,0,0,93,0,0,0,95,0,0,0,23,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,19,0,0,0,20,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,56,3,0,0,96,0,0,0,97,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,3,0,0,93,0,0,0,98,0,0,0,17,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,160,3,0,0,90,0,0,0,99,0,0,0,24,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,15,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,168,3,0,0,100,0,0,0,101,0,0,0,248,255,255,255,248,255,255,255,168,3,0,0,102,0,0,0,103,0,0,0,8,0,0,0,0,0,0,0,192,3,0,0,104,0,0,0,105,0,0,0,248,255,255,255,248,255,255,255,192,3,0,0,106,0,0,0,107,0,0,0,4,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,252,255,255,255,252,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,4,0,0,0,0,0,0,0,240,3,0,0,108,0,0,0,109,0,0,0,252,255,255,255,252,255,255,255,240,3,0,0,110,0,0,0,111,0,0,0,0,0,0,0,96,3,0,0,112,0,0,0,113,0,0,0,7,0,0,0,0,0,0,0,112,3,0,0,114,0,0,0,115,0,0,0,0,0,0,0,8,4,0,0,72,0,0,0,116,0,0,0,21,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,117,0,0,0,118,0,0,0,119,0,0,0,1,0,0,0,33,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,0,0,120,0,0,0,121,0,0,0,119,0,0,0,2,0,0,0,34,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,5,0,0,124,0,0,0,125,0,0,0,119,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,5,0,0,126,0,0,0,127,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,5,0,0,128,0,0,0,129,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,5,0,0,130,0,0,0,131,0,0,0,119,0,0,0,22,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,224,5,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,132,0,0,0,133,0,0,0,119,0,0,0,30,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,8,6,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,6,0,0,134,0,0,0,135,0,0,0,119,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,6,0,0,136,0,0,0,137,0,0,0,119,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,6,0,0,138,0,0,0,139,0,0,0,119,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,40,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,6,0,0,140,0,0,0,141,0,0,0,119,0,0,0,41,0,0,0,42,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,43,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,6,0,0,142,0,0,0,143,0,0,0,119,0,0,0,44,0,0,0,45,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,6,0,0,144,0,0,0,145,0,0,0,119,0,0,0,47,0,0,0,48,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,49,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,6,0,0,146,0,0,0,147,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,0,0,148,0,0,0,149,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,7,0,0,150,0,0,0,151,0,0,0,119,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,7,0,0,152,0,0,0,153,0,0,0,119,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,0,154,0,0,0,155,0,0,0,119,0,0,0,19,0,0,0,7,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,7,0,0,156,0,0,0,157,0,0,0,119,0,0,0,20,0,0,0,8,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,4,0,0,158,0,0,0,159,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,5,0,0,160,0,0,0,161,0,0,0,119,0,0,0,27,0,0,0,21,0,0,0,28,0,0,0,22,0,0,0,29,0,0,0,9,0,0,0,23,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,4,0,0,162,0,0,0,163,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,50,0,0,0,51,0,0,0,13,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,5,0,0,164,0,0,0,165,0,0,0,119,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,80,5,0,0,166,0,0,0,167,0,0,0,119,0,0,0,55,0,0,0,56,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,0,0,0,0,32,4,0,0,168,0,0,0,169,0,0,0,119,0,0,0,0,0,0,0,48,4,0,0,168,0,0,0,170,0,0,0,119,0,0,0,24,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,30,0,0,0,25,0,0,0,31,0,0,0,26,0,0,0,32,0,0,0,13,0,0,0,27,0,0,0,14,0,0,0,0,0,0,0,80,4,0,0,168,0,0,0,171,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,57,0,0,0,58,0,0,0,16,0,0,0,59,0,0,0,0,0,0,0,112,4,0,0,168,0,0,0,172,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,60,0,0,0,61,0,0,0,18,0,0,0,62,0,0,0,0,0,0,0,144,4,0,0,168,0,0,0,173,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,176,4,0,0,168,0,0,0,174,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,192,4,0,0,168,0,0,0,175,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,119,83,116,114,101,97,109,32,111,114,32,114,97,119,68,97,116,97,32,110,101,101,100,115,32,116,111,32,114,101,102,101,114,101,110,99,101,32,116,111,32,115,111,109,101,116,104,105,110,103,0,119,105,100,116,104,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,104,101,105,103,104,116,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,98,105,116,115,112,101,114,115,97,109,112,108,101,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,50,44,32,49,54,93,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,116,32,116,111,32,97,32,118,97,108,117,101,32,111,102,32,123,78,111,110,101,44,32,83,97,109,112,108,101,44,32,76,105,110,101,125,0,99,111,109,112,111,110,101,110,116,115,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,50,53,53,93,0,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,111,116,104,101,114,32,112,97,114,97,109,101,116,101,114,115,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,116,111,32,83,97,109,112,108,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,52,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,32,111,110,108,121,32,98,101,32,115,101,116,32,116,111,32,78,111,110,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,49,0,67,111,108,111,114,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,0,78,111,32,109,111,114,101,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,32,105,110,32,105,110,112,117,116,32,98,117,102,102,101,114,44,32,115,116,105,108,108,32,110,101,101,100,101,100,105,110,103,32,0,65,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,40,0,41,32,99,97,110,110,111,116,32,98,101,32,115,119,97,112,112,101,100,46,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,69,0,49,49,80,114,111,99,101,115,115,76,105,110,101,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,57,98,97,115,105,99,95,111,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,116,69,69,0,50,50,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,83,116,114,101,97,109,0,50,53,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,67,111,109,112,111,110,101,110,116,0,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,104,69,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,67,104,97,114,76,83,32,101,114,114,111,114,0,99,104,97,114,108,115,0,49,53,99,104,97,114,108,115,95,99,97,116,101,103,111,114,121,0,112,97,114,97,109,115,46,88,116,104,117,109,98,110,97,105,108,32,105,115,32,62,32,48,32,98,117,116,32,112,97,114,97,109,115,46,116,104,117,109,98,110,97,105,108,32,61,61,32,110,117,108,108,95,112,116,114,0,49,55,74,112,101,103,77,97,114,107,101,114,83,101,103,109,101,110,116,0,49,49,74,112,101,103,83,101,103,109,101,110,116,0,50,48,74,112,101,103,73,109,97,103,101,68,97,116,97,83,101,103,109,101,110,116,0,69,120,112,101,99,116,101,100,32,74,80,69,71,32,77,97,114,107,101,114,32,115,116,97,114,116,32,98,121,116,101,32,48,120,70,70,32,98,117,116,32,116,104,101,32,98,121,116,101,32,118,97,108,117,101,32,119,97,115,32,48,120,0,74,80,69,71,32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,109,97,114,107,101,114,32,0,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,0,85,110,107,110,111,119,110,32,74,80,69,71,32,109,97,114,107,101,114,32,0,32,101,110,99,111,117,110,116,101,114,101,100,46,0,109,114,102,120,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,83,116,57,116,121,112,101,95,105,110,102,111,0,83,116,56,98,97,100,95,99,97,115,116,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+42396);allocate([32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+52636);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,58,32,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,105,111,115,116,114,101,97,109,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+56215);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}Module["_memset"]=_memset;var _BDtoILow=true;var _emscripten_resume=true;function ___gxx_personality_v0(){}var _emscripten_landingpad=true;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){return leadingNulls(date.tm_hour<13?date.tm_hour:date.tm_hour-12,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>0&&date.tm_hour<13){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _abort(){Module["abort"]()}function _free(){}Module["_free"]=_free;function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown){___cxa_end_catch.rethrown=false;return}asm["setThrew"](0);var ptr=EXCEPTIONS.caught.pop();if(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr));EXCEPTIONS.last=0}}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}var _fabs=Math_abs;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}});if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||function(){};canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){Module["noExitRuntime"]=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){Module["noExitRuntime"]=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},xhrLoad:function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)},asyncLoad:function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(!noRunDep)addRunDependency("al "+url)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];return ret},getStr:function(){var ret=Pointer_stringify(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_i64Add"]=_i64Add;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push(function(){Runtime.dynCall("vi",routine,[arg])});_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _llvm_eh_typeid_for(type){return type}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_mutex_lock(){}var _emscripten_postinvoke=true;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")}}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_bitshift64Shl"]=_bitshift64Shl;function ___cxa_guard_abort(){}Module["_memmove"]=_memmove;var _emscripten_preinvoke=true;var _BItoD=true;function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=true;var ptr=EXCEPTIONS.caught.pop();EXCEPTIONS.last=ptr;throw ptr}function _pthread_mutex_unlock(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function $b(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ac(a){a=a|0;D=a}function bc(){return D|0}function cc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+128|0;p=w+44|0;s=w+8|0;l=w+4|0;n=w;q=e+4|0;r=e+8|0;o=0;Aa(35,c[e>>2]|0,c[q>>2]|0,c[r>>2]|0,f|0);m=o;o=0;if(!(m&1)){j=p;h=j+84|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(h|0));f=p+12|0;if((c[f>>2]|0)==0?(k=$(((c[p+8>>2]|0)+7|0)/8|0,c[p>>2]|0)|0,c[f>>2]=k,(c[p+24>>2]|0)!=0):0)c[f>>2]=$(c[p+16>>2]|0,k)|0;o=0;ha(176,s|0);m=o;o=0;if(!(m&1)){f=p+56|0;do{if(c[f>>2]|0){o=0;f=ka(66,f|0)|0;m=o;o=0;if(!(m&1)){c[l>>2]=f;h=s+28|0;j=c[h>>2]|0;if(j>>>0<(c[s+32>>2]|0)>>>0){c[j>>2]=f;c[h>>2]=j+4;c[l>>2]=0;t=19;break}o=0;ia(57,s+24|0,l|0);m=o;o=0;if(m&1){h=Na(824,0)|0;f=D;j=c[l>>2]|0;c[l>>2]=0;if(!j)break;Bb[c[(c[j>>2]|0)+4>>2]&255](j);break}else{f=c[l>>2]|0;c[l>>2]=0;if(!f){t=19;break}Bb[c[(c[f>>2]|0)+4>>2]&255](f);t=19;break}}else t=15}else t=19}while(0);a:do{if((t|0)==19){j=p+4|0;k=p+8|0;l=p+16|0;o=0;f=va(14,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;m=o;o=0;if(!(m&1)){c[n>>2]=f;m=s+28|0;h=c[m>>2]|0;do{if(h>>>0>=(c[s+32>>2]|0)>>>0){o=0;ia(57,s+24|0,n|0);h=o;o=0;if(h&1){h=Na(824,0)|0;f=D;j=c[n>>2]|0;c[n>>2]=0;if(!j)break a;Bb[c[(c[j>>2]|0)+4>>2]&255](j);break a}else{f=c[n>>2]|0;c[n>>2]=0;if(!f)break;Bb[c[(c[f>>2]|0)+4>>2]&255](f);break}}else{c[h>>2]=f;c[m>>2]=h+4;c[n>>2]=0}}while(0);f=c[p+28>>2]|0;if((f|0)!=0?(o=0,ia(58,s|0,f|0),t=o,o=0,t&1):0){t=15;break}b:do{if(!(c[p+24>>2]|0)){f=$(c[j>>2]|0,c[p>>2]|0)|0;f=$(f,((c[k>>2]|0)+7|0)/8|0)|0;if((c[l>>2]|0)>0){j=0;while(1){o=0;wa(4,s|0,e|0,p|0);t=o;o=0;if(t&1)break;h=c[q>>2]|0;if(h){c[q>>2]=h+f;c[r>>2]=(c[r>>2]|0)-f}j=j+1|0;if((j|0)>=(c[l>>2]|0))break b}h=Na(824,0)|0;f=D;t=16;break a}}else{o=0;wa(4,s|0,e|0,p|0);t=o;o=0;if(t&1){t=15;break a}}}while(0);o=0;ra(33,s|0,b|0)|0;t=o;o=0;if(!(t&1)){c[d>>2]=c[s+16>>2];if(g)a[g>>0]=0;j=s+24|0;f=c[j>>2]|0;if(f){h=c[m>>2]|0;if((h|0)!=(f|0)){do{g=h+-4|0;c[m>>2]=g;h=c[g>>2]|0;c[g>>2]=0;if(h)Bb[c[(c[h>>2]|0)+4>>2]&255](h);h=c[m>>2]|0}while((h|0)!=(f|0));f=c[j>>2]|0}cj(f)}g=0;i=w;return g|0}else t=15}else t=15}}while(0);if((t|0)==15){h=Na(824,0)|0;f=D;t=16}m=s+24|0;j=c[m>>2]|0;if(j){l=s+28|0;k=c[l>>2]|0;if((k|0)!=(j|0)){do{s=k+-4|0;c[l>>2]=s;k=c[s>>2]|0;c[s>>2]=0;if(k)Bb[c[(c[k>>2]|0)+4>>2]&255](k);k=c[l>>2]|0}while((k|0)!=(j|0));j=c[m>>2]|0}cj(j)}}else t=5}else t=5;if((t|0)==5){h=Na(824,0)|0;f=D}s=(f|0)==(Ta(824)|0);k=Va(h|0)|0;f=(g|0)==0;if(!s){if(!f)a[g>>0]=0;Xa();g=14;i=w;return g|0}j=k+12|0;do{if(!f){f=c[j>>2]|0;o=0;h=ua(1)|0;s=o;o=0;if(!(s&1))if((f|0)==(h|0)){ml(g,Eb[c[(c[k>>2]|0)+8>>2]&127](k)|0)|0;t=60;break}else{a[g>>0]=0;t=60;break}}else t=60}while(0);if((t|0)==60?(u=c[j>>2]|0,o=0,v=ua(1)|0,g=o,o=0,!(g&1)):0){g=(u|0)==(v|0)?c[k+8>>2]|0:13;Xa();i=w;return g|0}f=Na()|0;o=0;xa(3);w=o;o=0;if(w&1){w=Na(0)|0;ec(w)}else Ya(f|0);return 0}function dc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;l=i;i=i+112|0;g=l+96|0;k=l+84|0;m=l+72|0;n=l+60|0;p=l+48|0;q=l+36|0;r=l+24|0;s=l+12|0;t=l;j=(b|0)==0;if((a|0)==0&j){f=Ma(16)|0;o=0;wa(5,g|0,48504,52);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,g|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(g);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}h=c[e>>2]|0;if((h+-1|0)>>>0>65534){f=Ma(16)|0;o=0;wa(5,k|0,48557,41);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,k|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(k);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}g=c[e+4>>2]|0;if((g+-1|0)>>>0>65534){f=Ma(16)|0;o=0;wa(5,m|0,48599,42);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,m|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(m);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}f=c[e+8>>2]|0;if((f+-2|0)>>>0>14){f=Ma(16)|0;o=0;wa(5,n|0,48642,46);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,n|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(n);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}a=c[e+24>>2]|0;if(a>>>0>=3){f=Ma(16)|0;o=0;wa(5,p|0,48689,65);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,p|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(p);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}b=c[e+16>>2]|0;if((b+-1|0)>>>0>254){f=Ma(16)|0;o=0;wa(5,q|0,48755,44);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,q|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(q);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}if(!j?(q=$(g,h)|0,($($(q,(f|0)>8?2:1)|0,b)|0)>>>0>d>>>0):0){f=Ma(16)|0;o=0;wa(5,r|0,48800,58);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,r|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(r);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}switch(b|0){case 4:{if((a|0)!=2){i=l;return}f=Ma(16)|0;o=0;wa(5,s|0,48859,73);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,s|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(s);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}case 3:{i=l;return}default:{if(!a){i=l;return}f=Ma(16)|0;o=0;wa(5,t|0,48933,73);s=o;o=0;if(!(s&1)){o=0;b=ua(1)|0;s=o;o=0;if(!(s&1)?(o=0,Aa(36,f|0,1,b|0,t|0),s=o,o=0,!(s&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(t);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}}}function ec(a){a=a|0;Va(a|0)|0;jj()}function fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;h=n+116|0;j=n;o=0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];ia(59,j|0,h|0);g=o;o=0;if(!(g&1)){if(e){g=j+16|0;d=g+84|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(d|0))}o=0;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];ia(60,j|0,h|0);j=o;o=0;if(!(j&1)){if(f)a[f>>0]=0;m=0;i=n;return m|0}}b=Na(824,0)|0;j=D;j=(j|0)==(Ta(824)|0);b=Va(b|0)|0;d=(f|0)==0;if(!j){if(!d)a[f>>0]=0;Xa();m=14;i=n;return m|0}g=b+12|0;do{if(!d){d=c[g>>2]|0;o=0;e=ua(1)|0;j=o;o=0;if(!(j&1))if((d|0)==(e|0)){ml(f,Eb[c[(c[b>>2]|0)+8>>2]&127](b)|0)|0;m=10;break}else{a[f>>0]=0;m=10;break}}else m=10}while(0);if((m|0)==10?(k=c[g>>2]|0,o=0,l=ua(1)|0,m=o,o=0,!(m&1)):0){m=(k|0)==(l|0)?c[b+8>>2]|0:13;Xa();i=n;return m|0}d=Na()|0;o=0;xa(3);n=o;o=0;if(n&1){n=Na(0)|0;ec(n)}else Ya(d|0);return 0}function gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+128|0;g=l+116|0;f=l;o=0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];ia(59,f|0,g|0);g=o;o=0;if((!(g&1)?(o=0,ha(177,f|0),g=o,o=0,!(g&1)):0)?(o=0,ia(61,f|0,1),g=o,o=0,!(g&1)):0){b=f+16|0;f=d+84|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(f|0));if(e)a[e>>0]=0;e=0;i=l;return e|0}g=Na(824,0)|0;d=D;d=(d|0)==(Ta(824)|0);g=Va(g|0)|0;b=(e|0)==0;if(!d){if(!b)a[e>>0]=0;Xa();e=14;i=l;return e|0}d=g+12|0;do{if(!b){b=c[d>>2]|0;o=0;f=ua(1)|0;m=o;o=0;if(!(m&1))if((b|0)==(f|0)){ml(e,Eb[c[(c[g>>2]|0)+8>>2]&127](g)|0)|0;k=13;break}else{a[e>>0]=0;k=13;break}}else k=13}while(0);if((k|0)==13?(h=c[d>>2]|0,o=0,j=ua(1)|0,m=o,o=0,!(m&1)):0){m=(h|0)==(j|0)?c[g+8>>2]|0:13;Xa();i=l;return m|0}b=Na()|0;o=0;xa(3);m=o;o=0;if(m&1){m=Na(0)|0;ec(m)}else Ya(b|0);return 0}function hc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n+36|0;j=n+24|0;l=n+12|0;m=n;if(!((a|0)!=0&(d|0)!=0&(e|0)!=0&(g|0)!=0)){f=1;i=n;return f|0}c[l>>2]=0;c[l+4>>2]=a;c[l+8>>2]=b;c[m>>2]=0;c[m+4>>2]=e;c[m+8>>2]=f;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];f=cc(j,d,k,g,h)|0;i=n;return f|0}function ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+12|0;h=f;j=h;c[j>>2]=0;c[j+4>>2]=0;c[h+4>>2]=a;c[h+8>>2]=b;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];d=gc(g,d,e)|0;i=f;return d|0}function jc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+48|0;j=h+36|0;k=h+24|0;m=h+12|0;l=h;c[m>>2]=0;c[m+4>>2]=a;c[m+8>>2]=b;c[l>>2]=0;c[l+4>>2]=d;c[l+8>>2]=e;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];e=fc(k,j,f,g)|0;i=h;return e|0}function kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+4|0;d=c[a>>2]|0;f=((c[k>>2]|0)-d>>2)+1|0;if(f>>>0>1073741823){$i(a);d=c[a>>2]|0}l=a+8|0;e=(c[l>>2]|0)-d|0;if(e>>2>>>0<536870911){e=e>>1;e=e>>>0>>0?f:e;d=(c[k>>2]|0)-d>>2;if(!e){g=0;h=0}else i=6}else{e=1073741823;d=(c[k>>2]|0)-d>>2;i=6}if((i|0)==6){g=e;h=bj(e<<2)|0}f=h+(d<<2)|0;e=f;j=h+(g<<2)|0;i=c[b>>2]|0;c[b>>2]=0;c[f>>2]=i;i=h+(d+1<<2)|0;h=c[a>>2]|0;d=c[k>>2]|0;if((d|0)==(h|0)){f=a;g=k}else{do{d=d+-4|0;b=c[d>>2]|0;c[d>>2]=0;c[f+-4>>2]=b;f=e+-4|0;e=f}while((d|0)!=(h|0));d=e;f=a;g=k;e=d;h=c[a>>2]|0;d=c[k>>2]|0}c[f>>2]=e;c[g>>2]=i;c[l>>2]=j;f=h;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;c[d>>2]=0;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e)}while((d|0)!=(f|0));if(!h)return;cj(h);return}function lc(){if(a[8]|0)return 35648;if(!(Ha(8)|0))return 35648;kb(72,35648,n|0)|0;Pa(8);return 35648}function mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;Ei(l,(1<>2]|0;m=h+1|0;e=m<<1;c[b>>2]=0;j=b+4|0;c[j>>2]=0;c[b+8>>2]=0;a:do{if(m){if(!((h|0)<-1?(o=0,ha(178,b|0),k=o,o=0,k&1):0))f=4;if((f|0)==4?(o=0,g=ka(67,e|0)|0,k=o,o=0,!(k&1)):0){c[j>>2]=g;c[b>>2]=g;c[b+8>>2]=g+e;d=g;while(1){a[d>>0]=0;d=(c[j>>2]|0)+1|0;c[j>>2]=d;e=e+-1|0;if(!e)break a}}e=Na()|0;d=c[b>>2]|0;if(!d)Ya(e|0);if((c[j>>2]|0)!=(d|0))c[j>>2]=d;cj(d);Ya(e|0)}}while(0);d=~h;if((h|0)<(d|0)){i=n;return}j=l+12|0;k=l+8|0;h=l+4|0;g=d;do{d=c[j>>2]|0;if((g|0)>(0-d|0)){e=c[k>>2]|0;if((g|0)>(0-e|0)){f=c[h>>2]|0;if((g|0)>(0-f|0))if((g|0)>=0)if((g|0)>0)if((f|0)<=(g|0))if((e|0)>(g|0))d=2;else d=(d|0)>(g|0)?3:4;else d=1;else d=0;else d=-1;else d=-2}else d=-3}else d=-4;a[(c[b>>2]|0)+(g+m)>>0]=d;g=g+1|0}while((g|0)<(m|0));i=n;return}function nc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=c[f+16>>2]|0;switch(q|0){case 64:case 0:{o=0;d=ra(34,d|0,e|0)|0;e=o;o=0;if(e&1)r=16;else g=d;break}default:{h=(1<>2])+-1|0;p=c[e+20>>2]|0;n=p<<1;n=((n+h|0)/(n|1|0)|0)+1|0;d=0;while(1)if((1<>2]|0;o=0;g=ka(67,4624)|0;m=o;o=0;if(m&1)r=16;else{i=((j|0)<8?8:j)+j<<1;k=g+4|0;l=e;m=k+84|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));k=g+88|0;m=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));c[g>>2]=35660;c[g+128>>2]=h;c[g+132>>2]=n;c[g+136>>2]=p;c[g+140>>2]=d;c[g+144>>2]=j;c[g+148>>2]=i;c[g+152>>2]=q;d=g+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+172>>2]=c[e>>2];c[g+176>>2]=0;c[g+180>>2]=0;c[g+184>>2]=0;d=g+4568|0;h=g+188|0;do{c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;b[h+10>>1]=1;h=h+12|0}while((h|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1}}}if((r|0)==16){r=Na()|0;Ya(r|0)}if(!g)return g|0;o=0;ia(c[(c[g>>2]|0)+12>>2]|0,g|0,f|0);r=o;o=0;if(!(r&1))return g|0;d=Na()|0;if(!g){r=d;Ya(r|0)}Bb[c[(c[g>>2]|0)+4>>2]&255](g);r=d;Ya(r|0);return 0}function oc(d,e){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;f=(c[e+24>>2]|0)==2;if(f?(c[e+16>>2]|0)!=3:0){e=0;return e|0}n=c[e+20>>2]|0;d=c[e+8>>2]|0;a:do{if(!n){if(f){if((d|0)!=8)break;g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35688;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}switch(d|0){case 8:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35716;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}case 12:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35744;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}case 16:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35772;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}default:break a}}}while(0);m=(1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35800;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35660;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}}if((d|0)>=17){e=0;return e|0}i=n<<1;i=((i+m|0)/(i|1|0)|0)+1|0;if(f){d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35828;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35856;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}return 0}function pc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=c[f+16>>2]|0;switch(q|0){case 64:case 0:{o=0;d=ra(35,d|0,e|0)|0;e=o;o=0;if(e&1)r=16;else g=d;break}default:{h=(1<>2])+-1|0;p=c[e+20>>2]|0;n=p<<1;n=((n+h|0)/(n|1|0)|0)+1|0;d=0;while(1)if((1<>2]|0;o=0;g=ka(67,4632)|0;m=o;o=0;if(m&1)r=16;else{i=((j|0)<8?8:j)+j<<1;c[g+4>>2]=0;k=g+8|0;l=e;m=k+84|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;m=g+116|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[g>>2]=35884;c[g+136>>2]=h;c[g+140>>2]=n;c[g+144>>2]=p;c[g+148>>2]=d;c[g+152>>2]=j;c[g+156>>2]=i;c[g+160>>2]=q;d=g+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+180>>2]=c[e>>2];c[g+184>>2]=0;c[g+188>>2]=0;c[g+192>>2]=0;d=g+4576|0;h=g+196|0;do{c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;b[h+10>>1]=1;h=h+12|0}while((h|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1}}}if((r|0)==16){r=Na()|0;Ya(r|0)}if(!g)return g|0;o=0;ia(c[(c[g>>2]|0)+8>>2]|0,g|0,f|0);r=o;o=0;if(!(r&1))return g|0;d=Na()|0;if(!g){r=d;Ya(r|0)}Bb[c[(c[g>>2]|0)+4>>2]&255](g);r=d;Ya(r|0);return 0}function qc(d,e){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;f=(c[e+24>>2]|0)==2;if(f?(c[e+16>>2]|0)!=3:0){e=0;return e|0}n=c[e+20>>2]|0;d=c[e+8>>2]|0;a:do{if(!n){if(f){if((d|0)!=8)break;g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35912;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}switch(d|0){case 8:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35940;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}case 12:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35968;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}case 16:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35996;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}default:break a}}}while(0);m=(1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36024;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=35884;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}}if((d|0)>=17){e=0;return e|0}i=n<<1;i=((i+m|0)/(i|1|0)|0)+1|0;if(f){d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36052;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36080;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}return 0}function rc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=2832;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=4880);iw(2832,0,2048)|0;a=0;do{h=2832+(a+128<<3)|0;c[h>>2]=0;c[h+4>>2]=1;a=a+1|0}while((a|0)!=128);a=3088;c[a>>2]=1;c[a+4>>2]=3;a=3096;c[a>>2]=1;c[a+4>>2]=3;a=3104;c[a>>2]=1;c[a+4>>2]=3;a=3112;c[a>>2]=1;c[a+4>>2]=3;a=3120;c[a>>2]=1;c[a+4>>2]=3;a=3128;c[a>>2]=1;c[a+4>>2]=3;a=3136;c[a>>2]=1;c[a+4>>2]=3;a=3144;c[a>>2]=1;c[a+4>>2]=3;a=3152;c[a>>2]=1;c[a+4>>2]=3;a=3160;c[a>>2]=1;c[a+4>>2]=3;a=3168;c[a>>2]=1;c[a+4>>2]=3;a=3176;c[a>>2]=1;c[a+4>>2]=3;a=3184;c[a>>2]=1;c[a+4>>2]=3;a=3192;c[a>>2]=1;c[a+4>>2]=3;a=3200;c[a>>2]=1;c[a+4>>2]=3;a=3208;c[a>>2]=1;c[a+4>>2]=3;a=3216;c[a>>2]=1;c[a+4>>2]=3;a=3224;c[a>>2]=1;c[a+4>>2]=3;a=3232;c[a>>2]=1;c[a+4>>2]=3;a=3240;c[a>>2]=1;c[a+4>>2]=3;a=3248;c[a>>2]=1;c[a+4>>2]=3;a=3256;c[a>>2]=1;c[a+4>>2]=3;a=3264;c[a>>2]=1;c[a+4>>2]=3;a=3272;c[a>>2]=1;c[a+4>>2]=3;a=3280;c[a>>2]=1;c[a+4>>2]=3;a=3288;c[a>>2]=1;c[a+4>>2]=3;a=3296;c[a>>2]=1;c[a+4>>2]=3;a=3304;c[a>>2]=1;c[a+4>>2]=3;a=3312;c[a>>2]=1;c[a+4>>2]=3;a=3320;c[a>>2]=1;c[a+4>>2]=3;a=3328;c[a>>2]=1;c[a+4>>2]=3;a=3336;c[a>>2]=1;c[a+4>>2]=3;a=2896;c[a>>2]=2;c[a+4>>2]=5;a=2904;c[a>>2]=2;c[a+4>>2]=5;a=2912;c[a>>2]=2;c[a+4>>2]=5;a=2920;c[a>>2]=2;c[a+4>>2]=5;a=2928;c[a>>2]=2;c[a+4>>2]=5;a=2936;c[a>>2]=2;c[a+4>>2]=5;a=2944;c[a>>2]=2;c[a+4>>2]=5;a=2952;c[a>>2]=2;c[a+4>>2]=5;a=2848;c[a>>2]=3;c[a+4>>2]=7;a=2856;c[a>>2]=3;c[a+4>>2]=7;a=0;do{h=2832+(a+64<<3)|0;c[h>>2]=-1;c[h+4>>2]=2;a=a+1|0}while((a|0)!=64);a=2960;c[a>>2]=-2;c[a+4>>2]=4;a=2968;c[a>>2]=-2;c[a+4>>2]=4;a=2976;c[a>>2]=-2;c[a+4>>2]=4;a=2984;c[a>>2]=-2;c[a+4>>2]=4;a=2992;c[a>>2]=-2;c[a+4>>2]=4;a=3e3;c[a>>2]=-2;c[a+4>>2]=4;a=3008;c[a>>2]=-2;c[a+4>>2]=4;a=3016;c[a>>2]=-2;c[a+4>>2]=4;a=3024;c[a>>2]=-2;c[a+4>>2]=4;a=3032;c[a>>2]=-2;c[a+4>>2]=4;a=3040;c[a>>2]=-2;c[a+4>>2]=4;a=3048;c[a>>2]=-2;c[a+4>>2]=4;a=3056;c[a>>2]=-2;c[a+4>>2]=4;a=3064;c[a>>2]=-2;c[a+4>>2]=4;a=3072;c[a>>2]=-2;c[a+4>>2]=4;a=3080;c[a>>2]=-2;c[a+4>>2]=4;a=2864;c[a>>2]=-3;c[a+4>>2]=6;a=2872;c[a>>2]=-3;c[a+4>>2]=6;a=2880;c[a>>2]=-3;c[a+4>>2]=6;a=2888;c[a>>2]=-3;c[a+4>>2]=6;a=2840;c[a>>2]=-4;c[a+4>>2]=8;a=4880;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=6928);iw(4880,0,2048)|0;d=2;a=0;f=0;g=0;while(1){d=d<<16>>16;b=8-d|0;e=1<>2]=f;c[h+4>>2]=d;b=b+1|0}while((b|0)<(e|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==7){b=2;f=1;g=-1;h=-1;break}else{d=(a>>1)+2|0;f=b>>16}}while(1){d=b<<16>>16;a=8-d|0;e=1<>2]=g;c[f+4>>2]=d;b=b+1|0}while((b|0)<(e|0))}a=(h<<16)+-65536|0;f=a>>31^a>>15;b=(f>>1)+2|0;if((b|0)>8){a=6928;break}else{g=a>>16;h=h+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=8976);iw(6928,0,2048)|0;f=3;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==12){f=3;b=1;e=-1;g=-1;break}else{f=(a>>2)+3|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>2)+3|0;if((f|0)>8){a=8976;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=11024);iw(8976,0,2048)|0;f=4;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==20){f=4;b=1;e=-1;g=-1;break}else{f=(a>>3)+4|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>3)+4|0;if((f|0)>8){a=11024;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=13072);iw(11024,0,2048)|0;f=5;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==32){f=5;b=1;e=-1;g=-1;break}else{f=(a>>4)+5|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>4)+5|0;if((f|0)>8){a=13072;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=15120);iw(13072,0,2048)|0;f=6;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==48){f=6;b=1;e=-1;g=-1;break}else{f=(a>>5)+6|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>5)+6|0;if((f|0)>8){a=15120;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=17168);iw(15120,0,2048)|0;f=7;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==64){f=7;b=1;e=-1;g=-1;break}else{f=(a>>6)+7|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>6)+7|0;if((f|0)>8){a=17168;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=19216);iw(17168,0,2048)|0;f=8;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==64){g=8;e=1;f=-1;h=-1;break}else{f=(a>>7)+8|0;e=b>>16}}while(1){a=8-g|0;d=1<>2]=f;c[e+4>>2]=g;b=b+1|0}while((b|0)<(d|0))}b=(h<<16)+-65536|0;e=b>>31^b>>15;a=e>>7;if((a|0)>0){a=19216;break}else{g=a+8|0;f=b>>16;h=h+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=21264);iw(19216,0,2048)|0;a=21264;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=23312);iw(21264,0,2048)|0;a=23312;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=25360);iw(23312,0,2048)|0;a=25360;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=27408);iw(25360,0,2048)|0;a=27408;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=29456);iw(27408,0,2048)|0;a=29456;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=31504);iw(29456,0,2048)|0;a=31504;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=33552);iw(31504,0,2048)|0;a=33552;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=35600);iw(33552,0,2048)|0;mc(35600,8);kb(179,35600,n|0)|0;mc(35612,10);kb(179,35612,n|0)|0;mc(35624,12);kb(179,35624,n|0)|0;mc(35636,16);kb(179,35636,n|0)|0;return}function sc(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;a=a+4|0;if((c[a>>2]|0)!=(b|0))c[a>>2]=b;cj(b);return}function tc(a){a=a|0;var b=0,d=0;c[a>>2]=36080;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function uc(a){a=a|0;var b=0,d=0;c[a>>2]=36080;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function vc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;he(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function wc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35856;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Yd(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Yd(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function xc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function yc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36460;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36436;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Ac(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36412;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36388;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+32|0;Jm(i,d)|0;h=b+44|0;c[h>>2]=0;j=b+48|0;g=c[j>>2]|0;if(g&8){d=a[i>>0]|0;if(!(d&1)){d=((d&255)>>>1)+(i+1)|0;c[h>>2]=d;e=i+1|0;f=i+1|0}else{d=(c[b+40>>2]|0)+(c[b+36>>2]|0)|0;c[h>>2]=d;f=c[b+40>>2]|0;e=f}c[b+8>>2]=e;c[b+12>>2]=f;c[b+16>>2]=d}if(!(g&16))return;d=a[i>>0]|0;if(!(d&1)){g=(d&255)>>>1;c[h>>2]=i+1+g;d=10;h=g}else{g=c[b+36>>2]|0;c[h>>2]=(c[b+40>>2]|0)+g;d=(c[i>>2]&-2)+-1|0;h=g}Mm(i,d,0);d=a[i>>0]|0;if(!(d&1)){g=i+1|0;f=(d&255)>>>1;e=i+1|0}else{e=c[b+40>>2]|0;g=e;f=c[b+36>>2]|0}d=b+24|0;c[d>>2]=e;c[b+20>>2]=e;c[b+28>>2]=g+f;if(!(c[j>>2]&3))return;c[d>>2]=e+h;return}function Dc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;j=q+16|0;p=q+8|0;k=q;o=0;ia(65,p|0,b|0);m=o;o=0;a:do{if(m&1){e=Na(0)|0;f=b;g=b}else{do{if(a[p>>0]|0){f=c[(c[b>>2]|0)+-12>>2]|0;c[k>>2]=c[b+(f+24)>>2];l=b+f|0;m=c[b+(f+4)>>2]|0;g=d+e|0;f=b+(f+76)|0;e=c[f>>2]|0;do{if((e|0)==-1){o=0;e=ka(68,l|0)|0;r=o;o=0;if(r&1)n=13;else{c[j>>2]=e;o=0;e=ra(37,j|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(j);e=h<<24>>24;c[f>>2]=e;n=9;break}e=Na(0)|0;Gs(j)}}else n=9}while(0);if((n|0)==9){o=0;c[j>>2]=c[k>>2];e=ja(39,j|0,d|0,((m&176|0)==32?g:d)|0,g|0,l|0,e&255|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break;else n=13}else n=13}if((n|0)==13)e=Na(0)|0;ho(p);f=b;g=b;break a}}while(0);ho(p);i=q;return b|0}}while(0);Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();i=q;return b|0}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0);return 0}function Ec(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[d+48>>2]|0;if(e&16){e=d+44|0;f=c[e>>2]|0;g=c[d+24>>2]|0;if(f>>>0>>0)c[e>>2]=g;else g=f;f=c[d+20>>2]|0;h=g-f|0;if(h>>>0>4294967279)_i(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{d=h+16&-16;e=bj(d)|0;c[b+8>>2]=e;c[b>>2]=d|1;c[b+4>>2]=h}if((f|0)!=(g|0)){d=e;while(1){a[d>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(g|0))break;else d=d+1|0}e=e+h|0}a[e>>0]=0;return}if(!(e&8)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}f=c[d+8>>2]|0;d=c[d+16>>2]|0;h=d-f|0;if(h>>>0>4294967279)_i(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{g=h+16&-16;e=bj(g)|0;c[b+8>>2]=e;c[b>>2]=g|1;c[b+4>>2]=h}if((f|0)!=(d|0)){g=e;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(d|0))break;else g=g+1|0}e=e+h|0}a[e>>0]=0;return}function Fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36364;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do{if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Gc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36340;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do{if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Hc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36316;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do{if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Ic(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36316;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Jc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36316;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Kc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;Pc(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Pc(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;Mc(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Nc(a,f,b,d,e);return}}function Mc(d,f,g,h,i){d=d|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;m=d+4|0;j=c[m>>2]|0;do{if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{o=c[j>>2]|0;m=e[n+(f*6|0)+2>>1]<>1]<>1]<>1]=(m+49152+((d+i|0)>>>2)&65535)>>>o;b[g+(f*6|0)+2>>1]=d>>>o;b[g+(f*6|0)+4>>1]=i>>>o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{h=e[n+(f*6|0)+2>>1]<>1]<>1]<>1]=(h+49152+((d+o|0)>>>2)&65535)>>>j;b[g+(f+i<<1)>>1]=d>>>j;b[g+(f+l<<1)>>1]=o>>>j;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;m=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;p=e[n+(f<<3)+2>>1]<>1]<>1]<>1]=(p+49152+((h+d|0)>>>2)&65535)>>>j;b[g+(f+i<<1)>>1]=h>>>j;b[g+(f+l<<1)>>1]=d>>>j;b[g+(f+m<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}default:return}}function Nc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Mc(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Mc(b,t,e,f,g);i=q;return}function Oc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+176|0;e=g+152|0;l=g+16|0;j=g;if(!(d&1)){e=(d|0)/4|0;if((d|0)>3){f=0;do{l=b+(f<<2)|0;k=c[l>>2]|0;c[l>>2]=k>>>8&16711935|k<<8&-16711936;f=f+1|0}while((f|0)<(e|0))}if(!(d&3)){i=g;return}j=b+(d+-2)|0;l=b+(d+-1)|0;k=a[j>>0]|0;a[j>>0]=a[l>>0]|0;a[l>>0]=k;i=g;return}k=l+56|0;h=l+4|0;c[l>>2]=36160;c[k>>2]=36180;o=0;ia(62,l+56|0,h|0);g=o;o=0;if(g&1){l=Na()|0;fn(k);Ya(l|0)}c[l+128>>2]=0;c[l+132>>2]=-1;c[l>>2]=36200;c[l+56>>2]=36220;o=0;ha(180,h|0);g=o;o=0;do{if(g&1)e=Na()|0;else{c[h>>2]=36236;g=l+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[l+52>>2]=16;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;o=0;ia(63,h|0,e|0);b=o;o=0;if(b&1){l=Na()|0;Im(e);Im(g);nn(h);e=l;break}Im(e);o=0;e=ma(28,l|0,49087,24)|0;b=o;o=0;if((!(b&1)?(o=0,f=ra(36,e|0,d|0)|0,d=o,o=0,!(d&1)):0)?(o=0,ma(28,f|0,49112,20)|0,d=o,o=0,!(d&1)):0){b=Ma(16)|0;o=0;ia(64,j|0,h|0);d=o;o=0;if(!(d&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,b|0,1,35648,j|0);d=o;o=0;if(d&1)f=1;else{o=0;wa(6,b|0,824,96);o=0;f=0}e=Na()|0;Im(j);if(!f){j=e;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}}else e=Na()|0;La(b|0);j=e;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}j=Na()|0;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}}while(0);l=e;fn(k);Ya(l|0)}function Pc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=d+4|0;j=c[n>>2]|0;a:do{switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{i=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>1]<>2)+16384|0;b[g+(d*6|0)>>1]=(k+32768+m&65535)>>>i;b[g+(d*6|0)+2>>1]=(m&65535)>>>i;b[g+(d*6|0)+4>>1]=(l+32768+m&65535)>>>i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{m=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>1]<>2)+16384|0;b[g+(d*6|0)>>1]=(q+32768+o&65535)>>>m;b[g+(d*6|0)+2>>1]=(o&65535)>>>m;b[g+(d*6|0)+4>>1]=(p+32768+o&65535)>>>m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{q=c[j>>2]|0;p=e[f+(k+i<<1)>>1]<>1]<>1]<>2)+16384|0;r=b[f+(k+d<<1)>>1]|0;t=mw((o&65535)>>>q&65535|0,0,16)|0;p=(p+32768+o&65535)>>>q|D;r=mw(r&65535|0,0,48)|0;r=t|(s+32768+o&65535)>>>q&65535|r;p=p&65535|D;q=g+(k<<3)|0;o=q;b[o>>1]=r;b[o+2>>1]=r>>>16;q=q+4|0;b[q>>1]=p;b[q+2>>1]=p>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){t=j+4|0;s=b[j>>1]|0;b[j>>1]=b[t>>1]|0;b[t>>1]=s;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function Qc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36340;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Rc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36340;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;Wc(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Wc(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Tc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;Uc(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Vc(a,f,b,d,e);return}}function Uc(d,f,g,h,i){d=d|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;m=d+4|0;j=c[m>>2]|0;do{if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{i=c[j>>2]|0;m=e[n+(f*6|0)>>1]<>1]<>1]<>>1)&65535)>>>i&65535;b[g+(f*6|0)>>1]=(m+32768-d&65535)>>>i;b[g+(f*6|0)+2>>1]=(d&65535)>>>i;b[g+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{h=e[n+(f*6|0)>>1]<>1]<>1]<>>1)&65535)>>>j&65535;b[g+(f<<1)>>1]=(h+32768-d&65535)>>>j;b[g+(f+i<<1)>>1]=(d&65535)>>>j;b[g+(f+l<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;m=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;p=e[n+(f<<3)>>1]<>1]<>1]<>>1)&65535)>>>j&65535;b[g+(f<<1)>>1]=(p+32768-h&65535)>>>j;b[g+(f+i<<1)>>1]=(h&65535)>>>j;b[g+(f+l<<1)>>1]=d;b[g+(f+m<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}default:return}}function Vc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Uc(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Uc(b,t,e,f,g);i=q;return}function Wc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=d+4|0;j=c[n>>2]|0;a:do{switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{m=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>1]<>>1)&65535)>>>m&65535;b[g+(d*6|0)>>1]=k>>>m;b[g+(d*6|0)+2>>1]=l>>>m;b[g+(d*6|0)+4>>1]=i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{o=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>1]<>>1)&65535)>>>o&65535;b[g+(d*6|0)>>1]=q>>>o;b[g+(d*6|0)+2>>1]=p>>>o;b[g+(d*6|0)+4>>1]=m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{o=c[j>>2]|0;q=e[f+(k+i<<1)>>1]<>1]<>1]<>>1)&65535)>>>o;r=b[f+(k+d<<1)>>1]|0;q=mw(q>>>o&65535|0,0,16)|0;p=D|p;r=mw(r&65535|0,0,48)|0;r=s>>>o&65535|q|r;p=p&65535|D;q=g+(k<<3)|0;o=q;b[o>>1]=r;b[o+2>>1]=r>>>16;q=q+4|0;b[q>>1]=p;b[q+2>>1]=p>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){s=j+4|0;r=b[j>>1]|0;b[j>>1]=b[s>>1]|0;b[s>>1]=r;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function Xc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36364;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Yc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36364;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;bd(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;bd(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function _c(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;$c(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{ad(a,f,b,d,e);return}}function $c(d,f,g,h,i){d=d|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;m=d+4|0;j=c[m>>2]|0;do{if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{i=c[j>>2]|0;d=e[n+(f*6|0)+2>>1]<>1]<>>i&65535;b[g+(f*6|0)>>1]=((e[n+(f*6|0)>>1]<>>i;b[g+(f*6|0)+2>>1]=(d&65535)>>>i;b[g+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{d=e[n+(f*6|0)+2>>1]<>1]<>>j&65535;b[g+(f<<1)>>1]=((e[n+(f*6|0)>>1]<>>j;b[g+(f+i<<1)>>1]=(d&65535)>>>j;b[g+(f+l<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;l=(i|0)<(h|0)?i:h;if((l|0)<=0)return;m=i<<1;k=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;h=e[n+(f<<3)+2>>1]<>1]<>>j&65535;b[g+(f<<1)>>1]=((e[n+(f<<3)>>1]<>>j;b[g+(f+i<<1)>>1]=(h&65535)>>>j;b[g+(f+m<<1)>>1]=d;b[g+(f+k<<1)>>1]=o;f=f+1|0}while((f|0)!=(l|0));return}default:return}}function ad(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;$c(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;$c(b,t,e,f,g);i=q;return}function bd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=d+4|0;j=c[n>>2]|0;a:do{switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{m=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>>m&65535;b[g+(d*6|0)>>1]=((e[f+(d*6|0)>>1]<>>m;b[g+(d*6|0)+2>>1]=(l&65535)>>>m;b[g+(d*6|0)+4>>1]=i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{o=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>>o&65535;b[g+(d*6|0)>>1]=((e[f+(d<<1)>>1]<>>o;b[g+(d*6|0)+2>>1]=(p&65535)>>>o;b[g+(d*6|0)+4>>1]=m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{q=c[j>>2]|0;s=e[f+(k+i<<1)>>1]<>1]<>>q;o=(s+32768+(e[f+(k+l<<1)>>1]<>>q;r=b[f+(k+d<<1)>>1]|0;q=mw((s&65535)>>>q&65535|0,0,16)|0;o=o|D;r=mw(r&65535|0,0,48)|0;r=q|p&65535|r;o=o&65535|D;p=g+(k<<3)|0;q=p;b[q>>1]=r;b[q+2>>1]=r>>>16;p=p+4|0;b[p>>1]=o;b[p+2>>1]=o>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){s=j+4|0;r=b[j>>1]|0;b[j>>1]=b[s>>1]|0;b[s>>1]=r;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function cd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0;p=i;i=i+16|0;m=p;n=c[b>>2]|0;if(!n){b=0;i=p;return b|0}q=d;k=f-q|0;l=g+12|0;j=c[l>>2]|0;k=(j|0)>(k|0)?j-k|0:0;j=e;g=j-q|0;if((g|0)>0?(Gb[c[(c[n>>2]|0)+48>>2]&63](n,d,g)|0)!=(g|0):0){c[b>>2]=0;q=0;i=p;return q|0}do{if((k|0)>0){Hm(m,k,h);o=0;g=ma(c[(c[n>>2]|0)+48>>2]|0,n|0,((a[m>>0]&1)==0?m+1|0:c[m+8>>2]|0)|0,k|0)|0;q=o;o=0;if(q&1){q=Na()|0;Im(m);Ya(q|0)}if((g|0)==(k|0)){Im(m);break}c[b>>2]=0;Im(m);q=0;i=p;return q|0}}while(0);f=f-j|0;if((f|0)>0?(Gb[c[(c[n>>2]|0)+48>>2]&63](n,e,f)|0)!=(f|0):0){c[b>>2]=0;q=0;i=p;return q|0}c[l>>2]=0;q=n;i=p;return q|0}function dd(a){a=a|0;c[a>>2]=36236;Im(a+32|0);nn(a);return}function ed(a){a=a|0;c[a>>2]=36236;Im(a+32|0);nn(a);cj(a);return}function fd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=d+44|0;j=c[i>>2]|0;l=d+24|0;m=c[l>>2]|0;if(j>>>0>>0){c[i>>2]=m;j=m}k=j;i=h&24;if(!i){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((g|0)==1&(i|0)==24){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}a:do{switch(g|0){case 0:{i=0;g=0;break}case 1:if(!(h&8)){g=m-(c[d+20>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}else{g=(c[d+12>>2]|0)-(c[d+8>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}case 2:{i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;g=j-i|0;i=g;g=((g|0)<0)<<31>>31;break}default:{d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}}while(0);g=jw(i|0,g|0,e|0,f|0)|0;e=D;if((e|0)>=0){i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;f=j-i|0;j=((f|0)<0)<<31>>31;if(!((j|0)<(e|0)|(j|0)==(e|0)&f>>>0>>0)){i=h&8;if(!((g|0)==0&(e|0)==0)){if((i|0)!=0?(c[d+12>>2]|0)==0:0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((h&16|0)!=0&(m|0)==0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}if(i){c[d+12>>2]=(c[d+8>>2]|0)+g;c[d+16>>2]=k}if(h&16)c[l>>2]=(c[d+20>>2]|0)+g;d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=g;c[d+4>>2]=e;return}}d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}function gd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=d+8|0;Ib[c[(c[b>>2]|0)+16>>2]&15](a,b,c[d>>2]|0,c[d+4>>2]|0,0,e);return}function hd(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+44|0;e=c[b>>2]|0;f=c[a+24>>2]|0;if(e>>>0>>0){c[b>>2]=f;e=f}if(!(c[a+48>>2]&8)){a=-1;return a|0}g=a+16|0;b=c[g>>2]|0;f=a+12|0;if(b>>>0>>0){f=c[f>>2]|0;c[g>>2]=e;b=e}else f=c[f>>2]|0;if(f>>>0>=b>>>0){a=-1;return a|0}a=d[f>>0]|0;return a|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+44|0;e=c[f>>2]|0;g=c[b+24>>2]|0;if(e>>>0>>0){c[f>>2]=g;e=g}j=b+8|0;f=c[j>>2]|0;k=b+12|0;h=c[k>>2]|0;i=f;if(f>>>0>=h>>>0){b=-1;return b|0}if((d|0)==-1){c[j>>2]=f;c[k>>2]=h+-1;c[b+16>>2]=e;b=0;return b|0}if(!(c[b+48>>2]&16)){g=d&255;f=h+-1|0;if(g<<24>>24!=(a[f>>0]|0)){b=-1;return b|0}}else{g=d&255;f=h+-1|0}c[j>>2]=i;c[k>>2]=f;c[b+16>>2]=e;a[f>>0]=g;b=d;return b|0}function jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+16|0;n=t;if((d|0)==-1){b=0;i=t;return b|0}p=b+12|0;q=b+8|0;r=(c[p>>2]|0)-(c[q>>2]|0)|0;s=b+24|0;e=c[s>>2]|0;m=b+28|0;f=c[m>>2]|0;do{if((e|0)==(f|0)){k=b+48|0;if(!(c[k>>2]&16)){b=-1;i=t;return b|0}l=b+20|0;j=c[l>>2]|0;g=e-j|0;h=b+44|0;j=(c[h>>2]|0)-j|0;f=b+32|0;o=0;ia(67,f|0,0);e=o;o=0;if(!(e&1)){if(!(a[f>>0]&1))e=10;else e=(c[f>>2]&-2)+-1|0;o=0;wa(8,f|0,e|0,0);e=o;o=0;if(!(e&1)){e=a[f>>0]|0;if(!(e&1)){f=f+1|0;e=(e&255)>>>1}else{f=c[b+40>>2]|0;e=c[b+36>>2]|0}u=f+e|0;c[l>>2]=f;c[m>>2]=u;l=f+g|0;c[s>>2]=l;e=f+j|0;c[h>>2]=e;f=u;break}}u=Na(0)|0;Va(u|0)|0;Xa();u=-1;i=t;return u|0}else{u=b+44|0;k=b+48|0;h=u;l=e;e=c[u>>2]|0}}while(0);j=l+1|0;c[n>>2]=j;g=c[(j>>>0>>0?h:n)>>2]|0;c[h>>2]=g;if(c[k>>2]&8){e=b+32|0;if(!(a[e>>0]&1))e=e+1|0;else e=c[b+40>>2]|0;c[q>>2]=e;c[p>>2]=e+r;c[b+16>>2]=g}if((l|0)==(f|0)){u=Lb[c[(c[b>>2]|0)+52>>2]&63](b,d&255)|0;i=t;return u|0}else{c[s>>2]=j;a[l>>0]=d;u=d&255;i=t;return u|0}return 0}function kd(a){a=a|0;var b=0,d=0;c[a>>2]=36200;b=a+56|0;c[b>>2]=36220;d=a+4|0;c[d>>2]=36236;Im(a+36|0);nn(d);fn(b);return}function ld(a){a=a|0;var b=0,d=0;c[a>>2]=36200;b=a+56|0;c[b>>2]=36220;d=a+4|0;c[d>>2]=36236;Im(a+36|0);nn(d);fn(b);cj(a);return}function md(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[(c[a>>2]|0)+-12>>2]|0;b=a+f|0;c[b>>2]=36200;d=a+(f+56)|0;c[d>>2]=36220;e=a+(f+4)|0;c[e>>2]=36236;Im(a+(f+36)|0);nn(e);fn(d);cj(b);return}function nd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36388;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function od(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36388;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function pd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;td(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;td(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;rd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{sd(a,f,b,d,e);return}}function rd(d,f,g,h,i){d=d|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;l=d+4|0;j=c[l>>2]|0;do{if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{l=e[m+(j*6|0)+2>>1]|0;i=32768-l+(e[m+(j*6|0)+4>>1]|0)|0;n=(e[m+(j*6|0)>>1]|0)-l+32768|0;b[g+(j*6|0)>>1]=l+49152+(((i&65535)+(n&65535)|0)>>>2);b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{l=e[m+(f*6|0)+2>>1]|0;h=32768-l+(e[m+(f*6|0)+4>>1]|0)|0;n=(e[m+(f*6|0)>>1]|0)-l+32768|0;b[g+(f<<1)>>1]=l+49152+(((h&65535)+(n&65535)|0)>>>2);b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{n=b[m+(k<<3)+6>>1]|0;o=e[m+(k<<3)+2>>1]|0;l=32768-o+(e[m+(k<<3)+4>>1]|0)|0;h=(e[m+(k<<3)>>1]|0)-o+32768|0;b[g+(k<<1)>>1]=o+49152+(((l&65535)+(h&65535)|0)>>>2);b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function sd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;rd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;rd(b,t,e,f,g);i=q;return}function td(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=e[f+(d*6|0)+2>>1]|0;k=e[f+(d*6|0)+4>>1]|0;i=(e[f+(d*6|0)>>1]|0)-((k+l|0)>>>2)+16384|0;b[g+(d*6|0)>>1]=k+32768+i;b[g+(d*6|0)+2>>1]=i;b[g+(d*6|0)+4>>1]=l+32768+i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=e[f+(k+i<<1)>>1]|0;o=e[f+(k+j<<1)>>1]|0;l=(e[f+(k<<1)>>1]|0)-((o+n|0)>>>2)+16384|0;b[g+(k*6|0)>>1]=o+32768+l;b[g+(k*6|0)+2>>1]=l;b[g+(k*6|0)+4>>1]=n+32768+l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{n=e[f+(k+i<<1)>>1]|0;p=e[f+(k+d<<1)>>1]|0;o=(e[f+(k<<1)>>1]|0)-((p+n|0)>>>2)+16384|0;q=b[f+(k+j<<1)>>1]|0;r=mw(o&65535|0,0,16)|0;n=n+32768+o|D;q=mw(q&65535|0,0,48)|0;q=r|p+32768+o&65535|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){r=d+4|0;q=b[d>>1]|0;b[d>>1]=b[r>>1]|0;b[r>>1]=q;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function ud(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36412;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function vd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36412;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function wd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Ad(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Ad(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;yd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{zd(a,f,b,d,e);return}}function yd(d,f,g,h,i){d=d|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;l=d+4|0;j=c[l>>2]|0;do{if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{k=e[m+(j*6|0)>>1]|0;i=b[m+(j*6|0)+2>>1]|0;l=i&65535;n=(e[m+(j*6|0)+4>>1]|0)+32768-((l+k|0)>>>1)&65535;b[g+(j*6|0)>>1]=k+32768-l;b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{h=b[m+(f*6|0)+2>>1]|0;k=e[m+(f*6|0)>>1]|0;l=h&65535;n=(e[m+(f*6|0)+4>>1]|0)+32768-((l+k|0)>>>1)&65535;b[g+(f<<1)>>1]=k+32768-l;b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{l=b[m+(k<<3)+2>>1]|0;n=b[m+(k<<3)+6>>1]|0;p=e[m+(k<<3)>>1]|0;o=l&65535;h=(e[m+(k<<3)+4>>1]|0)+32768-((o+p|0)>>>1)&65535;b[g+(k<<1)>>1]=p+32768-o;b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function zd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;yd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;yd(b,t,e,f,g);i=q;return}function Ad(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;i=l&65535;k=(e[f+(d*6|0)>>1]|0)+32768+i|0;i=(e[f+(d*6|0)+4>>1]|0)+32768+(((k&65535)+i|0)>>>1)&65535;b[g+(d*6|0)>>1]=k;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;l=n&65535;o=(e[f+(k<<1)>>1]|0)+32768+l|0;l=(e[f+(k+j<<1)>>1]|0)+32768+(((o&65535)+l|0)>>>1)&65535;b[g+(k*6|0)>>1]=o;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{o=b[f+(k+i<<1)>>1]|0;n=o&65535;p=(e[f+(k<<1)>>1]|0)+32768+n&65535;n=(e[f+(k+d<<1)>>1]|0)+32768+((p+n|0)>>>1)|0;q=b[f+(k+j<<1)>>1]|0;o=mw(o&65535|0,0,16)|0;n=D|n;q=mw(q&65535|0,0,48)|0;q=p|o|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Bd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36436;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Cd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36436;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Dd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Hd(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Hd(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Fd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Gd(a,f,b,d,e);return}}function Fd(d,f,g,h,i){d=d|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;l=d+4|0;j=c[l>>2]|0;do{if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{i=b[m+(j*6|0)+2>>1]|0;l=i&65535;n=32768-l+(e[m+(j*6|0)+4>>1]|0)&65535;b[g+(j*6|0)>>1]=(e[m+(j*6|0)>>1]|0)+32768-l;b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{h=b[m+(f*6|0)+2>>1]|0;l=h&65535;n=32768-l+(e[m+(f*6|0)+4>>1]|0)&65535;b[g+(f<<1)>>1]=(e[m+(f*6|0)>>1]|0)+32768-l;b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{l=b[m+(k<<3)+2>>1]|0;n=b[m+(k<<3)+6>>1]|0;o=l&65535;h=32768-o+(e[m+(k<<3)+4>>1]|0)&65535;b[g+(k<<1)>>1]=(e[m+(k<<3)>>1]|0)+32768-o;b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function Gd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Fd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Fd(b,t,e,f,g);i=q;return}function Hd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;k=l&65535;i=k+32768+(e[f+(d*6|0)+4>>1]|0)&65535;b[g+(d*6|0)>>1]=(e[f+(d*6|0)>>1]|0)+32768+k;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;o=n&65535;l=o+32768+(e[f+(k+j<<1)>>1]|0)&65535;b[g+(k*6|0)>>1]=(e[f+(k<<1)>>1]|0)+32768+o;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{o=b[f+(k+i<<1)>>1]|0;n=o&65535;p=(e[f+(k<<1)>>1]|0)+32768+n|0;n=n+32768+(e[f+(k+d<<1)>>1]|0)|0;q=b[f+(k+j<<1)>>1]|0;o=mw(o&65535|0,0,16)|0;n=D|n;q=mw(q&65535|0,0,48)|0;q=p&65535|o|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Id(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36460;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Jd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36460;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Kd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Od(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Od(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Md(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Nd(a,f,b,d,e);return}}function Md(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;k=d+4|0;i=c[k>>2]|0;do{if(!(a[i+32>>0]|0))l=e;else{d=d+8|0;lw(c[d>>2]|0,e|0,g*6|0)|0;i=c[k>>2]|0;j=c[i+16>>2]|0;if((g|0)<=0){l=c[d>>2]|0;break}d=c[d>>2]|0;i=d;e=0;while(1){l=i+4|0;m=b[i>>1]|0;b[i>>1]=b[l>>1]|0;b[l>>1]=m;e=e+1|0;if((e|0)==(g|0))break;else i=i+(j<<1)|0}l=d;i=c[k>>2]|0}}while(0);switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{h=b[l+(i*6|0)+2>>1]|0;m=b[l+(i*6|0)+4>>1]|0;b[f+(i*6|0)>>1]=b[l+(i*6|0)>>1]|0;b[f+(i*6|0)+2>>1]=h;b[f+(i*6|0)+4>>1]=m;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;d=h<<1;e=0;do{g=b[l+(e*6|0)+2>>1]|0;m=b[l+(e*6|0)+4>>1]|0;b[f+(e<<1)>>1]=b[l+(e*6|0)>>1]|0;b[f+(e+h<<1)>>1]=g;b[f+(e+d<<1)>>1]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;d=h<<1;e=h*3|0;j=0;do{k=b[l+(j<<3)+2>>1]|0;g=b[l+(j<<3)+4>>1]|0;m=b[l+(j<<3)+6>>1]|0;b[f+(j<<1)>>1]=b[l+(j<<3)>>1]|0;b[f+(j+h<<1)>>1]=k;b[f+(j+d<<1)>>1]=g;b[f+(j+e<<1)>>1]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Nd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Md(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Md(b,t,e,f,g);i=q;return}function Od(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;i=b[f+(d*6|0)+4>>1]|0;b[g+(d*6|0)>>1]=b[f+(d*6|0)>>1]|0;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;l=b[f+(k+j<<1)>>1]|0;b[g+(k*6|0)>>1]=b[f+(k<<1)>>1]|0;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{n=b[f+(k<<1)>>1]|0;q=b[f+(k+j<<1)>>1]|0;o=e[f+(k+d<<1)>>1]|0;p=mw(e[f+(k+i<<1)>>1]|0,0,16)|0;o=D|o;q=mw(q&65535|0,0,48)|0;q=p|n&65535|q;o=o&65535|D;n=g+(k<<3)|0;p=n;b[p>>1]=q;b[p+2>>1]=q>>>16;n=n+4|0;b[n>>1]=o;b[n+2>>1]=o>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Pd(a){a=a|0;return}function Qd(a){a=a|0;cj(a);return}function Rd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;e=$(c[b+8>>2]|0,e)|0;b=c[b+4>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,d,e)|0)==(e|0))return;f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,3,35648);b=o;o=0;if(b&1){b=Na()|0;La(f|0);Ya(b|0)}else lb(f|0,824,96)}function Sd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,p=0;p=i;i=i+16|0;m=p;l=b+8|0;g=c[l>>2]|0;f=$(g,e)|0;do{if(f){j=b+4|0;h=f;while(1){g=c[j>>2]|0;g=Gb[c[(c[g>>2]|0)+32>>2]&63](g,d,h)|0;if(!g)break;f=h-g|0;if((h|0)==(g|0)){k=11;break}else h=f}if((k|0)==11){g=c[l>>2]|0;h=f;break}f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,3,35648);b=o;o=0;if(b&1){b=Na()|0;La(f|0);Ya(b|0)}else lb(f|0,824,96)}else h=0}while(0);if((g|0)==2){Oc(d,e<<1);g=c[l>>2]|0}f=c[b+12>>2]|0;if((f|0)<=($(g,e)|0)){i=p;return}b=c[b+4>>2]|0;Ib[c[(c[b>>2]|0)+16>>2]&15](m,b,f-h|0,0,1,24);i=p;return}function Td(a){a=a|0;cj(a);return}function Ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;lw(c[e>>2]|0,b|0,$(c[a+8>>2]|0,d)|0)|0;c[e>>2]=(c[e>>2]|0)+(c[a+12>>2]|0);return}function Vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;lw(b|0,c[e>>2]|0,$(c[a+8>>2]|0,d)|0)|0;c[e>>2]=(c[e>>2]|0)+(c[a+12>>2]|0);return}function Wd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[b+112>>2]=0;c[b+108>>2]=0;l=c[d>>2]|0;g=l;do{if(l){i=b+92|0;l=b+96|0;j=c[l>>2]|0;k=c[i>>2]|0;e=k;f=j-e|0;if(f>>>0>=4e4)if(f>>>0>4e4?(h=k+4e4|0,(j|0)!=(h|0)):0){c[l>>2]=h;h=e}else h=e;else{Xd(i,4e4-f|0);h=c[i>>2]|0;g=c[d>>2]|0}e=b+116|0;c[e>>2]=h;j=b+124|0;c[j>>2]=h;k=b+104|0;c[k>>2]=g;f=g;if(g){if((c[f+12>>2]|0)==(c[f+16>>2]|0)){d=(Eb[c[(c[g>>2]|0)+36>>2]&127](f)|0)==-1;f=c[j>>2]|0;if(d)break;g=c[e>>2]|0}else{f=h;g=h}i=f-g|0;if(i>>>0<=64){h=b+92|0;if((f|0)==(g|0))f=g;else{f=g;g=0;do{a[(c[h>>2]|0)+g>>0]=a[f+g>>0]|0;g=g+1|0;f=c[e>>2]|0}while(g>>>0>>0);g=c[j>>2]|0}h=c[h>>2]|0;d=h;m=d-f|0;c[e>>2]=h;f=g+m|0;c[j>>2]=f;h=b+120|0;c[h>>2]=(c[h>>2]|0)+m;k=c[k>>2]|0;f=Gb[c[(c[k>>2]|0)+32>>2]&63](k,f,(c[l>>2]|0)-(d+i)|0)|0;f=(c[j>>2]|0)+f|0;c[j>>2]=f}}else f=h}else{c[b+104>>2]=0;f=c[d+4>>2]|0;e=b+116|0;c[e>>2]=f;f=f+(c[d+8>>2]|0)|0;c[b+124>>2]=f}}while(0);e=c[e>>2]|0;if(e>>>0>=f>>>0){l=e;m=b+120|0;c[m>>2]=l;ge(b);return}while(1){if((a[e>>0]|0)==-1){f=20;break}e=e+1|0;if(e>>>0>=f>>>0){f=20;break}}if((f|0)==20){m=b+120|0;c[m>>2]=e;ge(b);return}}function Xd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+8|0;g=c[k>>2]|0;l=b+4|0;e=c[l>>2]|0;f=e;if((g-f|0)>>>0>=d>>>0){do{a[e>>0]=0;e=(c[l>>2]|0)+1|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}e=c[b>>2]|0;h=f-e+d|0;if((h|0)<0){$i(b);g=c[k>>2]|0;e=c[b>>2]|0}f=g-e|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f;e=(c[l>>2]|0)-e|0;if(!f){g=0;i=0;h=e}else j=8}else{f=2147483647;e=(c[l>>2]|0)-e|0;j=8}if((j|0)==8){g=f;i=bj(f)|0;h=e}e=i+h|0;g=i+g|0;f=e;do{a[f>>0]=0;f=e+1|0;e=f;d=d+-1|0}while((d|0)!=0);d=c[b>>2]|0;f=(c[l>>2]|0)-d|0;j=i+(h-f)|0;lw(j|0,d|0,f|0)|0;c[b>>2]=j;c[l>>2]=e;c[k>>2]=g;if(!d)return;cj(d);return}function Yd(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+180|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do{if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+12|0;a:do{if((c[h>>2]|0)>0){j=a+4604|0;k=($(t,s)|0)+1|0;l=a+4608|0;m=a+92|0;n=(t|0)>0;p=a+4600|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(68,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40}while(0);do{if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Zd(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4604|0;f=c[p>>2]|0;s=d+180|0;if((c[s>>2]|0)<=0)return;q=d+4608|0;r=d+4612|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(ce(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=be(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function _d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+104|0;if((c[g>>2]|0)>>>0<4)$d(b);h=b+100|0;i=b+112|0;j=b+96|0;k=b+108|0;l=b+116|0;d=c[h>>2]|0;f=0;do{e=a[i>>0]|0;if((d|0)>31)break;d=c[j>>2]|0;if(!(e<<24>>24)){a[c[k>>2]>>0]=d>>>24;c[j>>2]=c[j>>2]<<8;d=(c[h>>2]|0)+8|0}else{a[c[k>>2]>>0]=d>>>25;c[j>>2]=c[j>>2]<<7;d=(c[h>>2]|0)+7|0}c[h>>2]=d;m=c[k>>2]|0;e=(a[m>>0]|0)==-1&1;a[i>>0]=e;c[k>>2]=m+1;c[g>>2]=(c[g>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1;f=f+1|0}while((f|0)<4);if(!(e<<24>>24))ae(b,0,(d|0)%8|0);else ae(b,0,(d+-1|0)%8|0);if((c[g>>2]|0)>>>0<4)$d(b);d=c[h>>2]|0;e=0;do{if((d|0)>31)break;d=c[j>>2]|0;if(!(a[i>>0]|0)){a[c[k>>2]>>0]=d>>>24;c[j>>2]=c[j>>2]<<8;d=(c[h>>2]|0)+8|0}else{a[c[k>>2]>>0]=d>>>25;c[j>>2]=c[j>>2]<<7;d=(c[h>>2]|0)+7|0}c[h>>2]=d;m=c[k>>2]|0;a[i>>0]=(a[m>>0]|0)==-1&1;c[k>>2]=m+1;c[g>>2]=(c[g>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1;e=e+1|0}while((e|0)<4);if(!(c[b+132>>2]|0))return;$d(b);return}function $d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+132>>2]|0;if(!d){d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,4,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}e=b+108|0;f=b+120|0;h=c[f>>2]|0;g=(c[e>>2]|0)-h|0;if((Gb[c[(c[d>>2]|0)+48>>2]&63](d,h,g)|0)==(g|0)){h=c[f>>2]|0;c[e>>2]=h;c[b+104>>2]=(c[b+124>>2]|0)-h;return}d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,4,35648);h=o;o=0;if(!(h&1))lb(d|0,824,96);h=Na()|0;La(d|0);Ya(h|0)}function ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+100|0;e=(c[l>>2]|0)-e|0;c[l>>2]=e;if((e|0)>-1){m=b+96|0;c[m>>2]=c[m>>2]|d<>2]=c[m>>2]|d>>0-e;k=b+104|0;if((c[k>>2]|0)>>>0<4){$d(b);e=c[l>>2]|0}h=b+112|0;i=b+108|0;j=b+116|0;f=0;while(1){if((e|0)>31)break;e=c[m>>2]|0;if(!(a[h>>0]|0)){a[c[i>>2]>>0]=e>>>24;c[m>>2]=c[m>>2]<<8;e=(c[l>>2]|0)+8|0}else{a[c[i>>2]>>0]=e>>>25;c[m>>2]=c[m>>2]<<7;e=(c[l>>2]|0)+7|0}c[l>>2]=e;n=c[i>>2]|0;a[h>>0]=(a[n>>0]|0)==-1&1;c[i>>2]=n+1;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;f=f+1|0;if((f|0)>=4){g=11;break}}a:do{if((g|0)==11)if((e|0)<0){c[m>>2]=c[m>>2]|d>>0-e;if((c[k>>2]|0)>>>0<4){$d(b);e=c[l>>2]|0;f=0}else f=0;do{if((e|0)>31)break a;e=c[m>>2]|0;if(!(a[h>>0]|0)){a[c[i>>2]>>0]=e>>>24;c[m>>2]=c[m>>2]<<8;e=(c[l>>2]|0)+8|0}else{a[c[i>>2]>>0]=e>>>25;c[m>>2]=c[m>>2]<<7;e=(c[l>>2]|0)+7|0}c[l>>2]=e;n=c[i>>2]|0;a[h>>0]=(a[n>>0]|0)==-1&1;c[i>>2]=n+1;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;f=f+1|0}while((f|0)<4)}}while(0);c[m>>2]=c[m>>2]|d<>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;fe(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&65535;return r|0}r=g&~(d>>31);r=r&65535;return r|0}function ce(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=(c[a+180>>2]|0)-d|0;m=c[a+4608>>2]|0;n=c[a+4604>>2]|0;h=b[m+(d+-1<<1)>>1]|0;k=h&65535;f=c[a+144>>2]|0;i=0;while(1){g=m+(i+d<<1)|0;j=(e[g>>1]|0)-k|0;if((((j|0)>-1?j:0-j|0)|0)>(f|0))break;b[g>>1]=h;i=i+1|0;if((i|0)==(l|0)){i=l;break}}h=(i|0)==(l|0);j=a+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(a,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]=de(a,e[d>>1]|0,k,e[n+(l<<1)>>1]|0)|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;a=i+1|0;return a|0}if(!f){a=l;return a|0}ae(a,1,1);a=l;return a|0}function de(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d-e|0;j=a+136|0;h=a+144|0;f=c[h>>2]|0;if((((i|0)>-1?i:0-i|0)|0)>(f|0)){g=e-d>>31|1;b=$(g,b-e|0)|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;d=((b|0)<0?f:0)+b|0;f=d-((d|0)<((f+1|0)/2|0|0)?0:f)|0;ee(a,a+4576|0,f);f=$(f,g)|0;g=c[h>>2]|0;h=g<<1|1;f=($(f,h)|0)+e|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&65535;return j|0}j=b&~(f>>31);j=j&65535;return j|0}else{b=b-d|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;g=((b|0)<0?f:0)+b|0;f=g-((g|0)<((f+1|0)/2|0|0)?0:f)|0;ee(a,a+4588|0,f);g=c[h>>2]|0;h=g<<1|1;f=($(h,f)|0)+d|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&65535;return j|0}j=b&~(f>>31);j=j&65535;return j|0}return 0}function ee(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;fe(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>2]|0;l=b+120|0;if(e>>>0<((c[l>>2]|0)+-3|0)>>>0){l=b+112|0;j=c[l>>2]|0;b=b+108|0;c[b>>2]=(d[e+1>>0]<<16|d[e>>0]<<24|d[e+2>>0]<<8|d[e+3>>0])>>>j|c[b>>2];b=32-j>>3;c[k>>2]=e+b;c[l>>2]=(b<<3)+j;return}j=b+104|0;f=c[j>>2]|0;do{if(f){if((c[f+12>>2]|0)==(c[f+16>>2]|0)){if((Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0)==-1)break;e=c[k>>2]|0}h=b+124|0;f=c[h>>2]|0;i=f-e|0;if(i>>>0<=64){g=b+92|0;if((f|0)==(e|0))f=e;else{f=0;do{a[(c[g>>2]|0)+f>>0]=a[e+f>>0]|0;f=f+1|0;e=c[k>>2]|0}while(f>>>0>>0);f=e;e=c[h>>2]|0}p=c[g>>2]|0;g=p;m=g-f|0;c[k>>2]=p;f=e+m|0;c[h>>2]=f;c[l>>2]=(c[l>>2]|0)+m;j=c[j>>2]|0;j=Gb[c[(c[j>>2]|0)+32>>2]&63](j,f,(c[b+96>>2]|0)-(g+i)|0)|0;c[h>>2]=(c[h>>2]|0)+j}}}while(0);j=b+112|0;i=b+108|0;b=c[b+124>>2]|0;h=b+-1|0;e=c[k>>2]|0;while(1){if(e>>>0>=b>>>0){f=14;break}g=a[e>>0]|0;f=g&255;g=g<<24>>24==-1;if(g){if((e|0)==(h|0)){f=25;break}e=e+1|0;if((a[e>>0]|0)<0){f=25;break}}else e=e+1|0;p=c[j>>2]|0;c[i>>2]=f<<24-p|c[i>>2];c[k>>2]=e;p=p+(g?7:8)|0;c[j>>2]=p;if((p|0)>=24){f=33;break}}if((f|0)==14){if((c[j>>2]|0)>=1)return;e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);p=o;o=0;if(!(p&1))lb(e|0,824,96);p=Na()|0;La(e|0);Ya(p|0)}else if((f|0)==25){if((c[j>>2]|0)>=1)return;e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);p=o;o=0;if(!(p&1))lb(e|0,824,96);p=Na()|0;La(e|0);Ya(p|0)}else if((f|0)==33){a:do{if(e>>>0>>0)do{if((a[e>>0]|0)==-1)break a;e=e+1|0}while(e>>>0>>0)}while(0);c[l>>2]=e;return}}function he(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do{if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function ie(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+8|0;g=c[k>>2]|0;l=b+4|0;e=c[l>>2]|0;f=e;if((g-f|0)>>>0>=d>>>0){do{a[e>>0]=0;e=(c[l>>2]|0)+1|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}e=c[b>>2]|0;h=f-e+d|0;if((h|0)<0){$i(b);g=c[k>>2]|0;e=c[b>>2]|0}f=g-e|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f;e=(c[l>>2]|0)-e|0;if(!f){g=0;i=0;h=e}else j=8}else{f=2147483647;e=(c[l>>2]|0)-e|0;j=8}if((j|0)==8){g=f;i=bj(f)|0;h=e}e=i+h|0;g=i+g|0;f=e;do{a[f>>0]=0;f=e+1|0;e=f;d=d+-1|0}while((d|0)!=0);d=c[b>>2]|0;f=(c[l>>2]|0)-d|0;j=i+(h-f)|0;lw(j|0,d|0,f|0)|0;c[b>>2]=j;c[l>>2]=e;c[k>>2]=g;if(!d)return;cj(d);return}function je(a){a=a|0;var b=0,d=0;c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function ke(a){a=a|0;var b=0,d=0;c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function le(a){a=a|0;var b=0,d=0;c[a>>2]=36052;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function me(a){a=a|0;var b=0,d=0;c[a>>2]=36052;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ne(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;xe(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function oe(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35828;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];qe(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;qe(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function pe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function qe(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=a+180|0;r=(c[q>>2]|0)+4|0;if((c[a+32>>2]|0)==1)s=c[a+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;do{if(d){if(!(d>>>0>715827882?(o=0,ha(178,w|0),v=o,o=0,v&1):0))j=6;if((j|0)==6?(o=0,e=ka(67,d*6|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;f=e+(d*6|0)|0;c[w+8>>2]=f;while(1){b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;d=d+-1|0;if(!d)break;else e=e+6|0}c[x>>2]=f;break}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)j=20;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))j=18;if((j|0)==18?(g=s<<2,o=0,h=ka(67,g|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=h;j=h+(s<<2)|0;c[t+8>>2]=j;iw(h|0,0,g|0)|0;c[v>>2]=j;j=20;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==20){g=a+12|0;a:do{if((c[g>>2]|0)>0){h=a+4604|0;j=($(s,r)|0)+1|0;k=a+4608|0;l=a+92|0;m=(s|0)>0;n=a+4600|0;p=0;b:while(1){e=c[w>>2]|0;d=e+6|0;c[h>>2]=d;e=e+(j*6|0)|0;c[k>>2]=e;if(!(p&1))d=e;else{c[h>>2]=e;c[k>>2]=d}f=c[l>>2]|0;o=0;Aa(c[(c[f>>2]|0)+12>>2]|0,f|0,d|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){j=30;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*6|0)|0;e=e+((y+-1|0)*6|0)|0;b[d>>1]=b[e>>1]|0;b[d+2>>1]=b[e+2>>1]|0;b[d+4>>1]=b[e+4>>1]|0;e=(c[k>>2]|0)+-6|0;d=c[h>>2]|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;b[e+4>>1]=b[d+4>>1]|0;o=0;ia(69,a|0,0);e=o;o=0;if(e&1){j=29;break b}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*6|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*6|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(182,a|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);i=u;return}}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}function re(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;B=d+180|0;if((c[B>>2]|0)<=0)return;C=d+4608|0;D=d+4604|0;E=d+4612|0;A=0;while(1){x=A+-1|0;j=c[C>>2]|0;k=c[D>>2]|0;f=A+1|0;i=e[k+(A*6|0)>>1]|0;z=c[E>>2]|0;l=e[k+(x*6|0)>>1]|0;m=i-l|0;n=e[j+(x*6|0)>>1]|0;o=l-n|0;p=((((a[z+((e[k+(f*6|0)>>1]|0)-i)>>0]|0)*9|0)+(a[z+m>>0]|0)|0)*9|0)+(a[z+o>>0]|0)|0;h=e[k+(A*6|0)+2>>1]|0;q=e[k+(x*6|0)+2>>1]|0;r=h-q|0;s=e[j+(x*6|0)+2>>1]|0;t=q-s|0;u=((((a[z+((e[k+(f*6|0)+2>>1]|0)-h)>>0]|0)*9|0)+(a[z+r>>0]|0)|0)*9|0)+(a[z+t>>0]|0)|0;g=e[k+(A*6|0)+4>>1]|0;v=e[k+(x*6|0)+4>>1]|0;w=g-v|0;x=e[j+(x*6|0)+4>>1]|0;y=v-x|0;z=((((a[z+((e[k+(f*6|0)+4>>1]|0)-g)>>0]|0)*9|0)+(a[z+w>>0]|0)|0)*9|0)+(a[z+y>>0]|0)|0;if(!(u|p|z))f=(se(d,A,0)|0)+A|0;else{k=e[j+(A*6|0)>>1]|0;j=i-n>>31;if((j^o|0)>=0)if((j^m|0)<0)i=n;else i=n-l+i|0;k=te(d,p,k,i,0)|0;j=e[(c[C>>2]|0)+(A*6|0)+2>>1]|0;i=h-s>>31;if((i^t|0)>=0)if((i^r|0)<0)h=s;else h=s-q+h|0;i=te(d,u,j,h,0)|0;j=e[(c[C>>2]|0)+(A*6|0)+4>>1]|0;h=g-x>>31;if((h^y|0)>=0)if((h^w|0)<0)g=x;else g=x-v+g|0;y=te(d,z,j,g,0)|0;z=c[C>>2]|0;b[z+(A*6|0)>>1]=k;b[z+(A*6|0)+2>>1]=i;b[z+(A*6|0)+4>>1]=y}if((f|0)<(c[B>>2]|0))A=f;else break}return}function se(a,d,f){a=a|0;d=d|0;f=f|0;var 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,A=0,B=0,C=0;B=i;i=i+48|0;r=B+30|0;q=B+24|0;p=B+18|0;s=B+12|0;x=B+6|0;y=B;z=(c[a+180>>2]|0)-d|0;A=c[a+4608>>2]|0;t=c[a+4604>>2]|0;w=d+-1|0;u=b[A+(w*6|0)>>1]|0;v=b[A+(w*6|0)+2>>1]|0;w=b[A+(w*6|0)+4>>1]|0;f=u&65535;g=a+144|0;h=v&65535;j=w&65535;o=0;while(1){m=o+d|0;k=A+(m*6|0)|0;l=A+(m*6|0)+2|0;m=A+(m*6|0)+4|0;C=(e[k>>1]|0)-f|0;n=c[g>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(e[l>>1]|0)-h|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(e[m>>1]|0)-j|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;b[k>>1]=u;b[l>>1]=v;b[m>>1]=w;o=o+1|0;if((o|0)==(z|0)){o=z;break}}h=(o|0)==(z|0);j=a+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(o|0))f=o;else{f=o;do{ae(a,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]=b[C>>1]|0;b[x+2>>1]=b[C+2>>1]|0;b[x+4>>1]=b[C+4>>1]|0;b[y>>1]=u;b[y+2>>1]=v;b[y+4>>1]=w;d=t+(d*6|0)|0;b[p>>1]=b[x>>1]|0;b[p+2>>1]=b[x+2>>1]|0;b[p+4>>1]=b[x+4>>1]|0;b[q>>1]=b[y>>1]|0;b[q+2>>1]=b[y+2>>1]|0;b[q+4>>1]=b[y+4>>1]|0;b[r>>1]=b[d>>1]|0;b[r+2>>1]=b[d+2>>1]|0;b[r+4>>1]=b[d+4>>1]|0;ve(s,a,p,q,r);b[C>>1]=b[s>>1]|0;b[C+2>>1]=b[s+2>>1]|0;b[C+4>>1]=b[s+4>>1]|0;C=c[j>>2]|0;c[j>>2]=(C|0)<1?0:C+-1|0;C=o+1|0;i=B;return C|0}if(!f){C=z;i=B;return C|0}ae(a,1,1);C=z;i=B;return C|0}function te(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;ue(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&65535;return r|0}r=g&~(d>>31);r=r&65535;return r|0}function ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>1]|0;p=o-(e[g>>1]|0)>>31|1;i=$(p,(e[f>>1]|0)-o|0)|0;m=d+144|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;w=d+140|0;l=c[w>>2]|0;k=((i|0)<0?l:0)+i|0;l=k-((k|0)<((l+1|0)/2|0|0)?0:l)|0;k=d+4576|0;we(d,k,l);t=e[h+2>>1]|0;u=t-(e[g+2>>1]|0)>>31|1;i=$(u,(e[f+2>>1]|0)-t|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;q=c[w>>2]|0;v=((i|0)<0?q:0)+i|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;we(d,k,q);v=e[h+4>>1]|0;s=v-(e[g+4>>1]|0)>>31|1;i=$(s,(e[f+4>>1]|0)-v|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;n=c[w>>2]|0;i=((i|0)<0?n:0)+i|0;n=i-((i|0)<((n+1|0)/2|0|0)?0:n)|0;we(d,k,n);k=c[m>>2]|0;m=k<<1|1;i=($($(m,l)|0,p)|0)+o|0;f=0-k|0;if((i|0)>=(f|0)){j=c[r>>2]|0;if((j+k|0)<(i|0)){i=i-($(c[w>>2]|0,m)|0)|0;g=j}else g=j}else{i=($(c[w>>2]|0,m)|0)+i|0;g=c[r>>2]|0}if((i&g|0)!=(i|0))i=g&~(i>>31);h=i&65535;i=($($(m,q)|0,u)|0)+t|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)!=(i|0))i=g&~(i>>31);j=i&65535;i=($($(m,n)|0,s)|0)+v|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)==(i|0)){w=i;w=w&65535;b[a>>1]=h;v=a+2|0;b[v>>1]=j;a=a+4|0;b[a>>1]=w;return}w=g&~(i>>31);w=w&65535;b[a>>1]=h;v=a+2|0;b[v>>1]=j;a=a+4|0;b[a>>1]=w;return}function we(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;ue(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function xe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do{if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function ye(a){a=a|0;var b=0,d=0;c[a>>2]=36024;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function ze(a){a=a|0;var b=0,d=0;c[a>>2]=36024;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Ae(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;pf(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function Be(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35800;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Ce(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function De(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36712;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36688;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Fe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36664;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Ge(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36640;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function He(a){a=a|0;var b=0,d=0;c[a>>2]=36640;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function Ie(a){a=a|0;var b=0,d=0;c[a>>2]=36640;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;Ne(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;Ne(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Le(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Me(a,f,b,d,e);return}}function Le(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{j=d[k+(i*3|0)+1>>0]|0;h=128-j+(d[k+(i*3|0)+2>>0]|0)|0;l=(d[k+(i*3|0)>>0]|0)-j+128|0;m=f+(i*3|0)|0;a[m>>0]=j+192+(((h&255)+(l&255)|0)>>>2);a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{g=d[k+(e*3|0)+1>>0]|0;l=128-g+(d[k+(e*3|0)+2>>0]|0)|0;m=(d[k+(e*3|0)>>0]|0)-g+128|0;a[f+e>>0]=g+192+(((l&255)+(m&255)|0)>>>2);a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{m=a[k+(j<<2)+3>>0]|0;n=d[k+(j<<2)+1>>0]|0;g=128-n+(d[k+(j<<2)+2>>0]|0)|0;l=(d[k+(j<<2)>>0]|0)-n+128|0;a[f+j>>0]=n+192+(((g&255)+(l&255)|0)>>>2);a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Me(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Le(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Le(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function Ne(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=d[e+(b*3|0)+1>>0]|0;i=d[e+(b*3|0)+2>>0]|0;k=(d[e+(b*3|0)>>0]|0)-((i+j|0)>>>2)+64|0;h=f+(b*3|0)|0;a[h>>0]=i+128+k;a[h+1>>0]=k;a[h+2>>0]=j+128+k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=d[e+(j+h)>>0]|0;o=d[e+(j+i)>>0]|0;m=(d[e+j>>0]|0)-((o+n|0)>>>2)+64|0;k=f+(j*3|0)|0;a[k>>0]=o+128+m;a[k+1>>0]=m;a[k+2>>0]=n+128+m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{m=d[e+(j+h)>>0]|0;p=d[e+(j+b)>>0]|0;n=(d[e+j>>0]|0)-((p+m|0)>>>2)+64|0;o=f+(j<<2)|0;n=n<<8&65280|d[e+(j+i)>>0]<<24|p+128+n&255|m+128+n<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){p=b+2|0;o=a[b>>0]|0;a[b>>0]=a[p>>0]|0;a[p>>0]=o;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function Oe(a){a=a|0;var b=0,d=0;c[a>>2]=36664;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function Pe(a){a=a|0;var b=0,d=0;c[a>>2]=36664;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Qe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;Ue(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;Ue(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Se(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Te(a,f,b,d,e);return}}function Se(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{e=d[k+(i*3|0)>>0]|0;h=a[k+(i*3|0)+1>>0]|0;j=h&255;l=(d[k+(i*3|0)+2>>0]|0)+128-((j+e|0)>>>1)&255;m=f+(i*3|0)|0;a[m>>0]=e+128-j;a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{l=a[k+(e*3|0)+1>>0]|0;j=d[k+(e*3|0)>>0]|0;g=l&255;m=(d[k+(e*3|0)+2>>0]|0)+128-((g+j|0)>>>1)&255;a[f+e>>0]=j+128-g;a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{g=a[k+(j<<2)+1>>0]|0;m=a[k+(j<<2)+3>>0]|0;o=d[k+(j<<2)>>0]|0;n=g&255;l=(d[k+(j<<2)+2>>0]|0)+128-((n+o|0)>>>1)&255;a[f+j>>0]=o+128-n;a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Te(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Se(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Se(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function Ue(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;k=j&255;i=(d[e+(b*3|0)>>0]|0)+128+k|0;k=(d[e+(b*3|0)+2>>0]|0)+128+(((i&255)+k|0)>>>1)&255;h=f+(b*3|0)|0;a[h>>0]=i;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;m=n&255;o=(d[e+j>>0]|0)+128+m|0;m=(d[e+(j+i)>>0]|0)+128+(((o&255)+m|0)>>>1)&255;k=f+(j*3|0)|0;a[k>>0]=o;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=d[e+(j+h)>>0]|0;m=(d[e+j>>0]|0)+128+n&255;o=f+(j<<2)|0;n=m|n<<8|d[e+(j+i)>>0]<<24|(d[e+(j+b)>>0]|0)+128+((m+n|0)>>>1)<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){o=b+2|0;n=a[b>>0]|0;a[b>>0]=a[o>>0]|0;a[o>>0]=n;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function Ve(a){a=a|0;var b=0,d=0;c[a>>2]=36688;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function We(a){a=a|0;var b=0,d=0;c[a>>2]=36688;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;$e(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;$e(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Ze(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{_e(a,f,b,d,e);return}}function Ze(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{h=a[k+(i*3|0)+1>>0]|0;j=h&255;l=128-j+(d[k+(i*3|0)+2>>0]|0)&255;m=f+(i*3|0)|0;a[m>>0]=(d[k+(i*3|0)>>0]|0)+128-j;a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{l=a[k+(e*3|0)+1>>0]|0;g=l&255;m=128-g+(d[k+(e*3|0)+2>>0]|0)&255;a[f+e>>0]=(d[k+(e*3|0)>>0]|0)+128-g;a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{g=a[k+(j<<2)+1>>0]|0;m=a[k+(j<<2)+3>>0]|0;n=g&255;l=128-n+(d[k+(j<<2)+2>>0]|0)&255;a[f+j>>0]=(d[k+(j<<2)>>0]|0)+128-n;a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function _e(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Ze(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Ze(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;i=j&255;k=i+128+(d[e+(b*3|0)+2>>0]|0)&255;h=f+(b*3|0)|0;a[h>>0]=(d[e+(b*3|0)>>0]|0)+128+i;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;o=n&255;m=o+128+(d[e+(j+i)>>0]|0)&255;k=f+(j*3|0)|0;a[k>>0]=(d[e+j>>0]|0)+128+o;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=d[e+(j+h)>>0]|0;o=f+(j<<2)|0;n=(d[e+j>>0]|0)+128+n&255|n<<8|d[e+(j+i)>>0]<<24|n+128+(d[e+(j+b)>>0]|0)<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){o=b+2|0;n=a[b>>0]|0;a[b>>0]=a[o>>0]|0;a[o>>0]=n;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function af(a){a=a|0;var b=0,d=0;c[a>>2]=36712;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function bf(a){a=a|0;var b=0,d=0;c[a>>2]=36712;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function cf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;gf(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;gf(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;ef(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{ff(a,f,b,d,e);return}}function ef(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=b+4|0;h=c[j>>2]|0;if(!(a[h+32>>0]|0))j=d;else{i=b+8|0;lw(c[i>>2]|0,d|0,f*3|0)|0;h=c[j>>2]|0;d=c[h+16>>2]|0;if((f|0)>0){h=c[i>>2]|0;b=0;while(1){k=h+2|0;l=a[h>>0]|0;a[h>>0]=a[k>>0]|0;a[k>>0]=l;b=b+1|0;if((b|0)==(f|0))break;else h=h+d|0}h=c[j>>2]|0}j=c[i>>2]|0}switch(c[h+16>>2]|0){case 3:{if((c[h+24>>2]|0)==2){if((f|0)>0)h=0;else return;do{g=a[j+(h*3|0)+1>>0]|0;k=a[j+(h*3|0)+2>>0]|0;l=e+(h*3|0)|0;a[l>>0]=a[j+(h*3|0)>>0]|0;a[l+1>>0]=g;a[l+2>>0]=k;h=h+1|0}while((h|0)!=(f|0));return}h=(g|0)<(f|0)?g:f;if((h|0)<=0)return;b=g<<1;d=0;do{k=a[j+(d*3|0)+1>>0]|0;l=a[j+(d*3|0)+2>>0]|0;a[e+d>>0]=a[j+(d*3|0)>>0]|0;a[e+(d+g)>>0]=k;a[e+(d+b)>>0]=l;d=d+1|0}while((d|0)!=(h|0));return}case 4:{if((c[h+24>>2]|0)!=1)return;h=(g|0)<(f|0)?g:f;if((h|0)<=0)return;b=g<<1;d=g*3|0;i=0;do{f=a[j+(i<<2)+1>>0]|0;k=a[j+(i<<2)+2>>0]|0;l=a[j+(i<<2)+3>>0]|0;a[e+i>>0]=a[j+(i<<2)>>0]|0;a[e+(i+g)>>0]=f;a[e+(i+b)>>0]=k;a[e+(i+d)>>0]=l;i=i+1|0}while((i|0)!=(h|0));return}default:return}}function ff(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;ef(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){ef(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function gf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;k=a[e+(b*3|0)+2>>0]|0;h=f+(b*3|0)|0;a[h>>0]=a[e+(b*3|0)>>0]|0;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;m=a[e+(j+i)>>0]|0;k=f+(j*3|0)|0;a[k>>0]=a[e+j>>0]|0;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=f+(j<<2)|0;m=d[e+(j+h)>>0]<<8|d[e+j>>0]|d[e+(j+b)>>0]<<16|d[e+(j+i)>>0]<<24;a[n>>0]=m;a[n+1>>0]=m>>8;a[n+2>>0]=m>>16;a[n+3>>0]=m>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){n=b+2|0;m=a[b>>0]|0;a[b>>0]=a[n>>0]|0;a[n>>0]=m;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function hf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+180|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[x>>2]|0)+3|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){g=b+12|0;b:do{if((c[g>>2]|0)>0){h=b+4604|0;j=($(s,r)|0)+1|0;k=b+4608|0;l=b+92|0;m=(s|0)>0;n=b+4600|0;p=0;c:while(1){f=c[w>>2]|0;d=f+3|0;c[h>>2]=d;e=f+(j*3|0)|0;c[k>>2]=e;if(!(p&1))d=j;else{c[h>>2]=e;c[k>>2]=d;d=1}e=c[l>>2]|0;o=0;Aa(c[(c[e>>2]|0)+12>>2]|0,e|0,f+(d*3|0)|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*3|0)|0;e=e+((y+-1|0)*3|0)|0;a[d>>0]=a[e>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;d=c[h>>2]|0;e=(c[k>>2]|0)+-3|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;o=0;ia(70,b|0,0);e=o;o=0;if(e&1){h=28;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*3|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*3|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){f=Na()|0;break}else if((h|0)==29){f=Na()|0;break}}else h=41}while(0);do{if((h|0)==41){o=0;ha(182,b|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=u;return}}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function jf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+180|0;if((c[A>>2]|0)<=0)return;B=b+4608|0;C=b+4604|0;D=b+4612|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=(kf(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=lf(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=lf(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=lf(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function kf(b,e,f){b=b|0;e=e|0;f=f|0;var 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,A=0,B=0,C=0;B=i;i=i+32|0;A=B+15|0;q=B+12|0;p=B+9|0;r=B+6|0;w=B+3|0;x=B;y=(c[b+180>>2]|0)-e|0;z=c[b+4608>>2]|0;s=c[b+4604>>2]|0;v=z+((e+-1|0)*3|0)|0;t=a[v>>0]|0;u=a[v+1>>0]|0;v=a[v+2>>0]|0;f=t&255;g=b+144|0;h=u&255;j=v&255;o=0;while(1){k=z+((o+e|0)*3|0)|0;l=k+1|0;m=k+2|0;C=(d[k>>0]|0)-f|0;n=c[g>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(d[l>>0]|0)-h|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(d[m>>0]|0)-j|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;a[k>>0]=t;a[l>>0]=u;a[m>>0]=v;o=o+1|0;if((o|0)==(y|0)){o=y;break}}h=(o|0)==(y|0);j=b+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(o|0))f=o;else{f=o;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]=a[C>>0]|0;a[w+1>>0]=a[C+1>>0]|0;a[w+2>>0]=a[C+2>>0]|0;a[x>>0]=t;a[x+1>>0]=u;a[x+2>>0]=v;e=s+(e*3|0)|0;a[p>>0]=a[w>>0]|0;a[p+1>>0]=a[w+1>>0]|0;a[p+2>>0]=a[w+2>>0]|0;a[q>>0]=a[x>>0]|0;a[q+1>>0]=a[x+1>>0]|0;a[q+2>>0]=a[x+2>>0]|0;a[A>>0]=a[e>>0]|0;a[A+1>>0]=a[e+1>>0]|0;a[A+2>>0]=a[e+2>>0]|0;nf(r,b,p,q,A);a[C>>0]=a[r>>0]|0;a[C+1>>0]=a[r+1>>0]|0;a[C+2>>0]=a[r+2>>0]|0;C=c[j>>2]|0;c[j>>2]=(C|0)<1?0:C+-1|0;C=o+1|0;i=B;return C|0}if(!f){C=y;i=B;return C|0}ae(b,1,1);C=y;i=B;return C|0}function lf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;mf(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&255;return r|0}r=g&~(d>>31);r=r&255;return r|0}function mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>0]|0;p=o-(d[g>>0]|0)>>31|1;i=$(p,(d[f>>0]|0)-o|0)|0;m=e+144|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;w=e+140|0;l=c[w>>2]|0;k=((i|0)<0?l:0)+i|0;l=k-((k|0)<((l+1|0)/2|0|0)?0:l)|0;k=e+4576|0;of(e,k,l);t=d[h+1>>0]|0;u=t-(d[g+1>>0]|0)>>31|1;i=$(u,(d[f+1>>0]|0)-t|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;q=c[w>>2]|0;v=((i|0)<0?q:0)+i|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;of(e,k,q);v=d[h+2>>0]|0;s=v-(d[g+2>>0]|0)>>31|1;i=$(s,(d[f+2>>0]|0)-v|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;n=c[w>>2]|0;i=((i|0)<0?n:0)+i|0;n=i-((i|0)<((n+1|0)/2|0|0)?0:n)|0;of(e,k,n);k=c[m>>2]|0;m=k<<1|1;i=($($(m,l)|0,p)|0)+o|0;f=0-k|0;if((i|0)>=(f|0)){j=c[r>>2]|0;if((j+k|0)<(i|0)){i=i-($(c[w>>2]|0,m)|0)|0;g=j}else g=j}else{i=($(c[w>>2]|0,m)|0)+i|0;g=c[r>>2]|0}if((i&g|0)!=(i|0))i=g&~(i>>31);h=i&255;i=($($(m,q)|0,u)|0)+t|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)!=(i|0))i=g&~(i>>31);j=i&255;i=($($(m,n)|0,s)|0)+v|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)==(i|0)){w=i;w=w&255;a[b>>0]=h;v=b+1|0;a[v>>0]=j;b=b+2|0;a[b>>0]=w;return}w=g&~(i>>31);w=w&255;a[b>>0]=h;v=b+1|0;a[v>>0]=j;b=b+2|0;a[b>>0]=w;return}function of(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;mf(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function pf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do{if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function qf(a){a=a|0;var b=0,d=0;c[a>>2]=35996;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function rf(a){a=a|0;var b=0,d=0;c[a>>2]=35996;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function sf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,65535,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Bf(d);g=0;do{c[d+172+(g*12|0)>>2]=1024;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=1024;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=1024;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function tf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35772;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];vf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;vf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function uf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function vf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+156|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do{if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+12|0;a:do{if((c[h>>2]|0)>0){j=a+4580|0;k=($(t,s)|0)+1|0;l=a+4584|0;m=a+92|0;n=(t|0)>0;p=a+4576|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(71,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40}while(0);do{if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function wf(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4580|0;f=c[p>>2]|0;s=d+156|0;if((c[s>>2]|0)<=0)return;q=d+4584|0;r=d+4588|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(yf(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=xf(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function xf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&65535|0)==(g|0))m=g;else m=g>>31&65535^65535;j=(e-m^q)-q<<16;l=j>>16;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;f=g^l;f=f>>30^f<<1;g=f>>h;if((g|0)<47){if((g|0)>30){i=(g|0)/2|0;ae(a,0,i);g=g-i|0}ae(a,1,g+1|0);ae(a,f&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-65536?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}function yf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[a+156>>2]|0)-d|0;k=c[a+4584>>2]|0;m=c[a+4580>>2]|0;h=b[k+(d+-1<<1)>>1]|0;g=0;while(1){f=k+(g+d<<1)|0;if((b[f>>1]|0)!=h<<16>>16){n=g;break}b[f>>1]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&65535;h=(n|0)==(j|0);l=a+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(a,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]|0;f=e[m+(f<<1)>>1]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<16>>16;zf(a,a+4564|0,f);f=f+i|0}else{m=f-i>>31|1;d=($(g-f<<16,m)|0)>>16;zf(a,a+4552|0,d);f=($(d,m)|0)+f|0}b[h>>1]=f;a=c[l>>2]|0;c[l>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function zf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Af(b,h,g,63-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Af(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-16|0;if((e|0)<(d+-17|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-47|0)}else ae(a,1,f);ae(a,c+65535&65535,16);return}function Bf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,65535,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8909]|0;c[b+4588>>2]=l+(((c[8910]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=131072){if(h>>>0>131072?(j=d+131072|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,131072-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+65536;j=b+168|0;g=b+164|0;h=-65536;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==65536)break}i=m;return}function Cf(a){a=a|0;var b=0,d=0;c[a>>2]=35968;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Df(a){a=a|0;var b=0,d=0;c[a>>2]=35968;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Ef(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,4095,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Nf(d);g=0;do{c[d+172+(g*12|0)>>2]=64;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=64;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=64;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function Ff(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35744;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Gf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Hf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+156|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do{if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+12|0;a:do{if((c[h>>2]|0)>0){j=a+4580|0;k=($(t,s)|0)+1|0;l=a+4584|0;m=a+92|0;n=(t|0)>0;p=a+4576|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(72,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40}while(0);do{if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function If(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4580|0;f=c[p>>2]|0;s=d+156|0;if((c[s>>2]|0)<=0)return;q=d+4584|0;r=d+4588|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(Kf(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=Jf(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function Jf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&4095|0)==(g|0))m=g;else m=g>>31&4095^4095;j=(e-m^q)-q<<20;l=j>>20;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;f=g^l;f=f>>30^f<<1;g=f>>h;if((g|0)<35){if((g|0)>30){i=(g|0)/2|0;ae(a,0,i);g=g-i|0}ae(a,1,g+1|0);ae(a,f&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-1048576?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}function Kf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[a+156>>2]|0)-d|0;k=c[a+4584>>2]|0;m=c[a+4580>>2]|0;h=b[k+(d+-1<<1)>>1]|0;g=0;while(1){f=k+(g+d<<1)|0;if((b[f>>1]|0)!=h<<16>>16){n=g;break}b[f>>1]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&65535;h=(n|0)==(j|0);l=a+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(a,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]|0;f=e[m+(f<<1)>>1]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<20>>20;Lf(a,a+4564|0,f);f=f+i|0}else{m=f-i>>31|1;d=($(g-f<<20,m)|0)>>20;Lf(a,a+4552|0,d);f=($(d,m)|0)+f|0}b[h>>1]=f&4095;a=c[l>>2]|0;c[l>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function Lf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Mf(b,h,g,47-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Mf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-12|0;if((e|0)<(d+-13|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-43|0)}else ae(a,1,f);ae(a,c+4095&4095,12);return}function Nf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,4095,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8906]|0;c[b+4588>>2]=l+(((c[8907]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=8192){if(h>>>0>8192?(j=d+8192|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,8192-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+4096;j=b+168|0;g=b+164|0;h=-4096;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==4096)break}i=m;return}function Of(a){a=a|0;var b=0,d=0;c[a>>2]=35940;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Pf(a){a=a|0;var b=0,d=0;c[a>>2]=35940;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Qf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Zf(d);g=0;do{c[d+172+(g*12|0)>>2]=4;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=4;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=4;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function Rf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35716;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Tf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Tf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Sf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Tf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+156|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}e=Na()|0;d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){g=b+12|0;b:do{if((c[g>>2]|0)>0){h=b+4580|0;j=($(s,r)|0)+1|0;k=b+4584|0;l=b+92|0;m=(s|0)>0;n=b+4576|0;p=0;c:while(1){e=c[w>>2]|0;d=e+1|0;c[h>>2]=d;e=e+j|0;c[k>>2]=e;if(!(p&1))d=e;else{c[h>>2]=e;c[k>>2]=d}f=c[l>>2]|0;o=0;Aa(c[(c[f>>2]|0)+12>>2]|0,f|0,d|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[h>>2]|0;e=c[t>>2]|0;f=0;do{c[n>>2]=c[e+(f<<2)>>2];e=c[q>>2]|0;a[d+e>>0]=a[d+(e+-1)>>0]|0;a[(c[k>>2]|0)+-1>>0]=a[c[h>>2]>>0]|0;o=0;ia(73,b|0,0);e=o;o=0;if(e&1){h=28;break c}e=c[t>>2]|0;c[e+(f<<2)>>2]=c[n>>2];d=(c[h>>2]|0)+r|0;c[h>>2]=d;c[k>>2]=(c[k>>2]|0)+r;f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){e=Na()|0;break}else if((h|0)==29){e=Na()|0;break}}else h=41}while(0);do{if((h|0)==41){o=0;ha(182,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return}}while(0);d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}function Uf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4580|0;e=c[o>>2]|0;r=b+156|0;if((c[r>>2]|0)<=0)return;p=b+4584|0;q=b+4588|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(Wf(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=Vf(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function Vf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&255|0)==(g|0))m=g;else m=g>>31&255^255;j=(e-m^q)-q<<24;l=j>>24;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;g=g^l;g=g>>30^g<<1;f=g>>h;if((f|0)<23){ae(a,1,f+1|0);ae(a,g&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-16777216?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}function Wf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[b+156>>2]|0)-e|0;k=c[b+4584>>2]|0;m=c[b+4580>>2]|0;h=a[k+(e+-1)>>0]|0;g=0;while(1){f=k+(g+e)|0;if((a[f>>0]|0)!=h<<24>>24){n=g;break}a[f>>0]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&255;h=(n|0)==(j|0);l=b+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(b,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]|0;f=d[m+f>>0]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<24>>24;Xf(b,b+4564|0,f);f=f+i|0}else{m=f-i>>31|1;e=($(g-f<<24,m)|0)>>24;Xf(b,b+4552|0,e);f=($(e,m)|0)+f|0}a[h>>0]=f;b=c[l>>2]|0;c[l>>2]=(b|0)<1?0:b+-1|0;b=n+1|0;return b|0}function Xf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Yf(b,h,g,31-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-39|0)}else ae(a,1,f);ae(a,c+255&255,8);return}function Zf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8900]|0;c[b+4588>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+256;j=b+168|0;g=b+164|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function _f(a){a=a|0;var b=0,d=0;c[a>>2]=35912;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function $f(a){a=a|0;var b=0,d=0;c[a>>2]=35912;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ag(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;jg(d);g=0;do{c[d+172+(g*12|0)>>2]=4;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=4;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=4;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function bg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35688;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];dg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;dg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function cg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+156|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[x>>2]|0)+3|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){g=b+12|0;b:do{if((c[g>>2]|0)>0){h=b+4580|0;j=($(s,r)|0)+1|0;k=b+4584|0;l=b+92|0;m=(s|0)>0;n=b+4576|0;p=0;c:while(1){f=c[w>>2]|0;d=f+3|0;c[h>>2]=d;e=f+(j*3|0)|0;c[k>>2]=e;if(!(p&1))d=j;else{c[h>>2]=e;c[k>>2]=d;d=1}e=c[l>>2]|0;o=0;Aa(c[(c[e>>2]|0)+12>>2]|0,e|0,f+(d*3|0)|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*3|0)|0;e=e+((y+-1|0)*3|0)|0;a[d>>0]=a[e>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;d=c[h>>2]|0;e=(c[k>>2]|0)+-3|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;o=0;ia(74,b|0,0);e=o;o=0;if(e&1){h=28;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*3|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*3|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){f=Na()|0;break}else if((h|0)==29){f=Na()|0;break}}else h=41}while(0);do{if((h|0)==41){o=0;ha(182,b|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=u;return}}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function eg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+156|0;if((c[A>>2]|0)<=0)return;B=b+4584|0;C=b+4580|0;D=b+4588|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=(fg(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=gg(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=gg(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=gg(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function fg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=(c[b+156>>2]|0)-e|0;n=c[b+4584>>2]|0;o=c[b+4580>>2]|0;l=n+((e+-1|0)*3|0)|0;p=a[l>>0]|0;k=a[l+1>>0]|0;l=a[l+2>>0]|0;i=0;while(1){f=n+((i+e|0)*3|0)|0;g=f+1|0;h=f+2|0;if(!(((a[f>>0]|0)==p<<24>>24?(a[g>>0]|0)==k<<24>>24:0)&(a[h>>0]|0)==l<<24>>24))break;a[f>>0]=p;a[g>>0]=k;a[h>>0]=l;i=i+1|0;if((i|0)==(m|0)){i=m;break}}h=(i|0)==(m|0);j=b+4576|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]|0;e=m+2|0;f=a[e>>0]|0;o=o+(q*3|0)|0;q=a[o+1>>0]|0;t=a[o+2>>0]|0;o=d[o>>0]|0;h=o-(p&255)>>31|1;g=($((d[m>>0]|0)-o<<24,h)|0)>>24;s=b+4552|0;hg(b,s,g);p=q&255;q=p-(k&255)>>31|1;r=($((r&255)-p<<24,q)|0)>>24;hg(b,s,r);k=t&255;l=k-(l&255)>>31|1;f=($((f&255)-k<<24,l)|0)>>24;hg(b,s,f);p=($(r,q)|0)+p&255;b=($(f,l)|0)+k&255;a[m>>0]=($(g,h)|0)+o;a[n>>0]=p;a[e>>0]=b;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;b=i+1|0;return b|0}if(!f){t=m;return t|0}ae(b,1,1);t=m;return t|0}function gg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&255|0)==(g|0))m=g;else m=g>>31&255^255;j=(e-m^q)-q<<24;l=j>>24;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;g=g^l;g=g>>30^g<<1;f=g>>h;if((f|0)<23){ae(a,1,f+1|0);ae(a,g&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-16777216?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}function hg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;ig(b,h,g,31-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function ig(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-39|0)}else ae(a,1,f);ae(a,c+255&255,8);return}function jg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8900]|0;c[b+4588>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+256;j=b+168|0;g=b+164|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function kg(a){a=a|0;var b=0,d=0;c[a>>2]=35884;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function lg(a){a=a|0;var b=0,d=0;c[a>>2]=35884;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function mg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;wg(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function ng(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35660;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];pg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;pg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function pg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=i;i=i+32|0;w=u+12|0;t=u;r=b+180|0;s=(c[r>>2]|0)+4|0;if((c[b+32>>2]|0)==1)p=c[b+24>>2]|0;else p=1;d=$(p<<1,s)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,w|0),v=o,o=0,v&1):0))q=6;if((q|0)==6?(o=0,e=ka(67,d|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!p)q=19;else{if(!(p>>>0>1073741823?(o=0,ha(178,t|0),n=o,o=0,n&1):0))q=17;if((q|0)==17?(f=p<<2,o=0,g=ka(67,f|0)|0,n=o,o=0,!(n&1)):0){c[t>>2]=g;q=g+(p<<2)|0;c[t+8>>2]=q;iw(g|0,0,f|0)|0;c[v>>2]=q;q=19;break}e=Na()|0;d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((q|0)==19){j=b+12|0;b:do{if((c[j>>2]|0)>0){k=b+4604|0;l=($(p,s)|0)+1|0;m=b+4608|0;n=b+92|0;h=b+4600|0;if((p|0)>0)g=0;else{f=0;while(1){e=c[w>>2]|0;d=e+1|0;c[k>>2]=d;e=e+l|0;c[m>>2]=e;if(!(f&1))d=e;else{c[k>>2]=e;c[m>>2]=d}p=c[n>>2]|0;o=0;Aa(c[(c[p>>2]|0)+12>>2]|0,p|0,d|0,c[r>>2]|0,s|0);p=o;o=0;if(p&1)break;f=f+1|0;if((f|0)>=(c[j>>2]|0)){q=45;break b}}e=Na()|0;break}c:while(1){e=c[w>>2]|0;d=e+1|0;c[k>>2]=d;e=e+l|0;c[m>>2]=e;if(!(g&1))d=e;else{c[k>>2]=e;c[m>>2]=d}q=c[n>>2]|0;o=0;Aa(c[(c[q>>2]|0)+12>>2]|0,q|0,d|0,c[r>>2]|0,s|0);q=o;o=0;if(q&1){q=28;break}d=c[t>>2]|0;e=c[k>>2]|0;f=0;do{c[h>>2]=c[d+(f<<2)>>2];q=c[r>>2]|0;a[e+q>>0]=a[e+(q+-1)>>0]|0;a[(c[m>>2]|0)+-1>>0]=a[c[k>>2]>>0]|0;o=0;ia(75,b|0,0);q=o;o=0;if(q&1){q=36;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[h>>2];e=(c[k>>2]|0)+s|0;c[k>>2]=e;c[m>>2]=(c[m>>2]|0)+s;f=f+1|0}while((f|0)<(p|0));g=g+1|0;if((g|0)>=(c[j>>2]|0)){q=45;break b}}if((q|0)==28){e=Na()|0;break}else if((q|0)==36){e=Na()|0;break}}else q=45}while(0);do{if((q|0)==45){o=0;ha(182,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return}}while(0);d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}function qg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4604|0;e=c[o>>2]|0;r=b+180|0;if((c[r>>2]|0)<=0)return;p=b+4608|0;q=b+4612|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(sg(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=rg(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function rg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;vg(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&255;return r|0}r=g&~(d>>31);r=r&255;return r|0}function sg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=(c[b+180>>2]|0)-e|0;m=c[b+4608>>2]|0;n=c[b+4604>>2]|0;h=a[m+(e+-1)>>0]|0;k=h&255;f=b+144|0;i=0;while(1){g=m+(i+e)|0;j=(d[g>>0]|0)-k|0;if((((j|0)>-1?j:0-j|0)|0)>(c[f>>2]|0))break;a[g>>0]=h;i=i+1|0;if((i|0)==(l|0)){i=l;break}}h=(i|0)==(l|0);j=b+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]=tg(b,d[e>>0]|0,k,d[n+l>>0]|0)|0;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;b=i+1|0;return b|0}if(!f){b=l;return b|0}ae(b,1,1);b=l;return b|0}function tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d-e|0;j=a+136|0;h=a+144|0;f=c[h>>2]|0;if((((i|0)>-1?i:0-i|0)|0)>(f|0)){g=e-d>>31|1;b=$(g,b-e|0)|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;d=((b|0)<0?f:0)+b|0;f=d-((d|0)<((f+1|0)/2|0|0)?0:f)|0;ug(a,a+4576|0,f);f=$(f,g)|0;g=c[h>>2]|0;h=g<<1|1;f=($(f,h)|0)+e|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&255;return j|0}j=b&~(f>>31);j=j&255;return j|0}else{b=b-d|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;g=((b|0)<0?f:0)+b|0;f=g-((g|0)<((f+1|0)/2|0|0)?0:f)|0;ug(a,a+4588|0,f);g=c[h>>2]|0;h=g<<1|1;f=($(h,f)|0)+d|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&255;return j|0}j=b&~(f>>31);j=j&255;return j|0}return 0}function ug(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;vg(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function xg(a){a=a|0;var b=0,d=0;c[a>>2]=35856;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function yg(a){a=a|0;var b=0,d=0;c[a>>2]=35856;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Ag(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;Lg(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function Bg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Cg(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Cg(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+172|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4596|0;k=$(y,x)|0;l=k+1|0;m=a+4600|0;n=(y|0)>0;p=a+160|0;q=a+168|0;r=a+164|0;s=a+156|0;t=a+88|0;u=a+4592|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(76,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Dg(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=d+4596|0;g=c[q>>2]|0;u=d+172|0;f=c[u>>2]|0;if((f|0)<=0)return;r=d+4600|0;s=d+4604|0;t=d+4592|0;l=g;j=e[g+-2>>1]|0;g=e[g>>1]|0;p=0;while(1){n=c[r>>2]|0;k=b[n+(p+-1<<1)>>1]|0;o=k&65535;i=p+1|0;h=e[l+(i<<1)>>1]|0;m=c[s>>2]|0;l=g-j|0;j=j-o|0;m=((((a[m+(h-g)>>0]|0)*9|0)+(a[m+l>>0]|0)|0)*9|0)+(a[m+j>>0]|0)|0;n=n+(p<<1)|0;if(!m){f=Gg(d,k,n,f-p|0)|0;g=f+p|0;if((g|0)!=(c[u>>2]|0)){o=Hg(d,o,e[(c[q>>2]|0)+(g<<1)>>1]|0)|0;b[(c[r>>2]|0)+(g<<1)>>1]=o;o=c[t>>2]|0;c[t>>2]=(o|0)<1?0:o+-1|0;f=f+1|0}i=f+p|0;h=c[q>>2]|0;g=e[h+(i+-1<<1)>>1]|0;h=e[h+(i<<1)>>1]|0}else{f=g-o>>31;if((f^j|0)<0)f=g;else f=o+((f^l|0)<0?0:l)|0;o=Fg(d,m,e[n>>1]|0,f,0)|0;b[(c[r>>2]|0)+(p<<1)>>1]=o}f=c[u>>2]|0;if((f|0)<=(i|0))break;l=c[q>>2]|0;j=g;g=h;p=i}return}function Eg(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+116|0;e=c[f>>2]|0;if((a[e>>0]|0)!=-1){g=b+112|0;d=c[g>>2]|0;if((d|0)<1){ge(b);d=c[g>>2]|0;e=c[f>>2]|0}b=b+108|0;f=c[b>>2]|0;c[g>>2]=d+-1;d=f<<1;c[b>>2]=d;if((a[e>>0]|0)!=-1){d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,6,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}}else d=c[b+108>>2]|0;if(!d)return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,6,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}function Fg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&65535;return d|0}d=f&~(h>>31);d=d&65535;return d|0}function Gg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4592|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=b-d|0;h=a+128|0;e=a+136|0;if((((g|0)>-1?g:0-g|0)|0)>(c[e>>2]|0)){b=$(Ig(a,a+4568|0)|0,d-b>>31|1)|0;f=c[e>>2]|0;g=f<<1|1;b=($(b,g)|0)+d|0;if((b|0)>=(0-f|0)){e=c[h>>2]|0;if((e+f|0)<(b|0))b=b-($(c[a+132>>2]|0,g)|0)|0}else{b=($(c[a+132>>2]|0,g)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&65535;return a|0}a=e&~(b>>31);a=a&65535;return a|0}else{d=Ig(a,a+4580|0)|0;g=c[e>>2]|0;f=g<<1|1;b=($(f,d)|0)+b|0;if((b|0)>=(0-g|0)){e=c[h>>2]|0;if((e+g|0)<(b|0))b=b-($(c[a+132>>2]|0,f)|0)|0}else{b=($(c[a+132>>2]|0,f)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&65535;return a|0}a=e&~(b>>31);a=a&65535;return a|0}return 0}function Ig(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function Jg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+112|0;if((c[g>>2]|0)<16)ge(a);h=a+108|0;d=c[h>>2]|0;if((d|0)>=0)if(!(d&1073741824))if(!(d&536870912))if(!(d&268435456))if(!(d&134217728))if(!(d&67108864))if(!(d&33554432))if(!(d&16777216))if(!(d&8388608))if(!(d&4194304))if(!(d&2097152))if(!(d&1048576))if(!(d&524288))if(!(d&262144))if(!(d&131072)){f=d>>>12&16;b=f+-1|0;if(!f){b=(c[g>>2]|0)+-15|0;c[g>>2]=b;e=d<<15;c[h>>2]=e;d=b;b=15;while(1){if((d|0)<1){ge(a);f=c[h>>2]|0;d=c[g>>2]|0}else f=e;d=d+-1|0;c[g>>2]=d;e=f<<1;c[h>>2]=e;if((f|0)<0)break;else b=b+1|0}return b|0}}else b=14;else b=13;else b=12;else b=11;else b=10;else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;a=b+1|0;c[g>>2]=(c[g>>2]|0)-a;c[h>>2]=d<>2]|0;if((e|0)<(d|0)){ge(b);e=c[f>>2]|0;if((e|0)<(d|0)){e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);b=o;o=0;if(b&1){b=Na()|0;La(e|0);Ya(b|0)}else lb(e|0,824,96)}}g=b+108|0;b=c[g>>2]|0;c[f>>2]=e-d;c[g>>2]=b<>>(32-d|0)|0}function Lg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function Mg(a){a=a|0;var b=0,d=0;c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Ng(a){a=a|0;var b=0,d=0;c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Og(a){a=a|0;var b=0,d=0;c[a>>2]=35828;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Pg(a){a=a|0;var b=0,d=0;c[a>>2]=35828;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Qg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Rg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;Zg(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function Sg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Tg(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Tg(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+172|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!(d>>>0>715827882?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(o=0,e=ka(67,d*6|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;f=e+(d*6|0)|0;c[C+8>>2]=f;while(1){b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;d=d+-1|0;if(!d)break;else e=e+6|0}c[D>>2]=f;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=20;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=18;if((j|0)==18?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=20;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==20){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4596|0;k=$(y,x)|0;l=k+1|0;m=a+4600|0;n=(y|0)>0;p=a+160|0;q=a+168|0;r=a+164|0;s=a+156|0;t=a+88|0;u=a+4592|0;v=0;b:while(1){f=c[C>>2]|0;e=f+6|0;c[j>>2]=e;f=f+(l*6|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*6|0)|0;e=e+((d+-1|0)*6|0)|0;b[g>>1]=b[e>>1]|0;b[g+2>>1]=b[e+2>>1]|0;b[g+4>>1]=b[e+4>>1]|0;g=(c[m>>2]|0)+-6|0;e=c[j>>2]|0;b[g>>1]=b[e>>1]|0;b[g+2>>1]=b[e+2>>1]|0;b[g+4>>1]=b[e+4>>1]|0;o=0;ia(77,a|0,0);g=o;o=0;if(g&1){j=31;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*6|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*6|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*6|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=32;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=44;break a}}if((j|0)==31){f=Na()|0;break}else if((j|0)==32){f=Na()|0;break}}else j=44}while(0);do{if((j|0)==44){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}function Ug(d,f){d=d|0;f=f|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=i;i=i+32|0;D=N+24|0;M=N+18|0;L=N+12|0;E=N+6|0;F=N;G=d+172|0;f=c[G>>2]|0;if((f|0)<=0){i=N;return}H=d+4600|0;I=d+4596|0;J=d+4604|0;K=d+4592|0;C=0;while(1){h=C+-1|0;j=c[H>>2]|0;O=c[I>>2]|0;g=C+1|0;k=e[O+(C*6|0)>>1]|0;B=c[J>>2]|0;l=e[O+(h*6|0)>>1]|0;m=k-l|0;n=e[j+(h*6|0)>>1]|0;o=l-n|0;p=((((a[B+((e[O+(g*6|0)>>1]|0)-k)>>0]|0)*9|0)+(a[B+m>>0]|0)|0)*9|0)+(a[B+o>>0]|0)|0;q=e[O+(C*6|0)+2>>1]|0;r=e[O+(h*6|0)+2>>1]|0;s=q-r|0;t=e[j+(h*6|0)+2>>1]|0;u=r-t|0;v=((((a[B+((e[O+(g*6|0)+2>>1]|0)-q)>>0]|0)*9|0)+(a[B+s>>0]|0)|0)*9|0)+(a[B+u>>0]|0)|0;w=e[O+(C*6|0)+4>>1]|0;x=e[O+(h*6|0)+4>>1]|0;y=w-x|0;z=e[j+(h*6|0)+4>>1]|0;A=x-z|0;B=((((a[B+((e[O+(g*6|0)+4>>1]|0)-w)>>0]|0)*9|0)+(a[B+y>>0]|0)|0)*9|0)+(a[B+A>>0]|0)|0;if(!(v|p|B)){g=j+(h*6|0)|0;b[L>>1]=b[g>>1]|0;b[L+2>>1]=b[g+2>>1]|0;b[L+4>>1]=b[g+4>>1]|0;b[D>>1]=b[g>>1]|0;b[D+2>>1]=b[g+2>>1]|0;b[D+4>>1]=b[g+4>>1]|0;f=Vg(d,D,j+(C*6|0)|0,f-C|0)|0;g=f+C|0;if((g|0)!=(c[G>>2]|0)){O=(c[I>>2]|0)+(g*6|0)|0;b[F>>1]=b[O>>1]|0;b[F+2>>1]=b[O+2>>1]|0;b[F+4>>1]=b[O+4>>1]|0;O=(c[H>>2]|0)+(g*6|0)|0;b[M>>1]=b[L>>1]|0;b[M+2>>1]=b[L+2>>1]|0;b[M+4>>1]=b[L+4>>1]|0;b[D>>1]=b[F>>1]|0;b[D+2>>1]=b[F+2>>1]|0;b[D+4>>1]=b[F+4>>1]|0;Wg(E,d,M,D);b[O>>1]=b[E>>1]|0;b[O+2>>1]=b[E+2>>1]|0;b[O+4>>1]=b[E+4>>1]|0;O=c[K>>2]|0;c[K>>2]=(O|0)<1?0:O+-1|0;f=f+1|0}g=f+C|0}else{h=e[j+(C*6|0)>>1]|0;f=k-n>>31;if((f^o|0)>=0)if((f^m|0)<0)f=n;else f=n-l+k|0;else f=k;k=Xg(d,p,h,f,0)|0;h=e[(c[H>>2]|0)+(C*6|0)+2>>1]|0;f=q-t>>31;if((f^u|0)>=0)if((f^s|0)<0)f=t;else f=t-r+q|0;else f=q;h=Xg(d,v,h,f,0)|0;j=e[(c[H>>2]|0)+(C*6|0)+4>>1]|0;f=w-z>>31;if((f^A|0)>=0)if((f^y|0)<0)f=z;else f=z-x+w|0;else f=w;B=Xg(d,B,j,f,0)|0;O=c[H>>2]|0;b[O+(C*6|0)>>1]=k;b[O+(C*6|0)+2>>1]=h;b[O+(C*6|0)+4>>1]=B}f=c[G>>2]|0;if((g|0)>=(f|0))break;else C=g}i=N;return}function Vg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4592|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)<=0)return h|0;i=0;do{r=f+(i*6|0)|0;b[r>>1]=b[e>>1]|0;b[r+2>>1]=b[e+2>>1]|0;b[r+4>>1]=b[e+4>>1]|0;i=i+1|0}while((i|0)!=(h|0));return h|0}function Wg(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=d+4568|0;o=Yg(d,l)|0;j=Yg(d,l)|0;l=Yg(d,l)|0;i=d+128|0;h=e[g>>1]|0;m=c[d+136>>2]|0;n=m<<1|1;h=($($(n,o)|0,h-(e[f>>1]|0)>>31|1)|0)+h|0;o=0-m|0;if((h|0)>=(o|0)){i=c[i>>2]|0;if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else{h=($(c[d+132>>2]|0,n)|0)+h|0;i=c[i>>2]|0}if((h&i|0)!=(h|0))h=i&~(h>>31);k=h&65535;h=e[g+2>>1]|0;h=($($(n,j)|0,h-(e[f+2>>1]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else h=($(c[d+132>>2]|0,n)|0)+h|0;if((h&i|0)!=(h|0))h=i&~(h>>31);j=h&65535;h=e[g+4>>1]|0;h=($($(n,l)|0,h-(e[f+4>>1]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else h=($(c[d+132>>2]|0,n)|0)+h|0;if((h&i|0)==(h|0)){d=h;d=d&65535;b[a>>1]=k;o=a+2|0;b[o>>1]=j;a=a+4|0;b[a>>1]=d;return}d=i&~(h>>31);d=d&65535;b[a>>1]=k;o=a+2|0;b[o>>1]=j;a=a+4|0;b[a>>1]=d;return}function Xg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&65535;return d|0}d=f&~(h>>31);d=d&65535;return d|0}function Yg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function Zg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function _g(a){a=a|0;var b=0,d=0;c[a>>2]=35800;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function $g(a){a=a|0;var b=0,d=0;c[a>>2]=35800;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ah(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function bh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;jh(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function ch(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);dh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function dh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=b+172|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[D>>2]|0)+3|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){h=b+8|0;b:do{if((c[h>>2]|0)>0){j=b+4596|0;k=$(y,x)|0;l=k+1|0;m=b+4600|0;n=(y|0)>0;p=b+160|0;q=b+168|0;r=b+164|0;s=b+156|0;t=b+88|0;u=b+4592|0;v=0;c:while(1){f=c[C>>2]|0;e=f+3|0;c[j>>2]=e;f=f+(l*3|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*3|0)|0;e=e+((d+-1|0)*3|0)|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;e=c[j>>2]|0;g=(c[m>>2]|0)+-3|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;o=0;ia(78,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*3|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*3|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*3|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){f=Na()|0;break}else if((h|0)==31){f=Na()|0;break}}else h=43}while(0);do{if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function eh(b,e){b=b|0;e=e|0;var f=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,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;M=i;i=i+16|0;C=M+12|0;L=M+9|0;K=M+6|0;D=M+3|0;E=M;F=b+172|0;e=c[F>>2]|0;if((e|0)<=0){i=M;return}G=b+4600|0;H=b+4596|0;I=b+4604|0;J=b+4592|0;B=0;while(1){y=B+-1|0;g=c[G>>2]|0;h=g+(y*3|0)|0;N=c[H>>2]|0;f=B+1|0;j=d[N+(B*3|0)>>0]|0;A=c[I>>2]|0;k=d[N+(y*3|0)>>0]|0;l=j-k|0;m=d[h>>0]|0;n=k-m|0;o=((((a[A+((d[N+(f*3|0)>>0]|0)-j)>>0]|0)*9|0)+(a[A+l>>0]|0)|0)*9|0)+(a[A+n>>0]|0)|0;p=d[N+(B*3|0)+1>>0]|0;q=d[N+(y*3|0)+1>>0]|0;r=p-q|0;s=d[g+(y*3|0)+1>>0]|0;t=q-s|0;u=((((a[A+((d[N+(f*3|0)+1>>0]|0)-p)>>0]|0)*9|0)+(a[A+r>>0]|0)|0)*9|0)+(a[A+t>>0]|0)|0;v=d[N+(B*3|0)+2>>0]|0;w=d[N+(y*3|0)+2>>0]|0;x=v-w|0;y=d[g+(y*3|0)+2>>0]|0;z=w-y|0;A=((((a[A+((d[N+(f*3|0)+2>>0]|0)-v)>>0]|0)*9|0)+(a[A+x>>0]|0)|0)*9|0)+(a[A+z>>0]|0)|0;if(!(u|o|A)){a[K>>0]=a[h>>0]|0;a[K+1>>0]=a[h+1>>0]|0;a[K+2>>0]=a[h+2>>0]|0;a[C>>0]=a[h>>0]|0;a[C+1>>0]=a[h+1>>0]|0;a[C+2>>0]=a[h+2>>0]|0;e=fh(b,C,g+(B*3|0)|0,e-B|0)|0;f=e+B|0;if((f|0)!=(c[F>>2]|0)){N=(c[H>>2]|0)+(f*3|0)|0;a[E>>0]=a[N>>0]|0;a[E+1>>0]=a[N+1>>0]|0;a[E+2>>0]=a[N+2>>0]|0;N=c[G>>2]|0;a[L>>0]=a[K>>0]|0;a[L+1>>0]=a[K+1>>0]|0;a[L+2>>0]=a[K+2>>0]|0;a[C>>0]=a[E>>0]|0;a[C+1>>0]=a[E+1>>0]|0;a[C+2>>0]=a[E+2>>0]|0;gh(D,b,L,C);N=N+(f*3|0)|0;a[N>>0]=a[D>>0]|0;a[N+1>>0]=a[D+1>>0]|0;a[N+2>>0]=a[D+2>>0]|0;N=c[J>>2]|0;c[J>>2]=(N|0)<1?0:N+-1|0;e=e+1|0}f=e+B|0}else{g=d[g+(B*3|0)>>0]|0;e=j-m>>31;if((e^n|0)>=0)if((e^l|0)<0)e=m;else e=m-k+j|0;else e=j;j=hh(b,o,g,e,0)|0;g=d[(c[G>>2]|0)+(B*3|0)+1>>0]|0;e=p-s>>31;if((e^t|0)>=0)if((e^r|0)<0)e=s;else e=s-q+p|0;else e=p;g=hh(b,u,g,e,0)|0;h=d[(c[G>>2]|0)+(B*3|0)+2>>0]|0;e=v-y>>31;if((e^z|0)>=0)if((e^x|0)<0)e=y;else e=y-w+v|0;else e=v;A=hh(b,A,h,e,0)|0;N=(c[G>>2]|0)+(B*3|0)|0;a[N>>0]=j;a[N+1>>0]=g;a[N+2>>0]=A}e=c[F>>2]|0;if((f|0)>=(e|0))break;else B=f}i=M;return}function fh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4592|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;h=0;do{q=e+(h*3|0)|0;a[q>>0]=a[d>>0]|0;a[q+1>>0]=a[d+1>>0]|0;a[q+2>>0]=a[d+2>>0]|0;h=h+1|0}while((h|0)!=(g|0));return g|0}function gh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=e+4568|0;o=ih(e,l)|0;j=ih(e,l)|0;l=ih(e,l)|0;i=e+128|0;h=d[g>>0]|0;m=c[e+136>>2]|0;n=m<<1|1;h=($($(n,o)|0,h-(d[f>>0]|0)>>31|1)|0)+h|0;o=0-m|0;if((h|0)>=(o|0)){i=c[i>>2]|0;if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else{h=($(c[e+132>>2]|0,n)|0)+h|0;i=c[i>>2]|0}if((h&i|0)!=(h|0))h=i&~(h>>31);k=h&255;h=d[g+1>>0]|0;h=($($(n,j)|0,h-(d[f+1>>0]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else h=($(c[e+132>>2]|0,n)|0)+h|0;if((h&i|0)!=(h|0))h=i&~(h>>31);j=h&255;h=d[g+2>>0]|0;h=($($(n,l)|0,h-(d[f+2>>0]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else h=($(c[e+132>>2]|0,n)|0)+h|0;if((h&i|0)==(h|0)){e=h;e=e&255;a[b>>0]=k;o=b+1|0;a[o>>0]=j;b=b+2|0;a[b>>0]=e;return}e=i&~(h>>31);e=e&255;a[b>>0]=k;o=b+1|0;a[o>>0]=j;b=b+2|0;a[b>>0]=e;return}function hh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&255;return d|0}d=f&~(h>>31);d=d&255;return d|0}function ih(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function jh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function kh(a){a=a|0;var b=0,d=0;c[a>>2]=35772;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function lh(a){a=a|0;var b=0,d=0;c[a>>2]=35772;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function mh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function nh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,65535,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;vh(d);g=0;do{c[d+164+(g*12|0)>>2]=1024;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=1024;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=1024;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function oh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);ph(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function ph(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+148|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4572|0;k=$(y,x)|0;l=k+1|0;m=a+4576|0;n=(y|0)>0;p=a+136|0;q=a+144|0;r=a+140|0;s=a+132|0;t=a+88|0;u=a+4568|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(79,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function qh(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4572|0;f=c[p>>2]|0;s=d+148|0;if((c[s>>2]|0)<=0)return;q=d+4576|0;r=d+4580|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(sh(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=rh(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function rh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&65535|0)!=(f|0))f=f>>31&65535^65535;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<47){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}function sh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4576|0;h=c[i>>2]|0;f=b[h+(d+-1<<1)>>1]|0;j=a+148|0;h=th(a,f,h+(d<<1)|0,(c[j>>2]|0)-d|0)|0;g=h+d|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&65535;d=e[(c[a+4572>>2]|0)+(g<<1)>>1]|0;j=f-d|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(uh(a,a+4556|0)|0)+f|0;else f=($(uh(a,a+4544|0)|0,d-f>>31|1)|0)+d|0;b[(c[i>>2]|0)+(g<<1)>>1]=f;j=a+4568|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;j=h+1|0;return j|0}function th(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4568|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function uh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(46-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,16)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function vh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,65535,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8909]|0;c[b+4580>>2]=l+(((c[8910]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=131072){if(h>>>0>131072?(j=d+131072|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,131072-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+65536;j=b+160|0;g=b+156|0;h=-65536;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==65536)break}i=m;return}function wh(a){a=a|0;var b=0,d=0;c[a>>2]=35744;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function xh(a){a=a|0;var b=0,d=0;c[a>>2]=35744;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function yh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function zh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,4095,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;Hh(d);g=0;do{c[d+164+(g*12|0)>>2]=64;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=64;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=64;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Ah(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Bh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Bh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+148|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4572|0;k=$(y,x)|0;l=k+1|0;m=a+4576|0;n=(y|0)>0;p=a+136|0;q=a+144|0;r=a+140|0;s=a+132|0;t=a+88|0;u=a+4568|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(80,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Ch(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4572|0;f=c[p>>2]|0;s=d+148|0;if((c[s>>2]|0)<=0)return;q=d+4576|0;r=d+4580|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(Eh(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=Dh(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function Dh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&4095|0)!=(f|0))f=f>>31&4095^4095;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<35){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}function Eh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4576|0;h=c[i>>2]|0;f=b[h+(d+-1<<1)>>1]|0;j=a+148|0;h=Fh(a,f,h+(d<<1)|0,(c[j>>2]|0)-d|0)|0;g=h+d|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&65535;d=e[(c[a+4572>>2]|0)+(g<<1)>>1]|0;j=f-d|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(Gh(a,a+4556|0)|0)+f|0;else f=($(Gh(a,a+4544|0)|0,d-f>>31|1)|0)+d|0;b[(c[i>>2]|0)+(g<<1)>>1]=f&4095;j=a+4568|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;j=h+1|0;return j|0}function Fh(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4568|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function Gh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(34-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,12)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Hh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,4095,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8906]|0;c[b+4580>>2]=l+(((c[8907]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=8192){if(h>>>0>8192?(j=d+8192|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,8192-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+4096;j=b+160|0;g=b+156|0;h=-4096;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==4096)break}i=m;return}function Ih(a){a=a|0;var b=0,d=0;c[a>>2]=35716;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Jh(a){a=a|0;var b=0,d=0;c[a>>2]=35716;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Kh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Lh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;Th(d);g=0;do{c[d+164+(g*12|0)>>2]=4;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=4;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=4;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Mh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Nh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Nh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=b+148|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[D>>2]|0)+1|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}e=Na()|0;d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){h=b+8|0;b:do{if((c[h>>2]|0)>0){j=b+4572|0;k=$(y,x)|0;l=k+1|0;m=b+4576|0;n=(y|0)>0;p=b+136|0;q=b+144|0;r=b+140|0;s=b+132|0;t=b+88|0;u=b+4568|0;v=0;c:while(1){f=c[C>>2]|0;e=f+1|0;c[j>>2]=e;f=f+l|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;a[e+g>>0]=a[e+(g+-1)>>0]|0;a[(c[m>>2]|0)+-1>>0]=a[c[j>>2]>>0]|0;o=0;ia(81,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+x|0;c[j>>2]=e;d=(c[m>>2]|0)+x|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){e=Na()|0;break}else if((h|0)==31){e=Na()|0;break}}else h=43}while(0);do{if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);i=A;return}}while(0);d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}function Oh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4572|0;e=c[o>>2]|0;r=b+148|0;if((c[r>>2]|0)<=0)return;p=b+4576|0;q=b+4580|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(Qh(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=Ph(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function Ph(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&255|0)!=(f|0))f=f>>31&255^255;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<23){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}function Qh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=b+4576|0;h=c[i>>2]|0;f=a[h+(e+-1)>>0]|0;j=b+148|0;h=Rh(b,f,h+e|0,(c[j>>2]|0)-e|0)|0;g=h+e|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&255;e=d[(c[b+4572>>2]|0)+g>>0]|0;j=f-e|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(Sh(b,b+4556|0)|0)+f|0;else f=($(Sh(b,b+4544|0)|0,e-f>>31|1)|0)+e|0;a[(c[i>>2]|0)+g>>0]=f;j=b+4568|0;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;j=h+1|0;return j|0}function Rh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4568|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;iw(e|0,d|0,g|0)|0;return g|0}function Sh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(22-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,8)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Th(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8900]|0;c[b+4580>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+256;j=b+160|0;g=b+156|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function Uh(a){a=a|0;var b=0,d=0;c[a>>2]=35688;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Vh(a){a=a|0;var b=0,d=0;c[a>>2]=35688;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Wh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Xh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;di(d);g=0;do{c[d+164+(g*12|0)>>2]=4;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=4;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=4;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Yh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Zh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Zh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=b+148|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[D>>2]|0)+3|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){h=b+8|0;b:do{if((c[h>>2]|0)>0){j=b+4572|0;k=$(y,x)|0;l=k+1|0;m=b+4576|0;n=(y|0)>0;p=b+136|0;q=b+144|0;r=b+140|0;s=b+132|0;t=b+88|0;u=b+4568|0;v=0;c:while(1){f=c[C>>2]|0;e=f+3|0;c[j>>2]=e;f=f+(l*3|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*3|0)|0;e=e+((d+-1|0)*3|0)|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;e=c[j>>2]|0;g=(c[m>>2]|0)+-3|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;o=0;ia(82,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*3|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*3|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*3|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){f=Na()|0;break}else if((h|0)==31){f=Na()|0;break}}else h=43}while(0);do{if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function _h(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+148|0;if((c[A>>2]|0)<=0)return;B=b+4576|0;C=b+4572|0;D=b+4580|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=($h(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=ai(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=ai(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=ai(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function $h(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=i;i=i+16|0;n=l+3|0;o=l;h=b+4576|0;e=c[h>>2]|0;f=e+((d+-1|0)*3|0)|0;j=a[f>>0]|0;k=a[f+1>>0]|0;f=a[f+2>>0]|0;a[o>>0]=j;a[o+1>>0]=k;a[o+2>>0]=f;m=b+148|0;g=(c[m>>2]|0)-d|0;a[n>>0]=a[o>>0]|0;a[n+1>>0]=a[o+1>>0]|0;a[n+2>>0]=a[o+2>>0]|0;g=bi(b,n,e+(d*3|0)|0,g)|0;e=g+d|0;if((e|0)==(c[m>>2]|0)){o=g;i=l;return o|0}n=(c[b+4572>>2]|0)+(e*3|0)|0;d=a[n>>0]|0;m=a[n+1>>0]|0;n=a[n+2>>0]|0;o=c[h>>2]|0;p=b+4544|0;h=ci(b,p)|0;q=ci(b,p)|0;d=d&255;m=m&255;m=($(m-(k&255)>>31|1,q)|0)+m&255;n=n&255;n=($(n-(f&255)>>31|1,ci(b,p)|0)|0)+n&255;o=o+(e*3|0)|0;a[o>>0]=($(d-(j&255)>>31|1,h)|0)+d;a[o+1>>0]=m;a[o+2>>0]=n;o=b+4568|0;n=c[o>>2]|0;c[o>>2]=(n|0)<1?0:n+-1|0;o=g+1|0;i=l;return o|0}function ai(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&255|0)!=(f|0))f=f>>31&255^255;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<23){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}function bi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4568|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;h=0;do{q=e+(h*3|0)|0;a[q>>0]=a[d>>0]|0;a[q+1>>0]=a[d+1>>0]|0;a[q+2>>0]=a[d+2>>0]|0;h=h+1|0}while((h|0)!=(g|0));return g|0}function ci(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(22-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,8)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Lp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+128|0;h=n;q=n+116|0;r=n+104|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,0,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(3,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=Uu(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function Mp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+240|0;h=n+8|0;a=n;q=n+204|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,0,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,23,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(3,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=Uu(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function Np(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+352|0;u=z+312|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+316|0;t=z+80|0;k=z+84|0;y=z+76|0;x=z+72|0;v=z+68|0;w=z+64|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58898,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,c[q>>2]=c[d+8>>2],h[q+8>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<3)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(4,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(40,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Op(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+16|0;z=y;x=Is(j,44212)|0;v=Is(j,44368)|0;Cb[c[(c[v>>2]|0)+20>>2]&127](z,v);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,j|0)|0;w=o;o=0;if(w&1)u=8;else{m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=j;m=b+1|0;u=10}break}default:{m=b;u=10}}a:do{if((u|0)==10){w=e;b:do{if((w-m|0)>1?(a[m>>0]|0)==48:0){k=m+1|0;switch(a[k>>0]|0){case 88:case 120:break;default:{u=11;break b}}o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,48)|0;t=o;o=0;if(t&1){u=8;break a}t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=j;m=m+2|0;o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,a[k>>0]|0)|0;t=o;o=0;if(t&1){u=8;break a}t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=j;if(m>>>0>>0){j=m;while(1){k=a[j>>0]|0;o=0;l=ua(3)|0;t=o;o=0;if(t&1)break;o=0;k=ra(39,k<<24>>24|0,l|0)|0;t=o;o=0;if(t&1)break;if(!k){t=m;break b}j=j+1|0;if(j>>>0>=e>>>0){t=m;break b}}j=Na()|0;break a}else{t=m;j=m}}else u=11}while(0);c:do{if((u|0)==11)if(m>>>0>>0){j=m;while(1){k=a[j>>0]|0;o=0;l=ua(3)|0;t=o;o=0;if(t&1)break;o=0;k=ra(40,k<<24>>24|0,l|0)|0;t=o;o=0;if(t&1)break;if(!k){t=m;break c}j=j+1|0;if(j>>>0>=e>>>0){t=m;break c}}j=Na()|0;break a}else{t=m;j=m}}while(0);r=a[z>>0]|0;s=z+4|0;if(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0){if((t|0)!=(j|0)?(n=j+-1|0,t>>>0>>0):0){l=t;k=n;do{r=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=r;l=l+1|0;k=k+-1|0}while(l>>>0>>0)}o=0;n=ka(c[(c[v>>2]|0)+16>>2]|0,v|0)|0;r=o;o=0;if(r&1){u=8;break}p=z+8|0;q=z+1|0;d:do{if(t>>>0>>0){k=0;l=0;r=t;while(1){m=a[((a[z>>0]&1)==0?q:c[p>>2]|0)+l>>0]|0;if(m<<24>>24>0&(k|0)==(m<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=n;k=a[z>>0]|0;m=0;l=(l>>>0<(((k&1)==0?(k&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+l|0}else m=k;o=0;k=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,a[r>>0]|0)|0;A=o;o=0;if(A&1)break;A=c[h>>2]|0;c[h>>2]=A+4;c[A>>2]=k;r=r+1|0;if(r>>>0>=j>>>0)break d;else k=m+1|0}j=Na()|0;break a}}while(0);k=f+(t-b<<2)|0;m=c[h>>2]|0;if((k|0)!=(m|0)){l=m+-4|0;if(k>>>0>>0){do{A=c[k>>2]|0;c[k>>2]=c[l>>2];c[l>>2]=A;k=k+4|0;l=l+-4|0}while(k>>>0>>0);n=x;k=m}else{n=x;k=m}}else n=x}else{o=0;va(c[(c[x>>2]|0)+48>>2]|0,x|0,t|0,j|0,c[h>>2]|0)|0;A=o;o=0;if(A&1){u=8;break}k=(c[h>>2]|0)+(j-t<<2)|0;c[h>>2]=k;n=x}e:do{if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46){l=j;break}o=0;l=ra(c[(c[n>>2]|0)+44>>2]|0,x|0,k|0)|0;A=o;o=0;if(A&1){u=4;break}A=c[h>>2]|0;k=A+4|0;c[h>>2]=k;c[A>>2]=l;j=j+1|0;if(j>>>0>=e>>>0)break e}if((u|0)==4){j=Na()|0;break a}o=0;j=ka(c[(c[v>>2]|0)+12>>2]|0,v|0)|0;A=o;o=0;if(A&1){u=8;break a}A=c[h>>2]|0;k=A+4|0;c[h>>2]=k;c[A>>2]=j;j=l+1|0}}while(0);o=0;va(c[(c[x>>2]|0)+48>>2]|0,x|0,j|0,e|0,k|0)|0;A=o;o=0;if(A&1)u=8;else{A=(c[h>>2]|0)+(w-j<<2)|0;c[h>>2]=A;c[g>>2]=(d|0)==(e|0)?A:f+(d-b<<2)|0;Im(z);i=y;return}}}while(0);if((u|0)==8)j=Na()|0;Im(z);Ya(j|0)}function Pp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+352|0;u=z+304|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+308|0;t=z+72|0;k=z+76|0;y=z+68|0;x=z+64|0;v=z+60|0;w=z+56|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58899,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,h[q>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<3)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(4,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(40,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Qp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+192|0;l=q;b=q+180|0;n=q+160|0;p=q+12|0;k=q+8|0;m=q+4|0;a[b>>0]=a[58901]|0;a[b+1>>0]=a[58902]|0;a[b+2>>0]=a[58903]|0;a[b+3>>0]=a[58904]|0;a[b+4>>0]=a[58905]|0;a[b+5>>0]=a[58906]|0;h=Xo()|0;c[l>>2]=g;b=Su(n,20,h,b,l)|0;g=n+b|0;h=vp(n,g,e)|0;j=jn(e)|0;c[k>>2]=j;o=0;k=ra(37,k|0,44212)|0;r=o;o=0;if(r&1){r=Na()|0;pm(j)|0;Ya(r|0)}else{pm(j)|0;Pb[c[(c[k>>2]|0)+48>>2]&31](k,n,g,p)|0;r=p+(b<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];r=Uu(l,p,(h|0)==(g|0)?r:p+(h-n<<2)|0,r,e,f)|0;i=q;return r|0}return 0}function Rp(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;w=C+16|0;v=C+12|0;z=C+8|0;x=C+4|0;y=C;n=jn(h)|0;c[z>>2]=n;o=0;z=ra(37,z|0,44220)|0;u=o;o=0;if(u&1){C=Na()|0;pm(n)|0;Ya(C|0)}pm(n)|0;c[j>>2]=0;u=z+8|0;n=c[f>>2]|0;a:do{if((l|0)!=(m|0)){b:while(1){p=n;if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0;p=0}}else n=0;s=(n|0)==0;r=c[g>>2]|0;q=r;do{if(r){if((c[r+12>>2]|0)==(c[r+16>>2]|0)?(Eb[c[(c[r>>2]|0)+36>>2]&127](r)|0)==-1:0){c[g>>2]=0;q=0;B=12;break}if(!s){B=13;break b}}else B=12}while(0);if((B|0)==12){B=0;if(s){B=13;break}else r=0}c:do{if((Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[l>>0]|0,0)|0)<<24>>24==37){r=l+1|0;if((r|0)==(m|0)){B=17;break b}t=Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[r>>0]|0,0)|0;switch(t<<24>>24){case 48:case 69:{s=l+2|0;if((s|0)==(m|0)){B=20;break b}l=r;r=Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[s>>0]|0,0)|0;n=t;break}default:{r=t;n=0}}t=c[(c[e>>2]|0)+36>>2]|0;c[x>>2]=p;c[y>>2]=q;c[v>>2]=c[x>>2];c[w>>2]=c[y>>2];c[f>>2]=Sb[t&15](e,v,w,h,j,k,r,n)|0;l=l+2|0}else{p=a[l>>0]|0;if(p<<24>>24>-1?(A=c[u>>2]|0,(b[A+(p<<24>>24<<1)>>1]&8192)!=0):0){do{l=l+1|0;if((l|0)==(m|0)){l=m;break}p=a[l>>0]|0;if(p<<24>>24<=-1)break}while((b[A+(p<<24>>24<<1)>>1]&8192)!=0);p=r;while(1){if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;q=(n|0)==0;do{if(r){if((c[r+12>>2]|0)!=(c[r+16>>2]|0))if(q){t=p;break}else break c;if((Eb[c[(c[r>>2]|0)+36>>2]&127](r)|0)!=-1)if(q^(p|0)==0){t=p;r=p;break}else break c;else{c[g>>2]=0;p=0;B=39;break}}else B=39}while(0);if((B|0)==39){B=0;if(q)break c;else{t=p;r=0}}q=n+12|0;p=c[q>>2]|0;s=n+16|0;if((p|0)==(c[s>>2]|0))p=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else p=d[p>>0]|0;if((p&255)<<24>>24<=-1)break c;if(!(b[(c[u>>2]|0)+(p<<24>>24<<1)>>1]&8192))break c;p=c[q>>2]|0;if((p|0)==(c[s>>2]|0)){Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;p=t;continue}else{c[q>>2]=p+1;p=t;continue}}}q=n+12|0;p=c[q>>2]|0;r=n+16|0;if((p|0)==(c[r>>2]|0))p=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else p=d[p>>0]|0;t=Lb[c[(c[z>>2]|0)+12>>2]&63](z,p&255)|0;if(t<<24>>24!=(Lb[c[(c[z>>2]|0)+12>>2]&63](z,a[l>>0]|0)|0)<<24>>24){B=57;break b}p=c[q>>2]|0;if((p|0)==(c[r>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else c[q>>2]=p+1;l=l+1|0}}while(0);n=c[f>>2]|0;if(!((l|0)!=(m|0)&(c[j>>2]|0)==0))break a}if((B|0)==13){c[j>>2]=4;break}else if((B|0)==17){c[j>>2]=4;break}else if((B|0)==20){c[j>>2]=4;break}else if((B|0)==57){c[j>>2]=4;n=c[f>>2]|0;break}}}while(0);if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;l=(n|0)==0;p=c[g>>2]|0;do{if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0)?(Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0)==-1:0){c[g>>2]=0;B=67;break}if(!l)B=68}else B=67}while(0);if((B|0)==67?l:0)B=68;if((B|0)==68)c[j>>2]=c[j>>2]|2;i=C;return n|0}function Sp(a){a=a|0;return}function Tp(a){a=a|0;cj(a);return}function Up(a){a=a|0;return 2}function Vp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Rp(a,k,j,e,f,g,58907,58915)|0;i=h;return a|0}function Wp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;o=b+8|0;o=Eb[c[(c[o>>2]|0)+20>>2]&127](o)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];e=a[o>>0]|0;p=(e&1)==0;d=p?o+1|0:c[o+8>>2]|0;e=d+(p?(e&255)>>>1:c[o+4>>2]|0)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=Rp(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function Xp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];Yp(a,g+24|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function Yp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(xu(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function Zp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];_p(a,g+16|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function _p(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(xu(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function $p(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];aq(a,g+20|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function aq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function bq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,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;U=i;i=i+144|0;l=U+132|0;k=U+116|0;N=U+128|0;x=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;m=U+88|0;n=U+84|0;p=U+80|0;q=U+76|0;r=U+72|0;s=U+68|0;t=U+64|0;u=U+60|0;v=U+56|0;w=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;c[g>>2]=0;M=jn(f)|0;c[N>>2]=M;o=0;N=ra(37,N|0,44220)|0;W=o;o=0;if(W&1){W=Na()|0;pm(M)|0;Ya(W|0)}pm(M)|0;do{switch(j<<24>>24|0){case 65:case 97:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];Yp(b,h+24|0,d,l,g,N);V=28;break}case 104:case 66:case 98:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];_p(b,h+16|0,d,l,g,N);V=28;break}case 99:{V=b+8|0;V=Eb[c[(c[V>>2]|0)+12>>2]&127](V)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];j=a[V>>0]|0;e=(j&1)==0;W=e?V+1|0:c[V+8>>2]|0;V=W+(e?(j&255)>>>1:c[V+4>>2]|0)|0;c[k>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=Rp(b,k,l,f,g,h,W,V)|0;V=28;break}case 101:case 100:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];cq(b,h+12|0,d,l,g,N);V=28;break}case 68:{c[R>>2]=c[d>>2];c[S>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[S>>2];c[d>>2]=Rp(b,k,l,f,g,h,58915,58923)|0;V=28;break}case 70:{c[T>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[T>>2];c[l>>2]=c[m>>2];c[d>>2]=Rp(b,k,l,f,g,h,58923,58931)|0;V=28;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];dq(b,h+8|0,d,l,g,N);V=28;break}case 73:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];eq(b,h+8|0,d,l,g,N);V=28;break}case 106:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];fq(b,h+28|0,d,l,g,N);V=28;break}case 109:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];gq(b,h+16|0,d,l,g,N);V=28;break}case 77:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];hq(b,h+4|0,d,l,g,N);V=28;break}case 116:case 110:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];iq(b,d,l,g,N);V=28;break}case 112:{c[u>>2]=c[e>>2];c[l>>2]=c[u>>2];jq(b,h+8|0,d,l,g,N);V=28;break}case 114:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[k>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=Rp(b,k,l,f,g,h,58931,58942)|0;V=28;break}case 82:{c[y>>2]=c[d>>2];c[z>>2]=c[e>>2];c[k>>2]=c[y>>2];c[l>>2]=c[z>>2];c[d>>2]=Rp(b,k,l,f,g,h,58942,58947)|0;V=28;break}case 83:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];kq(b,h,d,l,g,N);V=28;break}case 84:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[k>>2]=c[B>>2];c[l>>2]=c[C>>2];c[d>>2]=Rp(b,k,l,f,g,h,58947,58955)|0;V=28;break}case 119:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];lq(b,h+24|0,d,l,g,N);V=28;break}case 120:{W=c[(c[b>>2]|0)+20>>2]|0;c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[k>>2]=c[E>>2];c[l>>2]=c[F>>2];k=Db[W&63](b,k,l,f,g,h)|0;break}case 88:{V=b+8|0;V=Eb[c[(c[V>>2]|0)+24>>2]&127](V)|0;c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];j=a[V>>0]|0;e=(j&1)==0;W=e?V+1|0:c[V+8>>2]|0;V=W+(e?(j&255)>>>1:c[V+4>>2]|0)|0;c[k>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=Rp(b,k,l,f,g,h,W,V)|0;V=28;break}case 121:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];aq(b,h+20|0,d,l,g,N);V=28;break}case 89:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];mq(b,h+20|0,d,l,g,N);V=28;break}case 37:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];nq(b,d,l,g,N);V=28;break}default:{c[g>>2]=c[g>>2]|4;V=28}}}while(0);if((V|0)==28)k=c[d>>2]|0;i=U;return k|0}function cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function dq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function eq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function fq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function gq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function hq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function iq(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){h=c[e>>2]|0;do{if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0}while(0);h=(h|0)==0;a=c[f>>2]|0;do{if(a){if((c[a+12>>2]|0)!=(c[a+16>>2]|0))if(h)break;else break a;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)!=-1)if(h)break;else break a;else{c[f>>2]=0;k=12;break}}else k=12}while(0);if((k|0)==12){k=0;if(h){a=0;break}else a=0}h=c[e>>2]|0;i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=d[i>>0]|0;if((h&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(h<<24>>24<<1)>>1]&8192))break;h=c[e>>2]|0;a=h+12|0;i=c[a>>2]|0;if((i|0)==(c[h+16>>2]|0)){Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;continue}else{c[a>>2]=i+1;continue}}h=c[e>>2]|0;do{if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0}while(0);h=(h|0)==0;do{if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[f>>2]=0;k=32;break}if(!h)k=33}else k=32}while(0);if((k|0)==32?h:0)k=33;if((k|0)==33)c[g>>2]=c[g>>2]|2;return}function jq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Eb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do{if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=xu(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4}while(0);i=n;return}function kq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function lq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function mq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function nq(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a=c[b>>2]|0;do{if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}}else a=0}while(0);h=(a|0)==0;a=c[e>>2]|0;do{if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[e>>2]=0;j=11;break}if(h){i=a;j=13}else j=12}else j=11}while(0);if((j|0)==11)if(h)j=12;else{i=0;j=13}a:do{if((j|0)==12)c[f>>2]=c[f>>2]|6;else if((j|0)==13){a=c[b>>2]|0;h=c[a+12>>2]|0;if((h|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=d[h>>0]|0;if((Gb[c[(c[g>>2]|0)+36>>2]&63](g,a&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}a=c[b>>2]|0;h=a+12|0;g=c[h>>2]|0;if((g|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)a=0;else j=21}else{c[h>>2]=g+1;j=21}do{if((j|0)==21)if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}}while(0);a=(a|0)==0;do{if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;j=30;break}if(a)break a}else j=30}while(0);if((j|0)==30?!a:0)break;c[f>>2]=c[f>>2]|2}}while(0);return}function oq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+32|0;s=x+16|0;r=x+12|0;v=x+8|0;t=x+4|0;u=x;k=jn(e)|0;c[v>>2]=k;o=0;v=ra(37,v|0,44212)|0;q=o;o=0;if(q&1){x=Na()|0;pm(k)|0;Ya(x|0)}pm(k)|0;c[f>>2]=0;k=c[b>>2]|0;a:do{if((h|0)!=(j|0)){b:while(1){m=k;if(k){l=c[k+12>>2]|0;if((l|0)==(c[k+16>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if((l|0)==-1){c[b>>2]=0;k=0;p=1;q=0}else{p=0;q=m}}else{k=0;p=1;q=m}n=c[d>>2]|0;l=n;do{if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0))m=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(p)break;else{w=17;break b}else{c[d>>2]=0;l=0;w=15;break}}else w=15}while(0);if((w|0)==15){w=0;if(p){w=17;break}else n=0}c:do{if((Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[h>>2]|0,0)|0)<<24>>24==37){m=h+4|0;if((m|0)==(j|0)){w=21;break b}p=Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[m>>2]|0,0)|0;switch(p<<24>>24){case 48:case 69:{n=h+8|0;if((n|0)==(j|0)){w=24;break b}h=m;m=Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[n>>2]|0,0)|0;k=p;break}default:{m=p;k=0}}p=c[(c[a>>2]|0)+36>>2]|0;c[t>>2]=q;c[u>>2]=l;c[r>>2]=c[t>>2];c[s>>2]=c[u>>2];c[b>>2]=Sb[p&15](a,r,s,e,f,g,m,k)|0;h=h+8|0}else{if(!(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,c[h>>2]|0)|0)){m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;q=Lb[c[(c[v>>2]|0)+28>>2]&63](v,l)|0;if((q|0)!=(Lb[c[(c[v>>2]|0)+28>>2]&63](v,c[h>>2]|0)|0)){w=61;break b}l=c[m>>2]|0;if((l|0)==(c[n>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else c[m>>2]=l+4;h=h+4|0;break}do{h=h+4|0;if((h|0)==(j|0)){h=j;break}}while(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,c[h>>2]|0)|0);l=n;p=n;while(1){if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))m=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;k=0}else n=0}else{n=1;k=0}do{if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(n^(l|0)==0){q=l;p=l;break}else break c;else{c[d>>2]=0;l=0;w=44;break}}else w=44}while(0);if((w|0)==44){w=0;if(n)break c;else{q=l;p=0}}m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if(!(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,l)|0))break c;l=c[m>>2]|0;if((l|0)==(c[n>>2]|0)){Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;l=q;continue}else{c[m>>2]=l+4;l=q;continue}}}}while(0);k=c[b>>2]|0;if(!((h|0)!=(j|0)&(c[f>>2]|0)==0))break a}if((w|0)==17){c[f>>2]=4;break}else if((w|0)==21){c[f>>2]=4;break}else if((w|0)==24){c[f>>2]=4;break}else if((w|0)==61){c[f>>2]=4;k=c[b>>2]|0;break}}}while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}h=c[d>>2]|0;do{if(h){l=c[h+12>>2]|0;if((l|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[l>>2]|0;if((h|0)!=-1)if(m)break;else{w=76;break}else{c[d>>2]=0;w=74;break}}else w=74}while(0);if((w|0)==74?m:0)w=76;if((w|0)==76)c[f>>2]=c[f>>2]|2;i=x;return k|0}function pq(a){a=a|0;return}function qq(a){a=a|0;cj(a);return}function rq(a){a=a|0;return 2}function sq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=oq(a,k,j,e,f,g,44788,44820)|0;i=h;return a|0}function tq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;q=b+8|0;q=Eb[c[(c[q>>2]|0)+20>>2]&127](q)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];o=a[q>>0]|0;p=(o&1)==0;e=q+4|0;d=p?e:c[q+8>>2]|0;e=d+((p?(o&255)>>>1:c[e>>2]|0)<<2)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=oq(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function uq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];vq(a,g+24|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function vq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Iu(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function wq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];xq(a,g+16|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function xq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Iu(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function yq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];zq(a,g+20|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function zq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function Aq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,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;U=i;i=i+144|0;l=U+132|0;k=U+116|0;N=U+128|0;x=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;m=U+88|0;n=U+84|0;p=U+80|0;q=U+76|0;r=U+72|0;s=U+68|0;t=U+64|0;u=U+60|0;v=U+56|0;w=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;c[g>>2]=0;M=jn(f)|0;c[N>>2]=M;o=0;N=ra(37,N|0,44212)|0;W=o;o=0;if(W&1){W=Na()|0;pm(M)|0;Ya(W|0)}pm(M)|0;do{switch(j<<24>>24|0){case 65:case 97:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];vq(b,h+24|0,d,l,g,N);V=28;break}case 104:case 66:case 98:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];xq(b,h+16|0,d,l,g,N);V=28;break}case 99:{W=b+8|0;W=Eb[c[(c[W>>2]|0)+12>>2]&127](W)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];j=a[W>>0]|0;e=(j&1)==0;V=W+4|0;W=e?V:c[W+8>>2]|0;V=W+((e?(j&255)>>>1:c[V>>2]|0)<<2)|0;c[k>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=oq(b,k,l,f,g,h,W,V)|0;V=28;break}case 101:case 100:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];Bq(b,h+12|0,d,l,g,N);V=28;break}case 68:{c[R>>2]=c[d>>2];c[S>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[S>>2];c[d>>2]=oq(b,k,l,f,g,h,44820,44852)|0;V=28;break}case 70:{c[T>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[T>>2];c[l>>2]=c[m>>2];c[d>>2]=oq(b,k,l,f,g,h,44852,44884)|0;V=28;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];Cq(b,h+8|0,d,l,g,N);V=28;break}case 73:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];Dq(b,h+8|0,d,l,g,N);V=28;break}case 106:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];Eq(b,h+28|0,d,l,g,N);V=28;break}case 109:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];Fq(b,h+16|0,d,l,g,N);V=28;break}case 77:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];Gq(b,h+4|0,d,l,g,N);V=28;break}case 116:case 110:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];Hq(b,d,l,g,N);V=28;break}case 112:{c[u>>2]=c[e>>2];c[l>>2]=c[u>>2];Iq(b,h+8|0,d,l,g,N);V=28;break}case 114:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[k>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=oq(b,k,l,f,g,h,44884,44928)|0;V=28;break}case 82:{c[y>>2]=c[d>>2];c[z>>2]=c[e>>2];c[k>>2]=c[y>>2];c[l>>2]=c[z>>2];c[d>>2]=oq(b,k,l,f,g,h,44928,44948)|0;V=28;break}case 83:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];Jq(b,h,d,l,g,N);V=28;break}case 84:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[k>>2]=c[B>>2];c[l>>2]=c[C>>2];c[d>>2]=oq(b,k,l,f,g,h,44948,44980)|0;V=28;break}case 119:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];Kq(b,h+24|0,d,l,g,N);V=28;break}case 120:{W=c[(c[b>>2]|0)+20>>2]|0;c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[k>>2]=c[E>>2];c[l>>2]=c[F>>2];k=Db[W&63](b,k,l,f,g,h)|0;break}case 88:{W=b+8|0;W=Eb[c[(c[W>>2]|0)+24>>2]&127](W)|0;c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];j=a[W>>0]|0;e=(j&1)==0;V=W+4|0;W=e?V:c[W+8>>2]|0;V=W+((e?(j&255)>>>1:c[V>>2]|0)<<2)|0;c[k>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=oq(b,k,l,f,g,h,W,V)|0;V=28;break}case 121:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];zq(b,h+20|0,d,l,g,N);V=28;break}case 89:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];Lq(b,h+20|0,d,l,g,N);V=28;break}case 37:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];Mq(b,d,l,g,N);V=28;break}default:{c[g>>2]=c[g>>2]|4;V=28}}}while(0);if((V|0)==28)k=c[d>>2]|0;i=U;return k|0}function Bq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Dq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Eq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Fq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function Gq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Hq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do{if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1}while(0);g=c[d>>2]|0;do{if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15}while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if(!(Gb[c[(c[f>>2]|0)+12>>2]&63](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;continue}else{c[g>>2]=h+4;continue}}a=c[b>>2]|0;do{if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break;else{i=39;break}else{c[d>>2]=0;i=37;break}}else i=37}while(0);if((i|0)==37?g:0)i=39;if((i|0)==39)c[e>>2]=c[e>>2]|2;return}function Iq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Eb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do{if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=Iu(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4}while(0);i=n;return}function Jq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Kq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Lq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function Mq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a=c[b>>2]|0;do{if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1}while(0);g=c[d>>2]|0;do{if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14}while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do{if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((Gb[c[(c[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)g=1;else j=25}else{c[g>>2]=h+4;j=25}do{if((j|0)==25){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}}while(0);do{if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break a;else break;else{c[d>>2]=0;j=37;break}}else j=37}while(0);if((j|0)==37?!g:0)break;c[e>>2]=c[e>>2]|2}}while(0);return}function Nq(a){a=a|0;Oq(a+8|0);return}function Oq(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;o=0;d=ua(3)|0;e=o;o=0;do{if(!(e&1)){if((b|0)!=(d|0)?(o=0,ha(188,c[a>>2]|0),e=o,o=0,e&1):0)break;return}}while(0);e=Na(0)|0;ec(e)}function Pq(a){a=a|0;Oq(a+8|0);cj(a);return}function Qq(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;l=i;i=i+112|0;k=l+4|0;e=l;c[e>>2]=k+100;Rq(b+8|0,k,e,g,h,j);g=c[e>>2]|0;e=c[d>>2]|0;if((k|0)!=(g|0))do{j=a[k>>0]|0;do{if(e){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){d=(Lb[c[(c[e>>2]|0)+52>>2]&63](e,j&255)|0)==-1;e=d?0:e;break}else{c[f>>2]=h+1;a[h>>0]=j;break}}else e=0}while(0);k=k+1|0}while((k|0)!=(g|0));i=l;return e|0}function Rq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;a[l>>0]=37;j=l+1|0;a[j>>0]=g;k=l+2|0;a[k>>0]=h;a[l+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}c[e>>2]=d+(Ra(d|0,(c[e>>2]|0)-d|0,l|0,f|0,c[b>>2]|0)|0);i=m;return}function Sq(a){a=a|0;Oq(a+8|0);return}function Tq(a){a=a|0;Oq(a+8|0);cj(a);return}function Uq(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;i=i+416|0;e=j+8|0;d=j;c[d>>2]=e+400;Vq(a+8|0,e,d,f,g,h);a=c[d>>2]|0;d=c[b>>2]|0;if((e|0)!=(a|0)){f=e;do{e=c[f>>2]|0;if(!d)d=0;else{g=d+24|0;h=c[g>>2]|0;if((h|0)==(c[d+28>>2]|0))e=Lb[c[(c[d>>2]|0)+52>>2]&63](d,e)|0;else{c[g>>2]=h+4;c[h>>2]=e}d=(e|0)==-1?0:d}f=f+4|0}while((f|0)!=(a|0))}i=j;return d|0}function Vq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+128|0;l=h+16|0;m=h+12|0;j=h;k=h+8|0;c[m>>2]=l+100;Rq(a,l,m,e,f,g);f=j;c[f>>2]=0;c[f+4>>2]=0;c[k>>2]=l;f=(c[d>>2]|0)-b>>2;g=qk(c[a>>2]|0)|0;o=0;f=va(18,b|0,k|0,f|0,j|0)|0;a=o;o=0;if(a&1){f=Na()|0;if((g|0)!=0?(o=0,ka(75,g|0)|0,m=o,o=0,m&1):0){m=Na(0)|0;ec(m)}Ya(f|0)}if((g|0)!=0?(o=0,ka(75,g|0)|0,m=o,o=0,m&1):0){m=Na(0)|0;ec(m)}if((f|0)==-1)Rr(58955);else{c[d>>2]=b+(f<<2);i=h;return}}function Wq(a){a=a|0;return}function Xq(a){a=a|0;cj(a);return}function Yq(a){a=a|0;return 127}function Zq(a){a=a|0;return 127}function _q(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function $q(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ar(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function br(a,b){a=a|0;b=b|0;Hm(a,1,45);return}function cr(a){a=a|0;return 0}function dr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function er(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function fr(a){a=a|0;return}function gr(a){a=a|0;cj(a);return}function hr(a){a=a|0;return 127}function ir(a){a=a|0;return 127}function jr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function kr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function lr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function mr(a,b){a=a|0;b=b|0;Hm(a,1,45);return}function nr(a){a=a|0;return 0}function or(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function pr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function qr(a){a=a|0;return}function rr(a){a=a|0;cj(a);return}function sr(a){a=a|0;return 2147483647}function tr(a){a=a|0;return 2147483647}function ur(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function vr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function wr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function xr(a,b){a=a|0;b=b|0;Vm(a,1,45);return}function yr(a){a=a|0;return 0}function zr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Ar(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Br(a){a=a|0;return}function Cr(a){a=a|0;cj(a);return}function Dr(a){a=a|0;return 2147483647}function Er(a){a=a|0;return 2147483647}function Fr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Gr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Hr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Ir(a,b){a=a|0;b=b|0;Vm(a,1,45);return}function Jr(a){a=a|0;return 0}function Kr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Lr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Mr(a){a=a|0;return}function Nr(a){a=a|0;cj(a);return}function Or(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;B=i;i=i+240|0;z=B+24|0;A=B;b=B+136|0;D=B+16|0;y=B+12|0;C=B+8|0;p=B+134|0;l=B+4|0;x=B+124|0;c[D>>2]=b;E=D+4|0;c[E>>2]=189;m=b+100|0;o=0;k=ka(68,g|0)|0;w=o;o=0;if(!(w&1)){c[C>>2]=k;o=0;b=ra(37,C|0,44220)|0;w=o;o=0;a:do{if(!(w&1)?(a[p>>0]=0,c[l>>2]=c[e>>2],n=c[g+4>>2]|0,o=0,c[z>>2]=c[l>>2],n=la(1,d|0,z|0,f|0,C|0,n|0,h|0,p|0,b|0,D|0,y|0,m|0)|0,w=o,o=0,!(w&1)):0){b:do{if(n){o=0;va(c[(c[b>>2]|0)+32>>2]|0,b|0,58976,58986,x|0)|0;w=o;o=0;if(w&1){G=10;break a}l=c[y>>2]|0;m=c[D>>2]|0;b=l-m|0;if((b|0)>98){b=Fl(b+2|0)|0;k=b;if(!b){o=0;xa(6);w=o;o=0;if(!(w&1)){b=0;G=13}}else G=13}else{k=0;b=z;G=13}do{if((G|0)==13){if(a[p>>0]|0){a[b>>0]=45;b=b+1|0}v=x+10|0;w=x;if(m>>>0>>0){n=x+1|0;f=n+1|0;g=f+1|0;p=g+1|0;q=p+1|0;r=q+1|0;s=r+1|0;t=s+1|0;u=t+1|0;do{l=a[m>>0]|0;do{if((a[x>>0]|0)!=l<<24>>24)if((a[n>>0]|0)!=l<<24>>24)if((a[f>>0]|0)!=l<<24>>24)if((a[g>>0]|0)!=l<<24>>24)if((a[p>>0]|0)==l<<24>>24)l=p;else{if((a[q>>0]|0)==l<<24>>24){l=q;break}if((a[r>>0]|0)==l<<24>>24){l=r;break}if((a[s>>0]|0)==l<<24>>24){l=s;break}if((a[t>>0]|0)==l<<24>>24){l=t;break}l=(a[u>>0]|0)==l<<24>>24?u:v}else l=g;else l=f;else l=n;else l=x}while(0);a[b>>0]=a[58976+(l-w)>>0]|0;m=m+1|0;b=b+1|0}while(m>>>0<(c[y>>2]|0)>>>0)}a[b>>0]=0;c[A>>2]=j;if(($k(z,58987,A)|0)!=1?(o=0,ha(190,58991),j=o,o=0,j&1):0)break;if(k)Gl(k);break b}}while(0);b=Na()|0;if(!k){l=b;k=D;break a}Gl(k);l=b;k=D;break a}}while(0);b=c[d>>2]|0;do{if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}if((b|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}}else b=0}while(0);k=(b|0)==0;b=c[e>>2]|0;do{if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}if((b|0)==-1){c[e>>2]=0;G=37;break}}if(!k)G=38}else G=37}while(0);if((G|0)==37?k:0)G=38;if((G|0)==38)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(c[C>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if((b|0)!=0?(o=0,ha(c[E>>2]|0,b|0),G=o,o=0,G&1):0){G=Na(0)|0;ec(G)}i=B;return k|0}else G=10}while(0);if((G|0)==10){l=Na()|0;k=D}pm(c[C>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=0;if(!b)F=l;else{k=c[E>>2]|0;G=45}}else{l=Na()|0;c[D>>2]=0;k=189;G=45}if((G|0)==45){o=0;ha(k|0,b|0);G=o;o=0;if(G&1){G=Na(0)|0;ec(G)}else F=l}Ya(F|0);return 0}function Pr(a){a=a|0;return}function Qr(e,f,g,h,j,k,l,m,n,p,q){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;ba=i;i=i+512|0;P=ba+88|0;u=ba+96|0;da=ba+80|0;T=ba+72|0;S=ba+68|0;U=ba+500|0;Q=ba+497|0;V=ba+496|0;Y=ba+56|0;aa=ba+44|0;_=ba+32|0;Z=ba+20|0;$=ba+8|0;R=ba+4|0;X=ba;c[P>>2]=q;c[da>>2]=u;ca=da+4|0;c[ca>>2]=189;c[T>>2]=u;c[S>>2]=u+400;c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;o=0;qa(1,g|0,h|0,U|0,Q|0,V|0,Y|0,aa|0,_|0,Z|0,R|0);O=o;o=0;a:do{if(O&1)m=Na()|0;else{c[p>>2]=c[n>>2];I=m+8|0;J=_+4|0;K=Z+4|0;L=Z+8|0;M=Z+1|0;N=_+8|0;O=_+1|0;z=(j&512|0)!=0;A=aa+8|0;B=aa+1|0;C=aa+4|0;D=$+4|0;E=$+8|0;F=$+1|0;G=U+3|0;H=Y+4|0;y=0;t=0;b:while(1){q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);q=(q|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(q){x=m;break}else{W=235;break b}o=0;g=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=24;break b}if((g|0)!=-1)if(q){x=m;break}else{W=235;break b}else{c[f>>2]=0;W=15;break}}else W=15}while(0);if((W|0)==15){W=0;if(q){W=235;break}else x=0}c:do{switch(a[U+y>>0]|0){case 1:{if((y|0)!=3){q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=24;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24<=-1){W=40;break b}if(!(b[(c[I>>2]|0)+(q<<24>>24<<1)>>1]&8192)){W=40;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=24;break b}}else{c[m>>2]=g+1;q=d[g>>0]|0}o=0;ia(67,$|0,q&255|0);W=o;o=0;if(W&1){W=24;break b}else{q=x;h=x;W=42}}break}case 0:{if((y|0)!=3){q=x;h=x;W=42}break}case 3:{m=a[_>>0]|0;q=(m&1)==0?(m&255)>>>1:c[J>>2]|0;g=a[Z>>0]|0;h=(g&1)==0?(g&255)>>>1:c[K>>2]|0;if((q|0)!=(0-h|0)){if(!q){q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}m=a[Z>>0]|0}else{q=d[m>>0]|0;m=g}if((q&255)<<24>>24!=(a[((m&1)==0?M:c[L>>2]|0)>>0]|0))break c;q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;a[l>>0]=1;x=a[Z>>0]|0;t=((x&1)==0?(x&255)>>>1:c[K>>2]|0)>>>0>1?Z:t;break c}j=c[e>>2]|0;r=c[j+12>>2]|0;g=c[j+16>>2]|0;q=(r|0)==(g|0);if(!h){if(q){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}m=a[_>>0]|0}else q=d[r>>0]|0;if((q&255)<<24>>24!=(a[((m&1)==0?O:c[N>>2]|0)>>0]|0)){a[l>>0]=1;break c}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;x=a[_>>0]|0;t=((x&1)==0?(x&255)>>>1:c[J>>2]|0)>>>0>1?_:t;break c}if(q){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}g=c[e>>2]|0;m=a[_>>0]|0;j=g;r=c[g+12>>2]|0;g=c[g+16>>2]|0}else q=d[r>>0]|0;h=j+12|0;g=(r|0)==(g|0);if((q&255)<<24>>24==(a[((m&1)==0?O:c[N>>2]|0)>>0]|0)){if(g){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[h>>2]=r+1;x=a[_>>0]|0;t=((x&1)==0?(x&255)>>>1:c[J>>2]|0)>>>0>1?_:t;break c}if(g){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}}else q=d[r>>0]|0;if((q&255)<<24>>24!=(a[((a[Z>>0]&1)==0?M:c[L>>2]|0)>>0]|0)){W=104;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;a[l>>0]=1;x=a[Z>>0]|0;t=((x&1)==0?(x&255)>>>1:c[K>>2]|0)>>>0>1?Z:t}break}case 2:{if(!(y>>>0<2|(t|0)!=0)?!(z|(y|0)==2&(a[G>>0]|0)!=0):0){t=0;break c}v=a[aa>>0]|0;q=(v&1)==0;w=c[A>>2]|0;g=q?B:w;s=g;d:do{if((y|0)!=0?(d[U+(y+-1)>>0]|0)<2:0){r=q?(v&255)>>>1:c[C>>2]|0;h=g+r|0;j=c[I>>2]|0;e:do{if(!r)m=s;else{r=g;m=s;do{q=a[r>>0]|0;if(q<<24>>24<=-1)break e;if(!(b[j+(q<<24>>24<<1)>>1]&8192))break e;r=r+1|0;m=r}while((r|0)!=(h|0))}}while(0);h=m-s|0;j=a[$>>0]|0;q=(j&1)==0;j=q?(j&255)>>>1:c[D>>2]|0;if(j>>>0>=h>>>0){q=q?F:c[E>>2]|0;r=q+j|0;if((m|0)!=(s|0)){q=q+(j-h)|0;while(1){if((a[q>>0]|0)!=(a[g>>0]|0)){m=s;break d}q=q+1|0;if((q|0)==(r|0))break;else g=g+1|0}}}else m=s}else m=s}while(0);q=(v&1)==0;q=(q?B:w)+(q?(v&255)>>>1:c[C>>2]|0)|0;f:do{if((m|0)!=(q|0)){j=x;h=x;q=m;while(1){m=c[e>>2]|0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=21;break b}if((m|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}}else m=0}while(0);g=(m|0)==0;do{if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){m=j;r=h;break}else break f;o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=21;break b}if((m|0)!=-1)if(g^(j|0)==0){m=j;r=j;break}else break f;else{c[f>>2]=0;m=0;W=131;break}}else{m=j;W=131}}while(0);if((W|0)==131){W=0;if(g)break f;else r=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=21;break b}}else g=d[h>>0]|0;if((g&255)<<24>>24!=(a[q>>0]|0))break f;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=21;break b}}else c[h>>2]=j+1;q=q+1|0;g=a[aa>>0]|0;x=(g&1)==0;g=(x?B:c[A>>2]|0)+(x?(g&255)>>>1:c[C>>2]|0)|0;if((q|0)==(g|0)){q=g;break}else{j=m;h=r}}}}while(0);if(z?(x=a[aa>>0]|0,w=(x&1)==0,(q|0)!=((w?B:c[A>>2]|0)+(w?(x&255)>>>1:c[C>>2]|0)|0)):0){W=143;break b}break}case 4:{s=a[V>>0]|0;m=x;j=x;q=0;g:while(1){g=c[e>>2]|0;do{if(g){if((c[g+12>>2]|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=23;break b}if((g|0)==-1){c[e>>2]=0;g=0;break}else{g=c[e>>2]|0;break}}}else g=0}while(0);h=(g|0)==0;do{if(j){if((c[j+12>>2]|0)!=(c[j+16>>2]|0))if(h){r=m;break}else{h=m;break g}o=0;g=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=23;break b}if((g|0)!=-1)if(h^(m|0)==0){r=m;j=m;break}else{h=m;break g}else{c[f>>2]=0;m=0;W=156;break}}else W=156}while(0);if((W|0)==156){W=0;if(h){h=m;break}else{r=m;j=0}}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=23;break b}}else m=d[g>>0]|0;g=m&255;if(g<<24>>24>-1?(b[(c[I>>2]|0)+(m<<24>>24<<1)>>1]&2048)!=0:0){m=c[p>>2]|0;if((m|0)==(c[P>>2]|0)){o=0;wa(12,n|0,p|0,P|0);x=o;o=0;if(x&1){W=23;break b}m=c[p>>2]|0}c[p>>2]=m+1;a[m>>0]=g;q=q+1|0}else{x=a[Y>>0]|0;if(!(g<<24>>24==s<<24>>24&((q|0)!=0?(((x&1)==0?(x&255)>>>1:c[H>>2]|0)|0)!=0:0))){h=r;break}if((u|0)==(c[S>>2]|0)){o=0;wa(13,da|0,T|0,S|0);x=o;o=0;if(x&1){W=23;break b}u=c[T>>2]|0}x=u+4|0;c[T>>2]=x;c[u>>2]=q;u=x;q=0}m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){o=0;ka(c[(c[m>>2]|0)+40>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=23;break b}else{m=r;continue}}else{c[g>>2]=h+1;m=r;continue}}if((q|0)!=0?(c[da>>2]|0)!=(u|0):0){if((u|0)==(c[S>>2]|0)){o=0;wa(13,da|0,T|0,S|0);x=o;o=0;if(x&1){W=24;break b}u=c[T>>2]|0}x=u+4|0;c[T>>2]=x;c[u>>2]=q;u=x}r=c[R>>2]|0;if((r|0)>0){q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);q=(q|0)==0;do{if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0)){o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=24;break b}if((m|0)==-1){c[f>>2]=0;W=193;break}}if(!q){W=198;break b}}else W=193}while(0);if((W|0)==193){W=0;if(q){W=198;break b}else h=0}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24!=(a[Q>>0]|0)){W=198;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;if((r|0)>0){j=h;g=h;s=r;while(1){q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=22;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);m=(q|0)==0;do{if(g){if((c[g+12>>2]|0)!=(c[g+16>>2]|0))if(m){q=j;r=g;break}else{W=222;break b}o=0;q=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=22;break b}if((q|0)!=-1)if(m^(j|0)==0){q=j;r=j;break}else{W=222;break b}else{c[f>>2]=0;q=0;W=215;break}}else{q=j;W=215}}while(0);if((W|0)==215){W=0;if(m){W=222;break b}else r=0}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=22;break b}}else m=d[g>>0]|0;if((m&255)<<24>>24<=-1){W=222;break b}if(!(b[(c[I>>2]|0)+(m<<24>>24<<1)>>1]&2048)){W=222;break b}if((c[p>>2]|0)==(c[P>>2]|0)?(o=0,wa(12,n|0,p|0,P|0),x=o,o=0,x&1):0){W=22;break b}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=22;break b}}else m=d[g>>0]|0;g=c[p>>2]|0;c[p>>2]=g+1;a[g>>0]=m;m=s;s=s+-1|0;c[R>>2]=s;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=22;break b}}else c[h>>2]=j+1;if((m|0)<=1)break;else{j=q;g=r}}}}if((c[p>>2]|0)==(c[n>>2]|0)){W=233;break b}break}default:{}}}while(0);h:do{if((W|0)==42)while(1){W=0;m=c[e>>2]|0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=20;break b}if((m|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}}else m=0}while(0);g=(m|0)==0;do{if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){j=q;break}else break h;o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=20;break b}if((m|0)!=-1)if(g^(q|0)==0){j=q;h=q;break}else break h;else{c[f>>2]=0;q=0;W=54;break}}else W=54}while(0);if((W|0)==54){W=0;if(g)break h;else{j=q;h=0}}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=20;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24<=-1)break h;if(!(b[(c[I>>2]|0)+(q<<24>>24<<1)>>1]&8192))break h;q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=20;break b}}else{c[m>>2]=g+1;q=d[g>>0]|0}o=0;ia(67,$|0,q&255|0);W=o;o=0;if(W&1){W=20;break b}else{q=j;W=42}}}while(0);y=y+1|0;if(y>>>0>=4){W=235;break}}i:switch(W|0){case 20:{m=Na()|0;break a}case 21:{m=Na()|0;break a}case 22:{m=Na()|0;break a}case 23:{m=Na()|0;break a}case 24:{m=Na()|0;break a}case 40:{c[k>>2]=c[k>>2]|4;m=0;break}case 104:{c[k>>2]=c[k>>2]|4;m=0;break}case 143:{c[k>>2]=c[k>>2]|4;m=0;break}case 198:{c[k>>2]=c[k>>2]|4;m=0;break}case 222:{c[k>>2]=c[k>>2]|4;m=0;break}case 233:{c[k>>2]=c[k>>2]|4;m=0;break}case 235:{j:do{if(t){j=t+1|0;r=t+8|0;s=t+4|0;g=1;k:while(1){q=a[t>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[s>>2]|0;if(g>>>0>=q>>>0)break j;q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break k}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);m=(q|0)==0;q=c[f>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break k}if((q|0)==-1){c[f>>2]=0;W=253;break}}if(!m){W=260;break k}}else W=253}while(0);if((W|0)==253?(W=0,m):0){W=260;break}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break}}else q=d[m>>0]|0;if(!(a[t>>0]&1))m=j;else m=c[r>>2]|0;if((q&255)<<24>>24!=(a[m+g>>0]|0)){W=260;break}q=g+1|0;m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){o=0;ka(c[(c[m>>2]|0)+40>>2]|0,m|0)|0;p=o;o=0;if(p&1){W=19;break}else{g=q;continue}}else{c[g>>2]=h+1;g=q;continue}}if((W|0)==19){m=Na()|0;break a}else if((W|0)==260){c[k>>2]=c[k>>2]|4;m=0;break i}}}while(0);q=c[da>>2]|0;if((q|0)!=(u|0)?(c[X>>2]=0,Ur(Y,q,u,X),(c[X>>2]|0)!=0):0){c[k>>2]=c[k>>2]|4;m=0}else m=1;break}}Im($);Im(Z);Im(_);Im(aa);Im(Y);q=c[da>>2]|0;c[da>>2]=0;if((q|0)!=0?(o=0,ha(c[ca>>2]|0,q|0),da=o,o=0,da&1):0){da=Na(0)|0;ec(da)}i=ba;return m|0}}while(0);Im($);Im(Z);Im(_);Im(aa);Im(Y);q=c[da>>2]|0;c[da>>2]=0;if((q|0)!=0?(o=0,ha(c[ca>>2]|0,q|0),da=o,o=0,da&1):0){da=Na(0)|0;ec(da)}Ya(m|0);return 0}function Rr(a){a=a|0;var b=0;b=Ma(8)|0;o=0;ia(90,b|0,a|0);a=o;o=0;if(a&1){a=Na()|0;La(b|0);Ya(a|0)}else lb(b|0,616,80)}function Sr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+144|0;k=w+24|0;b=w+32|0;x=w+16|0;s=w+8|0;p=w+4|0;q=w+28|0;l=w;c[x>>2]=b;A=x+4|0;c[A>>2]=189;m=b+100|0;o=0;v=ka(68,g|0)|0;n=o;o=0;if(!(n&1)){c[p>>2]=v;o=0;n=ra(37,p|0,44220)|0;b=o;o=0;a:do{if(!(b&1)?(a[q>>0]=0,t=c[e>>2]|0,c[l>>2]=t,r=c[g+4>>2]|0,u=t,o=0,c[k>>2]=c[l>>2],r=la(1,d|0,k|0,f|0,p|0,r|0,h|0,q|0,n|0,x|0,s|0,m|0)|0,g=o,o=0,!(g&1)):0){if(r){if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}if(a[q>>0]|0){o=0;b=ra(c[(c[n>>2]|0)+28>>2]|0,n|0,45)|0;g=o;o=0;if(g&1)break;o=0;ia(67,j|0,b|0);g=o;o=0;if(g&1)break}o=0;l=ra(c[(c[n>>2]|0)+28>>2]|0,n|0,48)|0;g=o;o=0;if(g&1)break;b=c[x>>2]|0;m=c[s>>2]|0;k=m+-1|0;b:do{if(b>>>0>>0)do{if((a[b>>0]|0)!=l<<24>>24)break b;b=b+1|0}while(b>>>0>>0)}while(0);o=0;ma(32,j|0,b|0,m|0)|0;j=o;o=0;if(j&1)break}b=c[d>>2]|0;do{if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1)break a;if((b|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}}else b=0}while(0);k=(b|0)==0;do{if(t){if((c[u+12>>2]|0)==(c[u+16>>2]|0)){o=0;b=ka(c[(c[t>>2]|0)+36>>2]|0,u|0)|0;u=o;o=0;if(u&1)break a;if((b|0)==-1){c[e>>2]=0;z=29;break}}if(!k)z=30}else z=29}while(0);if((z|0)==29?k:0)z=30;if((z|0)==30)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(v)|0;b=c[x>>2]|0;c[x>>2]=0;if((b|0)!=0?(o=0,ha(c[A>>2]|0,b|0),A=o,o=0,A&1):0){A=Na(0)|0;ec(A)}i=w;return k|0}}while(0);k=Na()|0;pm(v)|0;b=c[x>>2]|0;c[x>>2]=0;if(!b)y=k;else z=36}else{k=Na()|0;c[x>>2]=0;z=36}if((z|0)==36){o=0;ha(c[A>>2]|0,b|0);A=o;o=0;if(A&1){A=Na(0)|0;ec(A)}else y=k}Ya(y|0);return 0}function Tr(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+100|0;p=z+88|0;q=z+76|0;r=z+64|0;s=z+52|0;t=z+48|0;u=z+36|0;v=z+24|0;w=z+12|0;x=z;do{if(b){b=Is(d,43828)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](n,b);x=c[n>>2]|0;a[e>>0]=x;a[e+1>>0]=x>>8;a[e+2>>0]=x>>16;a[e+3>>0]=x>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Im(p);Cb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Im(q);a[f>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);Cb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Im(s);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(d,43764)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](t,b);t=c[t>>2]|0;a[e>>0]=t;a[e+1>>0]=t>>8;a[e+2>>0]=t>>16;a[e+3>>0]=t>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Im(u);Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Im(v);a[f>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Im(x);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=y;i=z;return}function Ur(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=a[b>>0]|0;i=b+4|0;h=c[i>>2]|0;a:do{if(((g&1)==0?(g&255)>>>1:h)|0){if((d|0)!=(e|0)){g=e+-4|0;if(g>>>0>d>>>0){h=d;do{j=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=j;h=h+4|0;g=g+-4|0}while(h>>>0>>0)}g=a[b>>0]|0;h=c[i>>2]|0}j=(g&1)==0;i=j?b+1|0:c[b+8>>2]|0;e=e+-4|0;b=i+(j?(g&255)>>>1:h)|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;b:do{if(e>>>0>d>>>0){while(1){if(!g?(h<<24>>24|0)!=(c[d>>2]|0):0)break;i=(b-i|0)>1?i+1|0:i;d=d+4|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;if(d>>>0>=e>>>0)break b}c[f>>2]=4;break a}}while(0);if(!g?((c[e>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}}while(0);return}function Vr(a){a=a|0;return}function Wr(a){a=a|0;cj(a);return}function Xr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;B=i;i=i+576|0;x=B+424|0;A=B;b=B+24|0;D=B+16|0;y=B+12|0;C=B+8|0;p=B+464|0;l=B+4|0;z=B+468|0;c[D>>2]=b;F=D+4|0;c[F>>2]=189;m=b+400|0;o=0;k=ka(68,g|0)|0;w=o;o=0;if(!(w&1)){c[C>>2]=k;o=0;b=ra(37,C|0,44212)|0;w=o;o=0;a:do{if(!(w&1)?(a[p>>0]=0,c[l>>2]=c[e>>2],n=c[g+4>>2]|0,o=0,c[x>>2]=c[l>>2],n=la(2,d|0,x|0,f|0,C|0,n|0,h|0,p|0,b|0,D|0,y|0,m|0)|0,w=o,o=0,!(w&1)):0){b:do{if(n){o=0;va(c[(c[b>>2]|0)+48>>2]|0,b|0,59007,59017,x|0)|0;w=o;o=0;if(w&1){G=10;break a}l=c[y>>2]|0;m=c[D>>2]|0;b=l-m|0;if((b|0)>392){b=Fl((b>>2)+2|0)|0;k=b;if(!b){o=0;xa(6);w=o;o=0;if(!(w&1)){b=0;G=13}}else G=13}else{k=0;b=z;G=13}do{if((G|0)==13){if(a[p>>0]|0){a[b>>0]=45;b=b+1|0}v=x+40|0;w=x;if(m>>>0>>0){n=x+4|0;f=n+4|0;g=f+4|0;p=g+4|0;q=p+4|0;r=q+4|0;s=r+4|0;t=s+4|0;u=t+4|0;do{l=c[m>>2]|0;do{if((c[x>>2]|0)!=(l|0))if((c[n>>2]|0)!=(l|0))if((c[f>>2]|0)!=(l|0))if((c[g>>2]|0)!=(l|0))if((c[p>>2]|0)==(l|0))l=p;else{if((c[q>>2]|0)==(l|0)){l=q;break}if((c[r>>2]|0)==(l|0)){l=r;break}if((c[s>>2]|0)==(l|0)){l=s;break}if((c[t>>2]|0)==(l|0)){l=t;break}l=(c[u>>2]|0)==(l|0)?u:v}else l=g;else l=f;else l=n;else l=x}while(0);a[b>>0]=a[59007+(l-w>>2)>>0]|0;m=m+4|0;b=b+1|0}while(m>>>0<(c[y>>2]|0)>>>0)}a[b>>0]=0;c[A>>2]=j;if(($k(z,58987,A)|0)!=1?(o=0,ha(190,58991),j=o,o=0,j&1):0)break;if(k)Gl(k);break b}}while(0);b=Na()|0;if(!k){l=b;k=D;break a}Gl(k);l=b;k=D;break a}}while(0);b=c[d>>2]|0;do{if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}}else b=c[k>>2]|0;if((b|0)==-1){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1}while(0);b=c[e>>2]|0;do{if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}}else b=c[k>>2]|0;if((b|0)!=-1)if(l)break;else{G=40;break}else{c[e>>2]=0;G=38;break}}else G=38}while(0);if((G|0)==38?l:0)G=40;if((G|0)==40)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(c[C>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if((b|0)!=0?(o=0,ha(c[F>>2]|0,b|0),G=o,o=0,G&1):0){G=Na(0)|0;ec(G)}i=B;return k|0}else G=10}while(0);if((G|0)==10){l=Na()|0;k=D}pm(c[C>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=0;if(!b)E=l;else{k=c[F>>2]|0;G=47}}else{l=Na()|0;c[D>>2]=0;k=189;G=47}if((G|0)==47){o=0;ha(k|0,b|0);G=o;o=0;if(G&1){G=Na(0)|0;ec(G)}else E=l}Ya(E|0);return 0}function Yr(b,e,f,g,h,j,k,l,m,n,p){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Y=i;i=i+512|0;K=Y+96|0;q=Y+104|0;_=Y+88|0;O=Y+80|0;N=Y+76|0;P=Y+504|0;L=Y+72|0;Q=Y+68|0;T=Y+56|0;X=Y+44|0;V=Y+32|0;U=Y+20|0;W=Y+8|0;M=Y+4|0;S=Y;c[K>>2]=p;c[_>>2]=q;Z=_+4|0;c[Z>>2]=189;c[O>>2]=q;c[N>>2]=q+400;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;qa(2,f|0,g|0,P|0,L|0,Q|0,T|0,X|0,V|0,U|0,M|0);J=o;o=0;a:do{if(J&1)f=Na()|0;else{c[n>>2]=c[m>>2];G=V+4|0;H=U+4|0;I=U+8|0;J=V+8|0;z=(h&512|0)!=0;A=X+8|0;B=X+4|0;C=W+4|0;D=W+8|0;E=P+3|0;F=T+4|0;y=0;s=0;b:while(1){p=c[b>>2]|0;do{if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[f>>2]|0;if((p|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);f=c[e>>2]|0;do{if(f){p=c[f+12>>2]|0;if((p|0)==(c[f+16>>2]|0)){o=0;p=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[p>>2]|0;if((p|0)!=-1)if(g){x=f;break}else{t=q;R=244;break b}else{c[e>>2]=0;R=16;break}}else R=16}while(0);if((R|0)==16){R=0;if(g){t=q;R=244;break}else x=0}c:do{switch(a[P+y>>0]|0){case 1:{if((y|0)!=3){p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=26;break b}}else p=c[f>>2]|0;o=0;p=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,p|0)|0;R=o;o=0;if(R&1){R=26;break b}if(!p){R=42;break b}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=26;break b}}else{c[f>>2]=g+4;p=c[g>>2]|0}o=0;ia(92,W|0,p|0);R=o;o=0;if(R&1){R=26;break b}else{p=x;h=x;R=44}}else p=q;break}case 0:{if((y|0)==3)p=q;else{p=x;h=x;R=44}break}case 3:{f=a[V>>0]|0;p=(f&1)==0?(f&255)>>>1:c[G>>2]|0;g=a[U>>0]|0;h=(g&1)==0?(g&255)>>>1:c[H>>2]|0;if((p|0)==(0-h|0))p=q;else{if(!p){p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}f=a[U>>0]|0}else{p=c[f>>2]|0;f=g}if((p|0)!=(c[((f&1)==0?H:c[I>>2]|0)>>2]|0)){p=q;break c}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;a[k>>0]=1;x=a[U>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[H>>2]|0)>>>0>1?U:s;break c}r=c[b>>2]|0;t=c[r+12>>2]|0;g=c[r+16>>2]|0;p=(t|0)==(g|0);if(!h){if(p){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}f=a[V>>0]|0}else p=c[t>>2]|0;if((p|0)!=(c[((f&1)==0?G:c[J>>2]|0)>>2]|0)){a[k>>0]=1;p=q;break c}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;x=a[V>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[G>>2]|0)>>>0>1?V:s;break c}if(p){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}g=c[b>>2]|0;f=a[V>>0]|0;r=g;t=c[g+12>>2]|0;g=c[g+16>>2]|0}else p=c[t>>2]|0;h=r+12|0;g=(t|0)==(g|0);if((p|0)==(c[((f&1)==0?G:c[J>>2]|0)>>2]|0)){if(g){o=0;ka(c[(c[r>>2]|0)+40>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[h>>2]=t+4;x=a[V>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[G>>2]|0)>>>0>1?V:s;break c}if(g){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[t>>2]|0;if((p|0)!=(c[((a[U>>0]&1)==0?H:c[I>>2]|0)>>2]|0)){R=107;break b}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;a[k>>0]=1;x=a[U>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[H>>2]|0)>>>0>1?U:s}break}case 2:{if(!(y>>>0<2|(s|0)!=0)?!(z|(y|0)==2&(a[E>>0]|0)!=0):0){p=q;s=0;break c}h=a[X>>0]|0;g=c[A>>2]|0;f=(h&1)==0?B:g;p=f;d:do{if((y|0)!=0?(d[P+(y+-1)>>0]|0)<2:0){w=(h&1)==0;e:do{if((f|0)!=((w?B:g)+((w?(h&255)>>>1:c[B>>2]|0)<<2)|0)){h=f;while(1){o=0;f=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,c[h>>2]|0)|0;w=o;o=0;if(w&1){R=23;break b}if(!f)break;h=h+4|0;p=h;f=a[X>>0]|0;g=c[A>>2]|0;w=(f&1)==0;if((h|0)==((w?B:g)+((w?(f&255)>>>1:c[B>>2]|0)<<2)|0)){h=f;break e}}h=a[X>>0]|0;g=c[A>>2]|0}}while(0);t=(h&1)==0?B:g;f=t;u=p-f>>2;v=a[W>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(v>>>0>=u>>>0){r=r?C:c[D>>2]|0;w=r+(v<<2)|0;if(!u)f=p;else{r=r+(v-u<<2)|0;while(1){if((c[r>>2]|0)!=(c[t>>2]|0))break d;r=r+4|0;if((r|0)==(w|0)){f=p;break}else t=t+4|0}}}}else f=p}while(0);p=(h&1)==0;p=(p?B:g)+((p?(h&255)>>>1:c[B>>2]|0)<<2)|0;f:do{if((f|0)!=(p|0)){r=x;h=x;p=f;while(1){f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=22;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=22;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(r|0)==0){f=r;t=r;break}else break f;else{c[e>>2]=0;f=0;R=136;break}}else{f=r;R=136}}while(0);if((R|0)==136){R=0;if(g)break f;else t=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=22;break b}}else g=c[h>>2]|0;if((g|0)!=(c[p>>2]|0))break f;g=c[b>>2]|0;h=g+12|0;r=c[h>>2]|0;if((r|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=22;break b}}else c[h>>2]=r+4;p=p+4|0;g=a[X>>0]|0;x=(g&1)==0;g=(x?B:c[A>>2]|0)+((x?(g&255)>>>1:c[B>>2]|0)<<2)|0;if((p|0)==(g|0)){p=g;break}else{r=f;h=t}}}}while(0);if(z?(x=a[X>>0]|0,w=(x&1)==0,(p|0)!=((w?B:c[A>>2]|0)+((w?(x&255)>>>1:c[B>>2]|0)<<2)|0)):0){R=148;break b}else p=q;break}case 4:{v=c[Q>>2]|0;u=x;r=x;p=q;f=0;g:while(1){g=c[b>>2]|0;do{if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=25;break b}}else g=c[h>>2]|0;if((g|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1}while(0);do{if(r){g=c[r+12>>2]|0;if((g|0)==(c[r+16>>2]|0)){o=0;g=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=25;break b}}else g=c[g>>2]|0;if((g|0)!=-1)if(h^(u|0)==0){g=u;t=u;break}else{q=u;break g}else{c[e>>2]=0;g=0;R=162;break}}else{g=u;R=162}}while(0);if((R|0)==162){R=0;if(h){q=g;break}else t=0}h=c[b>>2]|0;q=c[h+12>>2]|0;if((q|0)==(c[h+16>>2]|0)){o=0;h=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=25;break b}}else h=c[q>>2]|0;o=0;q=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,2048,h|0)|0;x=o;o=0;if(x&1){R=25;break b}if(q){q=c[n>>2]|0;if((q|0)==(c[K>>2]|0)){o=0;wa(14,m|0,n|0,K|0);x=o;o=0;if(x&1){R=25;break b}q=c[n>>2]|0}c[n>>2]=q+4;c[q>>2]=h;f=f+1|0}else{x=a[T>>0]|0;if(!((h|0)==(v|0)&((f|0)!=0?(((x&1)==0?(x&255)>>>1:c[F>>2]|0)|0)!=0:0))){q=g;break}if((p|0)==(c[N>>2]|0)){o=0;wa(13,_|0,O|0,N|0);x=o;o=0;if(x&1){R=25;break b}p=c[O>>2]|0}x=p+4|0;c[O>>2]=x;c[p>>2]=f;p=x;f=0}h=c[b>>2]|0;q=h+12|0;r=c[q>>2]|0;if((r|0)==(c[h+16>>2]|0)){o=0;ka(c[(c[h>>2]|0)+40>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=25;break b}else{u=g;r=t;continue}}else{c[q>>2]=r+4;u=g;r=t;continue}}if((f|0)!=0?(c[_>>2]|0)!=(p|0):0){if((p|0)==(c[N>>2]|0)){o=0;wa(13,_|0,O|0,N|0);x=o;o=0;if(x&1){R=26;break b}p=c[O>>2]|0}x=p+4|0;c[O>>2]=x;c[p>>2]=f;p=x}t=c[M>>2]|0;if((t|0)>0){f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(q){f=c[q+12>>2]|0;if((f|0)==(c[q+16>>2]|0)){o=0;f=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g)break;else{R=206;break b}else{c[e>>2]=0;R=200;break}}else R=200}while(0);if((R|0)==200){R=0;if(g){R=206;break b}else q=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[g>>2]|0;if((f|0)!=(c[L>>2]|0)){R=206;break b}f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[g>>2]=h+4;if((t|0)>0){r=q;h=q;u=t;while(1){f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=24;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=24;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(r|0)==0){f=r;t=r;break}else{R=231;break b}else{c[e>>2]=0;f=0;R=224;break}}else{f=r;R=224}}while(0);if((R|0)==224){R=0;if(g){R=231;break b}else t=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=24;break b}}else g=c[h>>2]|0;o=0;g=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,2048,g|0)|0;x=o;o=0;if(x&1){R=24;break b}if(!g){R=231;break b}if((c[n>>2]|0)==(c[K>>2]|0)?(o=0,wa(14,m|0,n|0,K|0),x=o,o=0,x&1):0){R=24;break b}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=24;break b}}else g=c[h>>2]|0;h=c[n>>2]|0;c[n>>2]=h+4;c[h>>2]=g;g=u;u=u+-1|0;c[M>>2]=u;h=c[b>>2]|0;q=h+12|0;r=c[q>>2]|0;if((r|0)==(c[h+16>>2]|0)){o=0;ka(c[(c[h>>2]|0)+40>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=24;break b}}else c[q>>2]=r+4;if((g|0)<=1)break;else{r=f;h=t}}}}if((c[n>>2]|0)==(c[m>>2]|0)){R=242;break b}break}default:p=q}}while(0);h:do{if((R|0)==44)while(1){R=0;f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=21;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=21;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(p|0)==0){r=p;h=p;break}else{p=q;break h}else{c[e>>2]=0;p=0;R=57;break}}else R=57}while(0);if((R|0)==57){R=0;if(g){p=q;break h}else{r=p;h=0}}p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=21;break b}}else p=c[f>>2]|0;o=0;p=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,p|0)|0;x=o;o=0;if(x&1){R=21;break b}if(!p){p=q;break h}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=21;break b}}else{c[f>>2]=g+4;p=c[g>>2]|0}o=0;ia(92,W|0,p|0);R=o;o=0;if(R&1){R=21;break b}else{p=r;R=44}}}while(0);y=y+1|0;if(y>>>0>=4){t=p;R=244;break}else q=p}i:switch(R|0){case 21:{f=Na()|0;break a}case 22:{f=Na()|0;break a}case 23:{f=Na()|0;break a}case 24:{f=Na()|0;break a}case 25:{f=Na()|0;break a}case 26:{f=Na()|0;break a}case 42:{c[j>>2]=c[j>>2]|4;f=0;break}case 107:{c[j>>2]=c[j>>2]|4;f=0;break}case 148:{c[j>>2]=c[j>>2]|4;f=0;break}case 206:{c[j>>2]=c[j>>2]|4;f=0;break}case 231:{c[j>>2]=c[j>>2]|4;f=0;break}case 242:{c[j>>2]=c[j>>2]|4;f=0;break}case 244:{j:do{if(s){q=s+4|0;r=s+8|0;h=1;k:while(1){p=a[s>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[q>>2]|0;if(h>>>0>=p>>>0)break j;p=c[b>>2]|0;do{if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break k}}else p=c[f>>2]|0;if((p|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);p=c[e>>2]|0;do{if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break k}}else p=c[f>>2]|0;if((p|0)!=-1)if(g)break;else{R=271;break k}else{c[e>>2]=0;R=263;break}}else R=263}while(0);if((R|0)==263?(R=0,g):0){R=271;break}p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break}}else p=c[f>>2]|0;if(!(a[s>>0]&1))f=q;else f=c[r>>2]|0;if((p|0)!=(c[f+(h<<2)>>2]|0)){R=271;break}p=h+1|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;n=o;o=0;if(n&1){R=20;break}else{h=p;continue}}else{c[g>>2]=h+4;h=p;continue}}if((R|0)==20){f=Na()|0;break a}else if((R|0)==271){c[j>>2]=c[j>>2]|4;f=0;break i}}}while(0);p=c[_>>2]|0;if((p|0)!=(t|0)?(c[S>>2]=0,Ur(T,p,t,S),(c[S>>2]|0)!=0):0){c[j>>2]=c[j>>2]|4;f=0}else f=1;break}}Wm(W);Wm(U);Wm(V);Wm(X);Im(T);p=c[_>>2]|0;c[_>>2]=0;if((p|0)!=0?(o=0,ha(c[Z>>2]|0,p|0),_=o,o=0,_&1):0){_=Na(0)|0;ec(_)}i=Y;return f|0}}while(0);Wm(W);Wm(U);Wm(V);Wm(X);Im(T);p=c[_>>2]|0;c[_>>2]=0;if((p|0)!=0?(o=0,ha(c[Z>>2]|0,p|0),_=o,o=0,_&1):0){_=Na(0)|0;ec(_)}Ya(f|0);return 0}function Zr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+432|0;k=w+424|0;b=w+24|0;y=w+16|0;s=w+8|0;p=w+4|0;q=w+428|0;l=w;c[y>>2]=b;A=y+4|0;c[A>>2]=189;m=b+400|0;o=0;v=ka(68,g|0)|0;n=o;o=0;if(!(n&1)){c[p>>2]=v;o=0;n=ra(37,p|0,44212)|0;b=o;o=0;a:do{if(!(b&1)?(a[q>>0]=0,t=c[e>>2]|0,c[l>>2]=t,r=c[g+4>>2]|0,u=t,o=0,c[k>>2]=c[l>>2],r=la(2,d|0,k|0,f|0,p|0,r|0,h|0,q|0,n|0,y|0,s|0,m|0)|0,g=o,o=0,!(g&1)):0){if(r){if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;if(a[q>>0]|0){o=0;b=ra(c[(c[n>>2]|0)+44>>2]|0,n|0,45)|0;g=o;o=0;if(g&1)break;o=0;ia(92,j|0,b|0);g=o;o=0;if(g&1)break}o=0;l=ra(c[(c[n>>2]|0)+44>>2]|0,n|0,48)|0;g=o;o=0;if(g&1)break;b=c[y>>2]|0;m=c[s>>2]|0;k=m+-4|0;b:do{if(b>>>0>>0)do{if((c[b>>2]|0)!=(l|0))break b;b=b+4|0}while(b>>>0>>0)}while(0);o=0;ma(33,j|0,b|0,m|0)|0;j=o;o=0;if(j&1)break}b=c[d>>2]|0;do{if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1)break a}else b=c[k>>2]|0;if((b|0)==-1){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1}while(0);do{if(t){b=c[u+12>>2]|0;if((b|0)==(c[u+16>>2]|0)){o=0;b=ka(c[(c[t>>2]|0)+36>>2]|0,u|0)|0;u=o;o=0;if(u&1)break a}else b=c[b>>2]|0;if((b|0)!=-1)if(k)break;else{z=32;break}else{c[e>>2]=0;z=30;break}}else z=30}while(0);if((z|0)==30?k:0)z=32;if((z|0)==32)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(v)|0;b=c[y>>2]|0;c[y>>2]=0;if((b|0)!=0?(o=0,ha(c[A>>2]|0,b|0),A=o,o=0,A&1):0){A=Na(0)|0;ec(A)}i=w;return k|0}}while(0);k=Na()|0;pm(v)|0;b=c[y>>2]|0;c[y>>2]=0;if(!b)x=k;else z=38}else{k=Na()|0;c[y>>2]=0;z=38}if((z|0)==38){o=0;ha(c[A>>2]|0,b|0);A=o;o=0;if(A&1){A=Na(0)|0;ec(A)}else x=k}Ya(x|0);return 0}function _r(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+100|0;p=z+88|0;q=z+76|0;r=z+64|0;s=z+52|0;t=z+48|0;u=z+36|0;v=z+24|0;w=z+12|0;x=z;do{if(b){b=Is(d,43956)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](n,b);x=c[n>>2]|0;a[e>>0]=x;a[e+1>>0]=x>>8;a[e+2>>0]=x>>16;a[e+3>>0]=x>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Wm(p);Cb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Wm(q);c[f>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);Cb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;o=0;ia(93,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Wm(s);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(d,43892)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](t,b);t=c[t>>2]|0;a[e>>0]=t;a[e+1>>0]=t>>8;a[e+2>>0]=t>>16;a[e+3>>0]=t>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Wm(u);Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Wm(v);c[f>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;o=0;ia(93,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Wm(x);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=y;i=z;return}function $r(a){a=a|0;return}function as(a){a=a|0;cj(a);return}function bs(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;D=i;i=i+384|0;v=D+8|0;k=D;m=D+284|0;n=D+72|0;l=D+184|0;F=D+68|0;A=D+80|0;x=D+77|0;B=D+76|0;G=D+56|0;I=D+44|0;H=D+32|0;p=D+28|0;u=D+84|0;z=D+24|0;y=D+20|0;w=D+16|0;c[n>>2]=m;h[v>>3]=j;m=_k(m,100,59018,v)|0;do{if(m>>>0>99){o=0;b=ua(3)|0;C=o;o=0;if(!(C&1)?(o=0,h[k>>3]=j,s=va(17,n|0,b|0,59018,k|0)|0,C=o,o=0,!(C&1)):0){b=c[n>>2]|0;if(!b){o=0;xa(6);C=o;o=0;if(C&1){b=0;k=0;C=7;break}b=c[n>>2]|0}l=Fl(s)|0;k=l;if(!l){o=0;xa(6);C=o;o=0;if(C&1)C=7;else{t=0;C=10}}else{t=l;C=10}}else{b=0;k=0;C=7}}else{k=0;b=0;t=l;s=m;C=10}}while(0);if((C|0)==10){o=0;l=ka(68,f|0)|0;r=o;o=0;if(r&1)C=7;else{c[F>>2]=l;o=0;r=ra(37,F|0,44220)|0;q=o;o=0;if(!(q&1)?(q=c[n>>2]|0,o=0,va(c[(c[r>>2]|0)+32>>2]|0,r|0,q|0,q+s|0,t|0)|0,q=o,o=0,!(q&1)):0){if(!s)q=0;else q=(a[c[n>>2]>>0]|0)==45;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;o=0;qa(3,e|0,q|0,F|0,A|0,x|0,B|0,G|0,I|0,H|0,p|0);e=o;o=0;if(!(e&1)){p=c[p>>2]|0;if((s|0)>(p|0)){e=a[H>>0]|0;m=a[I>>0]|0;m=(s-p<<1|1)+p+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}else{e=a[H>>0]|0;m=a[I>>0]|0;m=p+2+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}if(m>>>0>100){m=Fl(m)|0;n=m;if(!m){o=0;xa(6);u=o;o=0;if(!(u&1)){m=0;C=26}}else C=26}else{n=0;m=u;C=26}if((C|0)==26){o=0;na(1,m|0,z|0,y|0,c[f+4>>2]|0,t|0,t+s|0,r|0,q|0,A|0,a[x>>0]|0,a[B>>0]|0,G|0,I|0,H|0,p|0);B=o;o=0;if(!(B&1)?(c[w>>2]=c[d>>2],d=c[z>>2]|0,E=c[y>>2]|0,o=0,c[v>>2]=c[w>>2],E=ja(39,v|0,m|0,d|0,E|0,f|0,g|0)|0,d=o,o=0,!(d&1)):0){if(n){Gl(n);l=c[F>>2]|0}Im(H);Im(I);Im(G);pm(l)|0;if(k)Gl(k);if(b)Gl(b);i=D;return E|0}}m=Na()|0;if(n){Gl(n);l=c[F>>2]|0}}else m=Na()|0;Im(H);Im(I);Im(G)}else m=Na()|0;pm(l)|0}}if((C|0)==7)m=Na()|0;if(k)Gl(k);if(b)Gl(b);Ya(m|0);return 0}function cs(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+112|0;q=D+108|0;r=D+96|0;u=D+92|0;v=D+80|0;w=D+68|0;x=D+56|0;y=D+52|0;z=D+40|0;A=D+36|0;B=D+24|0;s=D+12|0;t=D;do{if(b){b=Is(e,43828)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](q,b);d=c[q>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](r,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);p=b;break}}else{Cb[c[e+40>>2]&127](u,b);d=c[u>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Im(v);p=b;break}}}while(0);a[g>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[p>>2]|0)+20>>2]&127](w,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[p>>2]|0)+24>>2]&127](x,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[x>>2];c[k+4>>2]=c[x+4>>2];c[k+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Im(x);C=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(e,43764)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](y,b);d=c[y>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](z,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[z>>2];c[l+4>>2]=c[z+4>>2];c[l+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Im(z);n=b;break}}else{Cb[c[e+40>>2]&127](A,b);d=c[A>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](B,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[B>>2];c[l+4>>2]=c[B+4>>2];c[l+8>>2]=c[B+8>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;Im(B);n=b;break}}}while(0);a[g>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[n>>2]|0)+20>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Im(s);Cb[c[(c[n>>2]|0)+24>>2]&127](t,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Im(t);C=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=C;i=D;return}function ds(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){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;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,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;c[f>>2]=d;N=q+4|0;O=q+8|0;P=q+1|0;H=p+4|0;I=(g&512|0)==0;J=p+8|0;K=p+1|0;L=j+8|0;M=(r|0)>0;A=o+4|0;B=o+8|0;C=o+1|0;D=r+1|0;F=-2-r-((r|0)<0?~r:-1)|0;G=(r|0)>0;z=0;do{switch(a[l+z>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];x=Lb[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;break}case 3:{y=a[q>>0]|0;s=(y&1)==0;if((s?(y&255)>>>1:c[N>>2]|0)|0){x=a[(s?P:c[O>>2]|0)>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}break}case 2:{u=a[p>>0]|0;s=(u&1)==0;u=s?(u&255)>>>1:c[H>>2]|0;if(!(I|(u|0)==0)){t=s?K:c[J>>2]|0;v=t+u|0;s=c[f>>2]|0;if(u)do{a[s>>0]=a[t>>0]|0;t=t+1|0;s=s+1|0}while((t|0)!=(v|0));c[f>>2]=s}break}case 4:{s=c[f>>2]|0;h=k?h+1|0:h;w=h;v=c[L>>2]|0;a:do{if(h>>>0>>0){t=h;do{u=a[t>>0]|0;if(u<<24>>24<=-1)break a;if(!(b[v+(u<<24>>24<<1)>>1]&2048))break a;t=t+1|0}while(t>>>0>>0)}else t=h}while(0);u=t;if(M){x=-2-u-~(u>>>0>w>>>0?w:u)|0;x=F>>>0>x>>>0?F:x;if(t>>>0>h>>>0&G){u=t;w=r;while(1){u=u+-1|0;y=a[u>>0]|0;v=c[f>>2]|0;c[f>>2]=v+1;a[v>>0]=y;v=(w|0)>1;if(!(u>>>0>h>>>0&v))break;else w=w+-1|0}}else v=G;y=D+x|0;u=t+(x+1)|0;if(v)w=Lb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;t=c[f>>2]|0;c[f>>2]=t+1;if((y|0)>0){v=y;while(1){a[t>>0]=w;t=c[f>>2]|0;c[f>>2]=t+1;if((v|0)>1)v=v+-1|0;else break}}a[t>>0]=m}else u=t;if((u|0)!=(h|0)){y=a[o>>0]|0;t=(y&1)==0;if(!((t?(y&255)>>>1:c[A>>2]|0)|0))t=-1;else t=a[(t?C:c[B>>2]|0)>>0]|0;if((u|0)!=(h|0)){v=0;w=0;while(1){if((w|0)==(t|0)){y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=n;v=v+1|0;y=a[o>>0]|0;t=(y&1)==0;if(v>>>0<(t?(y&255)>>>1:c[A>>2]|0)>>>0){t=a[(t?C:c[B>>2]|0)+v>>0]|0;t=t<<24>>24==127?-1:t<<24>>24;w=0}else{t=w;w=0}}u=u+-1|0;x=a[u>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;if((u|0)==(h|0))break;else w=w+1|0}}}else{x=Lb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}t=c[f>>2]|0;if((s|0)!=(t|0)?(E=t+-1|0,s>>>0>>0):0){t=E;do{y=a[s>>0]|0;a[s>>0]=a[t>>0]|0;a[t>>0]=y;s=s+1|0;t=t+-1|0}while(s>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);t=a[q>>0]|0;h=(t&1)==0;t=h?(t&255)>>>1:c[N>>2]|0;if(t>>>0>1){s=h?P:c[O>>2]|0;u=s+t|0;h=c[f>>2]|0;if((t|0)!=1){s=s+1|0;do{a[h>>0]=a[s>>0]|0;h=h+1|0;s=s+1|0}while((s|0)!=(u|0))}c[f>>2]=h}switch(g&176|0){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function es(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;z=i;i=i+176|0;r=z+56|0;B=z+52|0;x=z+64|0;u=z+61|0;y=z+60|0;C=z+40|0;E=z+28|0;D=z+16|0;m=z+12|0;q=z+68|0;w=z+8|0;v=z+4|0;s=z;b=jn(f)|0;c[B>>2]=b;o=0;t=ra(37,B|0,44220)|0;p=o;o=0;do{if(p&1)F=13;else{n=a[h>>0]|0;j=(n&1)==0;p=h+4|0;if(!((j?(n&255)>>>1:c[p>>2]|0)|0))n=0;else{j=a[(j?h+1|0:c[h+8>>2]|0)>>0]|0;o=0;k=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,45)|0;n=o;o=0;if(n&1){F=13;break}n=j<<24>>24==k<<24>>24}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;qa(3,e|0,n|0,B|0,x|0,u|0,y|0,C|0,E|0,D|0,m|0);l=o;o=0;if(!(l&1)){l=a[h>>0]|0;e=c[p>>2]|0;j=(l&1)==0?(l&255)>>>1:e;m=c[m>>2]|0;if((j|0)>(m|0)){G=a[D>>0]|0;k=a[E>>0]|0;j=(j-m<<1|1)+m+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{G=a[D>>0]|0;j=a[E>>0]|0;j=m+2+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[E+4>>2]|0)|0}if(j>>>0>100){j=Fl(j)|0;k=j;if(!j){o=0;xa(6);G=o;o=0;if(!(G&1)){l=a[h>>0]|0;e=c[p>>2]|0;j=0;F=17}}else F=17}else{k=0;j=q;F=17}if((F|0)==17){G=(l&1)==0;h=G?h+1|0:c[h+8>>2]|0;o=0;na(1,j|0,w|0,v|0,c[f+4>>2]|0,h|0,h+(G?(l&255)>>>1:e)|0,t|0,n|0,x|0,a[u>>0]|0,a[y>>0]|0,C|0,E|0,D|0,m|0);G=o;o=0;if(!(G&1)?(c[s>>2]=c[d>>2],G=c[w>>2]|0,A=c[v>>2]|0,o=0,c[r>>2]=c[s>>2],A=ja(39,r|0,j|0,G|0,A|0,f|0,g|0)|0,G=o,o=0,!(G&1)):0){if(k){Gl(k);b=c[B>>2]|0}Im(D);Im(E);Im(C);pm(b)|0;i=z;return A|0}}j=Na()|0;if(k){Gl(k);b=c[B>>2]|0}}else j=Na()|0;Im(D);Im(E);Im(C)}}while(0);if((F|0)==13)j=Na()|0;pm(b)|0;Ya(j|0);return 0}function fs(a){a=a|0;return}function gs(a){a=a|0;cj(a);return}function hs(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;D=i;i=i+992|0;v=D+8|0;k=D;m=D+888|0;n=D+880|0;l=D+480|0;F=D+76|0;A=D+884|0;x=D+72|0;B=D+68|0;G=D+56|0;I=D+44|0;H=D+32|0;p=D+28|0;u=D+80|0;z=D+24|0;y=D+20|0;w=D+16|0;c[n>>2]=m;h[v>>3]=j;m=_k(m,100,59018,v)|0;do{if(m>>>0>99){o=0;b=ua(3)|0;C=o;o=0;if(!(C&1)?(o=0,h[k>>3]=j,s=va(17,n|0,b|0,59018,k|0)|0,C=o,o=0,!(C&1)):0){b=c[n>>2]|0;if(!b){o=0;xa(6);C=o;o=0;if(C&1){b=0;k=0;C=7;break}b=c[n>>2]|0}l=Fl(s<<2)|0;k=l;if(!l){o=0;xa(6);C=o;o=0;if(C&1)C=7;else{t=0;C=10}}else{t=l;C=10}}else{b=0;k=0;C=7}}else{k=0;b=0;t=l;s=m;C=10}}while(0);if((C|0)==10){o=0;l=ka(68,f|0)|0;r=o;o=0;if(r&1)C=7;else{c[F>>2]=l;o=0;r=ra(37,F|0,44212)|0;q=o;o=0;if(!(q&1)?(q=c[n>>2]|0,o=0,va(c[(c[r>>2]|0)+48>>2]|0,r|0,q|0,q+s|0,t|0)|0,q=o,o=0,!(q&1)):0){if(!s)q=0;else q=(a[c[n>>2]>>0]|0)==45;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;o=0;qa(4,e|0,q|0,F|0,A|0,x|0,B|0,G|0,I|0,H|0,p|0);e=o;o=0;if(!(e&1)){p=c[p>>2]|0;if((s|0)>(p|0)){e=a[H>>0]|0;m=a[I>>0]|0;m=(s-p<<1|1)+p+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}else{e=a[H>>0]|0;m=a[I>>0]|0;m=p+2+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}if(m>>>0>100){m=Fl(m<<2)|0;n=m;if(!m){o=0;xa(6);u=o;o=0;if(!(u&1)){m=0;C=26}}else C=26}else{n=0;m=u;C=26}if((C|0)==26){o=0;na(2,m|0,z|0,y|0,c[f+4>>2]|0,t|0,t+(s<<2)|0,r|0,q|0,A|0,c[x>>2]|0,c[B>>2]|0,G|0,I|0,H|0,p|0);B=o;o=0;if(!(B&1)?(c[w>>2]=c[d>>2],d=c[z>>2]|0,E=c[y>>2]|0,o=0,c[v>>2]=c[w>>2],E=ja(40,v|0,m|0,d|0,E|0,f|0,g|0)|0,d=o,o=0,!(d&1)):0){if(n){Gl(n);l=c[F>>2]|0}Wm(H);Wm(I);Im(G);pm(l)|0;if(k)Gl(k);if(b)Gl(b);i=D;return E|0}}m=Na()|0;if(n){Gl(n);l=c[F>>2]|0}}else m=Na()|0;Wm(H);Wm(I);Im(G)}else m=Na()|0;pm(l)|0}}if((C|0)==7)m=Na()|0;if(k)Gl(k);if(b)Gl(b);Ya(m|0);return 0}function is(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;n=B+108|0;p=B+96|0;s=B+92|0;t=B+80|0;u=B+68|0;v=B+56|0;w=B+52|0;x=B+40|0;y=B+36|0;z=B+24|0;q=B+12|0;r=B;do{if(b){b=Is(e,43956)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](n,b);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Wm(p);break}}else{Cb[c[e+40>>2]&127](s,b);d=c[s>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](t,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[t>>2];c[l+4>>2]=c[t+4>>2];c[l+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Wm(t);break}}}while(0);c[g>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](u,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[u>>2];c[j+4>>2]=c[u+4>>2];c[j+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Im(u);Cb[c[(c[b>>2]|0)+24>>2]&127](v,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Wm(v);A=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(e,43892)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](w,b);d=c[w>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](x,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[x>>2];c[l+4>>2]=c[x+4>>2];c[l+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Wm(x);break}}else{Cb[c[e+40>>2]&127](y,b);d=c[y>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](z,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[z>>2];c[l+4>>2]=c[z+4>>2];c[l+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Wm(z);break}}}while(0);c[g>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](q,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Im(q);Cb[c[(c[b>>2]|0)+24>>2]&127](r,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[r>>2];c[k+4>>2]=c[r+4>>2];c[k+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Wm(r);A=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=A;i=B;return}function js(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;c[e>>2]=b;J=p+4|0;K=p+8|0;C=o+4|0;D=(f&512|0)==0;E=o+8|0;F=(q|0)>0;G=n+4|0;H=n+8|0;I=n+1|0;A=(q|0)>0;z=0;do{switch(a[k+z>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];x=Lb[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x;break}case 3:{y=a[p>>0]|0;r=(y&1)==0;if((r?(y&255)>>>1:c[J>>2]|0)|0){x=c[(r?J:c[K>>2]|0)>>2]|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x}break}case 2:{v=a[o>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(!(D|(v|0)==0)){r=r?C:c[E>>2]|0;t=r+(v<<2)|0;u=c[e>>2]|0;if(v){s=u;while(1){c[s>>2]=c[r>>2];r=r+4|0;if((r|0)==(t|0))break;else s=s+4|0}}c[e>>2]=u+(v<<2)}break}case 4:{r=c[e>>2]|0;g=j?g+4|0:g;a:do{if(g>>>0>>0){s=g;do{if(!(Gb[c[(c[i>>2]|0)+12>>2]&63](i,2048,c[s>>2]|0)|0))break a;s=s+4|0}while(s>>>0>>0)}else s=g}while(0);if(F){if(s>>>0>g>>>0&A){v=c[e>>2]|0;u=q;while(1){s=s+-4|0;t=v+4|0;c[v>>2]=c[s>>2];w=u+-1|0;u=(u|0)>1;if(s>>>0>g>>>0&u){v=t;u=w}else{v=w;break}}c[e>>2]=t;t=v}else{u=A;t=q}if(u)w=Lb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;x=c[e>>2]|0;u=t+((t|0)<0?~t:-1)|0;if((t|0)>0){v=x;while(1){c[v>>2]=w;if((t|0)>1){v=v+4|0;t=t+-1|0}else break}}c[e>>2]=x+(u+2<<2);c[x+(u+1<<2)>>2]=l}if((s|0)==(g|0)){x=Lb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;y=c[e>>2]|0;s=y+4|0;c[e>>2]=s;c[y>>2]=x}else{x=a[n>>0]|0;t=(x&1)==0;y=c[G>>2]|0;if(!((t?(x&255)>>>1:y)|0))t=-1;else t=a[(t?I:c[H>>2]|0)>>0]|0;if((s|0)!=(g|0)){w=0;x=0;while(1){u=c[e>>2]|0;if((x|0)==(t|0)){v=u+4|0;c[e>>2]=v;c[u>>2]=m;w=w+1|0;u=a[n>>0]|0;t=(u&1)==0;if(w>>>0<(t?(u&255)>>>1:y)>>>0){t=a[(t?I:c[H>>2]|0)+w>>0]|0;u=v;t=t<<24>>24==127?-1:t<<24>>24;v=0}else{u=v;t=x;v=0}}else v=x;s=s+-4|0;x=c[s>>2]|0;c[e>>2]=u+4;c[u>>2]=x;if((s|0)==(g|0))break;else x=v+1|0}}s=c[e>>2]|0}if((r|0)!=(s|0)?(B=s+-4|0,r>>>0>>0):0){s=B;do{y=c[r>>2]|0;c[r>>2]=c[s>>2];c[s>>2]=y;r=r+4|0;s=s+-4|0}while(r>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);r=a[p>>0]|0;g=(r&1)==0;r=g?(r&255)>>>1:c[J>>2]|0;if(r>>>0>1){s=g?J:c[K>>2]|0;g=s+4|0;s=s+(r<<2)|0;t=c[e>>2]|0;u=s-g|0;if((r|0)!=1){r=t;while(1){c[r>>2]=c[g>>2];g=g+4|0;if((g|0)==(s|0))break;else r=r+4|0}}c[e>>2]=t+(u>>>2<<2)}switch(f&176|0){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function ks(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;z=i;i=i+480|0;q=z+468|0;B=z+464|0;x=z+472|0;u=z+56|0;y=z+52|0;C=z+40|0;E=z+28|0;D=z+16|0;m=z+12|0;p=z+64|0;w=z+8|0;v=z+4|0;r=z;b=jn(f)|0;c[B>>2]=b;o=0;s=ra(37,B|0,44212)|0;t=o;o=0;do{if(t&1)F=13;else{n=a[h>>0]|0;j=(n&1)==0;t=h+4|0;if(!((j?(n&255)>>>1:c[t>>2]|0)|0))n=0;else{j=c[(j?t:c[h+8>>2]|0)>>2]|0;o=0;k=ra(c[(c[s>>2]|0)+44>>2]|0,s|0,45)|0;n=o;o=0;if(n&1){F=13;break}n=(j|0)==(k|0)}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;qa(4,e|0,n|0,B|0,x|0,u|0,y|0,C|0,E|0,D|0,m|0);l=o;o=0;if(!(l&1)){l=a[h>>0]|0;e=c[t>>2]|0;j=(l&1)==0?(l&255)>>>1:e;m=c[m>>2]|0;if((j|0)>(m|0)){G=a[D>>0]|0;k=a[E>>0]|0;j=(j-m<<1|1)+m+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{G=a[D>>0]|0;j=a[E>>0]|0;j=m+2+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[E+4>>2]|0)|0}if(j>>>0>100){j=Fl(j<<2)|0;k=j;if(!j){o=0;xa(6);G=o;o=0;if(!(G&1)){l=a[h>>0]|0;e=c[t>>2]|0;j=0;F=17}}else F=17}else{k=0;j=p;F=17}if((F|0)==17){G=(l&1)==0;h=G?t:c[h+8>>2]|0;o=0;na(2,j|0,w|0,v|0,c[f+4>>2]|0,h|0,h+((G?(l&255)>>>1:e)<<2)|0,s|0,n|0,x|0,c[u>>2]|0,c[y>>2]|0,C|0,E|0,D|0,m|0);G=o;o=0;if(!(G&1)?(c[r>>2]=c[d>>2],G=c[w>>2]|0,A=c[v>>2]|0,o=0,c[q>>2]=c[r>>2],A=ja(40,q|0,j|0,G|0,A|0,f|0,g|0)|0,G=o,o=0,!(G&1)):0){if(k){Gl(k);b=c[B>>2]|0}Wm(D);Wm(E);Im(C);pm(b)|0;i=z;return A|0}}j=Na()|0;if(k){Gl(k);b=c[B>>2]|0}}else j=Na()|0;Wm(D);Wm(E);Im(C)}}while(0);if((F|0)==13)j=Na()|0;pm(b)|0;Ya(j|0);return 0}function ls(a){a=a|0;return}function ms(a){a=a|0;cj(a);return}function ns(b,d,e){b=b|0;d=d|0;e=e|0;b=lk((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function os(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;k=i;i=i+16|0;l=k;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;j=a[h>>0]|0;m=(j&1)==0;d=m?h+1|0:c[h+8>>2]|0;j=m?(j&255)>>>1:c[h+4>>2]|0;h=d+j|0;a:do{if((j|0)>0){while(1){o=0;ia(67,l|0,a[d>>0]|0);m=o;o=0;if(m&1)break;d=d+1|0;if(d>>>0>=h>>>0){j=4;break a}}d=Na()|0;j=7}else j=4}while(0);b:do{if((j|0)==4){o=0;d=va(19,((e|0)==-1?-1:e<<1)|0,f|0,g|0,((a[l>>0]&1)==0?l+1|0:c[l+8>>2]|0)|0)|0;m=o;o=0;if(m&1){d=Na()|0;j=7;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;m=nl(d)|0;h=d+m|0;c:do{if((m|0)>0){while(1){o=0;ia(67,b|0,a[d>>0]|0);m=o;o=0;if(m&1)break;d=d+1|0;if(d>>>0>=h>>>0)break c}d=Na()|0;Im(b);break b}}while(0);Im(l);i=k;return}}while(0);Im(l);Ya(d|0)}function ps(a,b){a=a|0;b=b|0;return}function qs(a){a=a|0;return}function rs(a){a=a|0;cj(a);return}function ss(b,d,e){b=b|0;d=d|0;e=e|0;b=lk((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function ts(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+224|0;p=w+184|0;n=w+192|0;m=w+180|0;q=w+176|0;u=w+168|0;t=w+40|0;s=w+32|0;v=w+28|0;x=w+16|0;l=w+8|0;r=w;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[l+4>>2]=0;c[l>>2]=44696;k=a[h>>0]|0;y=(k&1)==0;j=h+4|0;d=y?j:c[h+8>>2]|0;h=y?(k&255)>>>1:c[j>>2]|0;j=d+(h<<2)|0;k=n+32|0;a:do{if((h|0)>0){b:while(1){c[q>>2]=d;o=0;h=ya(c[(c[l>>2]|0)+12>>2]|0,l|0,p|0,d|0,j|0,q|0,n|0,k|0,m|0)|0;y=o;o=0;if(y&1){h=12;break}if((h|0)==2?1:(c[q>>2]|0)==(d|0)){h=5;break}if(n>>>0<(c[m>>2]|0)>>>0){d=n;do{o=0;ia(67,x|0,a[d>>0]|0);y=o;o=0;if(y&1){h=11;break b}d=d+1|0}while(d>>>0<(c[m>>2]|0)>>>0)}d=c[q>>2]|0;if(!((h|0)!=2&d>>>0>>0)){h=9;break a}}if((h|0)==5){o=0;ha(190,58955);o=0;d=Na()|0}else if((h|0)==11)d=Na()|0;else if((h|0)==12)d=Na()|0}else h=9}while(0);c:do{if((h|0)==9){o=0;d=va(19,((e|0)==-1?-1:e<<1)|0,f|0,g|0,((a[x>>0]&1)==0?x+1|0:c[x+8>>2]|0)|0)|0;y=o;o=0;if(y&1){d=Na()|0;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[r+4>>2]=0;c[r>>2]=44744;y=nl(d)|0;j=d+y|0;k=j;l=t+128|0;d:do{if((y|0)>0){e:while(1){c[v>>2]=d;o=0;h=ya(c[(c[r>>2]|0)+16>>2]|0,r|0,u|0,d|0,((k-d|0)>32?d+32|0:j)|0,v|0,t|0,l|0,s|0)|0;y=o;o=0;if(y&1){h=24;break}if((h|0)==2?1:(c[v>>2]|0)==(d|0)){h=18;break}if(t>>>0<(c[s>>2]|0)>>>0){d=t;do{o=0;ia(92,b|0,c[d>>2]|0);y=o;o=0;if(y&1){h=23;break e}d=d+4|0}while(d>>>0<(c[s>>2]|0)>>>0)}d=c[v>>2]|0;if(!((h|0)!=2&d>>>0>>0))break d}if((h|0)==18){o=0;ha(190,58955);o=0;d=Na()|0}else if((h|0)==23)d=Na()|0;else if((h|0)==24)d=Na()|0;Wm(b);break c}}while(0);Im(x);i=w;return}}while(0);Im(x);Ya(d|0)}function us(a,b){a=a|0;b=b|0;return}function vs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[b+4>>2]=d+-1;c[b>>2]=44196;h=b+8|0;o=0;ia(94,h|0,28);g=o;o=0;if(g&1)d=Na()|0;else{g=b+144|0;o=0;wa(5,g|0,58885,1);f=o;o=0;if(f&1)d=Na()|0;else{e=c[h>>2]|0;f=b+12|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do{d=d+-4|0}while((d|0)!=(e|0));c[f>>2]=d}c[495]=0;c[494]=43124;o=0;ia(95,b|0,1976);f=o;o=0;do{if(((((((((((((!(f&1)?(c[497]=0,c[496]=43164,o=0,ia(96,b|0,1984),f=o,o=0,!(f&1)):0)?(c[499]=0,c[498]=44236,c[500]=0,a[2004]=0,c[500]=Os()|0,o=0,ia(97,b|0,1992),f=o,o=0,!(f&1)):0)?(c[503]=0,c[502]=44484,o=0,ia(98,b|0,2008),f=o,o=0,!(f&1)):0)?(c[505]=0,c[504]=44552,o=0,ia(99,b|0,2016),f=o,o=0,!(f&1)):0)?(o=0,ia(100,2024,1),f=o,o=0,!(f&1)):0)?(o=0,ia(101,b|0,2024),f=o,o=0,!(f&1)):0)?(c[511]=0,c[510]=44600,o=0,ia(102,b|0,2040),f=o,o=0,!(f&1)):0)?(c[513]=0,c[512]=44648,o=0,ia(103,b|0,2048),f=o,o=0,!(f&1)):0)?(Tt(2056,1),o=0,ia(104,b|0,2056),f=o,o=0,!(f&1)):0)?(Ut(2080,1),o=0,ia(105,b|0,2080),f=o,o=0,!(f&1)):0)?(c[529]=0,c[528]=43204,o=0,ia(106,b|0,2112),f=o,o=0,!(f&1)):0)?(c[531]=0,c[530]=43276,o=0,ia(107,b|0,2120),f=o,o=0,!(f&1)):0)?(c[533]=0,c[532]=43348,o=0,ia(108,b|0,2128),f=o,o=0,!(f&1)):0){c[535]=0;c[534]=43408;o=0;ia(109,b|0,2136);f=o;o=0;if(f&1){i=42;break}c[537]=0;c[536]=43716;o=0;ia(110,b|0,2144);f=o;o=0;if(f&1){i=42;break}c[539]=0;c[538]=43780;o=0;ia(111,b|0,2152);f=o;o=0;if(f&1){i=42;break}c[541]=0;c[540]=43844;o=0;ia(112,b|0,2160);f=o;o=0;if(f&1){i=42;break}c[543]=0;c[542]=43908;o=0;ia(113,b|0,2168);f=o;o=0;if(f&1){i=42;break}c[545]=0;c[544]=43972;o=0;ia(114,b|0,2176);f=o;o=0;if(f&1){i=42;break}c[547]=0;c[546]=44008;o=0;ia(115,b|0,2184);f=o;o=0;if(f&1){i=42;break}c[549]=0;c[548]=44044;o=0;ia(116,b|0,2192);f=o;o=0;if(f&1){i=42;break}c[551]=0;c[550]=44080;o=0;ia(117,b|0,2200);f=o;o=0;if(f&1){i=42;break}c[553]=0;c[552]=43468;c[554]=43516;o=0;ia(118,b|0,2208);f=o;o=0;if(f&1){i=42;break}c[557]=0;c[556]=43560;c[558]=43608;o=0;ia(119,b|0,2224);f=o;o=0;if(f&1){i=42;break}c[561]=0;c[560]=44464;o=0;d=ua(3)|0;f=o;o=0;if(f&1){d=Na()|0;break}c[562]=d;c[560]=43652;o=0;ia(120,b|0,2240);f=o;o=0;if(f&1){i=42;break}c[565]=0;c[564]=44464;o=0;d=ua(3)|0;f=o;o=0;if(f&1){d=Na()|0;break}c[566]=d;c[564]=43684;o=0;ia(121,b|0,2256);i=o;o=0;if(i&1){i=42;break}c[569]=0;c[568]=44116;o=0;ia(122,b|0,2272);i=o;o=0;if(i&1){i=42;break}c[571]=0;c[570]=44156;o=0;ia(123,b|0,2280);i=o;o=0;if(i&1){i=42;break}return}else i=42}while(0);if((i|0)==42)d=Na()|0;Im(g)}Dv(h)}Ya(d|0)}function ws(){var b=0;do{if((a[2288]|0)==0?(Ha(2288)|0)!=0:0){o=0;ua(4)|0;b=o;o=0;if(b&1){b=Na()|0;sb(2288);Ya(b|0)}else{c[11246]=44980;Pa(2288);break}}}while(0);return c[11246]|0}function xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;om(b);f=a+8|0;e=c[f>>2]|0;do{if((c[a+12>>2]|0)-e>>2>>>0<=d>>>0){o=0;ia(124,f|0,d+1|0);a=o;o=0;if(!(a&1)){e=c[f>>2]|0;break}e=Na()|0;if(b)pm(b)|0;Ya(e|0)}}while(0);a=c[e+(d<<2)>>2]|0;if(a){pm(a)|0;e=c[f>>2]|0}c[e+(d<<2)>>2]=b;return}function ys(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=44196;e=a+8|0;f=a+12|0;b=c[e>>2]|0;if((c[f>>2]|0)!=(b|0)){d=0;do{b=c[b+(d<<2)>>2]|0;if(b)pm(b)|0;d=d+1|0;b=c[e>>2]|0}while(d>>>0<(c[f>>2]|0)-b>>2>>>0)}Im(a+144|0);Dv(e);return}function zs(a){a=a|0;ys(a);cj(a);return}function As(a,b){a=a|0;b=b|0;if(Fv(a,b)|0)return c[(c[a+8>>2]|0)+(b<<2)>>2]|0;else{a=Ma(4)|0;qj(a);lb(a|0,640,82)}return 0}function Bs(){vs(2296,1);c[11245]=2296;return 44980}function Cs(){var a=0;a=c[(ws()|0)>>2]|0;c[11247]=a;om(a);return 44988}function Ds(){var b=0;do{if((a[2456]|0)==0?(Ha(2456)|0)!=0:0){o=0;ua(5)|0;b=o;o=0;if(b&1){b=Na()|0;sb(2456);Ya(b|0)}else{c[11248]=44988;Pa(2456);break}}}while(0);return c[11248]|0}function Es(a){a=a|0;var b=0,d=0;o=0;b=ua(6)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}else{d=c[b>>2]|0;c[a>>2]=d;om(d);return}}function Fs(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;om(b);return}function Gs(a){a=a|0;pm(c[a>>2]|0)|0;return}function Hs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((c[a>>2]|0)!=-1){c[b>>2]=a;c[b+4>>2]=191;c[b+8>>2]=0;Em(a,b,192)}i=d;return(c[a+4>>2]|0)+-1|0}function Is(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return As(a,Hs(b)|0)|0}function Js(a){a=a|0;cj(a);return}function Ks(a){a=a|0;if(a)Bb[c[(c[a>>2]|0)+4>>2]&255](a);return}function Ls(a){a=a|0;var b=0;b=c[11052]|0;c[11052]=b+1;c[a+4>>2]=b+1;return}function Ms(a){a=a|0;cj(a);return}function Ns(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128)d=(b[(Os()|0)+(d<<1)>>1]&c)<<16>>16!=0;else d=0;return d|0}function Os(){var a=0,b=0;o=0;a=ua(7)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Ps(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;i=(f-d|0)>>>2;if((d|0)!=(f|0)){h=d;while(1){a=c[h>>2]|0;if(a>>>0<128)a=e[(Os()|0)+(a<<1)>>1]|0;else a=0;b[g>>1]=a;h=h+4|0;if((h|0)==(f|0))break;else g=g+2|0}}return d+(i<<2)|0}function Qs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do{if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0<128?(b[(Os()|0)+(a<<1)>>1]&d)<<16>>16!=0:0)break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}}while(0);return e|0}function Rs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do{if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0>=128)break a;if(!((b[(Os()|0)+(a<<1)>>1]&d)<<16>>16))break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}}while(0);return e|0}function Ss(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(Ts()|0)+(b<<2)>>2]|0;return b|0}function Ts(){var a=0,b=0;o=0;a=ua(8)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(Ts()|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Vs(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(Ws()|0)+(b<<2)>>2]|0;return b|0}function Ws(){var a=0,b=0;o=0;a=ua(9)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(Ws()|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Ys(a,b){a=a|0;b=b|0;return b<<24>>24|0}function Zs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((d|0)!=(e|0))while(1){c[f>>2]=a[d>>0];d=d+1|0;if((d|0)==(e|0))break;else f=f+4|0}return e|0}function _s(a,b,c){a=a|0;b=b|0;c=c|0;return(b>>>0<128?b&255:c)|0}function $s(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=(e-d|0)>>>2;if((d|0)!=(e|0)){h=d;b=g;while(1){g=c[h>>2]|0;a[b>>0]=g>>>0<128?g&255:f;h=h+4|0;if((h|0)==(e|0))break;else b=b+1|0}}return d+(i<<2)|0}function at(b){b=b|0;var d=0;c[b>>2]=44236;d=c[b+8>>2]|0;if((d|0)!=0?(a[b+12>>0]|0)!=0:0)dj(d);return}function bt(a){a=a|0;at(a);cj(a);return}function ct(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(Ts()|0)+((b&255)<<2)>>2]&255;return b|0}function dt(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(Ts()|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function et(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(Ws()|0)+(b<<24>>24<<2)>>2]&255;return b|0}function ft(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(Ws()|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function gt(a,b){a=a|0;b=b|0;return b|0}function ht(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;if((c|0)!=(d|0))while(1){a[e>>0]=a[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return d|0}function it(a,b,c){a=a|0;b=b|0;c=c|0;return(b<<24>>24>-1?b:c)|0}function jt(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((c|0)!=(d|0))while(1){b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;c=c+1|0;if((c|0)==(d|0))break;else f=f+1|0}return d|0}function kt(a){a=a|0;cj(a);return}function lt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function mt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function nt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function ot(a){a=a|0;return 1}function pt(a){a=a|0;return 1}function qt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=d-c|0;return(a>>>0>>0?a:e)|0}function rt(a){a=a|0;return 1}function st(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=44304;o=0;b=ua(3)|0;d=o;o=0;if(d&1){d=Na()|0;Ya(d|0)}else{c[a+8>>2]=b;return}}function tt(a){a=a|0;wu(a);cj(a);return}function xl(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;_=X;aa=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do{if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(ck()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do{if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)Xk(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do{if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}}while(0);do{if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}}while(0);e:do{if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1}while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[56223+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do{if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Cl(ba,s,g)}}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do{switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=kw(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=56703;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=56703;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=hw(0,0,n|0,o|0)|0;o=D;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=56703;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?56703:56705;L=76}else{p=1;s=56704;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=56703;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=56703;n=N;break}case 109:{n=dk(c[(ck()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:56713;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){El(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?56721:56726}else{G=1;H=56723}else{q=-q;G=1;H=56720}h[k>>3]=q;F=c[k+4>>2]&2146435072;do{if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+wk(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do{if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v}while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Dl(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[56687+H>>0]|w;q=(q-+(H|0))*16.0;do{if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;El(e,32,K,p,I);if(!(c[e>>2]&32))Xk(y,x,e)|0;El(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))Xk(da,n,e)|0;o=_-t|0;El(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))Xk(t,o,e)|0;El(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do{if(r>>>0>>0)r=s;else{o=0;do{B=mw(c[r>>2]|0,0,t|0)|0;B=jw(B|0,D|0,o|0,0)|0;o=D;A=vw(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=uw(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(C|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do{if(w>>>0

>>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=$(B&o,s)|0;t=t+4|0}while(t>>>0

>>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w}while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do{if(w>>>0

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0}while(0);A=(C|0)==103;B=(n|0)!=0;r=n-((C|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do{if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do{if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}}while(0);do{if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}C=t+s|0;c[r>>2]=C;if(C>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}C=(c[s>>2]|0)+1|0;c[s>>2]=C;if(C>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}}while(0);C=r+4|0;w=s;p=p>>>0>C>>>0?C:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;C=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;C=p;break}}do{if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do{if(z){p=c[C+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9}while(0);p=((C-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8}while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Dl(r,((r|0)<0)<<31>>31,X)|0;if((_-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((_-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=_-E|0;u=E}y=G+1+n+s+o|0;El(e,32,K,y,I);if(!(c[e>>2]&32))Xk(H,G,e)|0;El(e,48,K,y,I^65536);do{if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Dl(c[o>>2]|0,0,R)|0;do{if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}}while(0);if(!(c[e>>2]&32))Xk(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do{if(x){if(c[e>>2]&32)break;Xk(56755,1,e)|0}}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Dl(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))Xk(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}El(e,48,n+9|0,9,0)}else{t=z?C:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Dl(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do{if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))Xk(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}Xk(56755,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}}while(0);p=S-o|0;if(!(c[e>>2]&32))Xk(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}El(e,48,n+18|0,18,0);if(c[e>>2]&32)break;Xk(u,_-u|0,e)|0}}while(0);El(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;El(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){Xk(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))Xk(s?t?56747:56751:t?56739:56743,3,e)|0;El(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=56703;n=N}}}while(0);g:do{if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[56687+(o&15)>>0]|s;o=kw(o|0,p|0,4)|0;p=D}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=56703;L=77}else{o=t;t=2;s=56703+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=56703;L=77}}else if((L|0)==76){n=Dl(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=jl(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=56703;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Ik(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}El(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Ik(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))Xk(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}}while(0);if((L|0)==98){L=0;El(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;El(e,32,n,r,p);if(!(c[e>>2]&32))Xk(u,t,e)|0;El(e,48,n,r,p^65536);El(e,48,o,s,0);if(!(c[e>>2]&32))Xk(w,s,e)|0;El(e,32,n,r,p^8192);w=J}h:do{if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Cl(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0}while(0);i=ha;return m|0}function yl(a,b,c){a=a|0;b=b|0;c=c|0;return Rk(a,b,c)|0}function zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;gk(h,0);e=+ek(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b)c[b>>2]=(d|0)!=0?a+d|0:a;i=j;return+e}function Al(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;gk(j,0);e=fk(j,d,1,e,f)|0;if(b)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;lw(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do{if(b>>>0<=20)do{switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}}while(0)}while(0);return}function Dl(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=vw(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=uw(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=D}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function El(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do{if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;iw(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){Xk(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;Xk(h,f,a)|0}}while(0);i=j;return}function Fl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do{if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[10218]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=40912+(e<<2)|0;e=40912+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do{if((d|0)!=(h|0)){if(h>>>0<(c[10222]|0)>>>0)Ga();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ga()}else c[10218]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[10220]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=40912+(e<<2)|0;e=40912+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do{if((d|0)!=(f|0)){if(f>>>0<(c[10222]|0)>>>0)Ga();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[10220]|0;break}else Ga()}else{c[10218]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[10223]|0;d=k>>>3;b=d<<1;e=40912+(b<<2)|0;a=c[10218]|0;d=1<>2]|0;if(b>>>0<(c[10222]|0)>>>0)Ga();else{l=a;m=b}}else{c[10218]=a|d;l=40912+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[10220]=h;c[10223]=i;M=j;return M|0}a=c[10219]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[41176+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[10222]|0;if(e>>>0>>0)Ga();i=e+o|0;if(e>>>0>=i>>>0)Ga();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do{if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ga();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ga();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ga();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ga()}}while(0);do{if(h){b=c[e+28>>2]|0;a=41176+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[10222]|0;if(n>>>0>>0)Ga();c[n+24>>2]=h;b=c[e+16>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[n+16>>2]=b;c[b+24>>2]=n;break}}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[10220]|0;if(b){g=c[10223]|0;d=b>>>3;b=d<<1;f=40912+(b<<2)|0;a=c[10218]|0;d=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{p=b;q=a}}else{c[10218]=a|d;p=40912+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[10220]=j;c[10223]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[10219]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[41176+(k<<2)>>2]|0;a:do{if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[41176+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[10220]|0)-m|0)>>>0:0){f=c[10222]|0;if(j>>>0>>0)Ga();h=j+m|0;if(j>>>0>=h>>>0)Ga();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do{if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ga();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ga();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ga();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ga()}}while(0);do{if(g){b=c[j+28>>2]|0;a=41176+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[10222]|0;if(o>>>0>>0)Ga();c[o+24>>2]=g;b=c[j+16>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[o+16>>2]=b;c[b+24>>2]=o;break}}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}}while(0);b:do{if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{s=b;t=a}}else{c[10218]=d|b;s=40912+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=41176+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[10219]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do{if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b}while(0);b=y+8|0;a=c[b>>2]|0;M=c[10222]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ga()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1}while(0);d=c[10220]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[10223]|0;if(b>>>0>15){c[10223]=a+q;c[10220]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[10220]=0;c[10223]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[10221]|0;if(a>>>0>q>>>0){L=a-q|0;c[10221]=L;M=c[10224]|0;c[10224]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do{if(!(c[10336]|0)){a=_a(30)|0;if(!(a+-1&a)){c[10338]=a;c[10337]=a;c[10339]=-1;c[10340]=-1;c[10341]=0;c[10329]=0;c[10336]=(qb(0)|0)&-16^1431655768;break}else Ga()}}while(0);j=q+48|0;i=c[10338]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[10328]|0;if((a|0)!=0?(t=c[10326]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do{if(!(c[10329]&4)){a=c[10224]|0;e:do{if(a){f=41320;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[10221]|0)&i;if(d>>>0<2147483647){f=Ua(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174}while(0);do{if((v|0)==174){g=Ua(0)|0;if((g|0)!=(-1|0)){a=g;d=c[10337]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[10326]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[10328]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=Ua(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}}while(0);f:do{if((v|0)==184){g=0-d|0;do{if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[10338]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((Ua(u|0)|0)==(-1|0)){Ua(g|0)|0;break f}else{d=u+d|0;break}}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}}while(0);c[10329]=c[10329]|4;v=191}else{a=0;v=191}}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=Ua(l|0)|0,x=Ua(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[10326]|0)+p|0;c[10326]=a;if(a>>>0>(c[10327]|0)>>>0)c[10327]=a;h=c[10224]|0;g:do{if(h){g=41320;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[10221]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[10224]=h+L;c[10221]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[10225]=c[10340];break}a=c[10222]|0;if(w>>>0>>0){c[10222]=w;a=w}d=w+p|0;g=41320;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=41320;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do{if((b|0)!=(h|0)){if((b|0)==(c[10223]|0)){M=(c[10220]|0)+l|0;c[10220]=M;c[10223]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do{if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do{if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ga();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ga();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ga()}}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=41176+(a<<2)|0;do{if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[10222]|0)>>>0)Ga();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[10219]=c[10219]&~(1<>>0>>0)Ga();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do{if(a)if(a>>>0>>0)Ga();else{c[J+16>>2]=a;c[a+24>>2]=J;break}}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=40912+(g<<1<<2)|0;do{if((e|0)!=(d|0)){if(e>>>0>>0)Ga();if((c[e+12>>2]|0)==(b|0))break;Ga()}}while(0);if((f|0)==(e|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ga()}}while(0);c[e+12>>2]=f;c[F>>2]=e}}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0>=(c[10222]|0)>>>0){K=b;L=a;break}Ga()}}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do{if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);b=41176+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[10219]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do{if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b}while(0);b=M+8|0;a=c[b>>2]|0;L=c[10222]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ga()}else{M=(c[10221]|0)+l|0;c[10221]=M;c[10224]=o;c[w+(m+4)>>2]=M|1}}while(0);M=w+(n|8)|0;return M|0}else d=41320;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[10224]=w+d;c[10221]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[10225]=c[10340];d=a+4|0;c[d>>2]=27;c[b>>2]=c[10330];c[b+4>>2]=c[10331];c[b+8>>2]=c[10332];c[b+12>>2]=c[10333];c[10330]=w;c[10331]=p;c[10333]=0;c[10332]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{G=b;H=a}}else{c[10218]=d|b;G=40912+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=41176+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[10219]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do{if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b}while(0);b=I+8|0;a=c[b>>2]|0;M=c[10222]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ga()}}else{M=c[10222]|0;if((M|0)==0|w>>>0>>0)c[10222]=w;c[10330]=w;c[10331]=p;c[10333]=0;c[10227]=c[10336];c[10226]=-1;b=0;do{M=b<<1;L=40912+(M<<2)|0;c[40912+(M+3<<2)>>2]=L;c[40912+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[10224]=w+M;c[10221]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[10225]=c[10340]}}while(0);b=c[10221]|0;if(b>>>0>q>>>0){L=b-q|0;c[10221]=L;M=c[10224]|0;c[10224]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(ck()|0)>>2]=12;M=0;return M|0}function Gl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[10222]|0;if(b>>>0>>0)Ga();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ga();o=d&-8;q=a+(o+-8)|0;do{if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ga();if((l|0)==(c[10223]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[10220]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=40912+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ga();if((c[e+12>>2]|0)!=(l|0))Ga()}if((d|0)==(e|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ga()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do{if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ga();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ga();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ga();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ga()}}while(0);if(h){b=c[a+(j+28)>>2]|0;d=41176+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[10222]|0;if(k>>>0>>0)Ga();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[k+16>>2]=b;c[b+24>>2]=k;break}}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}}while(0);if(u>>>0>=q>>>0)Ga();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ga();if(!(d&2)){if((q|0)==(c[10224]|0)){t=(c[10221]|0)+g|0;c[10221]=t;c[10224]=u;c[u+4>>2]=t|1;if((u|0)!=(c[10223]|0))return;c[10223]=0;c[10220]=0;return}if((q|0)==(c[10223]|0)){t=(c[10220]|0)+g|0;c[10220]=t;c[10223]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do{if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do{if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[10222]|0)>>>0)Ga();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ga();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ga()}}while(0);if(h){b=c[a+(o+20)>>2]|0;d=41176+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[10222]|0;if(p>>>0>>0)Ga();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[p+16>>2]=b;c[b+24>>2]=p;break}}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=40912+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[10222]|0)>>>0)Ga();if((c[e+12>>2]|0)!=(q|0))Ga()}if((d|0)==(e|0)){c[10218]=c[10218]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ga()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[10223]|0)){c[10220]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=40912+(d<<2)|0;e=c[10218]|0;b=1<>2]|0;if(d>>>0<(c[10222]|0)>>>0)Ga();else{r=b;s=d}}else{c[10218]=e|b;r=40912+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=41176+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[10219]|0;e=1<>2]|0;b:do{if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b}while(0);b=t+8|0;d=c[b>>2]|0;s=c[10222]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ga()}else{c[10219]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}}while(0);u=(c[10226]|0)+-1|0;c[10226]=u;if(!u)b=41328;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[10226]=-1;return}function Hl(a,b){a=a|0;b=b|0;var d=0;if(a){d=$(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Fl(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;iw(b|0,0,d|0)|0;return b|0}function Il(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Fl(b)|0;return a|0}if(b>>>0>4294967231){c[(ck()|0)>>2]=12;a=0;return a|0}d=Jl(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Fl(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;lw(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Gl(a);a=d;return a|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[10222]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ga();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ga();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[10338]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Kl(a+b|0,d);return a|0}if((l|0)==(c[10224]|0)){d=(c[10221]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[10224]=a+b;c[10221]=n;return a|0}if((l|0)==(c[10223]|0)){e=(c[10220]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[10220]=d;c[10223]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do{if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do{if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ga();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ga();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ga()}}while(0);if(h){d=c[a+(j+28)>>2]|0;e=41176+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[10222]|0;if(k>>>0>>0)Ga();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do{if(d)if(d>>>0>>0)Ga();else{c[k+16>>2]=d;c[d+24>>2]=k;break}}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(l|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ga()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Kl(a+b|0,n);return a|0}return 0}function Kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do{if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[10222]|0;if(n>>>0>>0)Ga();if((n|0)==(c[10223]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[10220]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(n|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ga()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do{if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ga();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ga();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ga()}}while(0);if(i){d=c[a+(28-k)>>2]|0;e=41176+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[10222]|0;if(l>>>0>>0)Ga();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do{if(e)if(e>>>0>>0)Ga();else{c[l+16>>2]=e;c[e+24>>2]=l;break}}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}}while(0);j=c[10222]|0;if(q>>>0>>0)Ga();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[10224]|0)){s=(c[10221]|0)+h|0;c[10221]=s;c[10224]=t;c[t+4>>2]=s|1;if((t|0)!=(c[10223]|0))return;c[10223]=0;c[10220]=0;return}if((q|0)==(c[10223]|0)){s=(c[10220]|0)+h|0;c[10220]=s;c[10223]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do{if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do{if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ga();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ga();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ga()}}while(0);if(i){d=c[a+(b+28)>>2]|0;e=41176+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[10222]|0;if(p>>>0>>0)Ga();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do{if(d)if(d>>>0>>0)Ga();else{c[p+16>>2]=d;c[d+24>>2]=p;break}}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(q|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ga()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[10223]|0)){c[10220]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=40912+(e<<2)|0;f=c[10218]|0;d=1<>2]|0;if(e>>>0<(c[10222]|0)>>>0)Ga();else{r=d;s=e}}else{c[10218]=f|d;r=40912+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=41176+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[10219]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do{if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[10222]|0)>>>0)Ga();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}}while(0);e=d+8|0;f=c[e>>2]|0;s=c[10222]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ga();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Ll(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[9321]|0;Pl(42048,e,42104);c[10342]=42892;c[10344]=42912;c[10343]=0;a=c[10720]|0;o=0;ia(62,41368+a|0,42048);g=o;o=0;if(g&1){g=Na()|0;fn(41376);Ya(g|0)}c[41368+(a+72)>>2]=0;c[41368+(a+76)>>2]=-1;f=c[9322]|0;Ql(42152,f,42112);c[10364]=42972;c[10365]=42992;d=c[10740]|0;o=0;ia(62,41456+d|0,42152);g=o;o=0;if(g&1){g=Na()|0;fn(41460);Ya(g|0)}a=d+72|0;c[41456+a>>2]=0;b=d+76|0;c[41456+b>>2]=-1;g=c[9320]|0;Ql(42200,g,42120);c[10385]=42972;c[10386]=42992;o=0;ia(62,41540+d|0,42200);h=o;o=0;if(h&1){h=Na()|0;fn(41544);Ya(h|0)}c[41540+a>>2]=0;c[41540+b>>2]=-1;h=c[41540+((c[(c[10385]|0)+-12>>2]|0)+24)>>2]|0;c[10406]=42972;c[10407]=42992;o=0;ia(62,41624+d|0,h|0);h=o;o=0;if(h&1){h=Na()|0;fn(41628);Ya(h|0)}c[41624+a>>2]=0;c[41624+b>>2]=-1;c[41368+((c[(c[10342]|0)+-12>>2]|0)+72)>>2]=41456;a=41540+((c[(c[10385]|0)+-12>>2]|0)+4)|0;c[a>>2]=c[a>>2]|8192;c[41540+((c[(c[10385]|0)+-12>>2]|0)+72)>>2]=41456;Rl(42248,e,42128);c[10427]=42932;c[10429]=42952;c[10428]=0;a=c[10730]|0;o=0;ia(62,41708+a|0,42248);h=o;o=0;if(h&1){h=Na()|0;ln(41716);Ya(h|0)}c[41708+(a+72)>>2]=0;c[41708+(a+76)>>2]=-1;Sl(42304,f,42136);c[10449]=43012;c[10450]=43032;d=c[10750]|0;o=0;ia(62,41796+d|0,42304);h=o;o=0;if(h&1){h=Na()|0;ln(41800);Ya(h|0)}a=d+72|0;c[41796+a>>2]=0;b=d+76|0;c[41796+b>>2]=-1;Sl(42352,g,42144);c[10470]=43012;c[10471]=43032;o=0;ia(62,41880+d|0,42352);h=o;o=0;if(h&1){h=Na()|0;ln(41884);Ya(h|0)}c[41880+a>>2]=0;c[41880+b>>2]=-1;h=c[41880+((c[(c[10470]|0)+-12>>2]|0)+24)>>2]|0;c[10491]=43012;c[10492]=43032;o=0;ia(62,41964+d|0,h|0);h=o;o=0;if(h&1){h=Na()|0;ln(41968);Ya(h|0)}else{c[41964+a>>2]=0;c[41964+b>>2]=-1;c[41708+((c[(c[10427]|0)+-12>>2]|0)+72)>>2]=41796;h=41880+((c[(c[10470]|0)+-12>>2]|0)+4)|0;c[h>>2]=c[h>>2]|8192;c[41880+((c[(c[10470]|0)+-12>>2]|0)+72)>>2]=41796;return}}function Ml(a){a=a|0;o=0;ka(70,41456)|0;a=o;o=0;if(((!(a&1)?(o=0,ka(70,41624)|0,a=o,o=0,!(a&1)):0)?(o=0,ka(71,41796)|0,a=o,o=0,!(a&1)):0)?(o=0,ka(71,41964)|0,a=o,o=0,!(a&1)):0)return;a=Na(0)|0;ec(a)}function Nl(){Ll(0);kb(187,56757,n|0)|0;return}function Ol(){return}function Pl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;pn(b);c[b>>2]=42600;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;ia(23,b|0,f|0);e=o;o=0;if(e&1){h=Na()|0;Gs(f);nn(b);Ya(h|0)}else{Gs(f);i=g;return}}function Ql(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;pn(b);c[b>>2]=42536;c[b+32>>2]=d;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;d=ra(37,f|0,44280)|0;h=o;o=0;if(h&1){h=Na()|0;Gs(f);nn(b);Ya(h|0)}else{Gs(f);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=g;return}}function Rl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;En(b);c[b>>2]=42472;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;ia(21,b|0,f|0);e=o;o=0;if(e&1){h=Na()|0;Gs(f);Cn(b);Ya(h|0)}else{Gs(f);i=g;return}}function Sl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;En(b);c[b>>2]=42408;c[b+32>>2]=d;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;d=ra(37,f|0,44288)|0;h=o;o=0;if(h&1){h=Na()|0;Gs(f);Cn(b);Ya(h|0)}else{Gs(f);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=g;return}}function Tl(a){a=a|0;Cn(a);cj(a);return}function Ul(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Is(d,44288)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function Vl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Yk(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Vk(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function Wl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do{if(!(a[b+44>>0]|0))if((e|0)>0){f=d;d=0;while(1){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,c[f>>2]|0)|0)==-1)break a;d=d+1|0;if((d|0)<(e|0))f=f+4|0;else break}}else d=0;else d=Yk(d,4,e,c[b+32>>2]|0)|0}while(0);return d|0}function Xl(b,d){b=b|0;d=d|0;var e=0,f=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;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do{if(!q){c[e>>2]=d;if(a[b+44>>0]|0)if((Yk(e,4,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;l=e+4|0;m=b+36|0;g=b+40|0;h=p+8|0;j=p;k=b+32|0;while(1){b=c[m>>2]|0;b=Sb[c[(c[b>>2]|0)+12>>2]&15](b,c[g>>2]|0,e,l,n,p,h,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-j|0;if((Yk(p,1,b,c[k>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Yk(e,1,1,c[k>>2]|0)|0)!=1)e=-1;else r=11}else r=11}while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function Yl(b,d){b=b|0;d=d|0;var e=0,f=0;f=Is(d,44288)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Rr(56783);return}function Zl(a){a=a|0;Cn(a);cj(a);return}function _l(a){a=a|0;return bm(a,0)|0}function $l(a){a=a|0;return bm(a,1)|0}function am(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+8|0;f=m+4|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do{if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do{if(e){c[f>>2]=c[j>>2];e=c[b+36>>2]|0;switch(Sb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((al(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}}while(0);c[j>>2]=d;a[h>>0]=1}}while(0);i=m;return d|0}function bm(b,d){b=b|0;d=d|0;var e=0,f=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;r=i;i=i+32|0;q=r+16|0;p=r+8|0;m=r+4|0;n=r;g=b+52|0;a:do{if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=-1;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;if((e|0)>0){g=0;do{f=Zk(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[q+g>>0]=f;g=g+1|0}while((g|0)<(e|0))}b:do{if(!(a[b+53>>0]|0)){j=b+40|0;k=b+36|0;l=p+4|0;c:while(1){s=c[j>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[k>>2]|0;h=q+e|0;switch(Sb[c[(c[t>>2]|0)+16>>2]&15](t,s,q,h,m,p,l,n)|0){case 2:{e=-1;break a}case 3:break c;case 1:break;default:break b}t=c[j>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){e=-1;break a}f=Zk(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[h>>0]=f;e=e+1|0}c[p>>2]=a[q>>0]}else c[p>>2]=a[q>>0]}while(0);if(d){e=c[p>>2]|0;c[b+48>>2]=e;break}while(1){if((e|0)<=0)break;e=e+-1|0;if((al(a[q+e>>0]|0,c[o>>2]|0)|0)==-1){e=-1;break a}}e=c[p>>2]|0}}while(0);i=r;return e|0}function cm(a){a=a|0;nn(a);cj(a);return}function dm(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Is(d,44280)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function em(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Yk(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Vk(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function fm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;a:do{if(!(a[b+44>>0]|0))if((f|0)>0){g=e;e=0;while(1){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,d[g>>0]|0)|0)==-1)break a;e=e+1|0;if((e|0)<(f|0))g=g+1|0;else break}}else e=0;else e=Yk(e,1,f,c[b+32>>2]|0)|0}while(0);return e|0}function gm(b,d){b=b|0;d=d|0;var e=0,f=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;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do{if(!q){a[e>>0]=d;if(a[b+44>>0]|0)if((Yk(e,1,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;m=e+1|0;g=b+36|0;h=b+40|0;j=p+8|0;k=p;l=b+32|0;while(1){b=c[g>>2]|0;b=Sb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,e,m,n,p,j,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-k|0;if((Yk(p,1,b,c[l>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Yk(e,1,1,c[l>>2]|0)|0)!=1)e=-1;else r=11}else r=11}while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function hm(b,d){b=b|0;d=d|0;var e=0,f=0;f=Is(d,44280)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Rr(56783);return}function im(a){a=a|0;nn(a);cj(a);return}function jm(a){a=a|0;return mm(a,0)|0}function km(a){a=a|0;return mm(a,1)|0}function lm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+4|0;f=m+8|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do{if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do{if(e){a[f>>0]=c[j>>2];e=c[b+36>>2]|0;switch(Sb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((al(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}}while(0);c[j>>2]=d;a[h>>0]=1}}while(0);i=m;return d|0}function mm(b,e){b=b|0;e=e|0;var f=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;s=i;i=i+32|0;r=s+16|0;q=s+8|0;n=s+4|0;o=s;h=b+52|0;a:do{if(a[h>>0]|0){g=b+48|0;f=c[g>>2]|0;if(e){c[g>>2]=-1;a[h>>0]=0}}else{f=c[b+44>>2]|0;f=(f|0)>1?f:1;p=b+32|0;if((f|0)>0){h=0;do{g=Zk(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[r+h>>0]=g;h=h+1|0}while((h|0)<(f|0))}b:do{if(!(a[b+53>>0]|0)){k=b+40|0;l=b+36|0;m=q+1|0;c:while(1){t=c[k>>2]|0;h=t;g=c[h>>2]|0;h=c[h+4>>2]|0;u=c[l>>2]|0;j=r+f|0;switch(Sb[c[(c[u>>2]|0)+16>>2]&15](u,t,r,j,n,q,m,o)|0){case 2:{f=-1;break a}case 3:break c;case 1:break;default:break b}u=c[k>>2]|0;c[u>>2]=g;c[u+4>>2]=h;if((f|0)==8){f=-1;break a}g=Zk(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[j>>0]=g;f=f+1|0}a[q>>0]=a[r>>0]|0}else a[q>>0]=a[r>>0]|0}while(0);if(e){f=a[q>>0]|0;c[b+48>>2]=f&255}else{while(1){if((f|0)<=0)break;f=f+-1|0;if((al(d[r+f>>0]|0,c[p>>2]|0)|0)==-1){f=-1;break a}}f=a[q>>0]|0}f=f&255}}while(0);i=s;return f|0}function nm(a){a=a|0;return}function om(a){a=a|0;a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function pm(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b){Bb[c[(c[a>>2]|0)+8>>2]&255](a);a=1}else a=0;return a|0}function qm(b,d){b=b|0;d=d|0;c[b>>2]=36868;o=0;ia(86,b+4|0,((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0)|0);b=o;o=0;if(b&1){b=Na()|0;Ya(b|0)}else return}function rm(a,b){a=a|0;b=b|0;c[a>>2]=36868;o=0;ia(86,a+4|0,b|0);a=o;o=0;if(a&1){a=Na()|0;Ya(a|0)}else return}function sm(a,b){a=a|0;b=b|0;var d=0,e=0;e=nl(b)|0;d=bj(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=d+12|0;lw(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function tm(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=d;c[a+4>>2]=b;return}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;Qb[c[(c[a>>2]|0)+12>>2]&15](e,a,b);if((c[e+4>>2]|0)==(c[d+4>>2]|0))e=(c[e>>2]|0)==(c[d>>2]|0);else e=0;i=f;return e|0}function vm(a,b,d){a=a|0;b=b|0;d=d|0;return((c[b>>2]|0)==(d|0)?(c[b+4>>2]|0)==(a|0):0)|0}function wm(a,b,c){a=a|0;b=b|0;c=c|0;b=dk(c)|0;Gm(a,b,nl(b)|0);return}function xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=c[d>>2]|0;do{if(f){g=a[e>>0]|0;if(!(g&1))g=(g&255)>>>1;else g=c[e+4>>2]|0;if(g){Pm(e,56990)|0;f=c[d>>2]|0}d=c[d+4>>2]|0;Qb[c[(c[d>>2]|0)+24>>2]&15](h,d,f);d=a[h>>0]|0;g=(d&1)==0;o=0;ma(30,e|0,(g?h+1|0:c[h+8>>2]|0)|0,(g?(d&255)>>>1:c[h+4>>2]|0)|0)|0;d=o;o=0;if(d&1){j=Na()|0;Im(h);Ya(j|0)}else{Im(h);break}}}while(0);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;i=j;return}function ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;e=f+12|0;g=f;Gm(g,d,nl(d)|0);o=0;wa(10,e|0,b|0,g|0);d=o;o=0;do{if(!(d&1)){o=0;ia(87,a|0,e|0);d=o;o=0;if(d&1){f=Na()|0;Im(e);e=f;break}else{Im(e);Im(g);c[a>>2]=42664;d=c[b+4>>2]|0;g=a+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=d;i=f;return}}else e=Na()|0}while(0);Im(g);Ya(e|0)}function zm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+48|0;f=g+24|0;j=g+16|0;h=g;c[j>>2]=b;c[j+4>>2]=d;Fm(h,e);o=0;wa(10,f|0,j|0,h|0);e=o;o=0;do{if(!(e&1)){o=0;ia(87,a|0,f|0);j=o;o=0;if(j&1){j=Na()|0;Im(f);f=j;break}else{Im(f);Im(h);c[a>>2]=42664;c[a+8>>2]=b;c[a+12>>2]=d;i=g;return}}else f=Na()|0}while(0);Im(h);Ya(f|0)}function Am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+48|0;e=f+24|0;h=f+16|0;g=f;c[h>>2]=b;c[h+4>>2]=d;Gm(g,58898,0);o=0;wa(10,e|0,h|0,g|0);h=o;o=0;do{if(!(h&1)){o=0;ia(87,a|0,e|0);h=o;o=0;if(h&1){h=Na()|0;Im(e);e=h;break}else{Im(e);Im(g);c[a>>2]=42664;c[a+8>>2]=b;c[a+12>>2]=d;i=f;return}}else e=Na()|0}while(0);Im(g);Ya(e|0)}function Bm(a){a=a|0;mj(a);return}function Cm(a){a=a|0;mj(a);cj(a);return}function Dm(a){a=a|0;return}function Em(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;rb(42676)|0;if((c[a>>2]|0)==1)do{Da(42704,42676)|0}while((c[a>>2]|0)==1);do{if(!(c[a>>2]|0)){c[a>>2]=1;o=0;ka(72,42676)|0;e=o;o=0;if((((!(e&1)?(o=0,ha(d|0,b|0),e=o,o=0,!(e&1)):0)?(o=0,ka(73,42676)|0,e=o,o=0,!(e&1)):0)?(c[a>>2]=-1,o=0,ka(72,42676)|0,e=o,o=0,!(e&1)):0)?(o=0,ka(74,42704)|0,e=o,o=0,!(e&1)):0)break;e=Na(0)|0;Va(e|0)|0;o=0;ka(73,42676)|0;e=o;o=0;if((!(e&1)?(c[a>>2]=0,o=0,ka(72,42676)|0,e=o,o=0,!(e&1)):0)?(o=0,ka(74,42704)|0,e=o,o=0,!(e&1)):0){o=0;xa(5);o=0}b=Na()|0;o=0;xa(3);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}else Ya(b|0)}else cb(42676)|0}while(0);return}function Fm(b,d){b=b|0;d=d|0;if(!(a[d>>0]&1)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}else Gm(b,c[d+8>>2]|0,c[d+4>>2]|0);return}function Gm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)_i(b);if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0}else{g=e+16&-16;f=bj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}lw(b|0,d|0,e|0)|0;a[b+e>>0]=0;return}function Hm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>4294967279)_i(b);if(d>>>0<11){a[b>>0]=d<<1;b=b+1|0}else{g=d+16&-16;f=bj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}iw(b|0,e|0,d|0)|0;a[b+d>>0]=0;return}function Im(b){b=b|0;if(a[b>>0]&1)cj(c[b+8>>2]|0);return}function Jm(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d>>0]|0;f=(e&1)==0;Lm(b,f?d+1|0:c[d+8>>2]|0,f?(e&255)>>>1:c[d+4>>2]|0)|0}return b|0}function Km(a,b){a=a|0;b=b|0;return Lm(a,b,nl(b)|0)|0}function Lm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=10;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do{if(h>>>0>=e>>>0){if(g)f=b+1|0;else f=c[b+8>>2]|0;nw(f|0,d|0,e|0)|0;a[f+e>>0]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;Sm(b,h,e-h|0,f,0,f,e,d)}}while(0);return b|0}function Mm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a[b>>0]|0;g=(f&1)==0;if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;do{if(f>>>0>=d>>>0)if(g){a[b+1+d>>0]=0;a[b>>0]=d<<1;break}else{a[(c[b+8>>2]|0)+d>>0]=0;c[b+4>>2]=d;break}else Nm(b,d-f|0,e)|0}while(0);return}function Nm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(d){f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>>0){Tm(b,g,d-g+h|0,h,h,0,0);f=a[b>>0]|0}if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;iw(g+h|0,e|0,d|0)|0;f=h+d|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}return b|0}function Om(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>4294967279)_i(b);e=a[b>>0]|0;if(!(e&1))f=10;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<11)i=10;else i=(d+16&-16)+-1|0;a:do{if((i|0)!=(f|0)){do{if((i|0)!=10){d=i+1|0;if(i>>>0<=f>>>0){o=0;d=ka(67,d|0)|0;h=o;o=0;if(h&1){b=Na(0)|0;Va(b|0)|0;Xa();break a}}else d=bj(d)|0;if(!(e&1)){f=1;g=b+1|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+1|0;f=0;g=c[b+8>>2]|0;h=1}}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;lw(d|0,g|0,e+1|0)|0;if(h)cj(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}}while(0);return}function Pm(a,b){a=a|0;b=b|0;return Rm(a,b,nl(b)|0)|0}function Qm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=10;h=(e&255)>>>1}if((h|0)==(g|0)){Tm(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+1|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}a[e+h>>0]=d;a[e+f>>0]=0;return}function Rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>=e>>>0){if(e){if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;lw(g+h|0,d|0,e|0)|0;f=h+e|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}}else Sm(b,g,e-g+h|0,h,h,0,e,d);return b|0}function Sm(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((-18-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))m=b+1|0;else m=c[b+8>>2]|0;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=bj(k)|0;if(g)lw(l|0,m|0,g|0)|0;if(i)lw(l+g|0,j|0,i|0)|0;e=f-h|0;if((e|0)!=(g|0))lw(l+(i+g)|0,m+(h+g)|0,e-g|0)|0;if((d|0)!=10)cj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;a[l+d>>0]=0;return}function Tm(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))l=b+1|0;else l=c[b+8>>2]|0;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=bj(j)|0;if(g)lw(k|0,l|0,g|0)|0;e=f-h|0;if((e|0)!=(g|0))lw(k+(i+g)|0,l+(h+g)|0,e-g|0)|0;if((d|0)!=10)cj(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function Um(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>1073741807)_i(b);if(e>>>0<2){a[b>>0]=e<<1;b=b+4|0}else{g=e+4&-4;f=bj(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}ql(b,d,e)|0;c[b+(e<<2)>>2]=0;return}function Vm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>1073741807)_i(b);if(d>>>0<2){a[b>>0]=d<<1;b=b+4|0}else{g=d+4&-4;f=bj(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}sl(b,e,d)|0;c[b+(d<<2)>>2]=0;return}function Wm(b){b=b|0;if(a[b>>0]&1)cj(c[b+8>>2]|0);return}function Xm(a,b){a=a|0;b=b|0;return Ym(a,b,pl(b)|0)|0}function Ym(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=1;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do{if(h>>>0>=e>>>0){if(g)f=b+4|0;else f=c[b+8>>2]|0;rl(f,d,e)|0;c[f+(e<<2)>>2]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;$m(b,h,e-h|0,f,0,f,e,d)}}while(0);return b|0}function Zm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>1073741807)_i(b);e=a[b>>0]|0;if(!(e&1))f=1;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<2)i=1;else i=(d+4&-4)+-1|0;a:do{if((i|0)!=(f|0)){do{if((i|0)!=1){d=(i<<2)+4|0;if(i>>>0<=f>>>0){o=0;d=ka(67,d|0)|0;h=o;o=0;if(h&1){b=Na(0)|0;Va(b|0)|0;Xa();break a}}else d=bj(d)|0;if(!(e&1)){f=1;g=b+4|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+4|0;f=0;g=c[b+8>>2]|0;h=1}}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;ql(d,g,e+1|0)|0;if(h)cj(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}}while(0);return}function _m(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=1;h=(e&255)>>>1}if((h|0)==(g|0)){an(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+4|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}c[e+(h<<2)>>2]=d;c[e+(f<<2)>>2]=0;return}function $m(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((1073741806-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))m=b+4|0;else m=c[b+8>>2]|0;if(d>>>0<536870887){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<2?2:k+4&-4}else k=1073741807;l=bj(k<<2)|0;if(g)ql(l,m,g)|0;if(i)ql(l+(g<<2)|0,j,i)|0;e=f-h|0;if((e|0)!=(g|0))ql(l+(i+g<<2)|0,m+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)cj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;c[l+(d<<2)>>2]=0;return}function an(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((1073741807-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))l=b+4|0;else l=c[b+8>>2]|0;if(d>>>0<536870887){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<2?2:j+4&-4}else j=1073741807;k=bj(j<<2)|0;if(g)ql(k,l,g)|0;e=f-h|0;if((e|0)!=(g|0))ql(k+(i+g<<2)|0,l+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)cj(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function bn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d;f=e-g|0;if(f>>>0>4294967279)_i(b);if(f>>>0<11){a[b>>0]=f<<1;h=b+1|0}else{i=f+16&-16;h=bj(i)|0;c[b+8>>2]=h;c[b>>2]=i|1;c[b+4>>2]=f}b=e-g|0;if((d|0)!=(e|0)){f=h;while(1){a[f>>0]=a[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else f=f+1|0}}a[h+b>>0]=0;return}function cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d;f=e-h|0;g=f>>2;if(g>>>0>1073741807)_i(b);if(g>>>0<2){a[b>>0]=f>>>1;b=b+4|0}else{i=g+4&-4;f=bj(i<<2)|0;c[b+8>>2]=f;c[b>>2]=i|1;c[b+4>>2]=g;b=f}g=(e-h|0)>>>2;if((d|0)!=(e|0)){f=b;while(1){c[f>>2]=c[d>>2];d=d+4|0;if((d|0)==(e|0))break;else f=f+4|0}}c[b+(g<<2)>>2]=0;return}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=(c[a+24>>2]|0)==0;c[a+16>>2]=f&1|b;if(!((f&1|b)&c[a+20>>2])){i=d;return}b=Ma(16)|0;so()|0;c[e>>2]=1;c[e+4>>2]=43112;o=0;wa(11,b|0,57437,e|0);f=o;o=0;if(f&1){f=Na()|0;La(b|0);Ya(f|0)}else lb(b|0,864,112)}function en(a){a=a|0;var b=0;c[a>>2]=43068;o=0;ia(88,a|0,0);b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else{Gs(a+28|0);Gl(c[a+32>>2]|0);Gl(c[a+36>>2]|0);Gl(c[a+48>>2]|0);Gl(c[a+60>>2]|0);return}}function fn(a){a=a|0;en(a);return}function gn(a){a=a|0;en(a);cj(a);return}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+40>>2]|0;e=a+32|0;f=a+36|0;if(d)do{d=d+-1|0;Qb[c[(c[e>>2]|0)+(d<<2)>>2]&15](b,a,c[(c[f>>2]|0)+(d<<2)>>2]|0)}while((d|0)!=0);return}function jn(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;Fs(b,a+28|0);i=d;return c[b>>2]|0}function kn(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));Es(d);return}function ln(a){a=a|0;en(a);return}function mn(a){a=a|0;en(a);cj(a);return}function nn(a){a=a|0;c[a>>2]=42760;Gs(a+4|0);return}function on(a){a=a|0;c[a>>2]=42760;Gs(a+4|0);cj(a);return}function pn(a){a=a|0;c[a>>2]=42760;Es(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function qn(a,b){a=a|0;b=b|0;return}function rn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function sn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function tn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function un(a){a=a|0;return 0}function vn(a){a=a|0;return 0}function wn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+12|0;i=b+16|0;a:do{if((e|0)>0){g=d;d=0;while(1){f=c[h>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[h>>2]=f+1;f=a[f>>0]|0}else{f=Eb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break a;f=f&255}a[g>>0]=f;d=d+1|0;if((d|0)<(e|0))g=g+1|0;else break}}else d=0}while(0);return d|0}function xn(a){a=a|0;return-1}function yn(a){a=a|0;var b=0;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+1;a=d[a>>0]|0}return a|0}function zn(a,b){a=a|0;b=b|0;return-1}function An(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=b+24|0;j=b+28|0;a:do{if((f|0)>0){h=e;e=0;while(1){g=c[i>>2]|0;if(g>>>0>=(c[j>>2]|0)>>>0){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,d[h>>0]|0)|0)==-1)break a}else{k=a[h>>0]|0;c[i>>2]=g+1;a[g>>0]=k}e=e+1|0;if((e|0)<(f|0))h=h+1|0;else break}}else e=0}while(0);return e|0}function Bn(a,b){a=a|0;b=b|0;return-1}function Cn(a){a=a|0;c[a>>2]=42824;Gs(a+4|0);return}function Dn(a){a=a|0;c[a>>2]=42824;Gs(a+4|0);cj(a);return}function En(a){a=a|0;c[a>>2]=42824;Es(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function Fn(a,b){a=a|0;b=b|0;return}function Gn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Hn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Jn(a){a=a|0;return 0}function Kn(a){a=a|0;return 0}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+12|0;h=a+16|0;a:do{if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){e=Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break a}else{c[g>>2]=e+4;e=c[e>>2]|0}c[f>>2]=e;b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0}while(0);return b|0}function Mn(a){a=a|0;return-1}function Nn(a){a=a|0;var b=0;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0}return a|0}function On(a,b){a=a|0;b=b|0;return-1}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+24|0;h=a+28|0;a:do{if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){if((Lb[c[(c[a>>2]|0)+52>>2]&63](a,c[f>>2]|0)|0)==-1)break a}else{i=c[f>>2]|0;c[g>>2]=e+4;c[e>>2]=i}b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0}while(0);return b|0}function Qn(a,b){a=a|0;b=b|0;return-1}function Rn(a){a=a|0;en(a+8|0);return}function Sn(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Tn(a){a=a|0;en(a+8|0);cj(a);return}function Un(a){a=a|0;Tn(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Vn(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;a:do{if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){o=0;ia(65,e|0,b|0);d=o;o=0;b:do{if(d&1)d=Na(0)|0;else{do{if(a[e>>0]|0){d=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;d=ka(c[(c[d>>2]|0)+24>>2]|0,d|0)|0;g=o;o=0;if(!(g&1)){if((d|0)!=-1)break;g=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+g|0,c[b+(g+16)>>2]|1|0);g=o;o=0;if(!(g&1))break}d=Na(0)|0;ho(e);break b}}while(0);ho(e);break a}}while(0);Va(d|0)|0;o=0;ha(181,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=o;o=0;if(!(g&1)){Xa();break}d=Na()|0;o=0;xa(3);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else Ya(d|0)}}while(0);i=f;return b|0}function Wn(a){a=a|0;var b=0;b=a+16|0;c[b>>2]=c[b>>2]|1;if(!(c[a+20>>2]&1))return;else mb()}function Xn(a){a=a|0;en(a+8|0);return}function Yn(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Zn(a){a=a|0;en(a+8|0);cj(a);return}function _n(a){a=a|0;Zn(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function $n(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;a:do{if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){o=0;ia(89,e|0,b|0);d=o;o=0;b:do{if(d&1)d=Na(0)|0;else{do{if(a[e>>0]|0){d=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;d=ka(c[(c[d>>2]|0)+24>>2]|0,d|0)|0;g=o;o=0;if(!(g&1)){if((d|0)!=-1)break;g=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+g|0,c[b+(g+16)>>2]|1|0);g=o;o=0;if(!(g&1))break}d=Na(0)|0;po(e);break b}}while(0);po(e);break a}}while(0);Va(d|0)|0;o=0;ha(181,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=o;o=0;if(!(g&1)){Xa();break}d=Na()|0;o=0;xa(3);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else Ya(d|0)}}while(0);i=f;return b|0}function ao(a,b){a=a|0;b=b|0;return}function bo(a){a=a|0;en(a+4|0);return}function co(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function eo(a){a=a|0;en(a+4|0);cj(a);return}function fo(a){a=a|0;eo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function go(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)Vn(e)|0;a[b>>0]=1}return}function ho(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;do{if((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Za()|0):0){b=c[a>>2]|0;b=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;b=ka(c[(c[b>>2]|0)+24>>2]|0,b|0)|0;d=o;o=0;if(!(d&1)){if((b|0)!=-1)break;b=c[a>>2]|0;d=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+d|0,c[b+(d+16)>>2]|1|0);d=o;o=0;if(!(d&1))break}d=Na(0)|0;Va(d|0)|0;o=0;xa(3);d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}}}while(0);return}function io(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+20|0;l=q+16|0;n=q+8|0;e=q;o=0;ia(65,n|0,b|0);m=o;o=0;a:do{if(m&1){e=Na(0)|0;f=b;g=b;p=19}else{do{if(a[n>>0]|0){c[e>>2]=jn(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=0;m=ra(37,e|0,43392)|0;j=o;o=0;if(j&1){p=Na(0)|0;Gs(e);e=p}else{Gs(e);g=c[(c[b>>2]|0)+-12>>2]|0;j=c[b+(g+24)>>2]|0;f=b+g|0;g=b+(g+76)|0;e=c[g>>2]|0;do{if((e|0)==-1){c[k>>2]=jn(f)|0;o=0;e=ra(37,k|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(k);e=h<<24>>24;c[g>>2]=e;p=10;break}e=Na(0)|0;Gs(k)}else p=10}while(0);if((p|0)==10){r=c[(c[m>>2]|0)+16>>2]|0;c[l>>2]=j;o=0;c[k>>2]=c[l>>2];e=sa(r|0,m|0,k|0,f|0,e&255|0,d|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break}e=Na(0)|0}}ho(n);f=b;g=b;p=19;break a}}while(0);ho(n)}}while(0);do{if((p|0)==19){Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();break}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0)}}while(0);i=q;return b|0}function jo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+20|0;l=q+16|0;n=q+8|0;e=q;o=0;ia(65,n|0,b|0);m=o;o=0;a:do{if(m&1){e=Na(0)|0;f=b;g=b;p=19}else{do{if(a[n>>0]|0){c[e>>2]=jn(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=0;m=ra(37,e|0,43392)|0;j=o;o=0;if(j&1){p=Na(0)|0;Gs(e);e=p}else{Gs(e);g=c[(c[b>>2]|0)+-12>>2]|0;j=c[b+(g+24)>>2]|0;f=b+g|0;g=b+(g+76)|0;e=c[g>>2]|0;do{if((e|0)==-1){c[k>>2]=jn(f)|0;o=0;e=ra(37,k|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(k);e=h<<24>>24;c[g>>2]=e;p=10;break}e=Na(0)|0;Gs(k)}else p=10}while(0);if((p|0)==10){r=c[(c[m>>2]|0)+24>>2]|0;c[l>>2]=j;o=0;c[k>>2]=c[l>>2];e=sa(r|0,m|0,k|0,f|0,e&255|0,d|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break}e=Na(0)|0}}ho(n);f=b;g=b;p=19;break a}}while(0);ho(n)}}while(0);do{if((p|0)==19){Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();break}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0)}}while(0);i=q;return b|0}function ko(a){a=a|0;en(a+4|0);return}function lo(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function mo(a){a=a|0;en(a+4|0);cj(a);return}function no(a){a=a|0;mo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function oo(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)$n(e)|0;a[b>>0]=1}return}function po(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;do{if((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Za()|0):0){b=c[a>>2]|0;b=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;b=ka(c[(c[b>>2]|0)+24>>2]|0,b|0)|0;d=o;o=0;if(!(d&1)){if((b|0)!=-1)break;b=c[a>>2]|0;d=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+d|0,c[b+(d+16)>>2]|1|0);d=o;o=0;if(!(d&1))break}d=Na(0)|0;Va(d|0)|0;o=0;xa(3);d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}}}while(0);return}function qo(a){a=a|0;return 57453}function ro(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=1&(c|0)<257)wm(a,b,c);else Gm(a,57462,35);return}function so(){if((a[1048]|0)==0?(Ha(1048)|0)!=0:0){c[10778]=43084;kb(72,43112,n|0)|0;Pa(1048)}return 43112}function to(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e;j=d;h=c[j+4>>2]|0;d=g;c[d>>2]=c[j>>2];c[d+4>>2]=h;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];ym(a,f,b);c[a>>2]=43048;i=e;return}function uo(a){a=a|0;Bm(a);return}function vo(a){a=a|0;Bm(a);cj(a);return}function wo(a){a=a|0;en(a);cj(a);return}function xo(a){a=a|0;cj(a);return}function yo(a){a=a|0;return}function zo(a){a=a|0;return}function Ao(a){a=a|0;cj(a);return}function Bo(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do{if((e|0)==(f|0))h=6;else while(1){if((c|0)==(d|0)){c=-1;break a}b=a[c>>0]|0;g=a[e>>0]|0;if(b<<24>>24>24){c=-1;break a}if(g<<24>>24>24){c=1;break a}c=c+1|0;e=e+1|0;if((e|0)==(f|0)){h=6;break}}}while(0);if((h|0)==6)c=(c|0)!=(d|0)&1;return c|0}function Co(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bn(a,c,d);return}function Do(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)==(d|0))b=0;else{b=0;do{b=(a[c>>0]|0)+(b<<4)|0;e=b&-268435456;b=(e>>>24|e)^b;c=c+1|0}while((c|0)!=(d|0))}return b|0}function Eo(a){a=a|0;return}function Fo(a){a=a|0;cj(a);return}function Go(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do{if((e|0)==(f|0))h=6;else while(1){if((b|0)==(d|0)){b=-1;break a}a=c[b>>2]|0;g=c[e>>2]|0;if((a|0)<(g|0)){b=-1;break a}if((g|0)<(a|0)){b=1;break a}b=b+4|0;e=e+4|0;if((e|0)==(f|0)){h=6;break}}}while(0);if((h|0)==6)b=(b|0)!=(d|0)&1;return b|0}function Ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cn(a,c,d);return}function Io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))a=0;else{a=0;do{a=(c[b>>2]|0)+(a<<4)|0;e=a&-268435456;a=(e>>>24|e)^a;b=b+4|0}while((b|0)!=(d|0))}return a|0}function Jo(a){a=a|0;return}function Ko(a){a=a|0;cj(a);return}function Lo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;q=s+56|0;j=s+52|0;n=s+48|0;k=s+44|0;l=s+40|0;m=s+36|0;p=s+32|0;t=s+8|0;r=s;a:do{if(!(c[f+4>>2]&1)){c[n>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[j>>2]=c[k>>2];c[q>>2]=c[l>>2];j=Db[t&63](b,j,q,f,g,n)|0;c[d>>2]=j;switch(c[n>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{j=jn(f)|0;c[m>>2]=j;o=0;b=ra(37,m|0,44220)|0;n=o;o=0;do{if(!(n&1)){pm(j)|0;j=jn(f)|0;c[p>>2]=j;o=0;l=ra(37,p|0,44360)|0;p=o;o=0;if(p&1){t=Na()|0;pm(j)|0;j=t;break}pm(j)|0;o=0;ia(c[(c[l>>2]|0)+24>>2]|0,t|0,l|0);p=o;o=0;if(!(p&1)){k=t+12|0;o=0;ia(c[(c[l>>2]|0)+28>>2]|0,k|0,l|0);p=o;o=0;if(!(p&1)){c[r>>2]=c[e>>2];o=0;c[q>>2]=c[r>>2];j=ea(7,d|0,q|0,t|0,t+24|0,b|0,g|0,1)|0;g=o;o=0;if(g&1){j=Na()|0;Im(t+12|0);Im(t);break}else{a[h>>0]=(j|0)==(t|0)&1;j=c[d>>2]|0;Im(t+12|0);Im(t);break a}}}else k=t;j=Na()|0;l=D;if((t|0)!=(k|0))do{k=k+-12|0;Im(k)}while((k|0)!=(t|0))}else{t=Na()|0;pm(j)|0;j=t}}while(0);Ya(j|0)}}while(0);i=s;return j|0}function Mo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=yu(a,k,j,e,f,g)|0;i=h;return a|0}function No(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=zu(a,k,j,e,f,g)|0;i=h;return a|0}function Oo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Au(a,k,j,e,f,g)|0;i=h;return a|0}function Po(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Bu(a,k,j,e,f,g)|0;i=h;return a|0}function Qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Cu(a,k,j,e,f,g)|0;i=h;return a|0}function Ro(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Du(a,k,j,e,f,g)|0;i=h;return a|0}function So(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Eu(a,k,j,e,f,g)|0;i=h;return a|0}function To(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Fu(a,k,j,e,f,g)|0;i=h;return a|0}function Uo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Gu(a,k,j,e,f,g)|0;i=h;return a|0}function Vo(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;C=i;i=i+240|0;x=C;s=C+208|0;E=C+32|0;b=C+28|0;D=C+16|0;w=C+12|0;u=C+48|0;v=C+8|0;t=C+4|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;o=0;g=ka(68,g|0)|0;r=o;o=0;do{if(r&1)b=Na()|0;else{c[b>>2]=g;o=0;b=ra(37,b|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,va(c[(c[b>>2]|0)+32>>2]|0,b|0,57498,57524,s|0)|0,r=o,o=0,!(r&1)):0){pm(g)|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;if(!(a[D>>0]&1))b=10;else b=(c[D>>2]&-2)+-1|0;o=0;wa(8,D|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){q=D+8|0;r=D+1|0;g=(a[D>>0]&1)==0?r:c[q>>2]|0;c[w>>2]=g;c[v>>2]=u;c[t>>2]=0;p=D+4|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){F=29;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){F=29;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;F=19;break}}else F=19}while(0);if((F|0)==19){F=0;if(l){k=0;break}else k=0}l=a[D>>0]|0;l=(l&1)==0?(l&255)>>>1:c[p>>2]|0;if((c[w>>2]|0)==(g+l|0)){o=0;wa(8,D|0,l<<1|0,0);n=o;o=0;if(n&1){F=29;break}if(!(a[D>>0]&1))g=10;else g=(c[D>>2]&-2)+-1|0;o=0;wa(8,D|0,g|0,0);n=o;o=0;if(n&1){F=29;break}g=(a[D>>0]&1)==0?r:c[q>>2]|0;c[w>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=29;break}}else l=d[l>>0]|0;if(Wo(l&255,16,g,w,t,0,E,u,v,s)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=29;break}else continue}else{c[m>>2]=k+1;continue}}if((F|0)==29){b=Na()|0;break}o=0;wa(8,D|0,(c[w>>2]|0)-g|0,0);G=o;o=0;if((!(G&1)?(y=a[D>>0]|0,z=c[q>>2]|0,o=0,A=ua(3)|0,G=o,o=0,!(G&1)):0)?(o=0,c[x>>2]=j,B=va(16,((y&1)==0?r:z)|0,A|0,58882,x|0)|0,G=o,o=0,!(G&1)):0){if((B|0)!=1)c[h>>2]=4;if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=30;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;G=o;o=0;if(G&1){F=30;break a}if((b|0)==-1){c[f>>2]=0;F=55;break}}if(!g)F=56}else F=55}while(0);if((F|0)==55?g:0)F=56;if((F|0)==56)c[h>>2]=c[h>>2]|2;G=c[e>>2]|0;Im(D);Im(E);i=C;return G|0}else F=30}else F=30}while(0);if((F|0)==30)b=Na()|0;Im(D);break}b=Na()|0;pm(g)|0}}while(0);Im(E);Ya(b|0);return 0}function Wo(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do{if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5}while(0);a:do{if((n|0)==5){n=a[i>>0]|0;if(b<<24>>24==h<<24>>24?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+26|0;m=l;while(1){if((a[m>>0]|0)==b<<24>>24)break;m=m+1|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[57498+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[57498+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}}while(0);return m|0}function Xo(){var b=0,d=0;do{if((a[1968]|0)==0?(Ha(1968)|0)!=0:0){o=0;b=ma(31,2147483647,58885,0)|0;d=o;o=0;if(d&1){d=Na()|0;sb(1968);Ya(d|0)}else{c[11196]=b;Pa(1968);break}}}while(0);return c[11196]|0}function Yo(a){a=a|0;return}function Zo(a){a=a|0;cj(a);return}function _o(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;q=s+56|0;j=s+52|0;n=s+48|0;k=s+44|0;l=s+40|0;m=s+36|0;p=s+32|0;t=s+8|0;r=s;a:do{if(!(c[f+4>>2]&1)){c[n>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[j>>2]=c[k>>2];c[q>>2]=c[l>>2];j=Db[t&63](b,j,q,f,g,n)|0;c[d>>2]=j;switch(c[n>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{j=jn(f)|0;c[m>>2]=j;o=0;b=ra(37,m|0,44212)|0;n=o;o=0;do{if(!(n&1)){pm(j)|0;j=jn(f)|0;c[p>>2]=j;o=0;l=ra(37,p|0,44368)|0;p=o;o=0;if(p&1){t=Na()|0;pm(j)|0;j=t;break}pm(j)|0;o=0;ia(c[(c[l>>2]|0)+24>>2]|0,t|0,l|0);p=o;o=0;if(!(p&1)){k=t+12|0;o=0;ia(c[(c[l>>2]|0)+28>>2]|0,k|0,l|0);p=o;o=0;if(!(p&1)){c[r>>2]=c[e>>2];o=0;c[q>>2]=c[r>>2];j=ea(8,d|0,q|0,t|0,t+24|0,b|0,g|0,1)|0;g=o;o=0;if(g&1){j=Na()|0;Wm(t+12|0);Wm(t);break}else{a[h>>0]=(j|0)==(t|0)&1;j=c[d>>2]|0;Wm(t+12|0);Wm(t);break a}}}else k=t;j=Na()|0;l=D;if((t|0)!=(k|0))do{k=k+-12|0;Wm(k)}while((k|0)!=(t|0))}else{t=Na()|0;pm(j)|0;j=t}}while(0);Ya(j|0)}}while(0);i=s;return j|0}function $o(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ju(a,k,j,e,f,g)|0;i=h;return a|0}function ap(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ku(a,k,j,e,f,g)|0;i=h;return a|0}function bp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Lu(a,k,j,e,f,g)|0;i=h;return a|0}function cp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Mu(a,k,j,e,f,g)|0;i=h;return a|0}function dp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Nu(a,k,j,e,f,g)|0;i=h;return a|0}function ep(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ou(a,k,j,e,f,g)|0;i=h;return a|0}function fp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Pu(a,k,j,e,f,g)|0;i=h;return a|0}function gp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Qu(a,k,j,e,f,g)|0;i=h;return a|0}function hp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ru(a,k,j,e,f,g)|0;i=h;return a|0}function ip(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=i;i=i+320|0;w=B;r=B+208|0;D=B+32|0;b=B+28|0;C=B+16|0;v=B+12|0;t=B+48|0;u=B+8|0;s=B+4|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;f=ka(68,f|0)|0;q=o;o=0;do{if(q&1)b=Na()|0;else{c[b>>2]=f;o=0;b=ra(37,b|0,44212)|0;q=o;o=0;if(!(q&1)?(o=0,va(c[(c[b>>2]|0)+48>>2]|0,b|0,57498,57524,r|0)|0,q=o,o=0,!(q&1)):0){pm(f)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if(!(a[C>>0]&1))b=10;else b=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,b|0,0);q=o;o=0;a:do{if(!(q&1)){p=C+8|0;q=C+1|0;b=(a[C>>0]&1)==0?q:c[p>>2]|0;c[v>>2]=b;c[u>>2]=t;c[s>>2]=0;n=C+4|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){E=30;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){E=30;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k){j=l;break}else{j=l;break b}else{c[e>>2]=0;E=20;break}}else E=20}while(0);if((E|0)==20){E=0;if(k){j=0;break}else j=0}k=a[C>>0]|0;k=(k&1)==0?(k&255)>>>1:c[n>>2]|0;if((c[v>>2]|0)==(b+k|0)){o=0;wa(8,C|0,k<<1|0,0);m=o;o=0;if(m&1){E=30;break}if(!(a[C>>0]&1))b=10;else b=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,b|0,0);m=o;o=0;if(m&1){E=30;break}b=(a[C>>0]&1)==0?q:c[p>>2]|0;c[v>>2]=b+k}l=f+12|0;k=c[l>>2]|0;m=f+16|0;if((k|0)==(c[m>>2]|0)){o=0;k=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=30;break}}else k=c[k>>2]|0;if(jp(k,16,b,v,s,0,D,t,u,r)|0)break;j=c[l>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=30;break}else{j=f;continue}}else{c[l>>2]=j+4;j=f;continue}}if((E|0)==30){b=Na()|0;break}o=0;wa(8,C|0,(c[v>>2]|0)-b|0,0);F=o;o=0;if((!(F&1)?(x=a[C>>0]|0,y=c[p>>2]|0,o=0,z=ua(3)|0,F=o,o=0,!(F&1)):0)?(o=0,c[w>>2]=h,A=va(16,((x&1)==0?q:y)|0,z|0,58882,w|0)|0,F=o,o=0,!(F&1)):0){if((A|0)!=1)c[g>>2]=4;if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=31;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;F=o;o=0;if(F&1){E=31;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{E=59;break}else{c[e>>2]=0;E=57;break}}else E=57}while(0);if((E|0)==57?f:0)E=59;if((E|0)==59)c[g>>2]=c[g>>2]|2;F=c[d>>2]|0;Im(C);Im(D);i=B;return F|0}else E=31}else E=31}while(0);if((E|0)==31)b=Na()|0;Im(C);break}b=Na()|0;pm(f)|0}}while(0);Im(D);Ya(b|0);return 0}function jp(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do{if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5}while(0);a:do{if((n|0)==5){n=a[i>>0]|0;if((b|0)==(h|0)?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+104|0;m=l;while(1){if((c[m>>2]|0)==(b|0))break;m=m+4|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;i=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((i|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[57498+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[57498+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}}while(0);return m|0}function kp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;k=l;d=jn(d)|0;c[k>>2]=d;o=0;g=ra(37,k|0,44220)|0;m=o;o=0;if((((!(m&1)?(o=0,va(c[(c[g>>2]|0)+32>>2]|0,g|0,57498,57524,e|0)|0,m=o,o=0,!(m&1)):0)?(o=0,j=ra(37,k|0,44360)|0,m=o,o=0,!(m&1)):0)?(o=0,h=ka(c[(c[j>>2]|0)+16>>2]|0,j|0)|0,m=o,o=0,!(m&1)):0)?(a[f>>0]=h,o=0,ia(c[(c[j>>2]|0)+20>>2]|0,b|0,j|0),m=o,o=0,!(m&1)):0){pm(d)|0;i=l;return}m=Na()|0;pm(d)|0;Ya(m|0)}function lp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i;i=i+16|0;m=n;d=jn(d)|0;c[m>>2]=d;o=0;h=ra(37,m|0,44220)|0;p=o;o=0;if(((((!(p&1)?(o=0,va(c[(c[h>>2]|0)+32>>2]|0,h|0,57498,57530,e|0)|0,p=o,o=0,!(p&1)):0)?(o=0,l=ra(37,m|0,44360)|0,p=o,o=0,!(p&1)):0)?(o=0,j=ka(c[(c[l>>2]|0)+12>>2]|0,l|0)|0,p=o,o=0,!(p&1)):0)?(a[f>>0]=j,o=0,k=ka(c[(c[l>>2]|0)+16>>2]|0,l|0)|0,p=o,o=0,!(p&1)):0)?(a[g>>0]=k,o=0,ia(c[(c[l>>2]|0)+20>>2]|0,b|0,l|0),p=o,o=0,!(p&1)):0){pm(d)|0;i=n;return}p=Na()|0;pm(d)|0;Ya(p|0)}function mp(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do{if(b<<24>>24==i<<24>>24)if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if(b<<24>>24==j<<24>>24?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+32|0;p=o;while(1){if((a[p>>0]|0)==b<<24>>24)break;p=p+1|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;if((i|0)>31)p=-1;else{j=a[57498+i>>0]|0;switch(i|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=j;p=0;break a}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>21){p=0;break a}c[n>>2]=(c[n>>2]|0)+1;p=0;break a}}}}}while(0);return p|0}function np(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;j=k;b=jn(b)|0;c[j>>2]=b;o=0;f=ra(37,j|0,44212)|0;l=o;o=0;if((((!(l&1)?(o=0,va(c[(c[f>>2]|0)+48>>2]|0,f|0,57498,57524,d|0)|0,l=o,o=0,!(l&1)):0)?(o=0,h=ra(37,j|0,44368)|0,l=o,o=0,!(l&1)):0)?(o=0,g=ka(c[(c[h>>2]|0)+16>>2]|0,h|0)|0,l=o,o=0,!(l&1)):0)?(c[e>>2]=g,o=0,ia(c[(c[h>>2]|0)+20>>2]|0,a|0,h|0),l=o,o=0,!(l&1)):0){pm(b)|0;i=k;return}l=Na()|0;pm(b)|0;Ya(l|0)}function op(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;l=m;b=jn(b)|0;c[l>>2]=b;o=0;g=ra(37,l|0,44212)|0;n=o;o=0;if(((((!(n&1)?(o=0,va(c[(c[g>>2]|0)+48>>2]|0,g|0,57498,57530,d|0)|0,n=o,o=0,!(n&1)):0)?(o=0,k=ra(37,l|0,44368)|0,n=o,o=0,!(n&1)):0)?(o=0,h=ka(c[(c[k>>2]|0)+12>>2]|0,k|0)|0,n=o,o=0,!(n&1)):0)?(c[e>>2]=h,o=0,j=ka(c[(c[k>>2]|0)+16>>2]|0,k|0)|0,n=o,o=0,!(n&1)):0)?(c[f>>2]=j,o=0,ia(c[(c[k>>2]|0)+20>>2]|0,a|0,k|0),n=o,o=0,!(n&1)):0){pm(b)|0;i=m;return}n=Na()|0;pm(b)|0;Ya(n|0)}function pp(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do{if((b|0)==(i|0))if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if((b|0)==(j|0)?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+128|0;p=o;while(1){if((c[p>>2]|0)==(b|0))break;p=p+4|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;p=i>>2;if((i|0)<=124){j=a[57498+p>>0]|0;switch(p|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;break}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}}}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>84)p=0;else{c[n>>2]=(c[n>>2]|0)+1;p=0}}else p=-1}}while(0);return p|0}function qp(a){a=a|0;return}function rp(a){a=a|0;cj(a);return}function sp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n;a:do{if(!(c[e+4>>2]&1)){m=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Mb[m&31](b,h,e,f,g&1)|0}else{h=jn(e)|0;c[k>>2]=h;o=0;j=ra(37,k|0,44360)|0;l=o;o=0;b:do{if(l&1){n=Na()|0;pm(h)|0;h=n}else{pm(h)|0;h=c[j>>2]|0;if(g)Cb[c[h+24>>2]&127](m,j);else Cb[c[h+28>>2]&127](m,j);b=a[m>>0]|0;l=(b&1)==0;h=m+1|0;g=m+8|0;k=l?h:m+1|0;h=l?h:c[m+8>>2]|0;l=m+4|0;e=(b&1)==0;c:do{if((h|0)!=((e?k:c[g>>2]|0)+(e?(b&255)>>>1:c[l>>2]|0)|0)){d:while(1){j=a[h>>0]|0;f=c[d>>2]|0;do{if(f){e=f+24|0;b=c[e>>2]|0;if((b|0)!=(c[f+28>>2]|0)){c[e>>2]=b+1;a[b>>0]=j;break}o=0;j=ra(c[(c[f>>2]|0)+52>>2]|0,f|0,j&255|0)|0;b=o;o=0;if(b&1)break d;if((j|0)==-1)c[d>>2]=0}}while(0);h=h+1|0;b=a[m>>0]|0;e=(b&1)==0;if((h|0)==((e?k:c[g>>2]|0)+(e?(b&255)>>>1:c[l>>2]|0)|0))break c}h=Na()|0;Im(m);break b}}while(0);h=c[d>>2]|0;Im(m);break a}}while(0);Ya(h|0)}}while(0);i=n;return h|0}function tp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+64|0;h=n;q=n+56|0;r=n+44|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,1,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(1,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=cd(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function up(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=a[c>>0]|0;if(f<<24>>24){g=c;while(1){g=g+1|0;c=b+1|0;a[b>>0]=f;f=a[g>>0]|0;if(!(f<<24>>24)){b=c;break}else b=c}}a:do{switch(e&74|0){case 64:{a[b>>0]=111;break}case 8:if(!(e&16384)){a[b>>0]=120;break a}else{a[b>>0]=88;break a}default:if(d){a[b>>0]=100;break a}else{a[b>>0]=117;break a}}}while(0);return}function vp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do{switch(c[e+4>>2]&176|0){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}}while(0);return b|0}function wp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;t=Is(j,44220)|0;m=Is(j,44360)|0;Cb[c[(c[m>>2]|0)+20>>2]&127](w,m);r=a[w>>0]|0;s=w+4|0;a:do{if(!(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0)){o=0;va(c[(c[t>>2]|0)+32>>2]|0,t|0,b|0,e|0,f|0)|0;u=o;o=0;if(u&1)u=5;else{j=f+(e-b)|0;c[h>>2]=j;u=29}}else{c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,j|0)|0;r=o;o=0;if(r&1){u=5;break a}l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=j;l=b+1|0;break}default:l=b}b:do{if((e-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break b}o=0;k=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,48)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=k;o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,a[j>>0]|0)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=j;l=l+2|0}}while(0);if((l|0)!=(e|0)?(n=e+-1|0,l>>>0>>0):0){k=l;j=n;do{r=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=r;k=k+1|0;j=j+-1|0}while(k>>>0>>0)}o=0;n=ka(c[(c[m>>2]|0)+16>>2]|0,m|0)|0;r=o;o=0;if(!(r&1)){p=w+8|0;q=w+1|0;c:do{if(l>>>0>>0){j=0;k=0;r=l;while(1){m=a[((a[w>>0]&1)==0?q:c[p>>2]|0)+k>>0]|0;if(m<<24>>24!=0&(j|0)==(m<<24>>24|0)){j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=n;j=a[w>>0]|0;m=0;k=(k>>>0<(((j&1)==0?(j&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+k|0}else m=j;o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,a[r>>0]|0)|0;x=o;o=0;if(x&1)break;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=j;r=r+1|0;if(r>>>0>=e>>>0)break c;else j=m+1|0}j=Na()|0;break a}}while(0);k=b;j=f+(l-k)|0;b=c[h>>2]|0;if((j|0)==(b|0)){b=k;u=29}else{b=b+-1|0;if(j>>>0>>0)do{x=a[j>>0]|0;a[j>>0]=a[b>>0]|0;a[b>>0]=x;j=j+1|0;b=b+-1|0}while(j>>>0>>0);b=k;j=c[h>>2]|0;u=29}}else u=5}}while(0);if((u|0)==5)j=Na()|0;else if((u|0)==29){c[g>>2]=(d|0)==(e|0)?j:f+(d-b)|0;Im(w);i=v;return}Im(w);Ya(j|0)}function xp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+96|0;h=n+8|0;a=n;q=n+74|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,1,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,22,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(1,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=cd(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function yp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+64|0;h=n;q=n+56|0;r=n+44|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,0,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(1,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=cd(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function zp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+112|0;h=n+8|0;a=n;q=n+75|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,0,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,23,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(1,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=cd(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function Ap(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+176|0;u=z+84|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+88|0;t=z+80|0;k=z+118|0;y=z+76|0;x=z+72|0;v=z+68|0;w=z+64|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58898,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,c[q>>2]=c[d+8>>2],h[q+8>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<1)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(2,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(39,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Bp(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}h=d&260;f=d>>>14;i=(h|0)==260;if(i)g=0;else{a[b>>0]=46;a[b+1>>0]=42;b=b+2|0;g=1}d=a[c>>0]|0;if(d<<24>>24){e=b;while(1){c=c+1|0;b=e+1|0;a[e>>0]=d;d=a[c>>0]|0;if(!(d<<24>>24))break;else e=b}}a:do{switch(h|0){case 4:if(!(f&1)){a[b>>0]=102;break a}else{a[b>>0]=70;break a}case 256:if(!(f&1)){a[b>>0]=101;break a}else{a[b>>0]=69;break a}default:{d=(f&1|0)!=0;if(i)if(d){a[b>>0]=65;break a}else{a[b>>0]=97;break a}else if(d){a[b>>0]=71;break a}else{a[b>>0]=103;break a}}}}while(0);return g|0}function Cp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=i;i=i+16|0;A=z;y=Is(j,44220)|0;w=Is(j,44360)|0;Cb[c[(c[w>>2]|0)+20>>2]&127](A,w);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,j|0)|0;x=o;o=0;if(x&1)v=8;else{n=c[h>>2]|0;c[h>>2]=n+1;a[n>>0]=j;n=b+1|0;v=10}break}default:{n=b;v=10}}a:do{if((v|0)==10){x=e;b:do{if((x-n|0)>1?(a[n>>0]|0)==48:0){l=n+1|0;switch(a[l>>0]|0){case 88:case 120:break;default:{v=11;break b}}o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,48)|0;u=o;o=0;if(u&1){v=8;break a}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=j;n=n+2|0;o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,a[l>>0]|0)|0;u=o;o=0;if(u&1){v=8;break a}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=j;if(n>>>0>>0){j=n;while(1){l=a[j>>0]|0;o=0;m=ua(3)|0;u=o;o=0;if(u&1)break;o=0;l=ra(39,l<<24>>24|0,m|0)|0;u=o;o=0;if(u&1)break;if(!l){u=n;break b}j=j+1|0;if(j>>>0>=e>>>0){u=n;break b}}j=Na()|0;break a}else{u=n;j=n}}else v=11}while(0);c:do{if((v|0)==11)if(n>>>0>>0){j=n;while(1){l=a[j>>0]|0;o=0;m=ua(3)|0;u=o;o=0;if(u&1)break;o=0;l=ra(40,l<<24>>24|0,m|0)|0;u=o;o=0;if(u&1)break;if(!l){u=n;break c}j=j+1|0;if(j>>>0>=e>>>0){u=n;break c}}j=Na()|0;break a}else{u=n;j=n}}while(0);s=a[A>>0]|0;t=A+4|0;if(((s&1)==0?(s&255)>>>1:c[t>>2]|0)|0){if((u|0)!=(j|0)?(p=j+-1|0,u>>>0

>>0):0){m=u;l=p;do{s=a[m>>0]|0;a[m>>0]=a[l>>0]|0;a[l>>0]=s;m=m+1|0;l=l+-1|0}while(m>>>0>>0)}o=0;p=ka(c[(c[w>>2]|0)+16>>2]|0,w|0)|0;s=o;o=0;if(s&1){v=8;break}q=A+8|0;r=A+1|0;d:do{if(u>>>0>>0){l=0;m=0;s=u;while(1){n=a[((a[A>>0]&1)==0?r:c[q>>2]|0)+m>>0]|0;if(n<<24>>24>0&(l|0)==(n<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=p;l=a[A>>0]|0;n=0;m=(m>>>0<(((l&1)==0?(l&255)>>>1:c[t>>2]|0)+-1|0)>>>0&1)+m|0}else n=l;o=0;l=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,a[s>>0]|0)|0;B=o;o=0;if(B&1)break;B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=l;s=s+1|0;if(s>>>0>=j>>>0)break d;else l=n+1|0}j=Na()|0;break a}}while(0);l=f+(u-b)|0;m=c[h>>2]|0;if((l|0)!=(m|0)?(k=m+-1|0,l>>>0>>0):0){do{B=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=B;l=l+1|0;k=k+-1|0}while(l>>>0>>0);l=y}else l=y}else{o=0;va(c[(c[y>>2]|0)+32>>2]|0,y|0,u|0,j|0,c[h>>2]|0)|0;B=o;o=0;if(B&1){v=8;break}c[h>>2]=(c[h>>2]|0)+(j-u);l=y}e:do{if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46)break;o=0;k=ra(c[(c[l>>2]|0)+28>>2]|0,y|0,k|0)|0;B=o;o=0;if(B&1){v=4;break}B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=k;j=j+1|0;if(j>>>0>=e>>>0)break e}if((v|0)==4){j=Na()|0;break a}o=0;k=ka(c[(c[w>>2]|0)+12>>2]|0,w|0)|0;B=o;o=0;if(B&1){v=8;break a}B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=k;j=j+1|0}}while(0);o=0;va(c[(c[y>>2]|0)+32>>2]|0,y|0,j|0,e|0,c[h>>2]|0)|0;B=o;o=0;if(B&1)v=8;else{B=(c[h>>2]|0)+(x-j)|0;c[h>>2]=B;c[g>>2]=(d|0)==(e|0)?B:f+(d-b)|0;Im(A);i=z;return}}}while(0);if((v|0)==8)j=Na()|0;Im(A);Ya(j|0)}function Dp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+176|0;u=z+76|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+80|0;t=z+72|0;k=z+110|0;y=z+68|0;x=z+64|0;v=z+60|0;w=z+56|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58899,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,h[q>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<1)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(2,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(39,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Ep(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+80|0;l=q;b=q+70|0;n=q+12|0;p=q+32|0;k=q+8|0;m=q+4|0;a[b>>0]=a[58901]|0;a[b+1>>0]=a[58902]|0;a[b+2>>0]=a[58903]|0;a[b+3>>0]=a[58904]|0;a[b+4>>0]=a[58905]|0;a[b+5>>0]=a[58906]|0;h=Xo()|0;c[l>>2]=g;b=Su(n,20,h,b,l)|0;g=n+b|0;h=vp(n,g,e)|0;j=jn(e)|0;c[k>>2]=j;o=0;k=ra(37,k|0,44220)|0;r=o;o=0;if(r&1){r=Na()|0;pm(j)|0;Ya(r|0)}else{pm(j)|0;Pb[c[(c[k>>2]|0)+32>>2]&31](k,n,g,p)|0;r=p+b|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];r=cd(l,p,(h|0)==(g|0)?r:p+(h-n)|0,r,e,f)|0;i=q;return r|0}return 0}function Fp(a){a=a|0;return}function Gp(a){a=a|0;cj(a);return}function Hp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+20|0;j=m+16|0;k=m+12|0;l=m;a:do{if(!(c[e+4>>2]&1)){l=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Mb[l&31](b,h,e,f,g&1)|0}else{h=jn(e)|0;c[k>>2]=h;o=0;j=ra(37,k|0,44368)|0;k=o;o=0;b:do{if(k&1){m=Na()|0;pm(h)|0;h=m}else{pm(h)|0;h=c[j>>2]|0;if(g)Cb[c[h+24>>2]&127](l,j);else Cb[c[h+28>>2]&127](l,j);b=a[l>>0]|0;e=(b&1)==0;h=l+4|0;g=l+8|0;k=e?h:l+4|0;h=e?h:c[l+8>>2]|0;e=(b&1)==0;c:do{if((h|0)!=((e?k:c[g>>2]|0)+((e?(b&255)>>>1:c[k>>2]|0)<<2)|0)){while(1){j=c[h>>2]|0;f=c[d>>2]|0;if(f){e=f+24|0;b=c[e>>2]|0;if((b|0)==(c[f+28>>2]|0)){o=0;j=ra(c[(c[f>>2]|0)+52>>2]|0,f|0,j|0)|0;b=o;o=0;if(b&1)break}else{c[e>>2]=b+4;c[b>>2]=j}if((j|0)==-1)c[d>>2]=0}h=h+4|0;b=a[l>>0]|0;e=(b&1)==0;if((h|0)==((e?k:c[g>>2]|0)+((e?(b&255)>>>1:c[k>>2]|0)<<2)|0))break c}h=Na()|0;Wm(l);break b}}while(0);h=c[d>>2]|0;Wm(l);break a}}while(0);Ya(h|0)}}while(0);i=m;return h|0}function Ip(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+128|0;h=n;q=n+116|0;r=n+104|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,1,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(3,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=Uu(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function Jp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;t=Is(j,44212)|0;m=Is(j,44368)|0;Cb[c[(c[m>>2]|0)+20>>2]&127](w,m);r=a[w>>0]|0;s=w+4|0;a:do{if(!(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0)){o=0;va(c[(c[t>>2]|0)+48>>2]|0,t|0,b|0,e|0,f|0)|0;u=o;o=0;if(u&1)u=5;else{j=f+(e-b<<2)|0;c[h>>2]=j;u=28}}else{c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,j|0)|0;r=o;o=0;if(r&1){u=5;break a}l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=j;l=b+1|0;break}default:l=b}b:do{if((e-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{r=l;break b}}o=0;k=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,48)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=k;o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,a[j>>0]|0)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=j;r=l+2|0}else r=l}while(0);if((r|0)!=(e|0)?(n=e+-1|0,r>>>0>>0):0){k=r;j=n;do{q=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=q;k=k+1|0;j=j+-1|0}while(k>>>0>>0)}o=0;m=ka(c[(c[m>>2]|0)+16>>2]|0,m|0)|0;q=o;o=0;if(!(q&1)){n=w+8|0;p=w+1|0;c:do{if(r>>>0>>0){j=0;k=0;q=r;while(1){l=a[((a[w>>0]&1)==0?p:c[n>>2]|0)+k>>0]|0;if(l<<24>>24!=0&(j|0)==(l<<24>>24|0)){j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=m;j=a[w>>0]|0;l=0;k=(k>>>0<(((j&1)==0?(j&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+k|0}else l=j;o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,a[q>>0]|0)|0;x=o;o=0;if(x&1)break;x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=j;q=q+1|0;if(q>>>0>=e>>>0)break c;else j=l+1|0}j=Na()|0;break a}}while(0);l=b;j=f+(r-l<<2)|0;k=c[h>>2]|0;if((j|0)!=(k|0)){b=k+-4|0;if(j>>>0>>0){do{x=c[j>>2]|0;c[j>>2]=c[b>>2];c[b>>2]=x;j=j+4|0;b=b+-4|0}while(j>>>0>>0);b=l;j=k;u=28}else{b=l;j=k;u=28}}else{b=l;u=28}}else u=5}}while(0);if((u|0)==5)j=Na()|0;else if((u|0)==28){c[g>>2]=(d|0)==(e|0)?j:f+(d-b<<2)|0;Im(w);i=v;return}Im(w);Ya(j|0)}function Kp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+224|0;h=n+8|0;a=n;q=n+196|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,1,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,22,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(3,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=Uu(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function ut(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+16|0;s=u;q=u+8|0;a:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break a;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}}while(0);c[k>>2]=h;c[g>>2]=e;n=j;r=b+8|0;b:do{if(!((h|0)==(j|0)|(e|0)==(f|0))){b=h;m=l;c:while(1){w=d;h=c[w+4>>2]|0;l=s;c[l>>2]=c[w>>2];c[l+4>>2]=h;l=qk(c[r>>2]|0)|0;o=0;h=sa(21,b|0,g|0,m-e>>2|0,n-b|0,d|0)|0;w=o;o=0;if(w&1){v=9;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=8;break}switch(h|0){case 0:{p=1;break b}case-1:{l=b;v=14;break c}default:{}}l=(c[k>>2]|0)+h|0;c[k>>2]=l;if((l|0)==(j|0)){v=27;break}if((m|0)==(f|0)){e=c[g>>2]|0;b=l;l=f}else{l=qk(c[r>>2]|0)|0;o=0;e=ma(34,q|0,0,d|0)|0;w=o;o=0;if(w&1){v=35;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=34;break}if((e|0)==-1){p=2;break b}if(e>>>0>(n-(c[k>>2]|0)|0)>>>0){p=1;break b}if(e){l=q;while(1){m=a[l>>0]|0;w=c[k>>2]|0;c[k>>2]=w+1;a[w>>0]=m;e=e+-1|0;if(!e)break;else l=l+1|0}}e=(c[g>>2]|0)+4|0;c[g>>2]=e;d:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break d;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}}while(0);b=c[k>>2]|0}if((b|0)==(j|0)|(e|0)==(f|0)){v=47;break b}else m=l}if((v|0)==8){w=Na(0)|0;ec(w)}else if((v|0)==9){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==14){c[k>>2]=l;e:do{if((e|0)!=(c[g>>2]|0)){while(1){w=c[e>>2]|0;b=qk(c[r>>2]|0)|0;o=0;l=ma(34,l|0,w|0,s|0)|0;w=o;o=0;if(w&1){t=b;break}if((b|0)!=0?(o=0,ka(75,b|0)|0,w=o,o=0,w&1):0){v=18;break}if((l|0)==-1)break e;l=(c[k>>2]|0)+l|0;c[k>>2]=l;e=e+4|0;if((e|0)==(c[g>>2]|0))break e}if((v|0)==18){w=Na(0)|0;ec(w)}e=Na()|0;if((t|0)!=0?(o=0,ka(75,t|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}while(0);c[g>>2]=e;p=2;break}else if((v|0)==27){e=c[g>>2]|0;v=47;break}else if((v|0)==34){w=Na(0)|0;ec(w)}else if((v|0)==35){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}else v=47}while(0);if((v|0)==47)p=(e|0)!=(f|0)&1;i=u;return p|0}function vt(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+16|0;t=u;a:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break a;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}}while(0);c[k>>2]=h;c[g>>2]=e;p=j;r=b+8|0;b:do{if(!((h|0)==(j|0)|(e|0)==(f|0))){b=h;n=l;c:while(1){m=d;l=c[m+4>>2]|0;h=t;c[h>>2]=c[m>>2];c[h+4>>2]=l;h=n;l=qk(c[r>>2]|0)|0;o=0;m=sa(22,b|0,g|0,h-e|0,p-b>>2|0,d|0)|0;w=o;o=0;if(w&1){v=9;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=8;break}switch(m|0){case 0:{q=2;break b}case-1:{l=b;v=14;break c}default:{}}b=(c[k>>2]|0)+(m<<2)|0;c[k>>2]=b;if((b|0)==(j|0)){v=31;break}e=c[g>>2]|0;if((n|0)==(f|0))l=f;else{l=qk(c[r>>2]|0)|0;o=0;e=va(20,b|0,e|0,1,d|0)|0;w=o;o=0;if(w&1){v=38;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=37;break}if(e){q=2;break b}c[k>>2]=(c[k>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;d:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break d;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}}while(0);b=c[k>>2]|0}if((b|0)==(j|0)|(e|0)==(f|0)){v=47;break b}else n=l}if((v|0)==8){w=Na(0)|0;ec(w)}else if((v|0)==9){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==14){c[k>>2]=l;e:do{if((e|0)!=(c[g>>2]|0)){b=l;f:while(1){l=qk(c[r>>2]|0)|0;o=0;b=va(20,b|0,e|0,h-e|0,t|0)|0;w=o;o=0;if(w&1){v=19;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=18;break}switch(b|0){case-1:{v=25;break f}case-2:{v=26;break f}case 0:{e=e+1|0;break}default:e=e+b|0}b=(c[k>>2]|0)+4|0;c[k>>2]=b;if((e|0)==(c[g>>2]|0)){s=e;break e}}if((v|0)==18){w=Na(0)|0;ec(w)}else if((v|0)==19){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==25){c[g>>2]=e;q=2;break b}else if((v|0)==26){c[g>>2]=e;q=1;break b}}else s=e}while(0);c[g>>2]=s;q=(s|0)!=(f|0)&1;break}else if((v|0)==31){e=c[g>>2]|0;v=47;break}else if((v|0)==37){w=Na(0)|0;ec(w)}else if((v|0)==38){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}else v=47}while(0);if((v|0)==47)q=(e|0)!=(f|0)&1;i=u;return q|0}function wt(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;j=i;i=i+16|0;h=j;c[g>>2]=e;e=qk(c[b+8>>2]|0)|0;o=0;b=ma(34,h|0,0,d|0)|0;d=o;o=0;if(d&1){h=Na()|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,j=o,o=0,j&1):0){j=Na(0)|0;ec(j)}Ya(h|0)}if((e|0)!=0?(o=0,ka(75,e|0)|0,d=o,o=0,d&1):0){d=Na(0)|0;ec(d)}switch(b|0){case 0:case-1:{h=2;break}default:{b=b+-1|0;if(b>>>0<=(f-(c[g>>2]|0)|0)>>>0)if(!b)h=0;else while(1){d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;b=b+-1|0;if(!b){h=0;break}else h=h+1|0}else h=1}}i=j;return h|0}function xt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+8|0;o=0;d=ka(75,c[b>>2]|0)|0;e=o;o=0;do{if(e&1)f=16;else{o=0;e=ma(35,0,0,4)|0;a=o;o=0;if(a&1){a=Na(0)|0;if(!d)break;o=0;ka(75,d|0)|0;h=o;o=0;if(!(h&1))break;h=Na(0)|0;ec(h)}if((d|0)!=0?(o=0,ka(75,d|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}if(!e){a=c[b>>2]|0;if(a){o=0;a=ka(75,a|0)|0;h=o;o=0;if(h&1){f=16;break}if((a|0)!=0?(o=0,ka(75,a|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}else g=0}else g=1}else g=-1;return g|0}}while(0);if((f|0)==16)a=Na(0)|0;ec(a);return 0}function yt(a){a=a|0;return 0}function zt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=e;j=a+8|0;a:do{if((d|0)==(e|0)|(f|0)==0)a=0;else{a=0;i=0;while(1){h=qk(c[j>>2]|0)|0;o=0;g=ma(36,d|0,k-d|0,b|0)|0;n=o;o=0;if(n&1){m=h;break}if((h|0)!=0?(o=0,ka(75,h|0)|0,n=o,o=0,n&1):0){l=5;break}switch(g|0){case-2:case-1:break a;case 0:{d=d+1|0;g=1;break}default:d=d+g|0}a=g+a|0;i=i+1|0;if((d|0)==(e|0)|i>>>0>=f>>>0)break a}if((l|0)==5){n=Na(0)|0;ec(n)}a=Na()|0;if((m|0)!=0?(o=0,ka(75,m|0)|0,n=o,o=0,n&1):0){n=Na(0)|0;ec(n)}Ya(a|0)}}while(0);return a|0}function At(a){a=a|0;var b=0,d=0;a=c[a+8>>2]|0;if(a){o=0;a=ka(75,a|0)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}if((a|0)!=0?(o=0,ka(75,a|0)|0,d=o,o=0,d&1):0){d=Na(0)|0;ec(d)}else b=4}else b=1;return b|0}function Bt(a){a=a|0;cj(a);return}function Ct(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Hv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Dt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Iv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Et(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Ft(a){a=a|0;return 0}function Gt(a){a=a|0;return 0}function Ht(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Jv(c,d,e,1114111,0)|0}function It(a){a=a|0;return 4}function Jt(a){a=a|0;cj(a);return}function Kt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Kv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Lt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Lv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Mt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Nt(a){a=a|0;return 0}function Ot(a){a=a|0;return 0}function Pt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Mv(c,d,e,1114111,0)|0}function Qt(a){a=a|0;return 4}function Rt(a){a=a|0;cj(a);return}function St(a){a=a|0;cj(a);return}function Tt(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=44384;a[b+8>>0]=46;a[b+9>>0]=44;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Ut(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=44424;c[a+8>>2]=46;c[a+12>>2]=44;a=a+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Vt(a){a=a|0;c[a>>2]=44384;Im(a+12|0);return}function Wt(a){a=a|0;Vt(a);cj(a);return}function Xt(a){a=a|0;c[a>>2]=44424;Im(a+16|0);return}function Yt(a){a=a|0;Xt(a);cj(a);return}function Zt(b){b=b|0;return a[b+8>>0]|0}function _t(a){a=a|0;return c[a+8>>2]|0}function $t(b){b=b|0;return a[b+9>>0]|0}function au(a){a=a|0;return c[a+12>>2]|0}function bu(a,b){a=a|0;b=b|0;Fm(a,b+12|0);return}function cu(a,b){a=a|0;b=b|0;Fm(a,b+16|0);return}function du(a,b){a=a|0;b=b|0;Gm(a,59024,4);return}function eu(a,b){a=a|0;b=b|0;Um(a,44996,pl(44996)|0);return}function fu(a,b){a=a|0;b=b|0;Gm(a,59029,5);return}function gu(a,b){a=a|0;b=b|0;Um(a,45016,pl(45016)|0);return}function hu(a){a=a|0;switch(c[a+4>>2]&74|0){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function iu(b){b=b|0;do{if((a[2464]|0)==0?(Ha(2464)|0)!=0:0){if((a[2472]|0)==0?(Ha(2472)|0)!=0:0){b=45040;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=45208);kb(193,0,n|0)|0;Pa(2472)}o=0;ra(41,45040,59035)|0;b=o;o=0;if(((((((((((((!(b&1)?(o=0,ra(41,45052,59042)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45064,59049)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45076,59057)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45088,59067)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45100,59076)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45112,59083)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45124,59092)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45136,59096)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45148,59100)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45160,59104)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45172,59108)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45184,59112)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45196,59116)|0,b=o,o=0,!(b&1)):0){c[11302]=45040;Pa(2464);break}b=Na()|0;sb(2464);Ya(b|0)}}while(0);return c[11302]|0}function ju(b){b=b|0;do{if((a[2480]|0)==0?(Ha(2480)|0)!=0:0){if((a[2488]|0)==0?(Ha(2488)|0)!=0:0){b=45212;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=45380);kb(194,0,n|0)|0;Pa(2488)}o=0;ra(42,45212,45380)|0;b=o;o=0;if(((((((((((((!(b&1)?(o=0,ra(42,45224,45408)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45236,45436)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45248,45468)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45260,45508)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45272,45544)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45284,45572)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45296,45608)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45308,45624)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45320,45640)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45332,45656)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45344,45672)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45356,45688)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45368,45704)|0,b=o,o=0,!(b&1)):0){c[11430]=45212;Pa(2480);break}b=Na()|0;sb(2480);Ya(b|0)}}while(0);return c[11430]|0}function ku(b){b=b|0;a:do{if((a[2496]|0)==0?(Ha(2496)|0)!=0:0){if((a[2504]|0)==0?(Ha(2504)|0)!=0:0){b=45724;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=46012);kb(195,0,n|0)|0;Pa(2504)}o=0;ra(41,45724,59120)|0;b=o;o=0;do{if((((((((((((((!(b&1)?(o=0,ra(41,45736,59128)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45748,59137)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45760,59143)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45772,59149)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45784,59153)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45796,59158)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45808,59163)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45820,59170)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45832,59180)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45844,59188)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45856,59197)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45868,59206)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45880,59210)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45892,59214)|0,b=o,o=0,!(b&1)):0){o=0;ra(41,45904,59218)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45916,59149)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45928,59222)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45940,59226)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45952,59230)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45964,59234)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45976,59238)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45988,59242)|0;b=o;o=0;if(b&1)break;o=0;ra(41,46e3,59246)|0;b=o;o=0;if(b&1)break;c[11503]=45724;Pa(2496);break a}}while(0);b=Na()|0;sb(2496);Ya(b|0)}}while(0);return c[11503]|0}function lu(b){b=b|0;a:do{if((a[2512]|0)==0?(Ha(2512)|0)!=0:0){if((a[2520]|0)==0?(Ha(2520)|0)!=0:0){b=46016;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=46304);kb(196,0,n|0)|0;Pa(2520)}o=0;ra(42,46016,46304)|0;b=o;o=0;do{if((((((((((((((!(b&1)?(o=0,ra(42,46028,46336)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46040,46372)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46052,46396)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46064,46420)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46076,46436)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46088,46456)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46100,46476)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46112,46504)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46124,46544)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46136,46576)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46148,46612)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46160,46648)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46172,46664)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46184,46680)|0,b=o,o=0,!(b&1)):0){o=0;ra(42,46196,46696)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46208,46420)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46220,46712)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46232,46728)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46244,46744)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46256,46760)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46268,46776)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46280,46792)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46292,46808)|0;b=o;o=0;if(b&1)break;c[11706]=46016;Pa(2512);break a}}while(0);b=Na()|0;sb(2512);Ya(b|0)}}while(0);return c[11706]|0}function mu(b){b=b|0;do{if((a[2528]|0)==0?(Ha(2528)|0)!=0:0){if((a[2536]|0)==0?(Ha(2536)|0)!=0:0){b=46828;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=47116);kb(197,0,n|0)|0;Pa(2536)}o=0;ra(41,46828,59250)|0;b=o;o=0;if(!(b&1)?(o=0,ra(41,46840,59253)|0,b=o,o=0,!(b&1)):0){c[11779]=46828;Pa(2528);break}b=Na()|0;sb(2528);Ya(b|0)}}while(0);return c[11779]|0}function nu(b){b=b|0;do{if((a[2544]|0)==0?(Ha(2544)|0)!=0:0){if((a[2552]|0)==0?(Ha(2552)|0)!=0:0){b=47120;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=47408);kb(198,0,n|0)|0;Pa(2552)}o=0;ra(42,47120,47408)|0;b=o;o=0;if(!(b&1)?(o=0,ra(42,47132,47420)|0,b=o,o=0,!(b&1)):0){c[11858]=47120;Pa(2544);break}b=Na()|0;sb(2544);Ya(b|0)}}while(0);return c[11858]|0}function ou(b){b=b|0;do{if((a[2560]|0)==0?(Ha(2560)|0)!=0:0){o=0;wa(5,47436,59256,8);b=o;o=0;if(b&1){b=Na()|0;sb(2560);Ya(b|0)}else{kb(199,47436,n|0)|0;Pa(2560);break}}}while(0);return 47436}function pu(b){b=b|0;var c=0;do{if((a[2568]|0)==0?(Ha(2568)|0)!=0:0){o=0;b=ka(76,47448)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47484,47448,b|0),c=o,o=0,!(c&1)):0){kb(200,47484,n|0)|0;Pa(2568);break}c=Na()|0;sb(2568);Ya(c|0)}}while(0);return 47484}function qu(b){b=b|0;do{if((a[2576]|0)==0?(Ha(2576)|0)!=0:0){o=0;wa(5,47496,59265,8);b=o;o=0;if(b&1){b=Na()|0;sb(2576);Ya(b|0)}else{kb(199,47496,n|0)|0;Pa(2576);break}}}while(0);return 47496}function ru(b){b=b|0;var c=0;do{if((a[2584]|0)==0?(Ha(2584)|0)!=0:0){o=0;b=ka(76,47508)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47544,47508,b|0),c=o,o=0,!(c&1)):0){kb(200,47544,n|0)|0;Pa(2584);break}c=Na()|0;sb(2584);Ya(c|0)}}while(0);return 47544}function su(b){b=b|0;do{if((a[2592]|0)==0?(Ha(2592)|0)!=0:0){o=0;wa(5,47556,59274,20);b=o;o=0;if(b&1){b=Na()|0;sb(2592);Ya(b|0)}else{kb(199,47556,n|0)|0;Pa(2592);break}}}while(0);return 47556}function tu(b){b=b|0;var c=0;do{if((a[2600]|0)==0?(Ha(2600)|0)!=0:0){o=0;b=ka(76,47568)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47652,47568,b|0),c=o,o=0,!(c&1)):0){kb(200,47652,n|0)|0;Pa(2600);break}c=Na()|0;sb(2600);Ya(c|0)}}while(0);return 47652}function uu(b){b=b|0;do{if((a[2608]|0)==0?(Ha(2608)|0)!=0:0){o=0;wa(5,47664,59295,11);b=o;o=0;if(b&1){b=Na()|0;sb(2608);Ya(b|0)}else{kb(199,47664,n|0)|0;Pa(2608);break}}}while(0);return 47664}function vu(b){b=b|0;var c=0;do{if((a[2616]|0)==0?(Ha(2616)|0)!=0:0){o=0;b=ka(76,47676)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47724,47676,b|0),c=o,o=0,!(c&1)):0){kb(200,47724,n|0)|0;Pa(2616);break}c=Na()|0;sb(2616);Ya(c|0)}}while(0);return 47724}function wu(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=44304;a=a+8|0;b=c[a>>2]|0;o=0;d=ua(3)|0;e=o;o=0;do{if(!(e&1)){if((b|0)!=(d|0)?(o=0,ha(188,c[a>>2]|0),e=o,o=0,e&1):0)break;return}}while(0);e=Na(0)|0;ec(e)}function xu(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+112|0;m=z;p=(g-f|0)/12|0;do{if(p>>>0>100){m=Fl(p)|0;if((m|0)==0?(o=0,xa(6),y=o,o=0,y&1):0){l=0;s=6;break}l=m;s=11}else{l=0;s=11}}while(0);a:do{if((s|0)==11){if((f|0)==(g|0))n=0;else{s=f;q=0;r=m;while(1){n=a[s>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[s+4>>2]|0;if(!n){a[r>>0]=2;n=q+1|0;p=p+-1|0}else{a[r>>0]=1;n=q}s=s+12|0;if((s|0)==(g|0))break;else{q=n;r=r+1|0}}}x=(f|0)==(g|0);y=(f|0)==(g|0);w=0;t=n;b:while(1){n=c[b>>2]|0;do{if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;v=o;o=0;if(v&1){s=5;break b}if((n|0)==-1){c[b>>2]=0;n=0;break}else{n=c[b>>2]|0;break}}}else n=0}while(0);s=(n|0)==0;q=c[e>>2]|0;if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;n=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;v=o;o=0;if(v&1){s=5;break}if((n|0)==-1){c[e>>2]=0;q=0}}}else q=0;r=(q|0)==0;n=c[b>>2]|0;if(!((p|0)!=0&(s^r))){s=64;break}q=c[n+12>>2]|0;if((q|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;v=o;o=0;if(v&1){s=5;break}}else n=d[q>>0]|0;n=n&255;if(!k){o=0;n=ra(c[(c[h>>2]|0)+12>>2]|0,h|0,n|0)|0;v=o;o=0;if(v&1){s=5;break}}v=w+1|0;if(x){n=0;s=t}else{r=0;u=f;s=t;t=m;while(1){do{if((a[t>>0]|0)==1){if(!(a[u>>0]&1))q=u+1|0;else q=c[u+8>>2]|0;q=a[q+w>>0]|0;if(!k){o=0;q=ra(c[(c[h>>2]|0)+12>>2]|0,h|0,q|0)|0;A=o;o=0;if(A&1){s=4;break b}}if(n<<24>>24!=q<<24>>24){a[t>>0]=0;q=r;p=p+-1|0;break}q=a[u>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[u+4>>2]|0;if((q|0)==(v|0)){a[t>>0]=2;q=1;s=s+1|0;p=p+-1|0}else q=1}else q=r}while(0);u=u+12|0;if((u|0)==(g|0)){n=q;break}else{r=q;t=t+1|0}}}if(!n){w=v;t=s;continue}n=c[b>>2]|0;q=n+12|0;r=c[q>>2]|0;if((r|0)==(c[n+16>>2]|0)){o=0;ka(c[(c[n>>2]|0)+40>>2]|0,n|0)|0;A=o;o=0;if(A&1){s=5;break}}else c[q>>2]=r+1;if((s+p|0)>>>0<2|y){w=v;t=s;continue}else{n=f;r=s;s=m}while(1){if((a[s>>0]|0)==2){q=a[n>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[n+4>>2]|0;if((q|0)!=(v|0)){a[s>>0]=0;r=r+-1|0}}n=n+12|0;if((n|0)==(g|0)){w=v;t=r;continue b}else s=s+1|0}}if((s|0)==4){f=Na()|0;break}else if((s|0)==5){f=Na()|0;break}else if((s|0)==64){do{if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;A=o;o=0;if(A&1){s=6;break a}if((n|0)==-1){c[b>>2]=0;n=0;break}else{n=c[b>>2]|0;break}}}else n=0}while(0);p=(n|0)==0;do{if(!r){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;n=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;A=o;o=0;if(A&1){s=6;break a}if((n|0)==-1){c[e>>2]=0;s=76;break}}if(!p)s=77}else s=76}while(0);if((s|0)==76?p:0)s=77;if((s|0)==77)c[j>>2]=c[j>>2]|2;c:do{if((f|0)==(g|0))s=81;else while(1){if((a[m>>0]|0)==2)break c;f=f+12|0;if((f|0)==(g|0)){s=81;break}else m=m+1|0}}while(0);if((s|0)==81){c[j>>2]=c[j>>2]|4;f=g}if(l)Gl(l);i=z;return f|0}}}while(0);if((s|0)==6)f=Na()|0;if(l)Gl(l);Ya(f|0);return 0}function yu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(21,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49}while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25}while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function zu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){E=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;k=(b|0)==0;l=c[f>>2]|0;do{if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(k)break;else break b;o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;n=o;o=0;if(n&1){E=24;break b}if((m|0)!=-1)if(k)break;else break b;else{c[f>>2]=0;E=16;break}}else E=16}while(0);if((E|0)==16){E=0;if(k){l=0;break}else l=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){E=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){E=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+k}m=b+12|0;k=c[m>>2]|0;n=b+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}}else k=d[k>>0]|0;if(Wo(k&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[m>>2]=k+1;continue}}if((E|0)==24){b=Na()|0;break}F=a[C>>0]|0;if((((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){F=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=F}o=0;g=va(22,g|0,c[v>>2]|0,h|0,u|0)|0;k=D;F=o;o=0;if(!(F&1)){F=j;c[F>>2]=g;c[F+4>>2]=k;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((b|0)==-1){c[f>>2]=0;E=49;break}}if(!g)E=50}else E=49}while(0);if((E|0)==49?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;F=c[e>>2]|0;Im(B);Im(C);i=A;return F|0}else E=25}else E=25}while(0);if((E|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Au(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=i;i=i+240|0;u=B+202|0;l=B+200|0;D=B+24|0;C=B+12|0;w=B+8|0;z=B+40|0;A=B+4|0;x=B;v=hu(h)|0;kp(D,h,u,l);c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if(!(a[C>>0]&1))e=10;else e=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,e|0,0);t=o;o=0;a:do{if(!(t&1)){r=C+8|0;s=C+1|0;h=(a[C>>0]&1)==0?s:c[r>>2]|0;c[w>>2]=h;c[A>>2]=z;c[x>>2]=0;t=C+4|0;q=a[l>>0]|0;e=c[f>>2]|0;b:while(1){if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)){o=0;l=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;p=o;o=0;if(p&1){E=24;break}if((l|0)==-1){c[f>>2]=0;e=0}}}else e=0;m=(e|0)==0;l=c[g>>2]|0;do{if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(m)break;else break b;o=0;n=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){E=24;break b}if((n|0)!=-1)if(m)break;else break b;else{c[g>>2]=0;E=16;break}}else E=16}while(0);if((E|0)==16){E=0;if(m){l=0;break}else l=0}m=a[C>>0]|0;m=(m&1)==0?(m&255)>>>1:c[t>>2]|0;if((c[w>>2]|0)==(h+m|0)){o=0;wa(8,C|0,m<<1|0,0);p=o;o=0;if(p&1){E=24;break}if(!(a[C>>0]&1))h=10;else h=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,h|0,0);p=o;o=0;if(p&1){E=24;break}h=(a[C>>0]&1)==0?s:c[r>>2]|0;c[w>>2]=h+m}n=e+12|0;m=c[n>>2]|0;p=e+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=24;break}}else m=d[m>>0]|0;if(Wo(m&255,v,h,w,x,q,D,z,A,u)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[e>>2]|0)+40>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[n>>2]=l+1;continue}}if((E|0)==24){e=Na()|0;break}F=a[D>>0]|0;if((((F&1)==0?(F&255)>>>1:c[D+4>>2]|0)|0)!=0?(y=c[A>>2]|0,(y-z|0)<160):0){F=c[x>>2]|0;c[A>>2]=y+4;c[y>>2]=F}o=0;h=va(23,h|0,c[w>>2]|0,j|0,v|0)|0;F=o;o=0;if(!(F&1)){b[k>>1]=h;Ur(D,z,c[A>>2]|0,j);if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)){o=0;h=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=25;break}if((h|0)==-1){c[f>>2]=0;e=0}}}else e=0;h=(e|0)==0;do{if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;e=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((e|0)==-1){c[g>>2]=0;E=49;break}}if(!h)E=50}else E=49}while(0);if((E|0)==49?h:0)E=50;if((E|0)==50)c[j>>2]=c[j>>2]|2;F=c[f>>2]|0;Im(C);Im(D);i=B;return F|0}else E=25}else E=25}while(0);if((E|0)==25)e=Na()|0;Im(C);Im(D);Ya(e|0);return 0}function Bu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(24,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49}while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25}while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Cu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(25,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49}while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25}while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Du(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){E=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;k=(b|0)==0;l=c[f>>2]|0;do{if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(k)break;else break b;o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;n=o;o=0;if(n&1){E=24;break b}if((m|0)!=-1)if(k)break;else break b;else{c[f>>2]=0;E=16;break}}else E=16}while(0);if((E|0)==16){E=0;if(k){l=0;break}else l=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){E=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){E=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+k}m=b+12|0;k=c[m>>2]|0;n=b+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}}else k=d[k>>0]|0;if(Wo(k&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[m>>2]=k+1;continue}}if((E|0)==24){b=Na()|0;break}F=a[C>>0]|0;if((((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){F=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=F}o=0;g=va(26,g|0,c[v>>2]|0,h|0,u|0)|0;k=D;F=o;o=0;if(!(F&1)){F=j;c[F>>2]=g;c[F+4>>2]=k;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((b|0)==-1){c[f>>2]=0;E=49;break}}if(!g)E=50}else E=49}while(0);if((E|0)==49?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;F=c[e>>2]|0;Im(B);Im(C);i=A;return F|0}else E=25}else E=25}while(0);if((E|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Eu(b,e,f,h,j,k){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,h,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do{if(!(v&1)){t=F+8|0;u=F+1|0;h=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=h;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16}while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(h+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))h=10;else h=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,h|0,0);q=o;o=0;if(q&1){H=24;break}h=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=h+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,h,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(1,h|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){g[k>>2]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;h=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((h|0)==-1){c[e>>2]=0;b=0}}}else b=0;h=(b|0)==0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!h)H=50}else H=49}while(0);if((H|0)==49?h:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25}while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Fu(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,g,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do{if(!(v&1)){t=F+8|0;u=F+1|0;g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16}while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(g+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))g=10;else g=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,g|0,0);q=o;o=0;if(q&1){H=24;break}g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,g,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(2,g|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){h[k>>3]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!g)H=50}else H=49}while(0);if((H|0)==49?g:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25}while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Gu(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,g,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do{if(!(v&1)){t=F+8|0;u=F+1|0;g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16}while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(g+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))g=10;else g=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,g|0,0);q=o;o=0;if(q&1){H=24;break}g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,g,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(3,g|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){h[k>>3]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!g)H=50}else H=49}while(0);if((H|0)==49?g:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25}while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Hu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=qk(b)|0;b=fl(a,d,g)|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}i=f;return b|0}function Iu(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+112|0;l=y;n=(f-e|0)/12|0;do{if(n>>>0>100){l=Fl(n)|0;if((l|0)==0?(o=0,xa(6),x=o,o=0,x&1):0){k=0;q=6;break}k=l;q=11}else{k=0;q=11}}while(0);a:do{if((q|0)==11){if((e|0)==(f|0))m=0;else{r=e;p=0;q=l;while(1){m=a[r>>0]|0;if(!(m&1))m=(m&255)>>>1;else m=c[r+4>>2]|0;if(!m){a[q>>0]=2;m=p+1|0;n=n+-1|0}else{a[q>>0]=1;m=p}r=r+12|0;if((r|0)==(f|0))break;else{p=m;q=q+1|0}}}w=(e|0)==(f|0);x=(e|0)==(f|0);v=0;s=n;b:while(1){n=c[b>>2]|0;do{if(n){p=c[n+12>>2]|0;if((p|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;u=o;o=0;if(u&1){q=5;break b}}else n=c[p>>2]|0;if((n|0)==-1){c[b>>2]=0;r=1;break}else{r=(c[b>>2]|0)==0;break}}else r=1}while(0);p=c[d>>2]|0;if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0)){o=0;n=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;u=o;o=0;if(u&1){q=5;break}}else n=c[n>>2]|0;if((n|0)==-1){c[d>>2]=0;p=0;q=1}else q=0}else{p=0;q=1}n=c[b>>2]|0;if(!((s|0)!=0&(r^q))){q=66;break}p=c[n+12>>2]|0;if((p|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;u=o;o=0;if(u&1){q=5;break}}else n=c[p>>2]|0;if(!j){o=0;n=ra(c[(c[g>>2]|0)+28>>2]|0,g|0,n|0)|0;u=o;o=0;if(u&1){q=5;break}}u=v+1|0;if(w){n=0;r=s}else{r=0;t=e;q=s;s=l;while(1){do{if((a[s>>0]|0)==1){if(!(a[t>>0]&1))p=t+4|0;else p=c[t+8>>2]|0;p=c[p+(v<<2)>>2]|0;if(!j){o=0;p=ra(c[(c[g>>2]|0)+28>>2]|0,g|0,p|0)|0;z=o;o=0;if(z&1){q=4;break b}}if((n|0)!=(p|0)){a[s>>0]=0;p=r;q=q+-1|0;break}p=a[t>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[t+4>>2]|0;if((p|0)==(u|0)){a[s>>0]=2;p=1;m=m+1|0;q=q+-1|0}else p=1}else p=r}while(0);t=t+12|0;if((t|0)==(f|0)){n=p;r=q;break}else{r=p;s=s+1|0}}}if(!n){v=u;s=r;continue}n=c[b>>2]|0;p=n+12|0;q=c[p>>2]|0;if((q|0)==(c[n+16>>2]|0)){o=0;ka(c[(c[n>>2]|0)+40>>2]|0,n|0)|0;z=o;o=0;if(z&1){q=5;break}}else c[p>>2]=q+4;if((m+r|0)>>>0<2|x){v=u;s=r;continue}else{n=e;q=l}while(1){if((a[q>>0]|0)==2){p=a[n>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[n+4>>2]|0;if((p|0)!=(u|0)){a[q>>0]=0;m=m+-1|0}}n=n+12|0;if((n|0)==(f|0)){v=u;s=r;continue b}else q=q+1|0}}if((q|0)==4){e=Na()|0;break}else if((q|0)==5){e=Na()|0;break}else if((q|0)==66){do{if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0)){o=0;m=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;z=o;o=0;if(z&1){q=6;break a}}else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;break}else{n=(c[b>>2]|0)==0;break}}else n=1}while(0);do{if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0)){o=0;m=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;z=o;o=0;if(z&1){q=6;break a}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else{q=81;break}else{c[d>>2]=0;q=79;break}}else q=79}while(0);if((q|0)==79?n:0)q=81;if((q|0)==81)c[h>>2]=c[h>>2]|2;c:do{if((e|0)==(f|0))q=85;else while(1){if((a[l>>0]|0)==2)break c;e=e+12|0;if((e|0)==(f|0)){q=85;break}else l=l+1|0}}while(0);if((q|0)==85){c[h>>2]=c[h>>2]|4;e=f}if(k)Gl(k);i=y;return e|0}}}while(0);if((q|0)==6)e=Na()|0;if(k)Gl(k);Ya(e|0);return 0}function Ju(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(21,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Ku(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do{if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0)){o=0;f=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;m=o;o=0;if(m&1){C=25;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(l)break;else break b;else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(l){k=0;break}else k=0}f=a[A>>0]|0;f=(f&1)==0?(f&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+f|0)){o=0;wa(8,A|0,f<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+f}l=j+12|0;f=c[l>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}}else f=c[f>>2]|0;if(jp(f,t,b,u,v,n,B,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0)){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}else continue}else{c[l>>2]=f+4;continue}}if((C|0)==25){b=Na()|0;break}E=a[B>>0]|0;if((((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){E=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=E}o=0;b=va(22,b|0,c[u>>2]|0,g|0,t|0)|0;f=D;E=o;o=0;if(!(E&1)){E=h;c[E>>2]=b;c[E+4>>2]=f;Ur(B,x,c[y>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;E=c[d>>2]|0;Im(A);Im(B);i=z;return E|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Lu(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+320|0;t=A+208|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;np(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))d=10;else d=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,d|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;d=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=d;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=c[k>>2]|0;k=c[e>>2]|0;b:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0)){o=0;g=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=25;break}}else g=c[g>>2]|0;if((g|0)==-1){c[e>>2]=0;g=0;l=1}else{g=k;l=0}}else{g=0;l=1}m=c[f>>2]|0;do{if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0)){o=0;k=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;n=o;o=0;if(n&1){D=25;break b}}else k=c[k>>2]|0;if((k|0)!=-1)if(l)break;else{k=m;break b}else{c[f>>2]=0;D=17;break}}else D=17}while(0);if((D|0)==17){D=0;if(l){k=0;break}else m=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(d+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){D=25;break}if(!(a[B>>0]&1))d=10;else d=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,d|0,0);n=o;o=0;if(n&1){D=25;break}d=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=d+k}l=g+12|0;k=c[l>>2]|0;n=g+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=25;break}}else k=c[k>>2]|0;if(jp(k,u,d,v,w,p,C,y,z,t)|0){k=m;break}k=c[l>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=25;break}else{k=g;continue}}else{c[l>>2]=k+4;k=g;continue}}if((D|0)==25){d=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;d=va(23,d|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){b[j>>1]=d;Ur(C,y,c[z>>2]|0,h);if(g){d=c[g+12>>2]|0;if((d|0)==(c[g+16>>2]|0)){o=0;d=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=26;break}}else d=c[d>>2]|0;if((d|0)==-1){c[e>>2]=0;g=1}else g=0}else g=1;do{if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0)){o=0;d=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=26;break a}}else d=c[d>>2]|0;if((d|0)!=-1)if(g)break;else{D=53;break}else{c[f>>2]=0;D=51;break}}else D=51}while(0);if((D|0)==51?g:0)D=53;if((D|0)==53)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=26}else D=26}while(0);if((D|0)==26)d=Na()|0;Im(B);Im(C);Ya(d|0);return 0}function Mu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(24,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Nu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(25,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Ou(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do{if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0)){o=0;f=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;m=o;o=0;if(m&1){C=25;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(l)break;else break b;else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(l){k=0;break}else k=0}f=a[A>>0]|0;f=(f&1)==0?(f&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+f|0)){o=0;wa(8,A|0,f<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+f}l=j+12|0;f=c[l>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}}else f=c[f>>2]|0;if(jp(f,t,b,u,v,n,B,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0)){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}else continue}else{c[l>>2]=f+4;continue}}if((C|0)==25){b=Na()|0;break}E=a[B>>0]|0;if((((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){E=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=E}o=0;b=va(26,b|0,c[u>>2]|0,g|0,t|0)|0;f=D;E=o;o=0;if(!(E&1)){E=h;c[E>>2]=b;c[E+4>>2]=f;Ur(B,x,c[y>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;E=c[d>>2]|0;Im(A);Im(B);i=z;return E|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Pu(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do{if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do{if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17}while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(1,b|0,c[x>>2]|0,h|0);H=o;o=0;if(!(H&1)){g[j>>2]=k;Ur(F,B,c[C>>2]|0,h);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51}while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[h>>2]=c[h>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26}while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Qu(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do{if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do{if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17}while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(2,b|0,c[x>>2]|0,g|0);H=o;o=0;if(!(H&1)){h[j>>3]=k;Ur(F,B,c[C>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51}while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[g>>2]=c[g>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26}while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Ru(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do{if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do{if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17}while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(3,b|0,c[x>>2]|0,g|0);H=o;o=0;if(!(H&1)){h[j>>3]=k;Ur(F,B,c[C>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51}while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[g>>2]=c[g>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26}while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Su(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[h>>2]=f;f=qk(d)|0;d=el(a,b,e,h)|0;if((f|0)!=0?(o=0,ka(75,f|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}i=g;return d|0}function Tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=qk(b)|0;o=0;b=ma(37,a|0,d|0,g|0)|0;a=o;o=0;if(a&1){b=Na()|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}Ya(b|0)}else{if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}i=f;return b|0}return 0}function Uu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0;p=i;i=i+16|0;n=p;j=c[b>>2]|0;a:do{if(!j)j=0;else{q=d;l=f-q>>2;m=g+12|0;k=c[m>>2]|0;l=(k|0)>(l|0)?k-l|0:0;k=e;q=k-q|0;g=q>>2;if((q|0)>0?(Gb[c[(c[j>>2]|0)+48>>2]&63](j,d,g)|0)!=(g|0):0){c[b>>2]=0;j=0;break}do{if((l|0)>0){Vm(n,l,h);o=0;g=ma(c[(c[j>>2]|0)+48>>2]|0,j|0,((a[n>>0]&1)==0?n+4|0:c[n+8>>2]|0)|0,l|0)|0;q=o;o=0;if(q&1){q=Na()|0;Wm(n);Ya(q|0)}if((g|0)==(l|0)){Wm(n);break}else{c[b>>2]=0;Wm(n);j=0;break a}}}while(0);q=f-k|0;f=q>>2;if((q|0)>0?(Gb[c[(c[j>>2]|0)+48>>2]&63](j,e,f)|0)!=(f|0):0){c[b>>2]=0;j=0;break}c[m>>2]=0}}while(0);i=p;return j|0}function Vu(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=c[a>>2]|0;do{if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0))if((Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1){c[a>>2]=0;i=0;break}else{i=c[a>>2]|0;break}}else i=0}while(0);j=(i|0)==0;i=c[e>>2]|0;do{if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;r=11;break}if(j)r=13;else r=12}else r=11}while(0);if((r|0)==11)if(j)r=12;else{i=0;r=13}a:do{if((r|0)==12){c[f>>2]=c[f>>2]|6;i=0}else if((r|0)==13){j=c[a>>2]|0;k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[k>>0]|0;k=j&255;if(k<<24>>24>-1?(q=g+8|0,(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048)!=0):0){m=(Gb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24;j=c[a>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0)){Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=h;n=i;h=i;i=m}else{c[k>>2]=l+1;o=h;n=i;h=i;i=m}while(1){i=i+-48|0;p=o+-1|0;j=c[a>>2]|0;do{if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0}while(0);l=(j|0)==0;if(h)if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;k=0;h=0}else{k=n;h=n}else k=n;else{k=n;h=0}j=c[a>>2]|0;if(!((o|0)>1&(l^(h|0)==0)))break;l=c[j+12>>2]|0;if((l|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[l>>0]|0;l=j&255;if(l<<24>>24<=-1)break a;if(!(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=((Gb[c[(c[g>>2]|0)+36>>2]&63](g,l,0)|0)<<24>>24)+(i*10|0)|0;j=c[a>>2]|0;l=j+12|0;m=c[l>>2]|0;if((m|0)==(c[j+16>>2]|0)){Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=p;n=k;continue}else{c[l>>2]=m+1;o=p;n=k;continue}}do{if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0}while(0);j=(j|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)?(Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0)==-1:0){c[e>>2]=0;r=50;break}if(j)break a}else r=50}while(0);if((r|0)==50?!j:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}}while(0);return i|0}function Wu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a>>2]|0;do{if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[h>>2]|0;if((g|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1}while(0);h=c[b>>2]|0;do{if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=c[g>>2]|0;if((g|0)!=-1)if(i){o=17;break}else{o=16;break}else{c[b>>2]=0;o=14;break}}else o=14}while(0);if((o|0)==14)if(i)o=16;else{h=0;o=17}a:do{if((o|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((o|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[i>>2]|0;if(!(Gb[c[(c[e>>2]|0)+12>>2]&63](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(Gb[c[(c[e>>2]|0)+52>>2]&63](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0)){Eb[c[(c[i>>2]|0)+40>>2]&127](i)|0;m=f;l=h;j=h}else{c[j>>2]=k+4;m=f;l=h;j=h}while(1){g=g+-48|0;n=m+-1|0;h=c[a>>2]|0;do{if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[i>>2]|0;if((h|0)==-1){c[a>>2]=0;k=1;break}else{k=(c[a>>2]|0)==0;break}}else k=1}while(0);do{if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;j=0;f=0;h=1;break}else{j=l;f=l;h=(l|0)==0;break}}else{j=l;f=0;h=1}}while(0);i=c[a>>2]|0;if(!((m|0)>1&(k^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if(!(Gb[c[(c[e>>2]|0)+12>>2]&63](e,2048,h)|0))break a;g=((Gb[c[(c[e>>2]|0)+52>>2]&63](e,h,0)|0)<<24>>24)+(g*10|0)|0;h=c[a>>2]|0;i=h+12|0;k=c[i>>2]|0;if((k|0)==(c[h+16>>2]|0)){Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;m=n;l=j;j=f;continue}else{c[i>>2]=k+4;m=n;l=j;j=f;continue}}do{if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if((h|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1}while(0);do{if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)!=-1)if(i)break a;else break;else{c[b>>2]=0;o=60;break}}else o=60}while(0);if((o|0)==60?!i:0)break;c[d>>2]=c[d>>2]|2}}while(0);return g|0}function Xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h|0;i=Il(e?i:0,f)|0;if(!i)Sj();do{if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}}while(0);c[g>>2]=201;c[b>>2]=j+h;c[d>>2]=(c[a>>2]|0)+f;return}function Yu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h>>2;i=Il(e?i:0,f)|0;if(!i)Sj();do{if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}}while(0);c[g>>2]=201;c[b>>2]=j+(h<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);return}function Zu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=10;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h|0;do{if((e|0)!=(d|0)){if((g-k|0)>>>0>>0){Tm(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+1|0;else i=c[b+8>>2]|0;h=e+(k-h)|0;if((d|0)!=(e|0)){f=d;g=i+k|0;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else g=g+1|0}}a[i+h>>0]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}}while(0);return b|0}function _u(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h>>2;i=Il(e?i:0,f)|0;if(!i)Sj();do{if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}}while(0);c[g>>2]=201;c[b>>2]=j+(h<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);return}function $u(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=1;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h>>2;do{if(j){if((g-k|0)>>>0>>0){an(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+4|0;else i=c[b+8>>2]|0;h=k+((e-h|0)>>>2)|0;if((d|0)!=(e|0)){f=d;g=i+(k<<2)|0;while(1){c[g>>2]=c[f>>2];f=f+4|0;if((f|0)==(e|0))break;else g=g+4|0}}c[i+(h<<2)>>2]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}}while(0);return b|0}function av(b,d){b=b|0;d=d|0;var e=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;do{if(d){o=0;ia(125,b|0,d|0);e=o;o=0;if(e&1){e=Na()|0;Dv(b);Ya(e|0)}else{Uv(b,d);break}}}while(0);return}function bv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43148)|0);return}function cv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43188)|0);return}function dv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44220)|0);return}function ev(a,b){a=a|0;b=b|0;xs(a,b,Hs(44212)|0);return}function fv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44280)|0);return}function gv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44288)|0);return}function hv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44344)|0);return}function iv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44352)|0);return}function jv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44360)|0);return}function kv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44368)|0);return}function lv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43260)|0);return}function mv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43332)|0);return}function nv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43392)|0);return}function ov(a,b){a=a|0;b=b|0;xs(a,b,Hs(43452)|0);return}function pv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43764)|0);return}function qv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43828)|0);return}function rv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43892)|0);return}function sv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43956)|0);return}function tv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43992)|0);return}function uv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44028)|0);return}function vv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44064)|0);return}function wv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44100)|0);return}function xv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43544)|0);return}function yv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43636)|0);return}function zv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43668)|0);return}function Av(a,b){a=a|0;b=b|0;xs(a,b,Hs(43700)|0);return}function Bv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44140)|0);return}function Cv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44180)|0);return}function Dv(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;do{if(e){f=b+4|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do{d=d+-4|0}while((d|0)!=(e|0));c[f>>2]=d}if((b+16|0)==(e|0)){a[b+128>>0]=0;break}else{cj(e);break}}}while(0);return}function Ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+4|0;d=c[h>>2]|0;e=c[a>>2]|0;f=d-e>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0?(g=e+(b<<2)|0,(d|0)!=(g|0)):0){do{d=d+-4|0}while((d|0)!=(g|0));c[h>>2]=d}}else Tv(a,b-f|0);return}function Fv(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;if((c[a+12>>2]|0)-d>>2>>>0>b>>>0)d=(c[d+(b<<2)>>2]|0)!=0;else d=0;return d|0}function Gv(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;d=c[d+4>>2]|0;a=(c[a>>2]|0)+(d>>1)|0;if(d&1)b=c[(c[a>>2]|0)+b>>2]|0;Bb[b&255](a);return}function Hv(d,f,g,h,i,j,k,l){d=d|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;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do{if((m|0)==4){n=f;d=c[g>>2]|0;if(d>>>0>>0)while(1){l=b[d>>1]|0;m=l&65535;if(m>>>0>k>>>0){d=2;break a}do{if((l&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=l}else{if((l&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)>=56320){if((l&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;l=e[d>>1]|0;if((l&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}h=m&960;if(((h<<10)+65536|m<<10&64512|l&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(h>>>6)+1|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=d>>>2|240;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>2&15|d<<4&48|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m<<4&48|l>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=l&63|128}}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d;if(d>>>0>=f>>>0){d=0;break}}else d=0}}while(0);return d|0}function Iv(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;l=f;if((((l-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0){c[g>>2]=e+3;m=c[j>>2]|0}else m=h}else{m=h;l=f}q=i;h=c[g>>2]|0;e=h>>>0>>0;a:do{if(e&m>>>0>>0)while(1){e=a[h>>0]|0;o=e&255;if(o>>>0>k>>>0){e=2;break a}do{if(e<<24>>24>-1){b[m>>1]=e&255;c[g>>2]=h+1}else{if((e&255)<194){e=2;break a}if((e&255)<224){if((l-h|0)<2){e=1;break a}e=d[h+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|o<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+2;break}if((e&255)<240){if((l-h|0)<3){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;switch(o|0){case 224:{if((n&-32)<<24>>24!=-96){e=2;break a}break}case 237:{if((n&-32)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(n&255)<<6&4032|o<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+3;break}if((e&255)>=245){e=2;break a}if((l-h|0)<4){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;h=a[h+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){e=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=h&255;if((e&192|0)!=128){e=2;break a}if((q-m|0)<4){e=1;break a}o=o&7;h=n&255;n=p<<6;e=e&63;if((h<<12&258048|o<<18|n&4032|e)>>>0>k>>>0){e=2;break a}b[m>>1]=h<<2&60|p>>>4&3|((h>>>4&3|o<<2)<<6)+16320|55296;p=m+2|0;c[j>>2]=p;b[p>>1]=e|n&960|56320;c[g>>2]=(c[g>>2]|0)+4}}while(0);m=(c[j>>2]|0)+2|0;c[j>>2]=m;h=c[g>>2]|0;e=h>>>0>>0;if(!(e&m>>>0>>0)){r=39;break}}else r=39}while(0);if((r|0)==39)e=e&1;return e|0}function Jv(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do{if((e|0)!=0&g>>>0>>0){m=g;h=0;b:while(1){g=a[m>>0]|0;l=g&255;if(l>>>0>f>>>0){g=m;h=42;break a}do{if(g<<24>>24>-1)g=m+1|0;else{if((g&255)<194){g=m;h=42;break a}if((g&255)<224){if((n-m|0)<2){g=m;h=42;break a}g=d[m+1>>0]|0;if((g&192|0)!=128){g=m;h=42;break a}if((g&63|l<<6&1984)>>>0>f>>>0){g=m;h=42;break a}g=m+2|0;break}if((g&255)<240){g=m;if((n-g|0)<3){g=m;h=42;break a}j=a[m+1>>0]|0;i=a[m+2>>0]|0;switch(l|0){case 224:{if((j&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((j&-32)<<24>>24!=-128){h=22;break b}break}default:if((j&-64)<<24>>24!=-128){h=24;break b}}g=i&255;if((g&192|0)!=128){g=m;h=42;break a}if(((j&255)<<6&4032|l<<12&61440|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+3|0;break}if((g&255)>=245){g=m;h=42;break a}g=m;if((e-h|0)>>>0<2|(n-g|0)<4){g=m;h=42;break a}k=a[m+1>>0]|0;i=a[m+2>>0]|0;j=a[m+3>>0]|0;switch(l|0){case 240:{if((k+112&255)>=48){h=32;break b}break}case 244:{if((k&-16)<<24>>24!=-128){h=34;break b}break}default:if((k&-64)<<24>>24!=-128){h=36;break b}}i=i&255;if((i&192|0)!=128){g=m;h=42;break a}g=j&255;if((g&192|0)!=128){g=m;h=42;break a}if(((k&255)<<12&258048|l<<18&1835008|i<<6&4032|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+4|0;h=h+1|0}}while(0);h=h+1|0;if(!(h>>>0>>0&g>>>0>>0)){h=42;break a}else m=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42}while(0);if((h|0)==42)g=g-b|0;return g|0}function Kv(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do{if((k|0)==4){b=c[e>>2]|0;if(b>>>0>>0)while(1){j=c[b>>2]|0;if(j>>>0>i>>>0|(j&-2048|0)==55296){b=2;break a}do{if(j>>>0>=128){if(j>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}b=c[h>>2]|0;g=l-b|0;if(j>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=j}}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b;if(b>>>0>=d>>>0){b=0;break}}else b=0}}while(0);return b|0}function Lv(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;k=e;if((((k-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0){c[f>>2]=b+3;g=c[i>>2]|0;p=k}else p=k}else p=e;k=c[f>>2]|0;b=k>>>0>>0;a:do{if(b&g>>>0>>0)while(1){b=a[k>>0]|0;o=b&255;do{if(b<<24>>24>-1){if(o>>>0>j>>>0){b=2;break a}c[g>>2]=o;c[f>>2]=k+1}else{if((b&255)<194){b=2;break a}if((b&255)<224){if((p-k|0)<2){b=1;break a}b=d[k+1>>0]|0;if((b&192|0)!=128){b=2;break a}b=b&63|o<<6&1984;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+2;break}if((b&255)<240){if((p-k|0)<3){b=1;break a}l=a[k+1>>0]|0;b=a[k+2>>0]|0;switch(o|0){case 224:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case 237:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}b=b&255;if((b&192|0)!=128){b=2;break a}b=(l&255)<<6&4032|o<<12&61440|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+3;break}if((b&255)>=245){b=2;break a}if((p-k|0)<4){b=1;break a}n=a[k+1>>0]|0;b=a[k+2>>0]|0;l=a[k+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){b=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){b=2;break a}break}default:if((n&-64)<<24>>24!=-128){b=2;break a}}m=b&255;if((m&192|0)!=128){b=2;break a}b=l&255;if((b&192|0)!=128){b=2;break a}b=(n&255)<<12&258048|o<<18&1835008|m<<6&4032|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+4}}while(0);g=(c[i>>2]|0)+4|0;c[i>>2]=g;k=c[f>>2]|0;b=k>>>0>>0;if(!(b&g>>>0>>0)){q=38;break}}else q=38}while(0);if((q|0)==38)b=b&1;return b|0}function Mv(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do{if((e|0)!=0&g>>>0>>0){l=g;m=0;b:while(1){g=a[l>>0]|0;k=g&255;do{if(g<<24>>24>-1){if(k>>>0>f>>>0){g=l;h=42;break a}g=l+1|0}else{if((g&255)<194){g=l;h=42;break a}if((g&255)<224){if((n-l|0)<2){g=l;h=42;break a}g=d[l+1>>0]|0;if((g&192|0)!=128){g=l;h=42;break a}if((g&63|k<<6&1984)>>>0>f>>>0){g=l;h=42;break a}g=l+2|0;break}if((g&255)<240){g=l;if((n-g|0)<3){g=l;h=42;break a}i=a[l+1>>0]|0;h=a[l+2>>0]|0;switch(k|0){case 224:{if((i&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((i&-32)<<24>>24!=-128){h=22;break b}break}default:if((i&-64)<<24>>24!=-128){h=24;break b}}g=h&255;if((g&192|0)!=128){g=l;h=42;break a}if(((i&255)<<6&4032|k<<12&61440|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+3|0;break}if((g&255)>=245){g=l;h=42;break a}g=l;if((n-g|0)<4){g=l;h=42;break a}j=a[l+1>>0]|0;h=a[l+2>>0]|0;i=a[l+3>>0]|0;switch(k|0){case 240:{if((j+112&255)>=48){h=32;break b}break}case 244:{if((j&-16)<<24>>24!=-128){h=34;break b}break}default:if((j&-64)<<24>>24!=-128){h=36;break b}}h=h&255;if((h&192|0)!=128){g=l;h=42;break a}g=i&255;if((g&192|0)!=128){g=l;h=42;break a}if(((j&255)<<12&258048|k<<18&1835008|h<<6&4032|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+4|0}}while(0);m=m+1|0;if(!(m>>>0>>0&g>>>0>>0)){h=42;break a}else l=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42}while(0);if((h|0)==42)g=g-b|0;return g|0}function Nv(a){a=a|0;Im(45196);Im(45184);Im(45172);Im(45160);Im(45148);Im(45136);Im(45124);Im(45112);Im(45100);Im(45088);Im(45076);Im(45064);Im(45052);Im(45040);return}function Ov(a){a=a|0;Wm(45368);Wm(45356);Wm(45344);Wm(45332);Wm(45320);Wm(45308);Wm(45296);Wm(45284);Wm(45272);Wm(45260);Wm(45248);Wm(45236);Wm(45224);Wm(45212);return}function Pv(a){a=a|0;Im(46e3);Im(45988);Im(45976);Im(45964);Im(45952);Im(45940);Im(45928);Im(45916);Im(45904);Im(45892);Im(45880);Im(45868);Im(45856);Im(45844);Im(45832);Im(45820);Im(45808);Im(45796);Im(45784);Im(45772);Im(45760);Im(45748);Im(45736);Im(45724);return}function Qv(a){a=a|0;Wm(46292);Wm(46280);Wm(46268);Wm(46256);Wm(46244);Wm(46232);Wm(46220);Wm(46208);Wm(46196);Wm(46184);Wm(46172);Wm(46160);Wm(46148);Wm(46136);Wm(46124);Wm(46112);Wm(46100);Wm(46088);Wm(46076);Wm(46064);Wm(46052);Wm(46040);Wm(46028);Wm(46016);return}function Rv(a){a=a|0;Im(47104);Im(47092);Im(47080);Im(47068);Im(47056);Im(47044);Im(47032);Im(47020);Im(47008);Im(46996);Im(46984);Im(46972);Im(46960);Im(46948);Im(46936);Im(46924);Im(46912);Im(46900);Im(46888);Im(46876);Im(46864);Im(46852);Im(46840);Im(46828);return}function Sv(a){a=a|0;Wm(47396);Wm(47384);Wm(47372);Wm(47360);Wm(47348);Wm(47336);Wm(47324);Wm(47312);Wm(47300);Wm(47288);Wm(47276);Wm(47264);Wm(47252);Wm(47240);Wm(47228);Wm(47216);Wm(47204);Wm(47192);Wm(47180);Wm(47168);Wm(47156);Wm(47144);Wm(47132);Wm(47120);return}function Tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;g=c[a+8>>2]|0;d=c[a+4>>2]|0;if(g-d>>2>>>0>>0){e=c[a>>2]|0;h=d-e>>2;f=h+b|0;if(f>>>0>1073741823)$i(a);d=g-e|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?f:d}else d=1073741823;Vv(j,d,h,a+16|0);h=j+8|0;g=c[h>>2]|0;iw(g|0,0,b<<2|0)|0;c[h>>2]=g+(b<<2);Wv(a,j);Xv(j)}else Uv(a,b);i=k;return}function Uv(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Vv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[b+12>>2]=0;c[b+16>>2]=f;do{if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=bj(d<<2)|0;break}}else f=0}while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[b+12>>2]=f+(d<<2);return}function Wv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;g=a+4|0;d=b+4|0;f=(c[g>>2]|0)-e|0;h=(c[d>>2]|0)+(0-(f>>2)<<2)|0;c[d>>2]=h;lw(h|0,e|0,f|0)|0;f=c[a>>2]|0;c[a>>2]=c[d>>2];c[d>>2]=f;f=b+8|0;e=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=e;f=a+8|0;a=b+12|0;e=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=e;c[b>>2]=c[d>>2];return}function Xv(b){b=b|0;var d=0,e=0,f=0;e=c[b+4>>2]|0;f=b+8|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do{d=d+-4|0}while((d|0)!=(e|0));c[f>>2]=d}e=c[b>>2]|0;do{if(e){d=c[b+16>>2]|0;if((d|0)==(e|0)){a[d+112>>0]=0;break}else{cj(e);break}}}while(0);return}function Yv(b,d){b=b|0;d=d|0;var e=0;if(d>>>0>1073741823)$i(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=bj(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function Zv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do{if((a|0)!=(b|0)){f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}}while(0);i=j;return+e}function _v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do{if((a|0)!=(b|0)){f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}}while(0);i=j;return+e}function $v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do{if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}}while(0);i=j;return+e}function aw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;f=0;b=0;break}g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;b=Xj(b,j,f,Xo()|0)|0;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(d|0)){c[e>>2]=4;f=0;b=0;break}if((f|0)==34){c[e>>2]=4;f=-1;b=-1}else f=D}else{c[e>>2]=4;f=0;b=0}}while(0);D=f;i=k;return b|0}function bw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}}while(0);i=l;return b|0}function cw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}}while(0);i=l;return b|0}function dw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==34){c[e>>2]=4;b=-1;break}else{b=b&65535;break}}else{c[e>>2]=4;b=0}}while(0);i=l;return b|0}function ew(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do{if((a|0)!=(b|0)){g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;a=Yj(a,j,e,Xo()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;e=0;a=0;break}if((f|0)==34){c[d>>2]=4;j=(e|0)>0|(e|0)==0&a>>>0>0;D=j?2147483647:-2147483648;i=k;return(j?-1:0)|0}}else{c[d>>2]=4;e=0;a=0}}while(0);D=e;i=k;return a|0}function fw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do{if((a|0)==(b|0)){c[d>>2]=4;a=0}else{g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;a=Yj(a,j,e,Xo()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;a=0;break}do{if((f|0)==34){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}}while(0);a=-2147483648}}while(0);i=k;return a|0}function gw(){}function hw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return(D=d,a-c>>>0|0)|0}function iw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function jw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return(D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function kw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function lw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Wa(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function mw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else lw(b,c,d)|0;return b|0}function ow(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function pw(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)>>0]|0)+24|0}function qw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return(D=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=hw(j^a,i^b,j,i)|0;g=D;a=f^j;b=e^i;return hw((ww(h,g,hw(f^c,e^d,f,e)|0,D,0)|0)^a,D^b,a,b)|0}function sw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=hw(h^a,g^b,h,g)|0;b=D;ww(a,b,hw(l^d,k^e,l,k)|0,D,j)|0;e=hw(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=D;i=f;return(D=d,e)|0}function tw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=qw(e,f)|0;a=D;return(D=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function uw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ww(a,b,c,d,0)|0}function vw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;ww(a,b,d,e,f)|0;i=g;return(D=c[f+4>>2]|0,c[f>>2]|0)|0}function ww(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return(D=n,f)|0}else{if(!g){n=0;f=0;return(D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return(D=n,f)|0}}g=(i|0)==0;do{if(h){if(!g){g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return(D=n,f)|0}g=h-1|0;if(g&h){i=(ba(h|0)|0)+33-(ba(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return(D=o,p)|0}else{p=pw(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return(D=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return(D=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return(D=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((pw(i|0)|0)>>>0);return(D=o,p)|0}g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return(D=o,p)|0}}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=jw(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;hw(k,d,e,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=hw(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return(D=o,p)|0}function xw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return yb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function yw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;zb[a&15](b|0,c|0,d|0,e|0,f|0)}function zw(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;return Ab[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function Aw(a,b){a=a|0;b=b|0;Bb[a&255](b|0)}function Bw(a,b,c){a=a|0;b=b|0;c=c|0;Cb[a&127](b|0,c|0)}function Cw(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 Db[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Dw(a,b){a=a|0;b=b|0;return Eb[a&127](b|0)|0}function Ew(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;return Fb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function Fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gb[a&63](b|0,c|0,d|0)|0}function Gw(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){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;o=o|0;p=p|0;Hb[a&3](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)}function Hw(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;Ib[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function Iw(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;Jb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Jw(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;Kb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Kw(a,b,c){a=a|0;b=b|0;c=c|0;return Lb[a&63](b|0,c|0)|0}function Lw(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 Mb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Mw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return+Nb[a&3](b|0,c|0,d|0)}function Nw(a){a=a|0;return Ob[a&15]()|0}function Ow(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Pb[a&31](b|0,c|0,d|0,e|0)|0}function Pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qb[a&15](b|0,c|0,d|0)}function Qw(a){a=a|0;Rb[a&7]()}function Rw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Sb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Sw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Tb[a&7](b|0,c|0,d|0,e|0,+f)|0}function Tw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ub[a&63](b|0,c|0,d|0,e|0)}function Uw(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;ca(0);return 0}function Vw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1)}function Ww(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ca(2);return 0}function Xw(a){a=a|0;ca(3)}function Yw(a,b){a=a|0;b=b|0;ca(4)}function Zw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(5);return 0}function _w(a){a=a|0;ca(6);return 0}function $w(a){a=a|0;return cb(a|0)|0}function ax(a){a=a|0;return rb(a|0)|0}function bx(a){a=a|0;return hb(a|0)|0}function cx(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;ca(7);return 0}function dx(a,b,c){a=a|0;b=b|0;c=c|0;ca(8);return 0}function ex(a,b,c,d,e,f,g,h,i,j,k,l,m,n,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;n=n|0;o=o|0;ca(9)}function fx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(10)}function gx(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;ca(11)}function hx(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;ca(12)}function ix(a,b){a=a|0;b=b|0;ca(13);return 0}function jx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(14);return 0}function kx(a,b,c){a=a|0;b=b|0;c=c|0;ca(15);return 0.0}function lx(){ca(16);return 0}function mx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(17);return 0}function nx(a,b,c){a=a|0;b=b|0;c=c|0;ca(18)}function ox(a,b,c){a=a|0;b=b|0;c=c|0;lb(a|0,b|0,c|0)}function px(){ca(19)}function qx(){pb()}function rx(){Xa()}function sx(){mb()}function tx(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;ca(20);return 0}function ux(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ca(21);return 0}function vx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(22)}function di(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8900]|0;c[b+4580>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+256;j=b+160|0;g=b+156|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function ei(a){a=a|0;var b=0,d=0;c[a>>2]=35660;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function fi(a){a=a|0;var b=0,d=0;c[a>>2]=35660;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function gi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function hi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;pi(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function ii(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);ji(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function ji(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;k=b+172|0;y=(c[k>>2]|0)+4|0;if((c[b+28>>2]|0)==1)l=c[b+20>>2]|0;else l=1;d=$(l<<1,y)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))x=6;if((x|0)==6?(o=0,e=ka(67,d|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[D>>2]|0)+1|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!l)x=19;else{if(!(l>>>0>1073741823?(o=0,ha(178,z|0),w=o,o=0,w&1):0))x=17;if((x|0)==17?(f=l<<2,o=0,g=ka(67,f|0)|0,w=o,o=0,!(w&1)):0){c[z>>2]=g;x=g+(l<<2)|0;c[z+8>>2]=x;iw(g|0,0,f|0)|0;c[B>>2]=x;x=19;break}e=Na()|0;d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((x|0)==19){m=b+8|0;d=c[m>>2]|0;b:do{if((d|0)>0){n=b+4596|0;p=$(l,y)|0;q=p+1|0;r=b+4600|0;s=b+160|0;t=b+168|0;u=b+164|0;v=b+156|0;w=b+88|0;j=b+4592|0;if((l|0)>0)h=0;else{h=0;while(1){g=c[C>>2]|0;e=g+1|0;c[n>>2]=e;f=g+q|0;c[r>>2]=f;if(!(h&1))e=q;else{c[n>>2]=f;c[r>>2]=e;e=1}l=c[s>>2]|0;if((l|0)<=(h|0)?(h|0)<((c[t>>2]|0)+l|0):0){l=c[w>>2]|0;o=0;Aa(c[(c[l>>2]|0)+8>>2]|0,l|0,g+(e+((c[v>>2]|0)-p))|0,c[u>>2]|0,y|0);l=o;o=0;if(l&1)break;d=c[m>>2]|0}h=h+1|0;if((h|0)>=(d|0)){x=50;break b}}e=Na()|0;break}c:while(1){e=c[C>>2]|0;d=e+1|0;c[n>>2]=d;e=e+q|0;c[r>>2]=e;if(h&1){c[n>>2]=e;c[r>>2]=d;d=e}g=c[z>>2]|0;e=d;f=0;do{c[j>>2]=c[g+(f<<2)>>2];x=c[k>>2]|0;a[e+x>>0]=a[e+(x+-1)>>0]|0;a[(c[r>>2]|0)+-1>>0]=a[c[n>>2]>>0]|0;o=0;ia(83,b|0,0);x=o;o=0;if(x&1){x=38;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[j>>2];e=(c[n>>2]|0)+y|0;c[n>>2]=e;d=c[r>>2]|0;c[r>>2]=d+y;f=f+1|0}while((f|0)<(l|0));x=c[s>>2]|0;if(((x|0)<=(h|0)?(h|0)<((c[t>>2]|0)+x|0):0)?(x=c[w>>2]|0,o=0,Aa(c[(c[x>>2]|0)+8>>2]|0,x|0,d+(y+((c[v>>2]|0)-p))|0,c[u>>2]|0,y|0),x=o,o=0,x&1):0){x=30;break}h=h+1|0;if((h|0)>=(c[m>>2]|0)){x=50;break b}}if((x|0)==30){e=Na()|0;break}else if((x|0)==38){e=Na()|0;break}}else x=50}while(0);do{if((x|0)==50){o=0;ha(183,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);i=A;return}}while(0);d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}function ki(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=b+4596|0;f=c[p>>2]|0;t=b+172|0;e=c[t>>2]|0;if((e|0)<=0)return;q=b+4600|0;r=b+4604|0;s=b+4592|0;k=f;i=d[f+-1>>0]|0;f=d[f>>0]|0;o=0;while(1){m=c[q>>2]|0;j=a[m+(o+-1)>>0]|0;n=j&255;h=o+1|0;g=d[k+h>>0]|0;l=c[r>>2]|0;k=f-i|0;i=i-n|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;m=m+o|0;if(!l){e=mi(b,j,m,e-o|0)|0;f=e+o|0;if((f|0)!=(c[t>>2]|0)){n=ni(b,n,d[(c[p>>2]|0)+f>>0]|0)|0;a[(c[q>>2]|0)+f>>0]=n;n=c[s>>2]|0;c[s>>2]=(n|0)<1?0:n+-1|0;e=e+1|0}h=e+o|0;g=c[p>>2]|0;f=d[g+(h+-1)>>0]|0;g=d[g+h>>0]|0}else{e=f-n>>31;if((e^i|0)<0)e=f;else e=n+((e^k|0)<0?0:k)|0;n=li(b,l,d[m>>0]|0,e,0)|0;a[(c[q>>2]|0)+o>>0]=n}e=c[t>>2]|0;if((e|0)<=(h|0))break;k=c[p>>2]|0;i=f;f=g;o=h}return}function li(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&255;return d|0}d=f&~(h>>31);d=d&255;return d|0}function mi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4592|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;iw(e|0,d|0,g|0)|0;return g|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=b-d|0;h=a+128|0;e=a+136|0;if((((g|0)>-1?g:0-g|0)|0)>(c[e>>2]|0)){b=$(oi(a,a+4568|0)|0,d-b>>31|1)|0;f=c[e>>2]|0;g=f<<1|1;b=($(b,g)|0)+d|0;if((b|0)>=(0-f|0)){e=c[h>>2]|0;if((e+f|0)<(b|0))b=b-($(c[a+132>>2]|0,g)|0)|0}else{b=($(c[a+132>>2]|0,g)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&255;return a|0}a=e&~(b>>31);a=a&255;return a|0}else{d=oi(a,a+4580|0)|0;g=c[e>>2]|0;f=g<<1|1;b=($(f,d)|0)+b|0;if((b|0)>=(0-g|0)){e=c[h>>2]|0;if((e+g|0)<(b|0))b=b-($(c[a+132>>2]|0,f)|0)|0}else{b=($(c[a+132>>2]|0,f)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&255;return a|0}a=e&~(b>>31);a=a&255;return a|0}return 0}function oi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function pi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function qi(a){a=a|0;cj(a);return}function ri(a){a=a|0;return 50767}function si(a,b,c){a=a|0;b=b|0;c=c|0;Gm(a,50754,12);return}function ti(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+16|0;t=s;c[t>>2]=0;u=t+4|0;c[u>>2]=0;c[t+8>>2]=0;q=t+8|0;o=0;g=ka(67,1)|0;p=o;o=0;a:do{if((!(p&1)?(p=g+1|0,a[g>>0]=e,c[t>>2]=g,c[u>>2]=p,c[q>>2]=p,o=0,ia(84,t|0,d&65535|0),p=o,o=0,!(p&1)):0)?(o=0,ia(84,t|0,b&65535|0),p=o,o=0,!(p&1)):0){m=f&255;g=c[u>>2]|0;e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);p=o;o=0;if(p&1){r=52;break}b=c[t>>2]|0;e=c[q>>2]|0;d=b}l=d;g=e-l|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;e=c[u>>2]|0;k=e-l|0;if(!g){g=0;j=0}else r=12}else{k=c[u>>2]|0;g=2147483647;e=k;k=k-l|0;r=12}if((r|0)==12){o=0;j=ka(67,g|0)|0;p=o;o=0;if(p&1){r=52;break}}a[j+k>>0]=m;n=e-l|0;p=j+(k-n)|0;lw(p|0,d|0,n|0)|0;c[t>>2]=p;c[u>>2]=j+(k+1);c[q>>2]=j+g;if(b)cj(b)}else{a[g>>0]=m;c[u>>2]=(c[u>>2]|0)+1}b:do{if((f|0)>0){p=0;while(1){p=p+1|0;n=p&255;g=c[u>>2]|0;d=c[q>>2]|0;if(g>>>0>=d>>>0){b=c[t>>2]|0;e=b;j=g-e+1|0;if((j|0)<0){o=0;ha(178,t|0);m=o;o=0;if(m&1)break;b=c[t>>2]|0;e=b;d=c[q>>2]|0}m=b;g=d-m|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;d=c[u>>2]|0;k=d-m|0;if(!g){l=0;j=0}else r=25}else{k=c[u>>2]|0;g=2147483647;d=k;k=k-m|0;r=25}if((r|0)==25){r=0;o=0;j=ka(67,g|0)|0;l=o;o=0;if(l&1)break;else l=g}a[j+k>>0]=n;g=j+(k+1)|0;m=d-m|0;n=j+(k-m)|0;lw(n|0,b|0,m|0)|0;c[t>>2]=n;c[u>>2]=g;c[q>>2]=j+l;if(e){cj(e);g=c[u>>2]|0}}else{a[g>>0]=n;g=(c[u>>2]|0)+1|0;c[u>>2]=g}e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);n=o;o=0;if(n&1)break;b=c[t>>2]|0;e=c[q>>2]|0;d=b}m=d;g=e-m|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;j=c[u>>2]|0;k=j-m|0;if(!g){l=0;e=0}else r=36}else{k=c[u>>2]|0;g=2147483647;j=k;k=k-m|0;r=36}if((r|0)==36){r=0;o=0;e=ka(67,g|0)|0;n=o;o=0;if(n&1)break;else l=g}a[e+k>>0]=17;g=e+(k+1)|0;m=j-m|0;n=e+(k-m)|0;lw(n|0,d|0,m|0)|0;c[t>>2]=n;c[u>>2]=g;c[q>>2]=e+l;if(b){cj(b);g=c[u>>2]|0}}else{a[g>>0]=17;g=(c[u>>2]|0)+1|0;c[u>>2]=g}e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);n=o;o=0;if(n&1)break;b=c[t>>2]|0;e=c[q>>2]|0;d=b}l=d;g=e-l|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;e=c[u>>2]|0;k=e-l|0;if(!g){g=0;j=0}else r=48}else{k=c[u>>2]|0;g=2147483647;e=k;k=k-l|0;r=48}if((r|0)==48){r=0;o=0;j=ka(67,g|0)|0;n=o;o=0;if(n&1)break}a[j+k>>0]=0;m=e-l|0;n=j+(k-m)|0;lw(n|0,d|0,m|0)|0;c[t>>2]=n;c[u>>2]=j+(k+1);c[q>>2]=j+g;if(b)cj(b)}else{a[g>>0]=0;c[u>>2]=(c[u>>2]|0)+1}if((p|0)>=(f|0))break b}h=Na()|0;break a}}while(0);o=0;k=ka(67,20)|0;f=o;o=0;if(!(f&1)){c[k>>2]=36800;a[k+4>>0]=-9;b=k+8|0;c[b>>2]=0;j=k+12|0;c[j>>2]=0;e=k+16|0;c[e>>2]=0;g=c[u>>2]|0;f=c[t>>2]|0;d=g-f|0;do{if((g|0)!=(f|0)){if(!((d|0)<0?(o=0,ha(178,b|0),f=o,o=0,f&1):0))r=62;if((r|0)==62?(o=0,h=ka(67,d|0)|0,f=o,o=0,!(f&1)):0){c[j>>2]=h;c[b>>2]=h;c[e>>2]=h+d;g=c[t>>2]|0;e=c[u>>2]|0;if((g|0)==(e|0))break;do{a[h>>0]=a[g>>0]|0;h=(c[j>>2]|0)+1|0;c[j>>2]=h;g=g+1|0}while((g|0)!=(e|0));g=c[t>>2]|0;break}h=Na()|0;g=c[b>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}cj(k);break a}}while(0);if(!g){i=s;return k|0}if((c[u>>2]|0)!=(g|0))c[u>>2]=g;cj(g);i=s;return k|0}else r=52}else r=52}while(0);if((r|0)==52)h=Na()|0;g=c[t>>2]|0;if(!g)Ya(h|0);if((c[u>>2]|0)!=(g|0))c[u>>2]=g;cj(g);Ya(h|0);return 0}function ui(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;r=u+28|0;w=u+16|0;t=u+4|0;s=u;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;p=bj(5)|0;c[w>>2]=p;q=w+8|0;c[q>>2]=p+5;a[p>>0]=74;a[p+1>>0]=70;a[p+2>>0]=73;a[p+3>>0]=70;a[p+4>>0]=0;c[x>>2]=p+5;o=0;ia(84,w|0,c[b>>2]&65535|0);p=o;o=0;a:do{if(!(p&1)){m=c[b+4>>2]&255;d=c[x>>2]|0;f=c[q>>2]|0;if(d>>>0>=f>>>0){g=c[w>>2]|0;h=g;j=d-h+1|0;if((j|0)<0){o=0;ha(178,w|0);p=o;o=0;if(p&1){v=43;break}h=c[w>>2]|0;f=c[q>>2]|0;g=h}l=g;d=f-l|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;f=c[x>>2]|0;k=f-l|0;if(!d){d=0;j=0}else v=10}else{k=c[x>>2]|0;d=2147483647;f=k;k=k-l|0;v=10}if((v|0)==10){o=0;j=ka(67,d|0)|0;p=o;o=0;if(p&1){v=43;break}}a[j+k>>0]=m;n=f-l|0;p=j+(k-n)|0;lw(p|0,g|0,n|0)|0;c[w>>2]=p;c[x>>2]=j+(k+1);c[q>>2]=j+d;if(h)cj(h)}else{a[d>>0]=m;c[x>>2]=(c[x>>2]|0)+1}o=0;ia(84,w|0,c[b+8>>2]&65535|0);p=o;o=0;if(!(p&1)?(o=0,ia(84,w|0,c[b+12>>2]&65535|0),p=o,o=0,!(p&1)):0){p=b+16|0;n=c[p>>2]&255;d=c[x>>2]|0;g=c[q>>2]|0;if(d>>>0>=g>>>0){h=c[w>>2]|0;f=h;j=d-f+1|0;if((j|0)<0){o=0;ha(178,w|0);m=o;o=0;if(m&1){v=43;break}h=c[w>>2]|0;f=h;g=c[q>>2]|0}m=h;d=g-m|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;j=c[x>>2]|0;k=j-m|0;if(!d){l=0;g=0}else v=23}else{k=c[x>>2]|0;d=2147483647;j=k;k=k-m|0;v=23}if((v|0)==23){o=0;g=ka(67,d|0)|0;l=o;o=0;if(l&1){v=43;break}else l=d}a[g+k>>0]=n;d=g+(k+1)|0;m=j-m|0;n=g+(k-m)|0;lw(n|0,h|0,m|0)|0;c[w>>2]=n;c[x>>2]=d;c[q>>2]=g+l;if(f){cj(f);d=c[x>>2]|0}}else{a[d>>0]=n;d=(c[x>>2]|0)+1|0;c[x>>2]=d}n=b+20|0;m=c[n>>2]&255;f=c[q>>2]|0;if(d>>>0>=f>>>0){g=c[w>>2]|0;h=g;j=d-h+1|0;if((j|0)<0){o=0;ha(178,w|0);l=o;o=0;if(l&1){v=43;break}h=c[w>>2]|0;f=c[q>>2]|0;g=h}l=g;d=f-l|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;f=c[x>>2]|0;k=f-l|0;if(!d){d=0;j=0}else v=34}else{k=c[x>>2]|0;d=2147483647;f=k;k=k-l|0;v=34}if((v|0)==34){o=0;j=ka(67,d|0)|0;y=o;o=0;if(y&1){v=43;break}}a[j+k>>0]=m;m=f-l|0;y=j+(k-m)|0;lw(y|0,g|0,m|0)|0;c[w>>2]=y;c[x>>2]=j+(k+1);c[q>>2]=j+d;if(h)cj(h)}else{a[d>>0]=m;c[x>>2]=(c[x>>2]|0)+1}d=c[p>>2]|0;do{if((d|0)>0){if(!(c[b+24>>2]|0)){c[s>>2]=c[x>>2];y=0+($(d*3|0,c[n>>2]|0)|0)|0;o=0;c[r>>2]=c[s>>2];va(15,w|0,r|0,0,y|0)|0;y=o;o=0;if(y&1){v=43;break a}else break}f=Ma(16)|0;o=0;wa(5,t|0,50792,57);y=o;o=0;if(!(y&1)){o=0;d=ua(1)|0;y=o;o=0;if(!(y&1)?(o=0,Aa(36,f|0,1,d|0,t|0),y=o,o=0,!(y&1)):0){o=0;wa(6,f|0,824,96);o=0;e=0}else e=1;d=Na()|0;Im(t);if(!e){e=d;break a}}else d=Na()|0;La(f|0);e=d;break a}}while(0);o=0;k=ka(67,20)|0;y=o;o=0;if(!(y&1)){c[k>>2]=36800;a[k+4>>0]=-32;h=k+8|0;c[h>>2]=0;j=k+12|0;c[j>>2]=0;f=k+16|0;c[f>>2]=0;d=c[x>>2]|0;y=c[w>>2]|0;g=d-y|0;do{if((d|0)!=(y|0)){if(!((g|0)<0?(o=0,ha(178,h|0),y=o,o=0,y&1):0))v=53;if((v|0)==53?(o=0,e=ka(67,g|0)|0,y=o,o=0,!(y&1)):0){c[j>>2]=e;c[h>>2]=e;c[f>>2]=e+g;d=c[w>>2]|0;f=c[x>>2]|0;if((d|0)==(f|0))break;do{a[e>>0]=a[d>>0]|0;e=(c[j>>2]|0)+1|0;c[j>>2]=e;d=d+1|0}while((d|0)!=(f|0));d=c[w>>2]|0;break}d=Na()|0;e=c[h>>2]|0;if(e){if((c[j>>2]|0)!=(e|0))c[j>>2]=e;cj(e)}cj(k);v=44;break a}}while(0);if(!d){i=u;return k|0}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return k|0}else v=43}else v=43}else v=43}while(0);if((v|0)==43){d=Na()|0;v=44}if((v|0)==44)e=d;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0);return 0}function vi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;k=i;i=i+16|0;m=k;c[m>>2]=0;n=m+4|0;c[n>>2]=0;c[m+8>>2]=0;o=0;d=ka(67,1)|0;j=o;o=0;a:do{if((((((!(j&1)?(j=d+1|0,a[d>>0]=1,c[m>>2]=d,c[n>>2]=j,c[m+8>>2]=j,o=0,ia(84,m|0,c[b>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+4>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+8>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+12>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+16>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,l=ka(67,20)|0,j=o,o=0,!(j&1)):0){c[l>>2]=36800;a[l+4>>0]=-8;g=l+8|0;c[g>>2]=0;j=l+12|0;c[j>>2]=0;b=l+16|0;c[b>>2]=0;d=c[n>>2]|0;p=c[m>>2]|0;f=d-p|0;do{if((d|0)!=(p|0)){if(!((f|0)<0?(o=0,ha(178,g|0),p=o,o=0,p&1):0))h=11;if((h|0)==11?(o=0,e=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[j>>2]=e;c[g>>2]=e;c[b>>2]=e+f;d=c[m>>2]|0;b=c[n>>2]|0;if((d|0)==(b|0))break;do{a[e>>0]=a[d>>0]|0;e=(c[j>>2]|0)+1|0;c[j>>2]=e;d=d+1|0}while((d|0)!=(b|0));d=c[m>>2]|0;break}e=Na()|0;d=c[g>>2]|0;if(d){if((c[j>>2]|0)!=(d|0))c[j>>2]=d;cj(d)}cj(l);break a}}while(0);if(!d){i=k;return l|0}if((c[n>>2]|0)!=(d|0))c[n>>2]=d;cj(d);i=k;return l|0}else h=25}while(0);if((h|0)==25)e=Na()|0;d=c[m>>2]|0;if(!d)Ya(e|0);if((c[n>>2]|0)!=(d|0))c[n>>2]=d;cj(d);Ya(e|0);return 0}function wi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=bj(5)|0;a[h>>0]=109;a[h+1>>0]=114;a[h+2>>0]=102;a[h+3>>0]=120;a[h+4>>0]=b;o=0;g=ka(67,20)|0;f=o;o=0;if(f&1){g=Na()|0;cj(h);Ya(g|0)}c[g>>2]=36800;a[g+4>>0]=-24;b=g+8|0;c[b>>2]=0;d=g+12|0;c[d>>2]=0;e=g+16|0;c[e>>2]=0;o=0;f=ka(67,5)|0;i=o;o=0;if(!(i&1)){c[d>>2]=f;c[b>>2]=f;c[e>>2]=f+5;a[f>>0]=109;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=h+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=f+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=f+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;a[i>>0]=a[f+1>>0]|0;c[d>>2]=(c[d>>2]|0)+1;cj(h);return g|0}i=Na()|0;cj(g);cj(h);Ya(i|0);return 0}function xi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;t=w+8|0;o=0;g=ka(67,1)|0;s=o;o=0;a:do{if(!(s&1)){k=g+1|0;s=k;a[g>>0]=d;c[w>>2]=g;c[x>>2]=s;c[t>>2]=s;if((d|0)>0){j=k;s=0;do{r=s+b&255;if(j>>>0>=k>>>0){g=c[w>>2]|0;l=g;j=j-l+1|0;if((j|0)<0){o=0;ha(178,w|0);q=o;o=0;if(q&1){u=28;break}l=c[w>>2]|0;k=c[t>>2]|0;q=l}else q=g;p=q;g=k-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;k=c[x>>2]|0;m=k-p|0;if(!g){n=0;j=0}else u=13}else{m=c[x>>2]|0;g=2147483647;k=m;m=m-p|0;u=13}if((u|0)==13){u=0;o=0;j=ka(67,g|0)|0;n=o;o=0;if(n&1){u=28;break}else n=g}a[j+m>>0]=r;g=j+(m+1)|0;p=k-p|0;r=j+(m-p)|0;lw(r|0,q|0,p|0)|0;c[w>>2]=r;c[x>>2]=g;c[t>>2]=j+n;if(l){cj(l);g=c[x>>2]|0}}else{a[j>>0]=r;g=(c[x>>2]|0)+1|0;c[x>>2]=g}k=c[t>>2]|0;if(g>>>0>=k>>>0){l=c[w>>2]|0;j=l;m=g-j+1|0;if((m|0)<0){o=0;ha(178,w|0);r=o;o=0;if(r&1){u=28;break}l=c[w>>2]|0;j=l;k=c[t>>2]|0}p=l;g=k-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?m:g;m=c[x>>2]|0;k=m-p|0;if(!g){g=0;n=0}else u=24}else{k=c[x>>2]|0;g=2147483647;m=k;k=k-p|0;u=24}if((u|0)==24){u=0;o=0;n=ka(67,g|0)|0;r=o;o=0;if(r&1){u=28;break}}a[n+k>>0]=0;q=m-p|0;r=n+(k-q)|0;lw(r|0,l|0,q|0)|0;c[w>>2]=r;c[x>>2]=n+(k+1);c[t>>2]=n+g;if(j)cj(j)}else{a[g>>0]=0;c[x>>2]=(c[x>>2]|0)+1}s=s+1|0;j=c[x>>2]|0;k=c[t>>2]|0}while((s|0)<(d|0));if((u|0)==28){h=Na()|0;break}g=e&255;if(j>>>0>>0){a[j>>0]=g;j=(c[x>>2]|0)+1|0;c[x>>2]=j}else u=37}else{j=k;g=e&255;u=37}if((u|0)==37){l=c[w>>2]|0;m=l;n=j-m+1|0;if((n|0)<0){o=0;ha(178,w|0);e=o;o=0;if(e&1){u=29;break}m=c[w>>2]|0;k=c[t>>2]|0;l=m}r=l;j=k-r|0;if(j>>>0<1073741823){j=j<<1;j=j>>>0>>0?n:j;n=c[x>>2]|0;p=n-r|0;if(!j){q=0;k=0}else u=43}else{p=c[x>>2]|0;j=2147483647;n=p;p=p-r|0;u=43}if((u|0)==43){o=0;k=ka(67,j|0)|0;e=o;o=0;if(e&1){u=29;break}else q=j}a[k+p>>0]=g;j=k+(p+1)|0;b=n-r|0;e=k+(p-b)|0;lw(e|0,l|0,b|0)|0;c[w>>2]=e;c[x>>2]=j;c[t>>2]=k+q;if(m){cj(m);j=c[x>>2]|0}}r=f&255;g=c[t>>2]|0;if(j>>>0>=g>>>0){k=c[w>>2]|0;l=k;j=j-l+1|0;if((j|0)<0){o=0;ha(178,w|0);f=o;o=0;if(f&1){u=29;break}l=c[w>>2]|0;g=c[t>>2]|0;k=l}q=k;g=g-q|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;m=c[x>>2]|0;n=m-q|0;if(!g){p=0;j=0}else u=54}else{n=c[x>>2]|0;g=2147483647;m=n;n=n-q|0;u=54}if((u|0)==54){o=0;j=ka(67,g|0)|0;f=o;o=0;if(f&1){u=29;break}else p=g}a[j+n>>0]=r;g=j+(n+1)|0;e=m-q|0;f=j+(n-e)|0;lw(f|0,k|0,e|0)|0;c[w>>2]=f;c[x>>2]=g;c[t>>2]=j+p;if(l){cj(l);g=c[x>>2]|0}}else{a[j>>0]=r;g=(c[x>>2]|0)+1|0;c[x>>2]=g}j=c[t>>2]|0;if(g>>>0>=j>>>0){k=c[w>>2]|0;l=k;m=g-l+1|0;if((m|0)<0){o=0;ha(178,w|0);f=o;o=0;if(f&1){u=29;break}l=c[w>>2]|0;j=c[t>>2]|0;k=l}p=k;g=j-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?m:g;j=c[x>>2]|0;n=j-p|0;if(!g){g=0;m=0}else u=65}else{n=c[x>>2]|0;g=2147483647;j=n;n=n-p|0;u=65}if((u|0)==65){o=0;m=ka(67,g|0)|0;f=o;o=0;if(f&1){u=29;break}}a[m+n>>0]=0;e=j-p|0;f=m+(n-e)|0;lw(f|0,k|0,e|0)|0;c[w>>2]=f;c[x>>2]=m+(n+1);c[t>>2]=m+g;if(l)cj(l)}else{a[g>>0]=0;c[x>>2]=(c[x>>2]|0)+1}o=0;n=ka(67,20)|0;t=o;o=0;if(!(t&1)){c[n>>2]=36800;a[n+4>>0]=-38;l=n+8|0;c[l>>2]=0;m=n+12|0;c[m>>2]=0;j=n+16|0;c[j>>2]=0;g=c[x>>2]|0;t=c[w>>2]|0;k=g-t|0;do{if((g|0)!=(t|0)){if(!((k|0)<0?(o=0,ha(178,l|0),t=o,o=0,t&1):0))u=72;if((u|0)==72?(o=0,h=ka(67,k|0)|0,t=o,o=0,!(t&1)):0){c[m>>2]=h;c[l>>2]=h;c[j>>2]=h+k;g=c[w>>2]|0;j=c[x>>2]|0;if((g|0)==(j|0))break;do{a[h>>0]=a[g>>0]|0;h=(c[m>>2]|0)+1|0;c[m>>2]=h;g=g+1|0}while((g|0)!=(j|0));g=c[w>>2]|0;break}h=Na()|0;g=c[l>>2]|0;if(g){if((c[m>>2]|0)!=(g|0))c[m>>2]=g;cj(g)}cj(n);break a}}while(0);if(!g){i=v;return n|0}if((c[x>>2]|0)!=(g|0))c[x>>2]=g;cj(g);i=v;return n|0}else u=29}else u=29}while(0);if((u|0)==29)h=Na()|0;g=c[w>>2]|0;if(!g)Ya(h|0);if((c[x>>2]|0)!=(g|0))c[x>>2]=g;cj(g);Ya(h|0);return 0}function yi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=(d&65535)>>>8&255;o=b+4|0;e=c[o>>2]|0;p=b+8|0;f=c[p>>2]|0;if(e>>>0>=f>>>0){g=c[b>>2]|0;h=g;i=e-h+1|0;if((i|0)<0){$i(b);h=c[b>>2]|0;f=c[p>>2]|0;g=h}m=g;e=f-m|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?i:e;i=c[o>>2]|0;f=i-m|0;if(!e){l=0;k=0;j=f;e=i}else q=8}else{f=c[o>>2]|0;e=2147483647;i=f;f=f-m|0;q=8}if((q|0)==8){l=e;k=bj(e)|0;j=f;e=i}a[k+j>>0]=n;f=k+(j+1)|0;m=e-m|0;n=k+(j-m)|0;lw(n|0,g|0,m|0)|0;c[b>>2]=n;c[o>>2]=f;c[p>>2]=k+l;if(h){cj(h);f=c[o>>2]|0}}else{a[e>>0]=n;f=(c[o>>2]|0)+1|0;c[o>>2]=f}m=d&255;e=c[p>>2]|0;if(f>>>0>>0){a[f>>0]=m;c[o>>2]=(c[o>>2]|0)+1;return}g=c[b>>2]|0;h=g;f=f-h+1|0;if((f|0)<0){$i(b);h=c[b>>2]|0;e=c[p>>2]|0;g=h}l=g;e=e-l|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?f:e;i=c[o>>2]|0;f=i-l|0;if(!e){k=0;j=0;e=i}else q=18}else{f=c[o>>2]|0;e=2147483647;i=f;f=f-l|0;q=18}if((q|0)==18){k=e;j=bj(e)|0;e=i}a[j+f>>0]=m;d=e-l|0;q=j+(f-d)|0;lw(q|0,g|0,d|0)|0;c[b>>2]=q;c[o>>2]=j+(f+1);c[p>>2]=j+k;if(!h)return;cj(h);return}function zi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=c[b>>2]|0;q=c[d>>2]|0;p=q;k=g;n=e;l=f-n|0;if((l|0)<=0){r=q;return r|0}o=b+8|0;d=c[o>>2]|0;r=b+4|0;m=c[r>>2]|0;h=m;if((l|0)<=(d-h|0)){j=h-p|0;if((l|0)>(j|0)){i=e+j|0;if((i|0)==(f|0))d=m;else{h=i;d=m;do{a[d>>0]=a[h>>0]|0;d=(c[r>>2]|0)+1|0;c[r>>2]=d;h=h+1|0}while((h|0)!=(f|0))}if((j|0)>0)j=d;else{r=q;return r|0}}else{j=m;i=f}g=j-(g+(l-k+p))|0;d=q+g|0;if(d>>>0>>0){h=j;do{a[h>>0]=a[d>>0]|0;d=d+1|0;h=(c[r>>2]|0)+1|0;c[r>>2]=h}while((d|0)!=(m|0))}nw(j+(0-g)|0,q|0,g|0)|0;nw(q|0,e|0,i-n|0)|0;r=q;return r|0}h=h-k+l|0;if((h|0)<0){$i(b);d=c[o>>2]|0;g=c[b>>2]|0}i=g;d=d-i|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?h:d;h=p-i|0;if(!d){i=0;l=0}else j=15}else{d=2147483647;h=p-i|0;j=15}if((j|0)==15){i=d;l=bj(d)|0}k=l+h|0;d=k;j=l+i|0;if((e|0)!=(f|0)){g=e;i=k;do{a[i>>0]=a[g>>0]|0;i=d+1|0;d=i;g=g+1|0}while((g|0)!=(f|0));g=c[b>>2]|0}e=p-g|0;f=l+(h-e)|0;lw(f|0,g|0,e|0)|0;p=(c[r>>2]|0)-p|0;e=d;lw(e|0,q|0,p|0)|0;d=c[b>>2]|0;c[b>>2]=f;c[r>>2]=e+p;c[o>>2]=j;if(!d){r=k;return r|0}cj(d);r=k;return r|0}function Ai(a){a=a|0;var b=0;c[a>>2]=36800;b=c[a+8>>2]|0;if(!b)return;a=a+12|0;if((c[a>>2]|0)!=(b|0))c[a>>2]=b;cj(b);return}function Bi(a){a=a|0;var b=0,d=0;c[a>>2]=36800;b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Ci(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Di(d,-1);Di(d,a[b+4>>0]|0);g=b+12|0;f=b+8|0;b=(c[g>>2]|0)-(c[f>>2]|0)+2|0;Di(d,(b&65535)>>>8&255);Di(d,b&255);b=c[f>>2]|0;if((c[g>>2]|0)==(b|0))return;else e=0;do{Di(d,a[b+e>>0]|0);e=e+1|0;b=c[f>>2]|0}while(e>>>0<((c[g>>2]|0)-b|0)>>>0);return}function Di(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=c[b+4>>2]|0;if(g){e=g+24|0;f=c[e>>2]|0;if((f|0)==(c[g+28>>2]|0)){Lb[c[(c[g>>2]|0)+52>>2]&63](g,d&255)|0;return}else{c[e>>2]=f+1;a[f>>0]=d;return}}e=b+16|0;f=c[e>>2]|0;if(f>>>0<(c[b+12>>2]|0)>>>0){c[e>>2]=f+1;a[(c[b+8>>2]|0)+f>>0]=d;return}e=Ma(16)|0;o=0;f=ua(1)|0;d=o;o=0;if(d&1){d=Na()|0;La(e|0);Ya(d|0)}o=0;wa(7,e|0,4,f|0);d=o;o=0;if(d&1){d=Na()|0;La(e|0);Ya(d|0)}else lb(e|0,824,96)}function Ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=(b|0)<4095?(b+128|0)/256|0:16;g=(d*3|0)+2+f|0;e=d+1|0;g=(g|0)<(e|0)|(g|0)>(b|0)?e:g;c[a+4>>2]=g;e=(f<<2|3)+(d*5|0)|0;e=(e|0)>(b|0)|(e|0)<(g|0)?g:e;c[a+8>>2]=e;d=(d*7|0)+4+(f*17|0)|0;c[a+12>>2]=(d|0)>(b|0)|(d|0)<(e|0)?e:d;c[a>>2]=b;c[a+16>>2]=64;return}function Fi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+128|0;k=m+100|0;f=m+16|0;e=m+112|0;l=m+4|0;n=m;g=f;h=b+20|0;j=g+84|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[f+16>>2]=c[b+4>>2];h=pc(e,f,b+56|0)|0;e=c[(c[h>>2]|0)+16>>2]|0;b=b+8|0;o=0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];e=ra(e|0,h|0,k|0)|0;b=o;o=0;do{if(b&1)e=Na()|0;else{g=d+4|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];g=d+16|0;b=c[g>>2]|0;k=l+8|0;c[k>>2]=(c[k>>2]|0)-b;k=l+4|0;c[k>>2]=(c[k>>2]|0)+b;k=c[(c[h>>2]|0)+12>>2]|0;c[n>>2]=e;o=0;e=va(k|0,h|0,n|0,l|0,((a[d>>0]|0)==0?0:(c[d+8>>2]|0)+b|0)|0)|0;l=o;o=0;if(l&1){e=Na()|0;f=c[n>>2]|0;c[n>>2]=0;if(!f)break;Bb[c[(c[f>>2]|0)+4>>2]&255](f);break}f=c[n>>2]|0;c[n>>2]=0;if(f)Bb[c[(c[f>>2]|0)+4>>2]&255](f);if(!(c[d+4>>2]|0))c[g>>2]=(c[g>>2]|0)+e;if(!h){i=m;return}Bb[c[(c[h>>2]|0)+4>>2]&255](h);i=m;return}}while(0);if(!h)Ya(e|0);Bb[c[(c[h>>2]|0)+4>>2]&255](h);Ya(e|0)}function Gi(b,d){b=b|0;d=d|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];a[b+12>>0]=0;d=b+16|0;b=d+100|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));return}function Hi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+32|0;u=v+4|0;q=v+16|0;w=v;Ii(b);r=b+16|0;g=c[b+24>>2]|0;a:do{if((g+-2|0)>>>0<=14){s=b+40|0;e=c[s>>2]|0;if(e>>>0>2)e=5;else{t=b+32|0;h=c[t>>2]|0;switch(h|0){case 0:{e=1;break a}case 4:{if((e|0)==2){e=2;break a}break}case 3:break;default:if(e){e=2;break a}}p=b+100|0;e=b+108|0;f=c[e>>2]|0;if((f|0)<1){f=c[r>>2]|0;c[e>>2]=f;e=c[b+20>>2]|0;c[b+112>>2]=e}else e=c[b+112>>2]|0;l=tw(e|0,((e|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;k=(g+7|0)/8|0;k=tw(l|0,D|0,k|0,((k|0)<0)<<31>>31|0)|0;l=d+4|0;e=c[l>>2]|0;j=d+8|0;if((e|0)!=0?(m=c[j>>2]|0,n=tw(h|0,((h|0)<0)<<31>>31|0,k|0,D|0)|0,g=D,0<(g|0)|0==(g|0)&m>>>0>>0):0){e=Ma(16)|0;o=0;f=ua(1)|0;w=o;o=0;if(!(w&1)?(o=0,wa(7,e|0,3,f|0),w=o,o=0,!(w&1)):0)lb(e|0,824,96);w=Na()|0;La(e|0);Ya(w|0)}m=b+52|0;n=b+12|0;if((h|0)>0)h=0;else{i=v;return}while(1){Ji(b,(h|0)==0);f=nc(q,r,m)|0;g=c[(c[f>>2]|0)+8>>2]|0;o=0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];g=ra(g|0,f|0,u|0)|0;x=o;o=0;if(x&1){g=32;break}x=c[(c[f>>2]|0)+16>>2]|0;c[w>>2]=g;o=0;fa(x|0,f|0,w|0,p|0,b|0,(a[n>>0]|0)!=0|0);x=o;o=0;if(x&1){g=30;break}g=c[w>>2]|0;c[w>>2]=0;if(g)Bb[c[(c[g>>2]|0)+4>>2]&255](g);if(!e)e=0;else{e=e+k|0;c[l>>2]=e;c[j>>2]=(c[j>>2]|0)-k}g=(c[s>>2]|0)==0;h=(g&1)+h|0;if(f)Bb[c[(c[f>>2]|0)+4>>2]&255](f);if(!g){g=34;break}if((h|0)>=(c[t>>2]|0)){g=34;break}}if((g|0)==30){e=Na()|0;g=c[w>>2]|0;c[w>>2]=0;if(g)Bb[c[(c[g>>2]|0)+4>>2]&255](g)}else if((g|0)==32){e=Na()|0;if(!f){x=e;Ya(x|0)}}else if((g|0)==34){i=v;return}Bb[c[(c[f>>2]|0)+4>>2]&255](f);x=e;Ya(x|0)}}else e=2}while(0);f=Ma(16)|0;o=0;g=ua(1)|0;x=o;o=0;if(!(x&1)?(o=0,wa(7,f|0,e|0,g|0),x=o,o=0,!(x&1)):0)lb(f|0,824,96);x=Na()|0;La(f|0);Ya(x|0)}function Ii(a){a=a|0;var b=0,c=0,d=0,e=0;if((Mi(a)|0)<<24>>24!=-40){b=Ma(16)|0;o=0;c=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,wa(7,b|0,5,c|0),e=o,o=0,!(e&1)):0)lb(b|0,824,96);e=Na()|0;La(b|0);Ya(e|0)}b=Mi(a)|0;if(b<<24>>24==-38)return;while(1){d=((Li(a)|0)&255)<<8;d=d|(Li(a)|0)&255;b=Ni(a,b)|0;c=-2-b+d|0;if((c|0)<0)break;if((c|0)>0){b=d+-2-b|0;c=0;do{Li(a)|0;c=c+1|0}while((c|0)!=(b|0))}b=Mi(a)|0;if(b<<24>>24==-38){e=8;break}}if((e|0)==8)return;b=Ma(16)|0;o=0;c=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,wa(7,b|0,5,c|0),e=o,o=0,!(e&1)):0)lb(b|0,824,96);e=Na()|0;La(b|0);Ya(e|0)}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!b){if((Li(a)|0)<<24>>24!=-1){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,12,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}if((Li(a)|0)<<24>>24!=-38){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}}Li(a)|0;Li(a)|0;d=Li(a)|0;e=d&255;do{if(d<<24>>24==1){Li(a)|0;d=0;f=20}else{if((e|0)==(c[a+32>>2]|0)){b=Li(a)|0;if(!(d<<24>>24))break;else{d=0;f=20;break}}b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,2,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}}while(0);if((f|0)==20)while(1){Li(a)|0;d=d+1|0;b=Li(a)|0;if((d|0)==(e|0))break;else f=20}c[a+36>>2]=b&255;f=Li(a)|0;d=a+40|0;c[d>>2]=f&255;if((f&255)>=3){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}if((Li(a)|0)<<24>>24){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}e=a+28|0;if(c[e>>2]|0)return;b=c[a+108>>2]|0;if(!b)b=c[a+16>>2]|0;if(!(c[d>>2]|0))d=1;else d=c[a+32>>2]|0;f=$(d,b)|0;c[e>>2]=$(f,((c[a+24>>2]|0)+7|0)/8|0)|0;return}function Ki(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((e|0)<=0)return;n=d+4|0;o=d+8|0;q=0;do{p=Li(b)|0;f=c[n>>2]|0;g=c[o>>2]|0;if(f>>>0>=g>>>0){h=c[d>>2]|0;i=h;j=f-i+1|0;if((j|0)<0){$i(d);i=c[d>>2]|0;g=c[o>>2]|0;h=i}m=h;f=g-m|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f;j=c[n>>2]|0;g=j-m|0;if(!f){l=0;k=0;f=j}else r=10}else{g=c[n>>2]|0;f=2147483647;j=g;g=g-m|0;r=10}if((r|0)==10){r=0;l=f;k=bj(f)|0;f=j}a[k+g>>0]=p;m=f-m|0;p=k+(g-m)|0;lw(p|0,h|0,m|0)|0;c[d>>2]=p;c[n>>2]=k+(g+1);c[o>>2]=k+l;if(i)cj(i)}else{a[f>>0]=p;c[n>>2]=(c[n>>2]|0)+1}q=q+1|0}while((q|0)!=(e|0));return}function Li(b){b=b|0;var e=0,f=0,g=0,h=0;f=c[b>>2]|0;if(f){b=f+12|0;e=c[b>>2]|0;if((e|0)==(c[f+16>>2]|0))b=Eb[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[b>>2]=e+1;b=d[e>>0]|0}h=b&255;return h|0}g=b+8|0;h=c[g>>2]|0;if(h){b=b+4|0;e=c[b>>2]|0;f=a[e>>0]|0;if(!e){h=f;return h|0}c[b>>2]=e+1;c[g>>2]=h+-1;h=f;return h|0}b=Ma(16)|0;o=0;e=ua(1)|0;h=o;o=0;if(h&1){h=Na()|0;La(b|0);Ya(h|0)}o=0;wa(7,b|0,4,e|0);h=o;o=0;if(h&1){h=Na()|0;La(b|0);Ya(h|0)}else lb(b|0,824,96);return 0}function Mi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+176|0;b=d+152|0;k=d+16|0;h=d;j=Li(a)|0;e=j&255;if(j<<24>>24==-1){do{b=Li(a)|0}while(b<<24>>24==-1);i=d;return b|0}j=k+56|0;g=k+4|0;c[k>>2]=36160;c[j>>2]=36180;o=0;ia(62,k+56|0,g|0);f=o;o=0;if(f&1){k=Na()|0;fn(j);Ya(k|0)}c[k+128>>2]=0;c[k+132>>2]=-1;c[k>>2]=36200;c[k+56>>2]=36220;o=0;ha(180,g|0);f=o;o=0;do{if(f&1)b=Na()|0;else{c[g>>2]=36236;f=k+36|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[k+52>>2]=16;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;o=0;ia(63,g|0,b|0);d=o;o=0;if(d&1){k=Na()|0;Im(b);Im(f);nn(g);b=k;break}Im(b);c[k+((c[(c[k>>2]|0)+-12>>2]|0)+76)>>2]=48;o=0;b=ma(28,k|0,50907,62)|0;d=o;o=0;if(!(d&1)?(d=b+((c[(c[b>>2]|0)+-12>>2]|0)+4)|0,c[d>>2]=c[d>>2]&-75|8,d=b+((c[(c[b>>2]|0)+-12>>2]|0)+4)|0,c[d>>2]=c[d>>2]|16384,c[b+((c[(c[b>>2]|0)+-12>>2]|0)+12)>>2]=2,o=0,ra(38,b|0,e|0)|0,e=o,o=0,!(e&1)):0){d=Ma(16)|0;o=0;ia(64,h|0,g|0);e=o;o=0;if(!(e&1)){o=0;b=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,Aa(36,d|0,12,b|0,h|0),e=o,o=0,!(e&1)):0){o=0;wa(6,d|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(h);if(!a){h=b;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}}else b=Na()|0;La(d|0);h=b;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}h=Na()|0;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}}while(0);k=b;fn(j);Ya(k|0);return 0}function Ni(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;d=i;i=i+320|0;j=d+300|0;m=d+152|0;k=d+288|0;n=d+16|0;l=d;switch(b<<24>>24){case-9:{c[a+24>>2]=(Li(a)|0)&255;p=((Li(a)|0)&255)<<8|(Li(a)|0)&255;c[a+16>>2]=((Li(a)|0)&255)<<8|(Li(a)|0)&255;c[a+20>>2]=p;c[a+32>>2]=(Li(a)|0)&255;p=6;i=d;return p|0}case-8:{p=Oi(a)|0;i=d;return p|0}case-24:{p=Pi(a)|0;i=d;return p|0}case-53:case-54:case-55:case-57:case-58:case-59:case-61:case-62:case-63:case-64:{h=m+56|0;f=m+4|0;c[m>>2]=36160;c[h>>2]=36180;o=0;ia(62,m+56|0,f|0);n=o;o=0;if(n&1){p=Na()|0;fn(h);Ya(p|0)}c[m+128>>2]=0;c[m+132>>2]=-1;c[m>>2]=36200;c[m+56>>2]=36220;o=0;ha(180,f|0);n=o;o=0;do{if(n&1)a=Na()|0;else{c[f>>2]=36236;g=m+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[m+52>>2]=16;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;o=0;ia(63,f|0,j|0);n=o;o=0;if(n&1){a=Na()|0;Im(j);Im(g);nn(f);break}Im(j);o=0;a=ma(28,m|0,50970,26)|0;n=o;o=0;do{if((!(n&1)?(o=0,e=ra(38,a|0,b&255|0)|0,n=o,o=0,!(n&1)):0)?(o=0,ma(28,e|0,50997,18)|0,n=o,o=0,!(n&1)):0){e=Ma(16)|0;o=0;ia(64,k|0,f|0);n=o;o=0;if(!(n&1)){o=0;a=ua(1)|0;n=o;o=0;if(!(n&1)?(o=0,Aa(36,e|0,10,a|0,k|0),n=o,o=0,!(n&1)):0){o=0;wa(6,e|0,824,96);o=0;d=0}else d=1;a=Na()|0;Im(k);if(!d)break}else a=Na()|0;La(e|0)}else p=20}while(0);if((p|0)==20)a=Na()|0;c[m>>2]=36200;c[h>>2]=36220;c[f>>2]=36236;Im(g);nn(f);fn(h);p=a;Ya(p|0)}}while(0);p=a;fn(h);Ya(p|0)}case-25:case-32:case-2:{p=0;i=d;return p|0}default:{k=n+56|0;g=n+4|0;c[n>>2]=36160;c[k>>2]=36180;o=0;ia(62,n+56|0,g|0);m=o;o=0;if(m&1){p=Na()|0;fn(k);Ya(p|0)}c[n+128>>2]=0;c[n+132>>2]=-1;c[n>>2]=36200;c[n+56>>2]=36220;o=0;ha(180,g|0);m=o;o=0;do{if(m&1)a=Na()|0;else{c[g>>2]=36236;h=n+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[n+52>>2]=16;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;o=0;ia(63,g|0,j|0);m=o;o=0;if(m&1){a=Na()|0;Im(j);Im(h);nn(g);break}Im(j);o=0;a=ma(28,n|0,51016,20)|0;m=o;o=0;do{if((!(m&1)?(o=0,f=ra(38,a|0,b&255|0)|0,m=o,o=0,!(m&1)):0)?(o=0,ma(28,f|0,51037,13)|0,m=o,o=0,!(m&1)):0){e=Ma(16)|0;o=0;ia(64,l|0,g|0);m=o;o=0;if(!(m&1)){o=0;a=ua(1)|0;m=o;o=0;if(!(m&1)?(o=0,Aa(36,e|0,11,a|0,l|0),m=o,o=0,!(m&1)):0){o=0;wa(6,e|0,824,96);o=0;d=0}else d=1;a=Na()|0;Im(l);if(!d)break}else a=Na()|0;La(e|0)}else p=40}while(0);if((p|0)==40)a=Na()|0;c[n>>2]=36200;c[k>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(k);p=a;Ya(p|0)}}while(0);p=a;fn(k);Ya(p|0)}}return 0}function Oi(a){a=a|0;var b=0;if((Li(a)|0)<<24>>24!=1){a=1;return a|0}b=((Li(a)|0)&255)<<8;c[a+52>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+56>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+60>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+64>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+68>>2]=b|(Li(a)|0)&255;a=11;return a|0}function Pi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d;c[f>>2]=0;g=f+4|0;c[g>>2]=0;c[f+8>>2]=0;o=0;wa(9,a|0,f|0,4);b=o;o=0;a:do{if(b&1)e=3;else{b=c[f>>2]|0;b:do{if(!(ol(b,51051,4)|0)){o=0;b=ka(69,a|0)|0;h=o;o=0;if(h&1){e=3;break a}b=b&255;switch(b|0){case 3:case 2:case 1:case 0:{c[a+44>>2]=b;a=5;b=c[f>>2]|0;break b}case 5:case 4:{b=Ma(16)|0;o=0;a=ua(1)|0;h=o;o=0;if(!(h&1)?(o=0,wa(7,b|0,7,a|0),h=o,o=0,!(h&1)):0){o=0;wa(6,b|0,824,96);o=0;e=3;break a}a=Na()|0;La(b|0);break a}default:{b=Ma(16)|0;o=0;a=ua(1)|0;h=o;o=0;if(!(h&1)?(o=0,wa(7,b|0,5,a|0),h=o,o=0,!(h&1)):0){o=0;wa(6,b|0,824,96);o=0;e=3;break a}a=Na()|0;La(b|0);break a}}}else a=4}while(0);if(!b){i=d;return a|0}if((c[g>>2]|0)!=(b|0))c[g>>2]=b;cj(b);i=d;return a|0}}while(0);if((e|0)==3)a=Na()|0;b=c[f>>2]|0;if(!b)Ya(a|0);if((c[g>>2]|0)!=(b|0))c[g>>2]=b;cj(b);Ya(a|0);return 0}function Qi(a){a=a|0;var b=0,d=0,e=0;e=c[(c[a>>2]|0)+-12>>2]|0;c[a+e>>2]=36200;b=a+(e+56)|0;c[b>>2]=36220;d=a+(e+4)|0;c[d>>2]=36236;Im(a+(e+36)|0);nn(d);fn(b);return}function Ri(a){a=a|0;return}function Si(a){a=a|0;cj(a);return}function Ti(b){b=b|0;a[b>>0]=0;b=b+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f;b=wi(b)|0;c[g>>2]=b;d=a+28|0;e=c[d>>2]|0;if(e>>>0<(c[a+32>>2]|0)>>>0){c[e>>2]=b;c[d>>2]=e+4;c[g>>2]=0;i=f;return}o=0;ia(57,a+24|0,g|0);a=o;o=0;if(a&1){b=Na()|0;d=c[g>>2]|0;c[g>>2]=0;if(!d)Ya(b|0);Bb[c[(c[d>>2]|0)+4>>2]&255](d);Ya(b|0)}else{b=c[g>>2]|0;c[g>>2]=0;if(!b){i=f;return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);i=f;return}}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+4|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];Di(a,-1);Di(a,-40);e=a+28|0;f=a+24|0;b=c[f>>2]|0;if((c[e>>2]|0)==(b|0)){Di(a,-1);Di(a,-39);a=a+16|0;a=c[a>>2]|0;return a|0}else d=0;do{g=c[b+(d<<2)>>2]|0;Cb[c[(c[g>>2]|0)+8>>2]&127](g,a);d=d+1|0;b=c[f>>2]|0}while(d>>>0<(c[e>>2]|0)-b>>2>>>0);Di(a,-1);Di(a,-39);g=a+16|0;g=c[g>>2]|0;return g|0}function Wi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i;i=i+48|0;j=n+32|0;f=n+12|0;k=n+8|0;m=n+4|0;p=n;e=d+36|0;do{if(((((c[e>>2]|0)==0?(c[d+40>>2]|0)==0:0)?(c[d+44>>2]|0)==0:0)?(c[d+48>>2]|0)==0:0)?(c[d+52>>2]|0)==0:0){e=c[d+8>>2]|0;if((e|0)<=12){g=a+28|0;h=a+32|0;break}Ei(f,(1<>2]|0);e=vi(f)|0;c[k>>2]=e;g=a+28|0;f=c[g>>2]|0;h=a+32|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[k>>2]=0;break}o=0;ia(57,a+24|0,k|0);j=o;o=0;if(!(j&1)){e=c[k>>2]|0;c[k>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[k>>2]|0;c[k>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}else l=6}while(0);do{if((l|0)==6){e=vi(e)|0;c[j>>2]=e;g=a+28|0;f=c[g>>2]|0;h=a+32|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[j>>2]=0;break}o=0;ia(57,a+24|0,j|0);l=o;o=0;if(!(l&1)){e=c[j>>2]|0;c[j>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[j>>2]|0;c[j>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}}while(0);e=a+20|0;f=(c[e>>2]|0)+1|0;c[e>>2]=f;e=c[d+24>>2]|0;j=(e|0)==0?1:c[d+16>>2]|0;e=xi(f,j,c[d+20>>2]|0,e)|0;c[m>>2]=e;f=c[g>>2]|0;do{if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[m>>2]=0}else{o=0;ia(57,a+24|0,m|0);l=o;o=0;if(!(l&1)){e=c[m>>2]|0;c[m>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[m>>2]|0;c[m>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}}while(0);k=bj(104)|0;c[k>>2]=36820;c[k+4>>2]=j;f=k+8|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];f=k+20|0;e=f+84|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));c[p>>2]=k;d=c[g>>2]|0;if(d>>>0<(c[h>>2]|0)>>>0){c[d>>2]=k;c[g>>2]=d+4;c[p>>2]=0;i=n;return}o=0;ia(57,a+24|0,p|0);a=o;o=0;if(a&1){d=Na()|0;e=c[p>>2]|0;c[p>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}else{d=c[p>>2]|0;c[p>>2]=0;if(!d){i=n;return}Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=n;return}}function Xi(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+96|0;p=q;o=ic(b,d,p,0)|0;if(o){g=o;i=q;return g|0}a[p+32>>0]=0;s=c[p+8>>2]|0;u=c[p>>2]|0;t=c[p+4>>2]|0;o=$(t,u)|0;r=c[p+16>>2]|0;o=$($(o,(s|0)<9?1:2)|0,r)|0;c[f>>2]=o;o=Fl(o)|0;c[e>>2]=o;c[g>>2]=u;c[h>>2]=t;c[j>>2]=s;c[k>>2]=c[p+12>>2];c[l>>2]=r;c[m>>2]=c[p+20>>2];c[n>>2]=c[p+24>>2];g=jc(o,c[f>>2]|0,b,d,0,0)|0;i=q;return g|0}function Yi(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;n=i;i=i+96|0;l=n+4|0;h=n;m=l;o=m+84|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(o|0));c[l+16>>2]=g;c[l+8>>2]=f;c[l>>2]=d;c[l+4>>2]=e;c[j>>2]=Fl(b)|0;c[h>>2]=0;d=hc(j,b,h,a,b,l,0)|0;c[k>>2]=c[h>>2];i=n;return d|0}function Zi(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;b=c[9320]|0;cl(b,a,d)|0;Wk(10,b)|0;Ga()}function _i(a){a=a|0;Ka(51337,51366,1164,51442)}function $i(a){a=a|0;Ka(51463,51486,303,51442)}function aj(){var a=0,b=0;a=i;i=i+16|0;if(!(db(37024,4)|0)){b=$a(c[9255]|0)|0;i=a;return b|0}else Zi(51562,a);return 0}function bj(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=Fl(b)|0;a:do{if(!a){while(1){a=kj()|0;if(!a)break;Rb[a&7]();a=Fl(b)|0;if(a)break a}b=Ma(4)|0;c[b>>2]=36844;lb(b|0,592,78)}}while(0);return a|0}function cj(a){a=a|0;Gl(a);return}function dj(a){a=a|0;cj(a);return}function ej(a){a=a|0;c[a>>2]=36844;return}function fj(a){a=a|0;return}function gj(a){a=a|0;cj(a);return}function hj(a){a=a|0;return 51611}function ij(a){a=a|0;var b=0;b=i;i=i+16|0;o=0;xa(a|0);a=o;o=0;if(!(a&1)){o=0;ia(85,51626,b|0);o=0}a=Na(0)|0;Va(a|0)|0;o=0;ia(85,51666,b+8|0);o=0;a=Na(0)|0;o=0;xa(3);b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else ec(a)}function jj(){var a=0,b=0,d=0;o=0;a=ua(2)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}if(((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0)?(d=b+48|0,(c[d>>2]&-256|0)==1126902528?(c[d+4>>2]|0)==1129074247:0):0)ij(c[b+12>>2]|0);d=c[9208]|0;c[9208]=d+0;ij(d)}function kj(){var a=0;a=c[9214]|0;c[9214]=a+0;return a|0}function lj(a){a=a|0;return}function mj(a){a=a|0;c[a>>2]=36868;Vj(a+4|0);return}function nj(a){a=a|0;mj(a);cj(a);return}function oj(a){a=a|0;return c[a+4>>2]|0}function pj(a){a=a|0;return}function qj(a){a=a|0;c[a>>2]=36888;return}function rj(a){a=a|0;return}function sj(a){a=a|0;cj(a);return}function tj(a){a=a|0;return 51716}function uj(a){a=a|0;return}function vj(a){a=a|0;return}function wj(a){a=a|0;return}function xj(a){a=a|0;cj(a);return}function yj(a){a=a|0;cj(a);return}function zj(a){a=a|0;cj(a);return}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=Gj(b,656,672,0)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Ub[c[(c[f>>2]|0)+28>>2]&63](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=h;return b|0}function Bj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do{if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}}while(0);return}function Cj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Bj(0,b,d,e);return}function Dj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Bj(0,b,d,e);else{a=c[a+8>>2]|0;Ub[c[(c[a>>2]|0)+28>>2]&63](a,b,d,e)}return}function Ej(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;Ub[c[(c[a>>2]|0)+28>>2]&63](a,b,d+f|0,(g&2|0)!=0?e:2);return}function Fj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do{if((b|0)!=(c[d+8>>2]|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Ej(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Ej(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else Bj(0,d,e,f)}while(0);return}function Gj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[q>>2]=f;c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=g;g=q+16|0;d=q+20|0;e=q+24|0;h=q+28|0;j=q+32|0;k=q+40|0;l=(p|0)==(f|0);m=g;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do{if(l){c[q+48>>2]=1;Ib[c[(c[f>>2]|0)+20>>2]&15](f,q,o,o,1,0);g=(c[e>>2]|0)==1?o:0}else{zb[c[(c[p>>2]|0)+24>>2]&15](p,q,o,1,0);switch(c[q+36>>2]|0){case 0:{g=(c[k>>2]|0)==1&(c[h>>2]|0)==1&(c[j>>2]|0)==1?c[d>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((c[e>>2]|0)!=1?!((c[k>>2]|0)==0&(c[h>>2]|0)==1&(c[j>>2]|0)==1):0){g=0;break}g=c[g>>2]|0}}while(0);i=r;return g|0}function Hj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do{if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;f=d+16|0;b=c[f>>2]|0;if(!b){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((b|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}b=d+24|0;f=c[b>>2]|0;if((f|0)==2){c[b>>2]=g;f=g}if((f|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}}while(0);return}function Ij(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do{if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){q=c[b+12>>2]|0;j=b+16+(q<<3)|0;Kj(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;i=c[b+8>>2]|0;if((i&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(i&1)){i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[k>>2]|0)==1)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+24|0;b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[k>>2]|0)==1?(c[i>>2]|0)==1:0)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+54|0;while(1){if(a[i>>0]|0)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;m=d+44|0;if((c[m>>2]|0)==4)break;i=c[b+12>>2]|0;j=b+16+(i<<3)|0;k=d+52|0;f=d+53|0;n=d+54|0;l=b+8|0;o=d+24|0;b:do{if((i|0)>0){i=0;h=0;b=b+16|0;while(1){a[k>>0]=0;a[f>>0]=0;Jj(b,d,e,e,1,g);if(a[n>>0]|0){q=20;break b}do{if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[l>>2]&1)){h=1;q=20;break b}else{h=1;break}if((c[o>>2]|0)==1)break b;if(!(c[l>>2]&2))break b;else{i=1;h=1}}}while(0);b=b+8|0;if(b>>>0>=j>>>0){q=20;break}}}else{i=0;h=0;q=20}}while(0);do{if((q|0)==20){if((!i?(c[p>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h)break}else q=24;if((q|0)==24?h:0)break;c[m>>2]=4;break a}}while(0);c[m>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}}while(0);return}function Jj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e+h|0,(i&2|0)!=0?f:2,g);return}function Kj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;zb[c[(c[a>>2]|0)+24>>2]&15](a,b,d+g|0,(h&2|0)!=0?e:2,f);return}function Lj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do{if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;zb[c[(c[j>>2]|0)+24>>2]&15](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;k=d+53|0;a[k>>0]=0;b=c[b+8>>2]|0;Ib[c[(c[b>>2]|0)+20>>2]&15](b,d,e,e,1,g);if(a[k>>0]|0){if(!(a[h>>0]|0)){h=1;j=13}}else{h=0;j=13}do{if((j|0)==13){c[i>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)break}else j=16;if((j|0)==16?h:0)break;c[f>>2]=4;break a}}while(0);c[f>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}}while(0);return}function Mj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do{if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}while(0);return}function Nj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((b|0)==(c[d+8>>2]|0))Hj(0,d,e,f,g);else{m=d+52|0;n=a[m>>0]|0;o=d+53|0;p=a[o>>0]|0;l=c[b+12>>2]|0;i=b+16+(l<<3)|0;a[m>>0]=0;a[o>>0]=0;Jj(b+16|0,d,e,f,g,h);a:do{if((l|0)>1){j=d+24|0;k=b+8|0;l=d+54|0;b=b+24|0;do{if(a[l>>0]|0)break a;if(!(a[m>>0]|0)){if((a[o>>0]|0)!=0?(c[k>>2]&1|0)==0:0)break a}else{if((c[j>>2]|0)==1)break a;if(!(c[k>>2]&2))break a}a[m>>0]=0;a[o>>0]=0;Jj(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}}while(0);a[m>>0]=n;a[o>>0]=p}return}function Oj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Hj(0,b,d,e,f);else{a=c[a+8>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e,f,g)}return}function Pj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Hj(0,b,d,e,f);return}function Qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=c[d>>2];a=Gb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];i=f;return a&1|0}function Rj(a){a=a|0;if(!a)a=0;else a=(Gj(a,656,704,0)|0)!=0;return a&1|0}function Sj(){var a=0;a=Ma(4)|0;ej(a);lb(a|0,592,78)}function Tj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+48|0;h=f+32|0;d=f+24|0;j=f+16|0;g=f;f=f+36|0;a=aj()|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=c[9257];Zi(51919,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Gb[c[(c[608>>2]|0)+16>>2]&63](608,e,f)|0){j=c[f>>2]|0;f=c[9257]|0;j=Eb[c[(c[j>>2]|0)+8>>2]&127](j)|0;c[g>>2]=f;c[g+4>>2]=a;c[g+8>>2]=j;Zi(51833,g)}else{c[j>>2]=c[9257];c[j+4>>2]=a;Zi(51878,j)}}Zi(51957,h)}function Uj(){var a=0;a=i;i=i+16|0;if(!(Fa(37020,184)|0)){i=a;return}else Zi(51730,a)}function Vj(a){a=a|0;var b=0,d=0;d=(c[a>>2]|0)+-4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if((b+-1|0)<0)cj((c[a>>2]|0)+-12|0);return}function Wj(a){a=a|0;var b=0;b=i;i=i+16|0;Gl(a);if(!(jb(c[9255]|0,0)|0)){i=b;return}else Zi(51780,b)}function Xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=hl(a,b,c)|0;return a|0}function Yj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=il(a,b,c)|0;return a|0}function Zj(){return 37296}function _j(){return 37300}function $j(){return 37304}function ak(a){a=a|0;return((a|0)==32|(a+-9|0)>>>0<5)&1|0}function bk(a){a=a|0;if((a+-48|0)>>>0<10)a=1;else a=((a|32)+-97|0)>>>0<6;return a&1|0}function ck(){var a=0;if(!(c[9258]|0))a=37308;else a=c[(bb()|0)+60>>2]|0;return a|0}function dk(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[51978+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=52066;e=5;break}}if((e|0)==2)if(!c)b=52066;else{b=52066;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do{if((A|0)==4){E=b+4|0;C=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0}while((ak(e)|0)!=0);b:do{switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=hk(b)|0;I=h;break b}}default:I=1}}while(0);h=e;e=0;do{if((h|32|0)!=(a[53870+e>>0]|0))break;do{if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=hk(b)|0;break}}}while(0);e=e+1|0}while(e>>>0<8);c:do{switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do{if(!e){e=0;do{if((h|32|0)!=(a[56747+e>>0]|0))break d;do{if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=hk(b)|0;break}}}while(0);e=e+1|0}while(e>>>0<3)}}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==40)e=1;else{if(!(c[C>>2]|0)){g=s;break a}c[E>>2]=(c[E>>2]|0)+-1;g=s;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=hk(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(ck()|0)>>2]=22;gk(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{do{if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|32|0)!=120){if(!(c[C>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=hk(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=hk(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;k=jw(k|0,h|0,-1,-1)|0;h=D}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do{if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){r=m*.0625;p=w;j=r;g=g+r*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}}while(0);l=jw(l|0,y|0,1,0)|0;v=x;u=D;n=1}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=hk(b)|0;w=p;m=j;continue}}if(!n){e=(c[C>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,(o|0)!=0):0)c[E>>2]=z+-2}else gk(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=jw(l|0,h|0,1,0)|0;h=D}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=tl(b,f)|0;e=D;if((h|0)==0&(e|0)==-2147483648){if(!f){gk(b,0);g=0.0;break a}if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=mw(o|0,n|0,2)|0;H=jw(H|0,D|0,-32,-1)|0;e=jw(H|0,D|0,h|0,e|0)|0;h=D;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(ck()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0>>0){c[(ck()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=jw(e|0,h|0,-1,-1)|0;h=D}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=hw(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=jw(l|0,h|0,e|0,D|0)|0;J=D;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+sk(+xk(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(ck()|0)>>2]=34;g=+yk(g,l);break a}else e=h}while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=hk(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48){h=0;e=0;while(1){h=jw(h|0,e|0,-1,-1)|0;k=D;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do{if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do{if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=jw(y|0,v|0,1,0)|0;v=D;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}}while(0);e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}}while(0);do{if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=tl(b,f)|0;e=D;if((n|0)==0&(e|0)==-2147483648){if(!f){gk(b,0);g=0.0;break}if(!(c[C>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=jw(n|0,e|0,h|0,p|0)|0;u=y;p=D;n=v;A=173}}while(0);if((A|0)==169)if(c[C>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do{if((A|0)==172){c[(ck()|0)>>2]=22;gk(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(ck()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0>>0){c[(ck()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[37312+(8-h<<2)>>2]|0);break}b=K+27+($(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[37312+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[37312+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{C=H+(p<<2)|0;E=c[C>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[C>>2]=b;e=$((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w)break i;if((c[x>>2]|0)>>>0>=9007199){h=18;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=mw(c[p>>2]|0,0,29)|0;o=jw(o|0,D|0,n|0,0)|0;n=D;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=uw(o|0,n|0,1e9,0)|0;o=vw(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){y=l+1&127;x=H+((l+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(l|0);do{if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(l|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;break j}}else A=219}while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(l|0))k=l;else break}u=(1<>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=$(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(l|0))break;else o=k}if(!n)continue;if((y|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(l<<2)>>2]=n;l=y}if((A|0)==220)if(p){c[H+(y+-1<<2)>>2]=0;h=l;l=y}else h=o;g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}r=+(I|0);j=r*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?(p|0)<0?0:p:K;if((o|0)<53){M=+sk(+xk(1.0,105-o|0),j);m=+uk(j,+xk(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do{if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do{if(n>>>0>=5e8){if(n>>>0>5e8){g=r*.75+g;break}if((k+3&127|0)==(l|0)){g=r*.5+g;break}else{g=r*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=r*.25+g}}while(0);if((53-o|0)<=1){j=g;break}if(+uk(g,1.0)!=0.0){j=g;break}j=g+1.0}}while(0);g=m+j-q;do{if((v&2147483647|0)>(-2-F|0)){if(+O(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(ck()|0)>>2]=34}}while(0);g=+yk(g,e)}}while(0);break a}default:{if(c[C>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(ck()|0)>>2]=22;gk(b,0);g=0.0;break a}}}}}while(0);if((A|0)==23){h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*t}}while(0);i=L;return+g}function fk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do{if(e>>>0>36){c[(ck()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0}while((ak(i)|0)!=0);b:do{switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=hk(b)|0;p=j;break b}}default:p=0}}while(0);j=(e|0)==0;do{if((e&-17|0)==0&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=hk(b)|0;if((d[53879+(i+1)>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){gk(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[53879+(i+1)>>0]|0)>>>0>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;gk(b,0);c[(ck()|0)>>2]=22;h=0;g=0;break a}}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=hk(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=tw(e|0,j|0,10,0)|0;l=D;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=jw(k|0,l|0,f|0,m|0)|0;j=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do{if((n|0)==46){if(!(e+-1&e)){n=a[54136+((e*23|0)>>>5&7)>>0]|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f|i<>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0>>0))break;else i=k}f=0}else{f=0;k=0}l=kw(-1,-1,n|0)|0;m=D;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=mw(k|0,i|0,n|0)|0;f=D;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[53879+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f+($(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0>>0){n=uw(-1,-1,e|0,0)|0;o=D;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=tw(k|0,m|0,e|0,0)|0;l=D;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=jw(j|0,0,f|0,l|0)|0;f=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}}while(0);if((n|0)==72)if((d[53879+(i+1)>>0]|0)>>>0>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0}while((d[53879+(i+1)>>0]|0)>>>0>>0);c[(ck()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0>>0|(j|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(ck()|0)>>2]=34;g=jw(g|0,h|0,-1,-1)|0;h=D;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(ck()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=hw(i^e|0,j^g|0,e|0,g|0)|0;h=D}}while(0);D=h;return g|0}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function hk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Uk(b)|0;if((e|0)>=0){h=c[f>>2]|0;f=b+8|0;if(h){g=c[f>>2]|0;i=c[b+4>>2]|0;f=g;h=h-(c[b+108>>2]|0)+-1|0;if((f-i|0)>(h|0))c[b+100>>2]=i+h;else j=9}else{g=c[f>>2]|0;f=g;j=9}if((j|0)==9)c[b+100>>2]=f;f=c[b+4>>2]|0;if(g){b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function ik(a){a=a|0;if(a>>>0>4294963200){c[(ck()|0)>>2]=0-a;a=-1}return a|0}function jk(a){a=a|0;return 0}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function lk(a,b){a=a|0;b=b|0;return-1|0}function mk(a){a=a|0;Gl(a);return}function nk(a,b){a=a|0;b=b|0;return(a+-48|0)>>>0<10|0}function ok(a,b){a=a|0;b=b|0;return bk(a)|0}function pk(b,c,d){b=b|0;c=c|0;d=d|0;if(((a[c>>0]|0)!=0?(ll(c,58885)|0)!=0:0)?(ll(c,54145)|0)!=0:0)d=0;else if(!d)d=Hl(1,4)|0;return d|0}function qk(a){a=a|0;var b=0,d=0;b=(bb()|0)+176|0;d=c[b>>2]|0;if(a)c[b>>2]=a;return d|0}function rk(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;h[k>>3]=b;d=c[k+4>>2]&-2147483648|d&2147483647;c[k>>2]=e;c[k+4>>2]=d;return+ +h[k>>3]}function sk(a,b){a=+a;b=+b;return+ +rk(a,b)}function tk(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=kw(d|0,m|0,52)|0;e=e&2047;j=kw(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=mw(n|0,o|0,1)|0;l=D;a:do{if(!((i|0)==0&(l|0)==0)?(g=o&2147483647,!(g>>>0>2146435072|(g|0)==2146435072&n>>>0>0|(e|0)==2047)):0){f=mw(d|0,m|0,1)|0;g=D;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return+((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=mw(d|0,m|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=mw(g|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=mw(d|0,m|0,1-e|0)|0;f=D}else f=m&1048575|1048576;if(!j){g=mw(n|0,o|0,12)|0;i=D;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=mw(g|0,i|0,1)|0;i=D}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=mw(n|0,o|0,1-j|0)|0;m=D}else m=o&1048575|1048576;l=hw(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do{if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=mw(d|0,f|0,1)|0;f=D;e=e+-1|0;l=hw(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=mw(d|0,f|0,1)|0;f=D;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=jw(d|0,f|0,0,-1048576)|0;d=D;e=mw(e|0,0,52)|0;d=d|D;e=o|e}else{e=kw(d|0,f|0,1-e|0)|0;d=D}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3}while(0);if((q|0)==3){b=a*b;b=b/b}return+b}function uk(a,b){a=+a;b=+b;return+ +tk(a,b)}function vk(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=kw(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+vk(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return+a}function wk(a,b){a=+a;b=b|0;return+ +vk(a,b)}function xk(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=mw(d+1023|0,0,52)|0;b=D;c[k>>2]=d;c[k+4>>2]=b;return+(a*+h[k>>3])}function yk(a,b){a=+a;b=b|0;return+ +xk(a,b)}function zk(a,b,c){a=a|0;b=b|0;c=c|0;return Ak(0,a,b,(c|0)!=0?c:37344)|0}function Ak(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?37348:f;f=c[j>>2]|0;a:do{if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[37076+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do{if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}}while(0);c[j>>2]=f;f=-2}}}while(0);if((k|0)==15){c[j>>2]=0;c[(ck()|0)>>2]=84;f=-1}i=l;return f|0}function Bk(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Ck(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+1040|0;l=o+8|0;n=o;k=c[b>>2]|0;c[n>>2]=k;m=(a|0)!=0;e=m?e:256;a=m?a:l;g=k;a:do{if((e|0)!=0&(k|0)!=0){j=e;k=g;e=0;while(1){g=d>>>2;h=g>>>0>=j>>>0;if(!(d>>>0>131|h)){g=k;break a}g=h?j:g;d=d-g|0;g=Dk(a,n,g,f)|0;if((g|0)==-1){e=d;break}p=(a|0)==(l|0);k=p?0:g;h=j-k|0;a=p?a:a+(g<<2)|0;e=g+e|0;g=c[n>>2]|0;if((j|0)!=(k|0)&(g|0)!=0){j=h;k=g}else{j=h;break a}}d=e;j=0;g=c[n>>2]|0;e=-1}else{j=e;e=0}}while(0);b:do{if((g|0)!=0?(j|0)!=0&(d|0)!=0:0){h=g;g=a;while(1){a=Ak(g,h,d,f)|0;if((a+2|0)>>>0<3)break;h=(c[n>>2]|0)+a|0;c[n>>2]=h;j=j+-1|0;e=e+1|0;if(!((j|0)!=0&(d|0)!=(a|0)))break b;else{d=d-a|0;g=g+4|0}}switch(a|0){case-1:{e=-1;break b}case 0:{c[n>>2]=0;break b}default:{c[f>>2]=0;break b}}}}while(0);if(m)c[b>>2]=c[n>>2];i=o;return e|0}function Dk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){g=f;j=h;m=16}else{c[g>>2]=0;l=b;g=f;k=i;m=37}else if(!b){g=f;m=7}else{i=b;g=f;m=6}a:while(1)if((m|0)==6){if(!g){m=26;break}else b=i;while(1){i=a[h>>0]|0;do{if(((i&255)+-1|0)>>>0<127?g>>>0>4&(h&3|0)==0:0){j=h;while(1){h=c[j>>2]|0;if((h+-16843009|h)&-2139062144){i=h;h=j;m=32;break}c[b>>2]=h&255;c[b+4>>2]=d[j+1>>0];c[b+8>>2]=d[j+2>>0];h=j+4|0;i=b+16|0;c[b+12>>2]=d[j+3>>0];g=g+-4|0;if(g>>>0>4){b=i;j=h}else{m=31;break}}if((m|0)==31){b=i;i=a[h>>0]|0;break}else if((m|0)==32){i=i&255;break}}}while(0);i=i&255;if((i+-1|0)>>>0>=127)break;h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g){m=26;break a}else b=b+4|0}i=i+-194|0;if(i>>>0>50){m=48;break}l=b;k=c[37076+(i<<2)>>2]|0;h=h+1|0;m=37;continue}else if((m|0)==7){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){i=c[h>>2]|0;if(!((i+-16843009|i)&-2139062144))do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(((i+-16843009|i)&-2139062144|0)==0);i=i&255}i=i&255;if((i+-1|0)>>>0<127){g=g+-1|0;h=h+1|0;m=7;continue}i=i+-194|0;if(i>>>0>50){m=48;break}i=c[37076+(i<<2)>>2]|0;j=h+1|0;m=16;continue}else if((m|0)==16){m=(d[j>>0]|0)>>>3;if((m+-16|m+(i>>26))>>>0>7){m=17;break}h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){m=20;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){m=23;break}h=j+3|0}}g=g+-1|0;m=7;continue}else if((m|0)==37){i=d[h>>0]|0;m=i>>>3;if((m+-16|m+(k>>26))>>>0>7){m=38;break}j=h+1|0;b=i+-128|k<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=41;break}j=h+2|0;b=i+-128|b<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=44;break}b=i+-128|b<<6;h=h+3|0}else h=j}else h=j;c[l>>2]=b;i=l+4|0;g=g+-1|0;m=6;continue}if((m|0)==17){h=j+-1|0;m=47}else if((m|0)==20){h=j+-1|0;m=47}else if((m|0)==23){h=j+-1|0;m=47}else if((m|0)==26)c[e>>2]=h;else if((m|0)==38){b=l;i=k;h=h+-1|0;m=47}else if((m|0)==41){g=l;f=h+-1|0;m=52}else if((m|0)==44){g=l;f=h+-1|0;m=52}if((m|0)==47)if(!i)m=48;else{g=b;f=h;m=52}if((m|0)==48)if(!(a[h>>0]|0)){if(b){c[b>>2]=0;c[e>>2]=0}f=f-g|0}else{g=b;f=h;m=52}if((m|0)==52){c[(ck()|0)>>2]=84;if(!g)f=-1;else{c[e>>2]=f;f=-1}}return f|0}function Ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k;a:do{if(!e)g=0;else{do{if(f){j=(b|0)==0?g:b;g=a[e>>0]|0;b=g&255;if(g<<24>>24>-1){c[j>>2]=b;g=g<<24>>24!=0&1;break a}g=b+-194|0;if(g>>>0<=50){b=e+1|0;h=c[37076+(g<<2)>>2]|0;if(f>>>0<4?(h&-2147483648>>>((f*6|0)+-6|0)|0)!=0:0)break;g=d[b>>0]|0;f=g>>>3;if((f+-16|f+(h>>26))>>>0<=7){g=g+-128|h<<6;if((g|0)>=0){c[j>>2]=g;g=2;break a}b=d[e+2>>0]|0;if((b&192|0)==128){b=b+-128|g<<6;if((b|0)>=0){c[j>>2]=b;g=3;break a}g=d[e+3>>0]|0;if((g&192|0)==128){c[j>>2]=g+-128|b<<6;g=4;break a}}}}}}while(0);c[(ck()|0)>>2]=84;g=-1}}while(0);i=k;return g|0}function Fk(b,d,e){b=b|0;d=d|0;e=e|0;do{if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(ck()|0)>>2]=84;b=-1;break}}else b=1}while(0);return b|0}function Gk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+272|0;j=m+8|0;l=m;h=c[b>>2]|0;c[l>>2]=h;k=(a|0)!=0;f=k?e:256;e=k?a:j;a=h;a:do{if((f|0)!=0&(h|0)!=0){h=f;g=a;f=0;while(1){a=d>>>0>=h>>>0;if(!(a|d>>>0>32)){a=g;break a}a=a?h:d;d=d-a|0;a=Hk(e,l,a,0)|0;if((a|0)==-1){f=d;break}o=(e|0)==(j|0);n=o?0:a;g=h-n|0;e=o?e:e+a|0;f=a+f|0;a=c[l>>2]|0;if((h|0)!=(n|0)&(a|0)!=0){h=g;g=a}else{h=g;break a}}d=f;h=0;a=c[l>>2]|0;f=-1}else{h=f;f=0}}while(0);b:do{if((a|0)!=0?(h|0)!=0&(d|0)!=0:0){g=a;a=e;while(1){e=Fk(a,c[g>>2]|0,0)|0;if((e+1|0)>>>0<2)break;g=(c[l>>2]|0)+4|0;c[l>>2]=g;d=d+-1|0;f=f+1|0;if(!((h|0)!=(e|0)&(d|0)!=0))break b;else{h=h-e|0;a=a+e|0}}if(!e)c[l>>2]=0;else f=-1}}while(0);if(k)c[b>>2]=c[l>>2];i=m;return f|0}function Hk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do{if(!b){b=c[d>>2]|0;f=c[b>>2]|0;if(!f)e=0;else{e=0;do{if(f>>>0>127){f=Fk(j,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do{if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=Fk(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e}while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=19;break}h=Fk(j,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=22;break}Fk(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==19){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==22){e=e-f|0;break}}}}while(0);i=k;return e|0}function Ik(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Fk(a,b,0)|0;return a|0}function Jk(a){a=a|0;return 0}function Kk(a){a=a|0;return}function Lk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Tk(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do{if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Gb[c[b+36>>2]&63](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}}while(0);i=m;return f|0}function Mk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=ik(nb(6,d|0)|0)|0;i=b;return a|0}function Nk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[9258]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=ik(vb(145,h|0)|0)|0}else{ob(185,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=ik(vb(145,g|0)|0)|0;gb(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((ik(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Pk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[9258]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=ik(wb(146,n|0)|0)|0}else{ob(186,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=ik(wb(146,m|0)|0)|0;gb(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Qk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=8;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(eb(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Pk(b,d,e)|0;i=g;return f|0}function Rk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=jl(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;lw(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Sk(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Gb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Tk(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Uk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Sk(a)|0)!=0:0)b=-1;else if((Gb[c[a+32>>2]&63](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Vk(a){a=a|0;var b=0,d=0;do{if(a){if((c[a+76>>2]|0)<=-1){b=wl(a)|0;break}d=(Jk(a)|0)==0;b=wl(a)|0;if(!d)Kk(a)}else{if(!(c[9323]|0))b=0;else b=Vk(c[9323]|0)|0;Ea(37060);a=c[9264]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Jk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=wl(a)|0|b;if(d)Kk(a);a=c[a+56>>2]|0}while((a|0)!=0);fb(37060)}}while(0);return b|0}function Wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Jk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Lk(d,b)|0;Kk(d)}else i=3;do{if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Lk(d,b)|0}}while(0);return e|0}function Xk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Tk(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do{if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Gb[c[e+36>>2]&63](e,b,d)|0;break}b:do{if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Gb[c[e+36>>2]&63](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}}while(0);lw(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}}while(0);return f|0}function Yk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Jk(e)|0)==0;a=Xk(a,f,e)|0;if(!g)Kk(e)}else a=Xk(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Zk(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Jk(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Uk(a)|0}else f=3;do{if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Uk(a)|0;break}}}while(0);return b|0}function _k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=el(a,b,d,g)|0;i=f;return e|0}function $k(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=fl(a,b,f)|0;i=e;return d|0}function al(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;do{if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Jk(d)|0;else g=0;if(!((c[d+8>>2]|0)==0?(Sk(d)|0)!=0:0))h=6;if((h|0)==6?(e=d+4|0,f=c[e>>2]|0,f>>>0>((c[d+44>>2]|0)+-8|0)>>>0):0){h=f+-1|0;c[e>>2]=h;a[h>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Kk(d);break}if(g){Kk(d);b=-1}else b=-1}else b=-1}while(0);return b|0}function bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j;f=Fl(240)|0;do{if(f){c[e>>2]=c[d>>2];e=el(f,240,b,e)|0;if(e>>>0<240){b=Il(f,e+1|0)|0;c[a>>2]=(b|0)!=0?b:f;break}Gl(f);if((e|0)>=0?(h=e+1|0,g=Fl(h)|0,c[a>>2]=g,(g|0)!=0):0)e=el(g,h,b,d)|0;else e=-1}else e=-1}while(0);i=j;return e|0}function cl(b,d,e){b=b|0;d=d|0;e=e|0;var f=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;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((xl(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Jk(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=xl(b,d,o,q,r)|0;if(h){Gb[c[b+36>>2]&63](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=xl(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Kk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function dl(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Jk(e)|0;else O=0;k=a[f>>0]|0;a:do{if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;C=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do{if(!(ak(m&255)|0)){m=(a[n>>0]|0)==37;d:do{if(m){q=n+1|0;o=a[q>>0]|0;e:do{switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=152;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case-2:{a[x>>0]=s;o=s;break c}case-1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{gk(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=hk(e)|0}while((ak(o)|0)!=0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}gk(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0>>0)c[L>>2]=o+1;else{if((hk(e)|0)<0){N=152;break b}q=c[M>>2]|0}if(q)c[L>>2]=(c[L>>2]|0)+-1;f:do{switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do{if((r&239|0)==99){iw(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{Q=n+1|0;s=(a[Q>>0]|0)==94;o=s&1;r=s?Q:n;n=s?n+2|0:Q;iw(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=r+2|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=r+2|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do{switch(o<<24>>24){case 0:{N=152;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do{if(s){if(t){f=Fl(r<<2)|0;if(!f){l=0;N=152;break b}}else f=x;c[J>>2]=0;c[C>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=hk(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Ak(K,y,1,J)|0){case-1:{l=0;N=152;break b}case-2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Il(f,l<<2)|0;if(!o){l=0;N=152;break b}Q=r;r=l;f=o;l=Q}if(!(Bk(J)|0)){l=0;N=152;break b}else{q=l;l=0}}else{if(t){l=Fl(r)|0;if(!l){l=0;f=0;N=152;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Il(l,f)|0;if(!o){f=0;N=152;break b}else{Q=r;r=f;l=o;o=Q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}}while(0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do{if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}}while(0);if(!u){if(f)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=134;break}case 111:{o=8;N=134;break}case 117:case 100:{o=10;N=134;break}case 105:{o=0;N=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+ek(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}}while(0);l:do{if((N|0)==134){N=0;o=fk(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case-2:{a[x>>0]=o;break l}case-1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{Q=x;c[Q>>2]=o;c[Q+4>>2]=D;break l}default:break l}}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}}while(0);n=n+(m&1)|0;gk(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=hk(e)|0;if((m|0)!=(d[n>>0]|0)){N=21;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(ak(d[m>>0]|0)|0))break;else n=m}gk(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=hk(e)|0}while((ak(m)|0)!=0);m=c[L>>2]|0;if(c[M>>2]|0){m=m+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==21){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=153}}else if((N|0)==152)if(!k){k=m;N=153}if((N|0)==153){m=k;k=-1}if(m){Gl(l);Gl(f)}}else k=0}while(0);if(O)Kk(e);i=P;return k|0}function el(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=37352;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(ck()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=cl(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=29;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=dl(e,b,d)|0;i=g;return h|0}function gl(a,b,c){a=a|0;b=b|0;c=c|0;return+ +zl(a,b,2)}function hl(a,b,c){a=a|0;b=b|0;c=c|0;a=Al(a,b,c,-1,-1)|0;return a|0}function il(a,b,c){a=a|0;b=b|0;c=c|0;a=Al(a,b,c,0,-2147483648)|0;return a|0}function jl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do{if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5}while(0);if((i|0)==5)if(f)i=6;else e=0;b:do{if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=$(h,16843009)|0;c:do{if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11}while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}}while(0);return((e|0)!=0?b:0)|0}function kl(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do{if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8}while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ll(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return(c&255)-(d&255)|0}function ml(a,b){a=a|0;b=b|0;kl(a,b)|0;return a|0}function nl(b){b=b|0;var d=0,e=0,f=0;f=b;a:do{if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do{b=b+1|0}while((a[b>>0]|0)!=0)}return b-f|0}function ol(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do{if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function pl(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(d|0)==0;if(a-b>>2>>>0>>0){if(!e)do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0)}else if(!e){e=b;b=a;while(1){d=d+-1|0;c[b>>2]=c[e>>2];if(!d)break;else{e=e+4|0;b=b+4|0}}}return a|0}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function tl(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=tw(f|0,b|0,10,0)|0;f=D;e=jw(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=jw(e|0,D|0,b|0,f|0)|0;b=D;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=hw(0,0,g|0,b|0)|0;f=a?D:b;e=a?e:g}D=f;return e|0}function ul(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function vl(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function wl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Gb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Gb[c[a+40>>2]&63](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}var yb=[Uw,Qq,Uq,Or,Sr,Xr,Zr,xu,Iu,Uw,Uw,Uw,Uw,Uw,Uw,Uw];var zb=[Vw,ii,Yh,Mh,Ah,oh,ch,Sg,Bg,Mj,Lj,Ij,Vw,Vw,Vw,Vw];var Ab=[Ww,bs,hs,Ww];var Bb=[Xw,ei,fi,Uh,Vh,Ih,Jh,wh,xh,kh,lh,_g,$g,Og,Pg,xg,yg,kg,lg,_f,$f,Of,Pf,Cf,Df,qf,rf,ye,ze,le,me,tc,uc,Pd,Td,Qd,bo,eo,co,fo,kd,ld,Qi,md,dd,ed,Ic,Jc,Qc,Rc,Xc,Yc,nd,od,ud,vd,Bd,Cd,Id,Jd,je,ke,He,Ie,Oe,Pe,Ve,We,af,bf,Mg,Ng,Dm,qi,Ai,Bi,Ri,Si,fj,gj,mj,nj,rj,sj,uj,xj,vj,wj,yj,zj,Cn,Tl,Zl,nn,cm,im,Bm,Cm,on,Dn,Rn,Tn,Sn,Un,Xn,Zn,Yn,_n,ko,mo,lo,no,uo,vo,en,wo,xo,yo,Ao,Ks,Eo,Fo,Jo,Ko,Yo,Zo,qp,rp,Fp,Gp,Sp,Tp,pq,qq,Nq,Pq,Sq,Tq,Wq,Xq,fr,gr,qr,rr,Br,Cr,Mr,Nr,Vr,Wr,$r,as,fs,gs,ls,ms,qs,rs,ys,zs,at,bt,wu,tt,Vt,Wt,Xt,Yt,zo,Js,Ms,kt,Bt,Jt,Rt,St,Ti,Ii,$i,sc,pn,Wn,_d,Eg,Wj,ul,vl,Ml,mk,Pr,Rr,Ls,Gv,Nv,Ov,Pv,Qv,Rv,Sv,Im,Wm,Gl,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw];var Cb=[Yw,hi,Xh,Lh,zh,nh,bh,Rg,Ag,mg,ag,Qf,Ef,sf,Ae,ne,vc,qn,Ci,Fi,Ul,Yl,dm,hm,Fn,_q,$q,ar,br,dr,er,jr,kr,lr,mr,or,pr,ur,vr,wr,xr,zr,Ar,Fr,Gr,Hr,Ir,Kr,Lr,ps,us,bu,du,fu,cu,eu,gu,kc,Ui,Gi,Hi,Ji,kn,Cc,Ec,go,dn,Qm,Zd,re,jf,wf,If,Uf,eg,qg,Dg,Ug,eh,qh,Ch,Oh,_h,ki,yi,Zi,sm,qm,hn,oo,rm,Om,_m,Zm,av,bv,cv,dv,ev,fv,st,gv,hv,iv,jv,kv,lv,mv,nv,ov,pv,qv,rv,sv,tv,uv,vv,wv,xv,yv,zv,Av,Bv,Cv,Ev,Yv,Yw,Yw];var Db=[Zw,Lo,Mo,No,Oo,Po,Qo,Ro,So,To,Uo,Vo,_o,$o,ap,bp,cp,dp,ep,fp,gp,hp,ip,xp,zp,Kp,Mp,Vp,Wp,Xp,Zp,$p,sq,tq,uq,wq,yq,es,ks,cd,Uu,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw];var Eb=[_w,un,vn,hd,yn,ri,hj,oj,tj,Mk,Vl,Kn,Mn,Nn,Jn,_l,$l,em,xn,jm,km,qo,Up,iu,ku,mu,su,uu,ou,qu,rq,ju,lu,nu,tu,vu,pu,ru,Yq,Zq,cr,hr,ir,nr,sr,tr,yr,Dr,Er,Jr,xt,yt,At,Zt,$t,_t,au,ot,pt,rt,Ft,Gt,It,Nt,Ot,Qt,ui,bj,jn,Li,Vn,$n,$w,ax,bx,qk,pl,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w];var Fb=[cx,Qr,Yr,cx];var Gb=[dx,rn,wn,An,um,vm,Aj,Bl,Pk,Ok,Nk,Qk,Gn,Ln,Wl,Pn,fm,Do,Io,ns,ss,dt,ft,it,Ns,Us,Xs,_s,Dc,yl,Rm,pk,Zu,$u,Fk,Ek,zk,bl,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx];var Hb=[ex,ds,js,ex];var Ib=[fx,fd,Pj,Oj,Nj,Hn,sn,os,ts,fx,fx,fx,fx,fx,fx,fx];var Jb=[gx,wp,Cp,Jp,Op,gx,gx,gx];var Kb=[hx,Tr,_r,cs,is,hx,hx,hx];var Lb=[ix,gi,Wh,Kh,yh,mh,ah,Qg,zg,og,cg,Sf,Gf,uf,Ce,pe,xc,id,jd,On,Xl,am,Qn,zn,gm,lm,Bn,ct,et,gt,Ss,Vs,Ys,Vi,oc,qc,io,Is,jo,ok,nk,Km,Xm,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix];var Mb=[jx,Bo,Go,sp,tp,yp,Ep,Hp,Ip,Lp,Qp,jt,wt,zt,$s,nt,qt,Et,Ht,Mt,Pt,Gk,Ck,jx,jx,jx,jx,jx,jx,jx,jx,jx];var Nb=[kx,$v,_v,Zv];var Ob=[lx,lc,aj,Xo,Bs,Cs,Ds,Zj,$j,_j,lx,lx,lx,lx,lx,lx];var Pb=[mx,ng,bg,Rf,Ff,tf,Be,oe,wc,ht,Ps,Qs,Rs,Zs,ti,zi,Hu,Tu,Dk,kk,Ak,fw,ew,dw,cw,bw,aw,mx,mx,mx,mx,mx];var Qb=[nx,tm,si,ro,Wi,Gm,ox,Am,Mm,Ki,xm,to,Xu,Yu,_u,Um];var Rb=[px,qx,Tj,rx,Uj,sx,Sj,px];var Sb=[tx,bq,Aq,ut,vt,lt,mt,Ct,Dt,Kt,Lt,tx,tx,tx,tx,tx];var Tb=[ux,Ap,Dp,Np,Pp,ux,ux,ux];var Ub=[vx,Ud,Vd,Rd,Sd,gd,Kc,Lc,Sc,Tc,Zc,_c,pd,qd,wd,xd,Dd,Ed,Kd,Ld,Je,Ke,Qe,Re,Xe,Ye,cf,df,Cj,Dj,Fj,In,tn,Co,Ho,dc,zm,yc,zc,Ac,Bc,Fc,Gc,Hc,De,Ee,Fe,Ge,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx];return{_jpegls_encode:Yi,___cxa_can_catch:Qj,_free:Gl,_jpegls_decode:Xi,___cxa_is_pointer_type:Rj,_i64Add:jw,_memmove:nw,_i64Subtract:hw,_memset:iw,_malloc:Fl,_memcpy:lw,_bitshift64Lshr:kw,_bitshift64Shl:mw,__GLOBAL__I_000101:Nl,__GLOBAL__sub_I_jpegls_cpp:rc,__GLOBAL__sub_I_iostream_cpp:Ol,runPostSets:gw,stackAlloc:Vb,stackSave:Wb,stackRestore:Xb,establishStackSpace:Yb,setThrew:Zb,setTempRet0:ac,getTempRet0:bc,dynCall_iiiiiiii:xw,dynCall_viiiii:yw,dynCall_iiiiiid:zw,dynCall_vi:Aw,dynCall_vii:Bw,dynCall_iiiiiii:Cw,dynCall_ii:Dw,dynCall_iiiiiiiiiiii:Ew,dynCall_iiii:Fw,dynCall_viiiiiiiiiiiiiii:Gw,dynCall_viiiiii:Hw,dynCall_viiiiiii:Iw,dynCall_viiiiiiiiii:Jw,dynCall_iii:Kw,dynCall_iiiiii:Lw,dynCall_diii:Mw,dynCall_i:Nw,dynCall_iiiii:Ow,dynCall_viii:Pw,dynCall_v:Qw,dynCall_iiiiiiiii:Rw,dynCall_iiiiid:Sw,dynCall_viiii:Tw}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _jpegls_encode=Module["_jpegls_encode"]=asm["_jpegls_encode"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var _jpegls_decode=Module["_jpegls_decode"]=asm["_jpegls_decode"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var __GLOBAL__sub_I_jpegls_cpp=Module["__GLOBAL__sub_I_jpegls_cpp"]=asm["__GLOBAL__sub_I_jpegls_cpp"];var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",function(){process["exit"](status)});console.log(" ");setTimeout(function(){process["exit"](status)},500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach(function(decorator){output=decorator(output,what)})}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();return Module};var ColorSpace={Unkown:0,Grayscale:1,AdobeRGB:2,RGB:3,CYMK:4};var JpegImage=function jpegImage(){"use strict";var dctZigZag=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);var dctCos1=4017;var dctSin1=799;var dctCos3=3406;var dctSin3=2276;var dctCos6=1567;var dctSin6=3784;var dctSqrt2=5793;var dctSqrt1d2=2896;function constructor(){}function buildHuffmanTable(codeLengths,values){var k=0,code=[],i,j,length=16;while(length>0&&!codeLengths[length-1])length--;code.push({children:[],index:0});var p=code[0],q;for(i=0;i0){p=code.pop()}p.index++;code.push(p);while(code.length<=i){code.push(q={children:[],index:0});p.children[p.index]=q.children;p=q}k++}if(i+10){bitsCount--;return bitsData>>bitsCount&1}bitsData=data[offset++];if(bitsData==255){var nextByte=data[offset++];if(nextByte){throw"unexpected marker: "+(bitsData<<8|nextByte).toString(16)}}bitsCount=7;return bitsData>>>7}function decodeHuffman(tree){var node=tree;var bit;while((bit=readBit())!==null){node=node[bit];if(typeof node==="number")return node;if(typeof node!=="object")throw"invalid huffman sequence"}return null}function receive(length){var n=0;while(length>0){var bit=readBit();if(bit===null)return;n=n<<1|bit;length--}return n}function receiveAndExtend(length){var n=receive(length);if(n>=1<>4;if(s===0){if(r<15)break;k+=16;continue}k+=r;var z=dctZigZag[k];component.blockData[offset+z]=receiveAndExtend(s);k++}}function decodeDCFirst(component,offset){var t=decodeHuffman(component.huffmanTableDC);var diff=t===0?0:receiveAndExtend(t)<0){eobrun--;return}var k=spectralStart,e=spectralEnd;while(k<=e){var rs=decodeHuffman(component.huffmanTableAC);var s=rs&15,r=rs>>4;if(s===0){if(r<15){eobrun=receive(r)+(1<>4;if(s===0){if(r<15){eobrun=receive(r)+(1<=65488&&marker<=65495){offset+=2}else{break}}return offset-startOffset}function quantizeAndInverse(component,blockBufferOffset,p){var qt=component.quantizationTable;var v0,v1,v2,v3,v4,v5,v6,v7,t;var i;for(i=0;i<64;i++){p[i]=component.blockData[blockBufferOffset+i]*qt[i]}for(i=0;i<8;++i){var row=8*i;if(p[1+row]===0&&p[2+row]===0&&p[3+row]===0&&p[4+row]===0&&p[5+row]===0&&p[6+row]===0&&p[7+row]===0){t=dctSqrt2*p[0+row]+512>>10;p[0+row]=t;p[1+row]=t;p[2+row]=t;p[3+row]=t;p[4+row]=t;p[5+row]=t;p[6+row]=t;p[7+row]=t;continue}v0=dctSqrt2*p[0+row]+128>>8;v1=dctSqrt2*p[4+row]+128>>8;v2=p[2+row];v3=p[6+row];v4=dctSqrt1d2*(p[1+row]-p[7+row])+128>>8;v7=dctSqrt1d2*(p[1+row]+p[7+row])+128>>8;v5=p[3+row]<<4;v6=p[5+row]<<4;t=v0-v1+1>>1;v0=v0+v1+1>>1;v1=t;t=v2*dctSin6+v3*dctCos6+128>>8;v2=v2*dctCos6-v3*dctSin6+128>>8;v3=t;t=v4-v6+1>>1;v4=v4+v6+1>>1;v6=t;t=v7+v5+1>>1;v5=v7-v5+1>>1;v7=t;t=v0-v3+1>>1;v0=v0+v3+1>>1;v3=t;t=v1-v2+1>>1;v1=v1+v2+1>>1;v2=t;t=v4*dctSin3+v7*dctCos3+2048>>12;v4=v4*dctCos3-v7*dctSin3+2048>>12;v7=t;t=v5*dctSin1+v6*dctCos1+2048>>12;v5=v5*dctCos1-v6*dctSin1+2048>>12;v6=t;p[0+row]=v0+v7;p[7+row]=v0-v7;p[1+row]=v1+v6;p[6+row]=v1-v6;p[2+row]=v2+v5;p[5+row]=v2-v5;p[3+row]=v3+v4;p[4+row]=v3-v4}for(i=0;i<8;++i){var col=i;if(p[1*8+col]===0&&p[2*8+col]===0&&p[3*8+col]===0&&p[4*8+col]===0&&p[5*8+col]===0&&p[6*8+col]===0&&p[7*8+col]===0){t=dctSqrt2*p[i+0]+8192>>14;p[0*8+col]=t;p[1*8+col]=t;p[2*8+col]=t;p[3*8+col]=t;p[4*8+col]=t;p[5*8+col]=t;p[6*8+col]=t;p[7*8+col]=t;continue}v0=dctSqrt2*p[0*8+col]+2048>>12;v1=dctSqrt2*p[4*8+col]+2048>>12;v2=p[2*8+col];v3=p[6*8+col];v4=dctSqrt1d2*(p[1*8+col]-p[7*8+col])+2048>>12;v7=dctSqrt1d2*(p[1*8+col]+p[7*8+col])+2048>>12;v5=p[3*8+col];v6=p[5*8+col];t=v0-v1+1>>1;v0=v0+v1+1>>1;v1=t;t=v2*dctSin6+v3*dctCos6+2048>>12;v2=v2*dctCos6-v3*dctSin6+2048>>12;v3=t;t=v4-v6+1>>1;v4=v4+v6+1>>1;v6=t;t=v7+v5+1>>1;v5=v7-v5+1>>1;v7=t;t=v0-v3+1>>1;v0=v0+v3+1>>1;v3=t;t=v1-v2+1>>1;v1=v1+v2+1>>1;v2=t;t=v4*dctSin3+v7*dctCos3+2048>>12;v4=v4*dctCos3-v7*dctSin3+2048>>12;v7=t;t=v5*dctSin1+v6*dctCos1+2048>>12;v5=v5*dctCos1-v6*dctSin1+2048>>12;v6=t;p[0*8+col]=v0+v7;p[7*8+col]=v0-v7;p[1*8+col]=v1+v6;p[6*8+col]=v1-v6;p[2*8+col]=v2+v5;p[5*8+col]=v2-v5;p[3*8+col]=v3+v4;p[4*8+col]=v3-v4}for(i=0;i<64;++i){var index=blockBufferOffset+i;var q=p[i];q=q<=-2056/component.bitConversion?0:q>=2024/component.bitConversion?255/component.bitConversion:q+2056/component.bitConversion>>4;component.blockData[index]=q}}function buildComponentData(frame,component){var lines=[];var blocksPerLine=component.blocksPerLine;var blocksPerColumn=component.blocksPerColumn;var samplesPerLine=blocksPerLine<<3;var computationBuffer=new Int32Array(64);var i,j,ll=0;for(var blockRow=0;blockRow=255?255:a|0}constructor.prototype={load:function load(path){var handleData=function(data){this.parse(data);if(this.onload)this.onload()}.bind(this);if(path.indexOf("data:")>-1){var offset=path.indexOf("base64,")+7;var data=atob(path.substring(offset));var arr=new Uint8Array(data.length);for(var i=data.length-1;i>=0;i--){arr[i]=data.charCodeAt(i)}handleData(data)}else{var xhr=new XMLHttpRequest;xhr.open("GET",path,true);xhr.responseType="arraybuffer";xhr.onload=function(){var data=new Uint8Array(xhr.response);handleData(data)}.bind(this);xhr.send(null)}},parse:function parse(data){function readUint16(){var value=data[offset]<<8|data[offset+1];offset+=2;return value}function readDataBlock(){var length=readUint16();var array=data.subarray(offset,offset+length-2);offset+=array.length;return array}function prepareComponents(frame){var mcusPerLine=Math.ceil(frame.samplesPerLine/8/frame.maxH);var mcusPerColumn=Math.ceil(frame.scanLines/8/frame.maxV);for(var i=0;i>4===0){for(j=0;j<64;j++){var z=dctZigZag[j];tableData[z]=data[offset++]}}else if(quantizationTableSpec>>4===1){for(j=0;j<64;j++){var zz=dctZigZag[j];tableData[zz]=readUint16()}}else throw"DQT: invalid table spec";quantizationTables[quantizationTableSpec&15]=tableData}break;case 65472:case 65473:case 65474:if(frame){throw"Only single frame JPEGs supported"}readUint16();frame={};frame.extended=fileMarker===65473;frame.progressive=fileMarker===65474;frame.precision=data[offset++];frame.scanLines=readUint16();frame.samplesPerLine=readUint16();frame.components=[];frame.componentIds={};var componentsCount=data[offset++],componentId;var maxH=0,maxV=0;for(i=0;i>4;var v=data[offset+1]&15;if(maxH>4===0?huffmanTablesDC:huffmanTablesAC)[huffmanTableSpec&15]=buildHuffmanTable(codeLengths,huffmanValues)}break;case 65501:readUint16();resetInterval=readUint16();break;case 65498:var scanLength=readUint16();var selectorsCount=data[offset++];var components=[],component;for(i=0;i>4];component.huffmanTableAC=huffmanTablesAC[tableSpec&15];components.push(component)}var spectralStart=data[offset++];var spectralEnd=data[offset++];var successiveApproximation=data[offset++];var processed=decodeScan(data,offset,frame,components,resetInterval,spectralStart,spectralEnd,successiveApproximation>>4,successiveApproximation&15);offset+=processed;break;case 65535:if(data[offset]!==255){offset--}break;default:if(data[offset-3]==255&&data[offset-2]>=192&&data[offset-2]<=254){offset-=3;break}throw"unknown JPEG marker "+fileMarker.toString(16)}fileMarker=readUint16()}this.width=frame.samplesPerLine;this.height=frame.scanLines;this.jfif=jfif;this.adobe=adobe;this.components=[];switch(frame.components.length){case 1:this.colorspace=ColorSpace.Grayscale;break;case 3:if(this.adobe)this.colorspace=ColorSpace.AdobeRGB;else this.colorspace=ColorSpace.RGB;break;case 4:this.colorspace=ColorSpace.CYMK;break;default:this.colorspace=ColorSpace.Unknown}for(var i=0;i>4!==4092||current===65476){switch(current){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,jpeg.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(current>>8!==255){throw new Error("ERROR: format throw new IOException! (decode)")}}current=this.stream.get16()}if(current<65472||current>65479){throw new Error("ERROR: could not handle arithmetic code!")}this.frame.read(this.stream);current=this.stream.get16();do{while(current!==65498){switch(current){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,jpeg.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(current>>8!==255){throw new Error("ERROR: format throw new IOException! (Parser.decode)")}}current=this.stream.get16()}this.precision=this.frame.precision;this.components=this.frame.components;if(!this.numBytes){this.numBytes=parseInt(Math.ceil(this.precision/8))}if(this.numBytes==1){this.mask=255}else{this.mask=65535}this.scan.read(this.stream);this.numComp=this.scan.numComp;this.selection=this.scan.selection;if(this.numBytes===1){if(this.numComp===3){this.getter=this.getValueRGB;this.setter=this.setValueRGB;this.output=this.outputRGB}else{this.getter=this.getValue8;this.setter=this.setValue8;this.output=this.outputSingle}}else{this.getter=this.getValue16;this.setter=this.setValue16;this.output=this.outputSingle}switch(this.selection){case 2:this.selector=this.select2;break;case 3:this.selector=this.select3;break;case 4:this.selector=this.select4;break;case 5:this.selector=this.select5;break;case 6:this.selector=this.select6;break;case 7:this.selector=this.select7;break;default:this.selector=this.select1;break}this.scanComps=this.scan.components;this.quantTables=this.quantTable.quantTables;for(i=0;i=jpeg.lossless.Decoder.RESTART_MARKER_BEGIN&¤t<=jpeg.lossless.Decoder.RESTART_MARKER_END)){break}}if(current===65500&&scanNum===1){this.readNumber();current=this.stream.get16()}}while(current!==65497&&(this.xLoc>1)};jpeg.lossless.Decoder.prototype.select6=function(compOffset){return this.getPreviousY(compOffset)+(this.getPreviousX(compOffset)-this.getPreviousXY(compOffset)>>1)};jpeg.lossless.Decoder.prototype.select7=function(compOffset){return(this.getPreviousX(compOffset)+this.getPreviousY(compOffset))/2};jpeg.lossless.Decoder.prototype.decodeRGB=function(prev,temp,index){var value,actab,dctab,qtab,ctrC,i,k,j;prev[0]=this.selector(0);prev[1]=this.selector(1);prev[2]=this.selector(2);for(ctrC=0;ctrC=65280){return value}prev[ctrC]=this.IDCT_Source[0]=prev[ctrC]+this.getn(index,value,temp,index);this.IDCT_Source[0]*=qtab[0];for(j=1;j<64;j+=1){value=this.getHuffmanValue(actab,temp,index);if(value>=65280){return value}j+=value>>4;if((value&15)===0){if(value>>4===0){break}}else{this.IDCT_Source[jpeg.lossless.Decoder.IDCT_P[j]]=this.getn(index,value&15,temp,index)*qtab[j]}}}}return 0};jpeg.lossless.Decoder.prototype.decodeSingle=function(prev,temp,index){var value,i,n,nRestart;if(this.restarting){this.restarting=false;prev[0]=1<=65280){return value}n=this.getn(prev,value,temp,index);nRestart=n>>8;if(nRestart>=jpeg.lossless.Decoder.RESTART_MARKER_BEGIN&&nRestart<=jpeg.lossless.Decoder.RESTART_MARKER_END){return nRestart}prev[0]+=n}return 0};jpeg.lossless.Decoder.prototype.getHuffmanValue=function(table,temp,index){var code,input,mask;mask=65535;if(index[0]<8){temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input}else{index[0]-=8}code=table[temp[0]>>index[0]];if((code&jpeg.lossless.Decoder.MSB)!==0){if(this.markerIndex!==0){this.markerIndex=0;return 65280|this.marker}temp[0]&=mask>>16-index[0];temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input;code=table[(code&255)*256+(temp[0]>>index[0])];index[0]+=8}index[0]+=8-(code>>8);if(index[0]<0){throw new Error("index="+index[0]+" temp="+temp[0]+" code="+code+" in HuffmanValue()")}if(index[0]>16-index[0];return code&255};jpeg.lossless.Decoder.prototype.getn=function(PRED,n,temp,index){var result,one,n_one,mask,input;one=1;n_one=-1;mask=65535;if(n===0){return 0}if(n===16){if(PRED[0]>=0){return-32768}else{return 32768}}index[0]-=n;if(index[0]>=0){if(index[0]>index[0];temp[0]&=mask>>16-index[0]}else{temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input;index[0]+=8;if(index[0]<0){if(this.markerIndex!==0){this.markerIndex=0;return(65280|this.marker)<<8}temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input;index[0]+=8}if(index[0]<0){throw new Error("index="+index[0]+" in getn()")}if(index[0]>index[0];temp[0]&=mask>>16-index[0]}if(result0){return this.getter(this.yLoc*this.xDim+this.xLoc-1,compOffset)}else if(this.yLoc>0){return this.getPreviousY(compOffset)}else{return 1<0&&this.yLoc>0){return this.getter((this.yLoc-1)*this.xDim+this.xLoc-1,compOffset)}else{return this.getPreviousY(compOffset)}};jpeg.lossless.Decoder.prototype.getPreviousY=function(compOffset){if(this.yLoc>0){return this.getter((this.yLoc-1)*this.xDim+this.xLoc,compOffset)}else{return this.getPreviousX(compOffset)}};jpeg.lossless.Decoder.prototype.isLastPixel=function(){return this.xLoc===this.xDim-1&&this.yLoc===this.yDim-1};jpeg.lossless.Decoder.prototype.outputSingle=function(PRED){if(this.xLoc=this.xDim){this.yLoc+=1;this.xLoc=0}}};jpeg.lossless.Decoder.prototype.outputRGB=function(PRED){var offset=this.yLoc*this.xDim+this.xLoc;if(this.xLoc=this.xDim){this.yLoc+=1;this.xLoc=0}}};jpeg.lossless.Decoder.prototype.setValue8=function(index,val){this.outputData[index]=val};jpeg.lossless.Decoder.prototype.getValue8=function(index){return this.outputData[index]};var littleEndian=function(){var buffer=new ArrayBuffer(2);new DataView(buffer).setInt16(0,256,true);return new Int16Array(buffer)[0]===256}();if(littleEndian){jpeg.lossless.Decoder.prototype.setValue16=jpeg.lossless.Decoder.prototype.setValue8;jpeg.lossless.Decoder.prototype.getValue16=jpeg.lossless.Decoder.prototype.getValue8}else{jpeg.lossless.Decoder.prototype.setValue16=function(index,val){this.outputData[index]=(val&255)<<8|val>>8&255};jpeg.lossless.Decoder.prototype.getValue16=function(index){var val=this.outputData[index];return(val&255)<<8|val>>8&255}}jpeg.lossless.Decoder.prototype.setValueRGB=function(index,val,compOffset){this.outputData[index*3+compOffset]=val};jpeg.lossless.Decoder.prototype.getValueRGB=function(index,compOffset){return this.outputData[index*3+compOffset]};jpeg.lossless.Decoder.prototype.readApp=function(){var count=0,length=this.stream.get16();count+=2;while(countlength){throw new Error("ERROR: frame format error")}c=data.get8();count+=1;if(count>=length){throw new Error("ERROR: frame format error [c>=Lf]")}temp=data.get8();count+=1;if(!this.components[c]){this.components[c]=new jpeg.lossless.ComponentSpec}this.components[c].hSamp=temp>>4;this.components[c].vSamp=temp&15;this.components[c].quantTableSel=data.get8();count+=1}if(count!==length){throw new Error("ERROR: frame format error [Lf!=count]")}return 1};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.FrameHeader}},{"./component-spec.js":1,"./data-stream.js":2}],5:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.Utils=jpeg.lossless.Utils||(typeof require!=="undefined"?require("./utils.js"):null);jpeg.lossless.HuffmanTable=jpeg.lossless.HuffmanTable||function(){this.l=jpeg.lossless.Utils.createArray(4,2,16);this.th=[];this.v=jpeg.lossless.Utils.createArray(4,2,16,200);this.tc=jpeg.lossless.Utils.createArray(4,2);this.tc[0][0]=0;this.tc[1][0]=0;this.tc[2][0]=0;this.tc[3][0]=0;this.tc[0][1]=0;this.tc[1][1]=0;this.tc[2][1]=0;this.tc[3][1]=0;this.th[0]=0;this.th[1]=0;this.th[2]=0;this.th[3]=0};jpeg.lossless.HuffmanTable.MSB=2147483648;jpeg.lossless.HuffmanTable.prototype.read=function(data,HuffTab){var count=0,length,temp,t,c,i,j;length=data.get16();count+=2;while(count3){throw new Error("ERROR: Huffman table ID > 3")}c=temp>>4;if(c>2){throw new Error("ERROR: Huffman table [Table class > 2 ]")}this.th[t]=1;this.tc[t][c]=1;for(i=0;i<16;i+=1){this.l[t][c][i]=data.get8();count+=1}for(i=0;i<16;i+=1){for(j=0;jlength){throw new Error("ERROR: Huffman table format error [count>Lh]")}this.v[t][c][i][j]=data.get8();count+=1}}}if(count!==length){throw new Error("ERROR: Huffman table format error [count!=Lf]")}for(i=0;i<4;i+=1){for(j=0;j<2;j+=1){if(this.tc[i][j]!==0){this.buildHuffTable(HuffTab[i][j],this.l[i][j],this.v[i][j])}}}return 1};jpeg.lossless.HuffmanTable.prototype.buildHuffTable=function(tab,L,V){var currentTable,temp,k,i,j,n;temp=256;k=0;for(i=0;i<8;i+=1){for(j=0;j>i+1;n+=1){tab[k]=V[i][j]|i+1<<8;k+=1}}}for(i=1;k<256;i+=1,k+=1){tab[k]=i|jpeg.lossless.HuffmanTable.MSB}currentTable=1;k=0;for(i=8;i<16;i+=1){for(j=0;j>i-7;n+=1){tab[currentTable*256+k]=V[i][j]|i+1<<8;k+=1}if(k>=256){if(k>256){throw new Error("ERROR: Huffman table error(1)!")}k=0;currentTable+=1}}}};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.HuffmanTable}},{"./data-stream.js":2,"./utils.js":10}],6:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.ComponentSpec=jpeg.lossless.ComponentSpec||(typeof require!=="undefined"?require("./component-spec.js"):null);jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.Decoder=jpeg.lossless.Decoder||(typeof require!=="undefined"?require("./decoder.js"):null);jpeg.lossless.FrameHeader=jpeg.lossless.FrameHeader||(typeof require!=="undefined"?require("./frame-header.js"):null);jpeg.lossless.HuffmanTable=jpeg.lossless.HuffmanTable||(typeof require!=="undefined"?require("./huffman-table.js"):null);jpeg.lossless.QuantizationTable=jpeg.lossless.QuantizationTable||(typeof require!=="undefined"?require("./quantization-table.js"):null);jpeg.lossless.ScanComponent=jpeg.lossless.ScanComponent||(typeof require!=="undefined"?require("./scan-component.js"):null);jpeg.lossless.ScanHeader=jpeg.lossless.ScanHeader||(typeof require!=="undefined"?require("./scan-header.js"):null);jpeg.lossless.Utils=jpeg.lossless.Utils||(typeof require!=="undefined"?require("./utils.js"):null);var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg}},{"./component-spec.js":1,"./data-stream.js":2,"./decoder.js":3,"./frame-header.js":4,"./huffman-table.js":5,"./quantization-table.js":7,"./scan-component.js":8,"./scan-header.js":9,"./utils.js":10}],7:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.Utils=jpeg.lossless.Utils||(typeof require!=="undefined"?require("./utils.js"):null);jpeg.lossless.QuantizationTable=jpeg.lossless.QuantizationTable||function(){this.precision=[];this.tq=[];this.quantTables=jpeg.lossless.Utils.createArray(4,64);this.tq[0]=0;this.tq[1]=0;this.tq[2]=0;this.tq[3]=0};jpeg.lossless.QuantizationTable.enhanceQuantizationTable=function(qtab,table){var i;for(i=0;i<8;i+=1){qtab[table[0*8+i]]*=90;qtab[table[4*8+i]]*=90;qtab[table[2*8+i]]*=118;qtab[table[6*8+i]]*=49;qtab[table[5*8+i]]*=71;qtab[table[1*8+i]]*=126;qtab[table[7*8+i]]*=25;qtab[table[3*8+i]]*=106}for(i=0;i<8;i+=1){qtab[table[0+8*i]]*=90;qtab[table[4+8*i]]*=90;qtab[table[2+8*i]]*=118;qtab[table[6+8*i]]*=49;qtab[table[5+8*i]]*=71;qtab[table[1+8*i]]*=126;qtab[table[7+8*i]]*=25;qtab[table[3+8*i]]*=106}for(i=0;i<64;i+=1){qtab[i]>>=6}};jpeg.lossless.QuantizationTable.prototype.read=function(data,table){var count=0,length,temp,t,i;length=data.get16();count+=2;while(count3){throw new Error("ERROR: Quantization table ID > 3")}this.precision[t]=temp>>4;if(this.precision[t]===0){this.precision[t]=8}else if(this.precision[t]===1){this.precision[t]=16}else{throw new Error("ERROR: Quantization table precision error")}this.tq[t]=1;if(this.precision[t]===8){for(i=0;i<64;i+=1){if(count>length){throw new Error("ERROR: Quantization table format error")}this.quantTables[t][i]=data.get8();count+=1}jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t],table)}else{for(i=0;i<64;i+=1){if(count>length){throw new Error("ERROR: Quantization table format error")}this.quantTables[t][i]=data.get16();count+=2}jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t],table)}}if(count!==length){throw new Error("ERROR: Quantization table error [count!=Lq]")}return 1};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.QuantizationTable}},{"./data-stream.js":2,"./utils.js":10}],8:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.ScanComponent=jpeg.lossless.ScanComponent||function(){this.acTabSel=0;this.dcTabSel=0;this.scanCompSel=0};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.ScanComponent}},{}],9:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.ScanComponent=jpeg.lossless.ScanComponent||(typeof require!=="undefined"?require("./scan-component.js"):null);jpeg.lossless.ScanHeader=jpeg.lossless.ScanHeader||function(){this.ah=0;this.al=0;this.numComp=0;this.selection=0;this.spectralEnd=0;this.components=[]};jpeg.lossless.ScanHeader.prototype.read=function(data){var count=0,length,i,temp;length=data.get16();count+=2;this.numComp=data.get8();count+=1;for(i=0;ilength){throw new Error("ERROR: scan header format error")}this.components[i].scanCompSel=data.get8();count+=1;temp=data.get8();count+=1;this.components[i].dcTabSel=temp>>4;this.components[i].acTabSel=temp&15}this.selection=data.get8();count+=1;this.spectralEnd=data.get8();count+=1;temp=data.get8();this.ah=temp>>4;this.al=temp&15;count+=1;if(count!==length){throw new Error("ERROR: scan header format error [count!=Ns]")}return 1};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.ScanHeader}},{"./data-stream.js":2,"./scan-component.js":8}],10:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.Utils=jpeg.lossless.Utils||{};jpeg.lossless.Utils.createArray=function(length){var arr=new Array(length||0),i=length;if(arguments.length>1){var args=Array.prototype.slice.call(arguments,1);while(i--)arr[length-1-i]=jpeg.lossless.Utils.createArray.apply(this,args)}return arr};jpeg.lossless.Utils.makeCRCTable=function(){var c;var crcTable=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++){c=c&1?3988292384^c>>>1:c>>>1}crcTable[n]=c}return crcTable};jpeg.lossless.Utils.crc32=function(dataView){var uint8view=new Uint8Array(dataView.buffer);var crcTable=jpeg.lossless.Utils.crcTable||(jpeg.lossless.Utils.crcTable=jpeg.lossless.Utils.makeCRCTable());var crc=0^-1;for(var i=0;i>>8^crcTable[(crc^uint8view[i])&255]}return(crc^-1)>>>0};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.Utils}},{}]},{},[6])(6)});"use strict";function info(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.infos&&console.log("Info: "+a)}function warn(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.warnings&&console.log("Warning: "+a)}function error(a){if(arguments.length>1){var b=["Error:"];b.push.apply(b,arguments),console.log.apply(console,b),a=[].join.call(arguments," ")}else console.log("Error: "+a);throw console.log(backtrace()),UnsupportedManager.notify(UNSUPPORTED_FEATURES.unknown),new Error(a)}function backtrace(){try{throw new Error}catch(a){return a.stack?a.stack.split("\n").slice(2).join("\n"):""}}function assert(a,b){a||error(b)}function combineUrl(a,b){if(!b)return a;if(/^[a-z][a-z0-9+\-.]*:/i.test(b))return b;var c;if("/"===b.charAt(0))return c=a.indexOf("://"),"/"===b.charAt(1)?++c:c=a.indexOf("/",c+3),a.substring(0,c)+b;var d=a.length;c=a.lastIndexOf("#"),d=c>=0?c:d,c=a.lastIndexOf("?",d),d=c>=0?c:d;var e=a.lastIndexOf("/",d);return a.substring(0,e+1)+b}function isValidUrl(a,b){if(!a)return!1;var c=/^[a-z][a-z0-9+\-.]*(?=:)/i.exec(a);if(!c)return b;switch(c=c[0].toLowerCase()){case"http":case"https":case"ftp":case"mailto":case"tel":return!0;default:return!1}}function shadow(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!1}),c}function bytesToString(a){assert(null!==a&&"object"==typeof a&&void 0!==a.length,"Invalid argument for bytesToString");var b=a.length,c=8192;if(c>b)return String.fromCharCode.apply(null,a);for(var d=[],e=0;b>e;e+=c){var f=Math.min(e+c,b),g=a.subarray(e,f);d.push(String.fromCharCode.apply(null,g))}return d.join("")}function stringToBytes(a){assert("string"==typeof a,"Invalid argument for stringToBytes");for(var b=a.length,c=new Uint8Array(b),d=0;b>d;++d)c[d]=255&a.charCodeAt(d);return c}function string32(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,255&a)}function log2(a){for(var b=1,c=0;a>b;)b<<=1,c++;return c}function readInt8(a,b){return a[b]<<24>>24}function readUint16(a,b){return a[b]<<8|a[b+1]}function readUint32(a,b){return(a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3])>>>0}function isLittleEndian(){var a=new Uint8Array(2);a[0]=1;var b=new Uint16Array(a.buffer);return 1===b[0]}function hasCanvasTypedArrays(){var a=document.createElement("canvas");a.width=a.height=1;var b=a.getContext("2d"),c=b.createImageData(1,1);return"undefined"!=typeof c.data.buffer}function stringToPDFString(a){var b,c=a.length,d=[];if("þ"===a[0]&&"ÿ"===a[1])for(b=2;c>b;b+=2)d.push(String.fromCharCode(a.charCodeAt(b)<<8|a.charCodeAt(b+1)));else for(b=0;c>b;++b){var e=PDFStringTranslateTable[a.charCodeAt(b)];d.push(e?String.fromCharCode(e):a.charAt(b))}return d.join("")}function stringToUTF8String(a){return decodeURIComponent(escape(a))}function isEmptyObj(a){for(var b in a)return!1;return!0}function isBool(a){return"boolean"==typeof a}function isInt(a){return"number"==typeof a&&(0|a)===a}function isNum(a){return"number"==typeof a}function isString(a){return"string"==typeof a}function isNull(a){return null===a}function isName(a){return a instanceof Name}function isCmd(a,b){return a instanceof Cmd&&(void 0===b||a.cmd===b)}function isDict(a,b){if(!(a instanceof Dict))return!1;if(!b)return!0;var c=a.get("Type");return isName(c)&&c.name===b}function isArray(a){return a instanceof Array}function isStream(a){return"object"==typeof a&&null!==a&&void 0!==a.getBytes}function isArrayBuffer(a){return"object"==typeof a&&null!==a&&void 0!==a.byteLength}function isRef(a){return a instanceof Ref}function createPromiseCapability(){var a={};return a.promise=new Promise(function(b,c){a.resolve=b,a.reject=c}),a}function MessageHandler(a,b){this.name=a,this.comObj=b,this.callbackIndex=1,this.postMessageTransfers=!0;var c=this.callbacksCapabilities={},d=this.actionHandler={};d.console_log=[function(a){console.log.apply(console,a)}],d.console_error=[function(a){console.error.apply(console,a)}],d._unsupported_feature=[function(a){UnsupportedManager.notify(a)}],b.onmessage=function(a){var e=a.data;if(e.isReply){var f=e.callbackId;if(e.callbackId in c){var g=c[f];delete c[f],"error"in e?g.reject(e.error):g.resolve(e.data)}else error("Cannot resolve callback "+f)}else if(e.action in d){var h=d[e.action];e.callbackId?Promise.resolve().then(function(){return h[0].call(h[1],e.data)}).then(function(a){b.postMessage({isReply:!0,callbackId:e.callbackId,data:a})},function(a){b.postMessage({isReply:!0,callbackId:e.callbackId,error:a})}):h[0].call(h[1],e.data)}else error("Unknown action from worker: "+e.action)}}function loadJpegStream(a,b,c){var d=new Image;d.onload=function(){c.resolve(a,d)},d.onerror=function(){c.resolve(a,null),warn("Error during JPEG image loading")},d.src=b}var JpxImage=function(){function a(){this.failOnCorruptedImage=!1}function b(a,b){a.x0=Math.ceil(b.XOsiz/a.XRsiz),a.x1=Math.ceil(b.Xsiz/a.XRsiz),a.y0=Math.ceil(b.YOsiz/a.YRsiz),a.y1=Math.ceil(b.Ysiz/a.YRsiz),a.width=a.x1-a.x0,a.height=a.y1-a.y0}function c(a,b){for(var c,d=a.SIZ,e=[],f=Math.ceil((d.Xsiz-d.XTOsiz)/d.XTsiz),g=Math.ceil((d.Ysiz-d.YTOsiz)/d.YTsiz),h=0;g>h;h++)for(var i=0;f>i;i++)c={},c.tx0=Math.max(d.XTOsiz+i*d.XTsiz,d.XOsiz),c.ty0=Math.max(d.YTOsiz+h*d.YTsiz,d.YOsiz),c.tx1=Math.min(d.XTOsiz+(i+1)*d.XTsiz,d.Xsiz),c.ty1=Math.min(d.YTOsiz+(h+1)*d.YTsiz,d.Ysiz),c.width=c.tx1-c.tx0,c.height=c.ty1-c.ty0,c.components=[],e.push(c);a.tiles=e;for(var j=d.Csiz,k=0,l=j;l>k;k++)for(var m=b[k],n=0,o=e.length;o>n;n++){var p={};c=e[n],p.tcx0=Math.ceil(c.tx0/m.XRsiz),p.tcy0=Math.ceil(c.ty0/m.YRsiz),p.tcx1=Math.ceil(c.tx1/m.XRsiz),p.tcy1=Math.ceil(c.ty1/m.YRsiz),p.width=p.tcx1-p.tcx0,p.height=p.tcy1-p.tcy0,c.components[k]=p}}function d(a,b,c){var d=b.codingStyleParameters,e={};return d.entropyCoderWithCustomPrecincts?(e.PPx=d.precinctsSizes[c].PPx,e.PPy=d.precinctsSizes[c].PPy):(e.PPx=15,e.PPy=15),e.xcb_=c>0?Math.min(d.xcb,e.PPx-1):Math.min(d.xcb,e.PPx),e.ycb_=c>0?Math.min(d.ycb,e.PPy-1):Math.min(d.ycb,e.PPy),e}function e(a,b,c){var d=1<b.trx0?Math.ceil(b.trx1/d)-Math.floor(b.trx0/d):0,j=b.try1>b.try0?Math.ceil(b.try1/e)-Math.floor(b.try0/e):0,k=i*j;b.precinctParameters={precinctWidth:d,precinctHeight:e,numprecinctswide:i,numprecinctshigh:j,numprecincts:k,precinctWidthInSubband:g,precinctHeightInSubband:h}}function f(a,b,c){var d,e,f,g,h=c.xcb_,i=c.ycb_,j=1<>h,m=b.tby0>>i,n=b.tbx1+j-1>>h,o=b.tby1+k-1>>i,p=b.resolution.precinctParameters,q=[],r=[];for(e=m;o>e;e++)for(d=l;n>d;d++){f={cbx:d,cby:e,tbx0:j*d,tby0:k*e,tbx1:j*(d+1),tby1:k*(e+1)},f.tbx0_=Math.max(b.tbx0,f.tbx0),f.tby0_=Math.max(b.tby0,f.tby0),f.tbx1_=Math.min(b.tbx1,f.tbx1),f.tby1_=Math.min(b.tby1,f.tby1);var s=Math.floor((f.tbx0_-b.tbx0)/p.precinctWidthInSubband),t=Math.floor((f.tby0_-b.tby0)/p.precinctHeightInSubband);if(g=s+t*p.numprecinctswide,f.precinctNumber=g,f.subbandType=b.type,f.Lblock=3,!(f.tbx1_<=f.tbx0_||f.tby1_<=f.tby0_)){q.push(f);var u=r[g];void 0!==u?(du.cbxMax&&(u.cbxMax=d),eu.cbyMax&&(u.cbyMax=e)):r[g]=u={cbxMin:d,cbyMin:e,cbxMax:d,cbyMax:e},f.precinct=u}}b.codeblockParameters={codeblockWidth:h,codeblockHeight:i,numcodeblockwide:n-l+1,numcodeblockhigh:o-m+1},b.codeblocks=q,b.precincts=r}function g(a,b,c){for(var d=[],e=a.subbands,f=0,g=e.length;g>f;f++)for(var h=e[f],i=h.codeblocks,j=0,k=i.length;k>j;j++){var l=i[j];l.precinctNumber===b&&d.push(l)}return{layerNumber:c,codeblocks:d}}function h(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=0,i=0;f>i;i++)h=Math.max(h,d.components[i].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;e>j;j++){for(;h>=k;k++){for(;f>l;l++){var a=d.components[l];if(!(k>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[k],c=b.precinctParameters.numprecincts;c>m;){var i=g(b,m,j);return m++,i}m=0}}l=0}k=0}}}function i(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=0,i=0;f>i;i++)h=Math.max(h,d.components[i].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;h>=j;j++){for(;e>k;k++){for(;f>l;l++){var a=d.components[l];if(!(j>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[j],c=b.precinctParameters.numprecincts;c>m;){var i=g(b,m,k);return m++,i}m=0}}l=0}k=0}}}function j(a){var b,c,d,e,f=a.SIZ,h=a.currentTile.index,i=a.tiles[h],j=i.codingStyleDefaultParameters.layersCount,k=f.Csiz,l=0;for(d=0;k>d;d++){var m=i.components[d];l=Math.max(l,m.codingStyleParameters.decompositionLevelsCount)}var n=new Int32Array(l+1);for(c=0;l>=c;++c){var o=0;for(d=0;k>d;++d){var p=i.components[d].resolutions;c=c;c++){for(;ed;d++){var a=i.components[d];if(!(c>a.codingStyleParameters.decompositionLevelsCount)){var f=a.resolutions[c],h=f.precinctParameters.numprecincts;if(!(e>=h)){for(;j>b;){var m=g(f,e,b);return b++,m}b=0}}}d=0}e=0}}}function k(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=n(d),i=h,j=0,k=0,l=0,o=0,p=0;this.nextPacket=function(){for(;pl;l++){for(var a=d.components[l],b=a.codingStyleParameters.decompositionLevelsCount;b>=k;k++){var c=a.resolutions[k],n=h.components[l].resolutions[k],q=m(o,p,n,i,c);if(null!==q){for(;e>j;){var r=g(c,q,j);return j++,r}j=0}}k=0}l=0}o=0}}}function l(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=n(d),i=0,j=0,k=0,l=0,o=0;this.nextPacket=function(){for(;f>k;++k){for(var a=d.components[k],b=h.components[k],c=a.codingStyleParameters.decompositionLevelsCount;o=j;j++){var n=a.resolutions[j],p=b.resolutions[j],q=m(l,o,p,b,n);if(null!==q){for(;e>i;){var r=g(n,q,i);return i++,r}i=0}}j=0}l=0}o=0}}}function m(a,b,c,d,e){var f=a*d.minWidth,g=b*d.minHeight;if(f%c.width!==0||g%c.height!==0)return null;var h=g/c.width*e.precinctParameters.numprecinctswide;return f/c.height+h}function n(a){for(var b=a.components.length,c=Number.MAX_VALUE,d=Number.MAX_VALUE,e=0,f=0,g=new Array(b),h=0;b>h;h++){for(var i=a.components[h],j=i.codingStyleParameters.decompositionLevelsCount,k=new Array(j+1),l=Number.MAX_VALUE,m=Number.MAX_VALUE,n=0,o=0,p=1,q=j;q>=0;--q){var r=i.resolutions[q],s=p*r.precinctParameters.precinctWidth,t=p*r.precinctParameters.precinctHeight;l=Math.min(l,s),m=Math.min(m,t),n=Math.max(n,r.precinctParameters.numprecinctswide),o=Math.max(o,r.precinctParameters.numprecinctshigh),k[q]={width:s,height:t},p<<=1}c=Math.min(c,l),d=Math.min(d,m),e=Math.max(e,n),f=Math.max(f,o),g[h]={resolutions:k,minWidth:l,minHeight:m,maxNumWide:n,maxNumHigh:o}}return{components:g,minWidth:c,minHeight:d,maxNumWide:e,maxNumHigh:f}}function o(a){for(var b=a.SIZ,c=a.currentTile.index,g=a.tiles[c],m=b.Csiz,n=0;m>n;n++){for(var o=g.components[n],p=o.codingStyleParameters.decompositionLevelsCount,q=[],r=[],s=0;p>=s;s++){var t=d(a,o,s),u={},v=1<l;){if(c+k>=b.length)throw new Error("Unexpected EOF");var d=b[c+k];k++,m?(j=j<<7|d,l+=7,m=!1):(j=j<<8|d,l+=8),255===d&&(m=!0)}return l-=a,j>>>l&(1<a?a+3:(a=e(5),31>a?a+6:(a=e(7),a+37))}for(var j,k=0,l=0,m=!1,n=a.currentTile.index,o=a.tiles[n],p=a.COD.sopMarkerUsed,q=a.COD.ephMarkerUsed,r=o.packetsIterator;d>k;)try{h(),p&&f(145)&&g(4);var s=r.nextPacket();if(void 0===s)return;if(!e(1))continue;for(var t,u=s.layerNumber,x=[],y=0,z=s.codeblocks.length;z>y;y++){t=s.codeblocks[y];var A,B=t.precinct,C=t.cbx-B.cbxMin,D=t.cby-B.cbyMin,E=!1,F=!1;if(void 0!==t.included)E=!!e(1);else{B=t.precinct;var G,H;if(void 0!==B.inclusionTree)G=B.inclusionTree;else{var I=B.cbxMax-B.cbxMin+1,J=B.cbyMax-B.cbyMin+1;G=new w(I,J),H=new v(I,J),B.inclusionTree=G,B.zeroBitPlanesTree=H}for(G.reset(C,D,u);;){if(k>=b.length)return;if(G.isAboveThreshold())break;if(G.isKnown())G.nextLevel();else if(e(1)){if(G.setKnown(),G.isLeaf()){t.included=!0,E=F=!0;break}G.nextLevel()}else G.incrementValue()}}if(E){if(F){for(H=B.zeroBitPlanesTree,H.reset(C,D);;){if(k>=b.length)return;if(e(1)){if(A=!H.nextLevel())break}else H.incrementValue()}t.zeroBitPlanes=H.value}for(var K=i();e(1);)t.Lblock++;var L=log2(K),M=(1<K?L-1:L)+t.Lblock,N=e(M);x.push({codeblock:t,codingpasses:K,dataLength:N})}}for(h(),q&&f(146);x.length>0;){var O=x.shift();t=O.codeblock,void 0===t.data&&(t.data=[]),t.data.push({data:b,start:c+k,end:c+k+O.dataLength,codingpasses:O.codingpasses}),k+=O.dataLength}}catch(P){return}return k}function q(a,b,c,d,e,f,g,h){for(var i=d.tbx0,j=d.tby0,k=d.tbx1-d.tbx0,l=d.codeblocks,m="H"===d.type.charAt(0)?1:0,n="H"===d.type.charAt(1)?b:0,o=0,p=l.length;p>o;++o){var q=l[o],r=q.tbx1_-q.tbx0_,s=q.tby1_-q.tby0_;if(0!==r&&0!==s&&void 0!==q.data){var t,u;t=new x(r,s,q.subbandType,q.zeroBitPlanes,f),u=2;var v,w,y,z=q.data,A=0,B=0;for(v=0,w=z.length;w>v;v++)y=z[v],A+=y.end-y.start,B+=y.codingpasses;var C=new Int16Array(A),D=0;for(v=0,w=z.length;w>v;v++){y=z[v];var E=y.data.subarray(y.start,y.end);C.set(E,D),D+=E.length}var F=new ArithmeticDecoder(C,0,A);for(t.setDecoder(F),v=0;B>v;v++){switch(u){case 0:t.runSignificancePropogationPass();break;case 1:t.runMagnitudeRefinementPass();break;case 2:t.runCleanupPass(),h&&t.checkSegmentationSymbol()}u=(u+1)%3}var G,H,I,J=q.tbx0_-i+(q.tby0_-j)*k,K=t.coefficentsSign,L=t.coefficentsMagnitude,M=t.bitsDecoded,N=g?0:.5;D=0;var O="LL"!==d.type;for(v=0;s>v;v++){var P=J/k|0,Q=2*P*(b-k)+m+n;for(G=0;r>G;G++){if(H=L[D],0!==H){H=(H+N)*e,0!==K[D]&&(H=-H),I=M[D];var R=O?Q+(J<<1):J;g&&I>=f?a[R]=H:a[R]=H*(1<=r;r++){for(var s=d.resolutions[r],t=s.trx1-s.trx0,v=s.try1-s.try0,w=new Float32Array(t*v),x=0,y=s.subbands.length;y>x;x++){var B,C;i?(B=h[p].mu,C=h[p].epsilon,p++):(B=h[0].mu,C=h[0].epsilon+(r>0?1-r:0));var D=s.subbands[x],E=u[D.type],F=m?1:Math.pow(2,l+E-C)*(1+B/2048),G=j+C-1;q(w,t,v,D,F,G,m,k)}o.push({width:t,height:v,items:w})}var H=n.calculate(o,d.tcx0,d.tcy0);return{left:d.tcx0,top:d.tcy0,width:H.width,height:H.height,items:H.items}}function s(a){for(var b=a.SIZ,c=a.components,d=b.Csiz,e=[],f=0,g=a.tiles.length;g>f;f++){var h,i=a.tiles[f],j=[];for(h=0;d>h;h++)j[h]=r(a,i,h);var k=j[0],l=c[0].isSigned;if(l)var m=new Int16Array(k.items.length*d);else var m=new Uint16Array(k.items.length*d);var n,o,p,q,s,t,u,v,w,x,y,z,A,B,C,D={left:k.left,top:k.top,width:k.width,height:k.height,items:m},E=0;if(i.codingStyleDefaultParameters.multipleComponentTransform){var F=4===d,G=j[0].items,H=j[1].items,I=j[2].items,J=F?j[3].items:null;n=c[0].precision-8,o=(128<t;t++,E+=L)v=G[t]+o,w=H[t],x=I[t],z=v-(x+w>>2),y=z+x,A=z+w,m[E++]=0>=y?0:y>=p?255:y>>n,m[E++]=0>=z?0:z>=p?255:z>>n,m[E++]=0>=A?0:A>=p?255:A>>n;else for(t=0;u>t;t++,E+=L)v=G[t]+o,w=H[t],x=I[t],y=v+1.402*x,z=v-.34413*w-.71414*x,A=v+1.772*w,m[E++]=0>=y?0:y>=p?255:y>>n,m[E++]=0>=z?0:z>=p?255:z>>n,m[E++]=0>=A?0:A>=p?255:A>>n;if(F)for(t=0,E=3;u>t;t++,E+=4)B=J[t],m[E]=q>=B?0:B>=s?255:B+o>>n}else for(h=0;d>h;h++)if(8===c[h].precision){var M=j[h].items;for(n=c[h].precision-8,o=(128<t;t++)C=M[t],m[E]=q>=C?0:C>=p?255:C+o>>n,E+=d}else{var l=c[h].isSigned,M=j[h].items;if(l)for(E=h,t=0,u=M.length;u>t;t++)m[E]=M[t],E+=d;else{n=c[h].precision-8,o=(128<t;t++)C=M[t],m[E]=Math.max(Math.min(C+o,N),0),E+=d}}e.push(D)}return e}function t(a,b){for(var c=a.SIZ,d=c.Csiz,e=a.tiles[b],f=0;d>f;f++){var g=e.components[f],h=void 0!==a.currentTile.QCC[f]?a.currentTile.QCC[f]:a.currentTile.QCD;g.quantizationParameters=h;var i=void 0!==a.currentTile.COC[f]?a.currentTile.COC[f]:a.currentTile.COD;g.codingStyleParameters=i}e.codingStyleDefaultParameters=a.currentTile.COD}var u={LL:0,LH:1,HL:1,HH:2};a.prototype={parse:function(a){var b=readUint16(a,0);if(65359===b)return void this.parseCodestream(a,0,a.length);for(var c=0,d=a.length;d>c;){var e=8,f=readUint32(a,c),g=readUint32(a,c+4);if(c+=e,1===f&&(f=4294967296*readUint32(a,c)+readUint32(a,c+4),c+=8,e+=8),0===f&&(f=d-c+e),e>f)throw new Error("JPX Error: Invalid box field size");var h=f-e,i=!0;switch(g){case 1785737832:i=!1;break;case 1668246642:var j=a[c];a[c+1],a[c+2];if(1===j){var k=readUint32(a,c+3);switch(k){case 16:case 17:case 18:break;default:warn("Unknown colorspace "+k)}}else 2===j&&info("ICC profile not supported");break;case 1785737827:this.parseCodestream(a,c,c+h);break;case 1783636e3:218793738!==readUint32(a,c)&&warn("Invalid JP2 signature");break;case 1783634458:case 1718909296:case 1920099697:case 1919251232:case 1768449138:break;default:var l=String.fromCharCode(g>>24&255,g>>16&255,g>>8&255,255&g);warn("Unsupported header type "+g+" ("+l+")")}i&&(c+=h)}},parseImageProperties:function(a){for(var b=a.getByte();b>=0;){var c=b;b=a.getByte();var d=c<<8|b;if(65361===d){a.skip(4);var e=a.getInt32()>>>0,f=a.getInt32()>>>0,g=a.getInt32()>>>0,h=a.getInt32()>>>0;a.skip(16);var i=a.getUint16();return this.width=e-g,this.height=f-h,this.componentsCount=i,void(this.bitsPerComponent=8)}}throw new Error("JPX Error: No size marker found in JPX stream")},parseCodestream:function(a,d,e){var f={};try{for(var g=!1,h=d;e>h+1;){var i=readUint16(a,h);h+=2;var j,k,l,m,n,q,r=0;switch(i){case 65359:f.mainHeader=!0;break;case 65497:break;case 65361:r=readUint16(a,h);var u={};u.Xsiz=readUint32(a,h+4),u.Ysiz=readUint32(a,h+8),u.XOsiz=readUint32(a,h+12),u.YOsiz=readUint32(a,h+16),u.XTsiz=readUint32(a,h+20),u.YTsiz=readUint32(a,h+24),u.XTOsiz=readUint32(a,h+28),u.YTOsiz=readUint32(a,h+32);var v=readUint16(a,h+36);u.Csiz=v;var w=[];j=h+38;for(var x=0;v>x;x++){var y={precision:(127&a[j])+1,isSigned:!!(128&a[j]),XRsiz:a[j+1],YRsiz:a[j+1]};b(y,u),w.push(y)}f.SIZ=u,f.components=w,c(f,w),f.QCC=[],f.COC=[];break;case 65372:r=readUint16(a,h);var z={};switch(j=h+2,k=a[j++],31&k){case 0:m=8,n=!0;break;case 1:m=16,n=!1;break;case 2:m=16,n=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+k)}for(z.noQuantization=8===m,z.scalarExpounded=n,z.guardBits=k>>5,l=[];r+h>j;){var A={};8===m?(A.epsilon=a[j++]>>3,A.mu=0):(A.epsilon=a[j]>>3,A.mu=(7&a[j])<<8|a[j+1],j+=2),l.push(A)}z.SPqcds=l,f.mainHeader?f.QCD=z:(f.currentTile.QCD=z,f.currentTile.QCC=[]);break;case 65373:r=readUint16(a,h);var B={};j=h+2;var C;switch(f.SIZ.Csiz<257?C=a[j++]:(C=readUint16(a,j),j+=2),k=a[j++],31&k){case 0:m=8,n=!0;break;case 1:m=16,n=!1;break;case 2:m=16,n=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+k)}for(B.noQuantization=8===m,B.scalarExpounded=n,B.guardBits=k>>5,l=[];r+h>j;)A={},8===m?(A.epsilon=a[j++]>>3,A.mu=0):(A.epsilon=a[j]>>3,A.mu=(7&a[j])<<8|a[j+1],j+=2),l.push(A);B.SPqcds=l,f.mainHeader?f.QCC[C]=B:f.currentTile.QCC[C]=B;break;case 65362:r=readUint16(a,h);var D={};j=h+2;var E=a[j++];D.entropyCoderWithCustomPrecincts=!!(1&E),D.sopMarkerUsed=!!(2&E),D.ephMarkerUsed=!!(4&E),D.progressionOrder=a[j++],D.layersCount=readUint16(a,j),j+=2,D.multipleComponentTransform=a[j++],D.decompositionLevelsCount=a[j++],D.xcb=(15&a[j++])+2,D.ycb=(15&a[j++])+2;var F=a[j++];if(D.selectiveArithmeticCodingBypass=!!(1&F),D.resetContextProbabilities=!!(2&F),D.terminationOnEachCodingPass=!!(4&F),D.verticalyStripe=!!(8&F),D.predictableTermination=!!(16&F),D.segmentationSymbolUsed=!!(32&F),D.reversibleTransformation=a[j++],D.entropyCoderWithCustomPrecincts){for(var G=[];r+h>j;){var H=a[j++];G.push({PPx:15&H,PPy:H>>4})}D.precinctsSizes=G}var I=[];if(D.selectiveArithmeticCodingBypass&&I.push("selectiveArithmeticCodingBypass"),D.resetContextProbabilities&&I.push("resetContextProbabilities"),D.terminationOnEachCodingPass&&I.push("terminationOnEachCodingPass"),D.verticalyStripe&&I.push("verticalyStripe"),D.predictableTermination&&I.push("predictableTermination"),I.length>0)throw g=!0,new Error("JPX Error: Unsupported COD options ("+I.join(", ")+")");f.mainHeader?f.COD=D:(f.currentTile.COD=D,f.currentTile.COC=[]);break;case 65424:r=readUint16(a,h),q={},q.index=readUint16(a,h+2),q.length=readUint32(a,h+4),q.dataEnd=q.length+h-2,q.partIndex=a[h+8],q.partsCount=a[h+9],f.mainHeader=!1,0===q.partIndex&&(q.COD=f.COD,q.COC=f.COC.slice(0),q.QCD=f.QCD,q.QCC=f.QCC.slice(0)),f.currentTile=q;break;case 65427:q=f.currentTile,0===q.partIndex&&(t(f,q.index),o(f)),r=q.dataEnd-h,p(f,a,h,r);break;case 65365:case 65367:case 65368:case 65380:r=readUint16(a,h);break;case 65363:throw new Error("JPX Error: Codestream code 0xFF53 (COC) is not implemented");default:throw new Error("JPX Error: Unknown codestream code: "+i.toString(16))}h+=r}}catch(J){if(g||this.failOnCorruptedImage)throw J;warn("Trying to recover from "+J.message)}this.tiles=s(f),this.width=f.SIZ.Xsiz-f.SIZ.XOsiz,this.height=f.SIZ.Ysiz-f.SIZ.YOsiz,this.componentsCount=f.SIZ.Csiz}};var v=function(){function a(a,b){var c=log2(Math.max(a,b))+1;this.levels=[];for(var d=0;c>d;d++){var e={width:a,height:b,items:[]};this.levels.push(e),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b){for(var c,d=0,e=0;d>=1,b>>=1,d++}d--,c=this.levels[d],c.items[c.index]=e,this.currentLevel=d,delete this.value},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]++},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];return a--,0>a?(this.value=c,!1):(this.currentLevel=a,b=this.levels[a],b.items[b.index]=c,!0)}},a}(),w=function(){function a(a,b){var c=log2(Math.max(a,b))+1;this.levels=[];for(var d=0;c>d;d++){for(var e=new Uint8Array(a*b),f=new Uint8Array(a*b),g=0,h=e.length;h>g;g++)e[g]=0,f[g]=0;var i={width:a,height:b,items:e,status:f};this.levels.push(i),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b,c){this.currentStopValue=c;for(var d=0;d>=1,b>>=1,d++}this.currentLevel=this.levels.length-1,this.minValue=this.levels[this.currentLevel].items[0]},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]=a.items[a.index]+1,a.items[a.index]>this.minValue&&(this.minValue=a.items[a.index])},nextLevel:function(){var a=this.currentLevel;if(a--,0>a)return!1;this.currentLevel=a;var b=this.levels[a];return b.items[b.index]this.minValue&&(this.minValue=b.items[b.index]),!0},isLeaf:function(){return 0===this.currentLevel},isAboveThreshold:function(){var a=this.currentLevel,b=this.levels[a];return b.items[b.index]>this.currentStopValue},isKnown:function(){var a=this.currentLevel,b=this.levels[a];return b.status[b.index]>0},setKnown:function(){var a=this.currentLevel,b=this.levels[a];b.status[b.index]=1}},a}(),x=function(){function a(a,b,c,g,h){this.width=a,this.height=b,this.contextLabelTable="HH"===c?f:"HL"===c?e:d;var i=a*b;this.neighborsSignificance=new Uint8Array(i),this.coefficentsSign=new Uint8Array(i),this.coefficentsMagnitude=h>14?new Uint32Array(i):h>6?new Uint16Array(i):new Uint8Array(i),this.processingFlags=new Uint8Array(i);var j=new Uint8Array(i);if(0!==g)for(var k=0;i>k;k++)j[k]=g;this.bitsDecoded=j,this.reset()}var b=17,c=18,d=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),e=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),f=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);return a.prototype={setDecoder:function(a){this.decoder=a},reset:function(){this.contexts=new Int8Array(19),this.contexts[0]=8,this.contexts[b]=92,this.contexts[c]=6},setNeighborsSignificance:function(a,b,c){var d,e=this.neighborsSignificance,f=this.width,g=this.height,h=b>0,i=f>b+1;a>0&&(d=c-f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),g>a+1&&(d=c+f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),h&&(e[c-1]+=1),i&&(e[c+1]+=1),e[c]|=128},runSignificancePropogationPass:function(){for(var a=this.decoder,b=this.width,c=this.height,d=this.coefficentsMagnitude,e=this.coefficentsSign,f=this.neighborsSignificance,g=this.processingFlags,h=this.contexts,i=this.contextLabelTable,j=this.bitsDecoded,k=-2,l=1,m=2,n=0;c>n;n+=4)for(var o=0;b>o;o++)for(var p=n*b+o,q=0;4>q;q++,p+=b){var r=n+q;if(r>=c)break;if(g[p]&=k,!d[p]&&f[p]){var s=i[f[p]],t=a.readBit(h,s);if(t){var u=this.decodeSignBit(r,o,p);e[p]=u,d[p]=1,this.setNeighborsSignificance(r,o,p),g[p]|=m}j[p]++,g[p]|=l}}},decodeSignBit:function(a,b,c){var d,e,f,g,h,i,j=this.width,k=this.height,l=this.coefficentsMagnitude,m=this.coefficentsSign;g=b>0&&0!==l[c-1],j>b+1&&0!==l[c+1]?(f=m[c+1],g?(e=m[c-1],d=1-f-e):d=1-f-f):g?(e=m[c-1],d=1-e-e):d=0;var n=3*d;return g=a>0&&0!==l[c-j],k>a+1&&0!==l[c+j]?(f=m[c+j],g?(e=m[c-j],d=1-f-e+n):d=1-f-f+n):g?(e=m[c-j],d=1-e-e+n):d=n,d>=0?(h=9+d,i=this.decoder.readBit(this.contexts,h)):(h=9-d,i=1^this.decoder.readBit(this.contexts,h)),i},runMagnitudeRefinementPass:function(){for(var a,b=this.decoder,c=this.width,d=this.height,e=this.coefficentsMagnitude,f=this.neighborsSignificance,g=this.contexts,h=this.bitsDecoded,i=this.processingFlags,j=1,k=2,l=c*d,m=4*c,n=0;l>n;n=a){a=Math.min(l,n+m);for(var o=0;c>o;o++)for(var p=n+o;a>p;p+=c)if(e[p]&&0===(i[p]&j)){var q=16;if(0!==(i[p]&k)){i[p]^=k;var r=127&f[p];q=0===r?15:14}var s=b.readBit(g,q);e[p]=e[p]<<1|s,h[p]++,i[p]|=j}}},runCleanupPass:function(){for(var a,d=this.decoder,e=this.width,f=this.height,g=this.neighborsSignificance,h=this.coefficentsMagnitude,i=this.coefficentsSign,j=this.contexts,k=this.contextLabelTable,l=this.bitsDecoded,m=this.processingFlags,n=1,o=2,p=e,q=2*e,r=3*e,s=0;f>s;s=a){a=Math.min(s+4,f);for(var t=s*e,u=f>s+3,v=0;e>v;v++){var w,x=t+v,y=u&&0===m[x]&&0===m[x+p]&&0===m[x+q]&&0===m[x+r]&&0===g[x]&&0===g[x+p]&&0===g[x+q]&&0===g[x+r],z=0,A=x,B=s;if(y){var C=d.readBit(j,c);if(!C){l[x]++,l[x+p]++,l[x+q]++,l[x+r]++;continue}z=d.readBit(j,b)<<1|d.readBit(j,b),0!==z&&(B=s+z,A+=z*e),w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o,A=x;for(var D=s;B>=D;D++,A+=e)l[A]++;z++}for(B=s+z;a>B;B++,A+=e)if(!h[A]&&0===(m[A]&n)){var E=k[g[A]],F=d.readBit(j,E);1===F&&(w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o),l[A]++}}}},checkSegmentationSymbol:function(){var a=this.decoder,c=this.contexts,d=a.readBit(c,b)<<3|a.readBit(c,b)<<2|a.readBit(c,b)<<1|a.readBit(c,b);if(10!==d)throw new Error("JPX Error: Invalid segmentation symbol")}},a}(),y=function(){function a(){}return a.prototype.calculate=function(a,b,c){for(var d=a[0],e=1,f=a.length;f>e;e++)d=this.iterate(d,a[e],b,c);return d},a.prototype.extend=function(a,b,c){var d=b-1,e=b+1,f=b+c-2,g=b+c;a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d]=a[e],a[g]=a[f]},a.prototype.iterate=function(a,b,c,d){var e,f,g,h,i,j,k=a.width,l=a.height,m=a.items,n=b.width,o=b.height,p=b.items;for(g=0,e=0;l>e;e++)for(h=2*e*n,f=0;k>f;f++,g++,h+=2)p[h]=m[g];m=a.items=null;var q=4,r=new Float32Array(n+2*q);if(1===n){if(0!==(1&c))for(j=0,g=0;o>j;j++,g+=n)p[g]*=.5}else for(j=0,g=0;o>j;j++,g+=n)r.set(p.subarray(g,g+n),q),this.extend(r,q,n),this.filter(r,q,n),p.set(r.subarray(q,q+n),g);var s=16,t=[];for(e=0;s>e;e++)t.push(new Float32Array(o+2*q));var u,v=0;if(a=q+o,1===o){if(0!==(1&d))for(i=0;n>i;i++)p[i]*=.5}else for(i=0;n>i;i++){if(0===v){for(s=Math.min(n-i,s),g=i,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)t[u][h]=p[g+u];v=s}v--;var w=t[v];if(this.extend(w,q,o),this.filter(w,q,o),0===v)for(g=i-s+1,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)p[g+u]=t[u][h]}return{width:n,height:o,items:p}},a}(),z=function(){function a(){y.call(this)}return a.prototype=Object.create(y.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f,g,h,i=-1.586134342059924,j=-.052980118572961,k=.882911075530934,l=.443506852043971,m=1.230174104914001,n=1/m;for(e=b-3,f=d+4;f--;e+=2)a[e]*=n;for(e=b-2,g=l*a[e-1],f=d+3;f--&&(h=l*a[e+1],a[e]=m*a[e]-g-h,f--);e+=2)e+=2,g=l*a[e+1],a[e]=m*a[e]-g-h;for(e=b-1,g=k*a[e-1],f=d+2;f--&&(h=k*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=k*a[e+1],a[e]-=g+h;for(e=b,g=j*a[e-1],f=d+1;f--&&(h=j*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=j*a[e+1],a[e]-=g+h;if(0!==d)for(e=b+1,g=i*a[e-1],f=d;f--&&(h=i*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=i*a[e+1],a[e]-=g+h},a}(),A=function(){function a(){y.call(this)}return a.prototype=Object.create(y.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f;for(e=b,f=d+1;f--;e+=2)a[e]-=a[e-1]+a[e+1]+2>>2;for(e=b+1,f=d;f--;e+=2)a[e]+=a[e-1]+a[e+1]>>1},a}();return a}(),ArithmeticDecoder=function(){function a(a,b,c){this.data=a,this.bp=b,this.dataEnd=c,this.chigh=a[b],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}var b=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];return a.prototype={byteIn:function(){var a=this.data,b=this.bp;if(255===a[b]){var c=a[b+1];c>143?(this.clow+=65280,this.ct=8):(b++,this.clow+=a[b]<<9,this.ct=7,this.bp=b)}else b++,this.clow+=b65535&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(a,c){var d,e=a[c]>>1,f=1&a[c],g=b[e],h=g.qe,i=this.a-h;if(this.chighi?(i=h,d=f,e=g.nmps):(i=h,d=1^f,1===g.switchFlag&&(f=d),e=g.nlps);else{if(this.chigh-=h,0!==(32768&i))return this.a=i,f;h>i?(d=1^f,1===g.switchFlag&&(f=d),e=g.nlps):(d=f,e=g.nmps)}do{0===this.ct&&this.byteIn(),i<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--}while(0===(32768&i));return this.a=i,a[c]=e<<1|f,d}},a}(),globalScope="undefined"==typeof window?this:window,isWorker="undefined"==typeof window,FONT_IDENTITY_MATRIX=[.001,0,0,.001,0,0],TextRenderingMode={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},AnnotationType={WIDGET:1,TEXT:2,LINK:3},StreamType={UNKNOWN:0,FLATE:1,LZW:2,DCT:3,JPX:4,JBIG:5,A85:6,AHX:7,CCF:8,RL:9},FontType={UNKNOWN:0,TYPE1:1,TYPE1C:2,CIDFONTTYPE0:3,CIDFONTTYPE0C:4,TRUETYPE:5,CIDFONTTYPE2:6,TYPE3:7,OPENTYPE:8,TYPE0:9,MMTYPE1:10};globalScope.PDFJS||(globalScope.PDFJS={}),globalScope.PDFJS.pdfBug=!1,PDFJS.VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var OPS=PDFJS.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},UNSUPPORTED_FEATURES=PDFJS.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",smask:"smask",shadingPattern:"shadingPattern",font:"font"},UnsupportedManager=PDFJS.UnsupportedManager=function(){var a=[];return{listen:function(b){a.push(b)},notify:function(b){warn('Unsupported feature "'+b+'"');for(var c=0,d=a.length;d>c;c++)a[c](b)}}}();PDFJS.isValidUrl=isValidUrl,PDFJS.shadow=shadow;var PasswordResponses=PDFJS.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},PasswordException=function(){function a(a,b){this.name="PasswordException",this.message=a,this.code=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.PasswordException=PasswordException;var UnknownErrorException=function(){function a(a,b){this.name="UnknownErrorException",this.message=a,this.details=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnknownErrorException=UnknownErrorException;var InvalidPDFException=function(){function a(a){this.name="InvalidPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.InvalidPDFException=InvalidPDFException;var MissingPDFException=function(){function a(a){this.name="MissingPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.MissingPDFException=MissingPDFException;var UnexpectedResponseException=function(){function a(a,b){this.name="UnexpectedResponseException",this.message=a,this.status=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnexpectedResponseException=UnexpectedResponseException;var NotImplementedException=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="NotImplementedException",a.constructor=a,a}(),MissingDataException=function(){function a(a,b){this.begin=a,this.end=b,this.message="Missing data ["+a+", "+b+")"}return a.prototype=new Error,a.prototype.name="MissingDataException",a.constructor=a,a}(),XRefParseException=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="XRefParseException",a.constructor=a,a}();Object.defineProperty(PDFJS,"isLittleEndian",{configurable:!0,get:function(){return shadow(PDFJS,"isLittleEndian",isLittleEndian())}}),Object.defineProperty(PDFJS,"hasCanvasTypedArrays",{configurable:!0,get:function(){return shadow(PDFJS,"hasCanvasTypedArrays",hasCanvasTypedArrays())}});var Uint32ArrayView=function(){function a(a,b){this.buffer=a,this.byteLength=a.length,this.length=void 0===b?this.byteLength>>2:b,c(this.length)}function b(a){return{get:function(){var b=this.buffer,c=a<<2;return(b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24)>>>0},set:function(b){var c=this.buffer,d=a<<2;c[d]=255&b,c[d+1]=b>>8&255,c[d+2]=b>>16&255,c[d+3]=b>>>24&255}}}function c(c){for(;c>d;)Object.defineProperty(a.prototype,d,b(d)),d++}a.prototype=Object.create(null);var d=0;return a}(),IDENTITY_MATRIX=[1,0,0,1,0,0],Util=PDFJS.Util=function(){function a(){}var b=["rgb(",0,",",0,",",0,")"];return a.makeCssRgb=function(a,c,d){return b[1]=a,b[3]=c,b[5]=d,b.join("")},a.transform=function(a,b){return[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],a[0]*b[4]+a[2]*b[5]+a[4],a[1]*b[4]+a[3]*b[5]+a[5]]},a.applyTransform=function(a,b){var c=a[0]*b[0]+a[1]*b[2]+b[4],d=a[0]*b[1]+a[1]*b[3]+b[5];return[c,d]},a.applyInverseTransform=function(a,b){var c=b[0]*b[3]-b[1]*b[2],d=(a[0]*b[3]-a[1]*b[2]+b[2]*b[5]-b[4]*b[3])/c,e=(-a[0]*b[1]+a[1]*b[0]+b[4]*b[1]-b[5]*b[0])/c;return[d,e]},a.getAxialAlignedBoundingBox=function(b,c){var d=a.applyTransform(b,c),e=a.applyTransform(b.slice(2,4),c),f=a.applyTransform([b[0],b[3]],c),g=a.applyTransform([b[2],b[1]],c);return[Math.min(d[0],e[0],f[0],g[0]),Math.min(d[1],e[1],f[1],g[1]),Math.max(d[0],e[0],f[0],g[0]),Math.max(d[1],e[1],f[1],g[1])]},a.inverseTransform=function(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[4]*a[3])/b,(a[4]*a[1]-a[5]*a[0])/b]},a.apply3dTransform=function(a,b){return[a[0]*b[0]+a[1]*b[1]+a[2]*b[2],a[3]*b[0]+a[4]*b[1]+a[5]*b[2],a[6]*b[0]+a[7]*b[1]+a[8]*b[2]]},a.singularValueDecompose2dScale=function(a){var b=[a[0],a[2],a[1],a[3]],c=a[0]*b[0]+a[1]*b[2],d=a[0]*b[1]+a[1]*b[3],e=a[2]*b[0]+a[3]*b[2],f=a[2]*b[1]+a[3]*b[3],g=(c+f)/2,h=Math.sqrt((c+f)*(c+f)-4*(c*f-e*d))/2,i=g+h||1,j=g-h||1;return[Math.sqrt(i),Math.sqrt(j)]},a.normalizeRect=function(a){var b=a.slice(0);return a[0]>a[2]&&(b[0]=a[2],b[2]=a[0]),a[1]>a[3]&&(b[1]=a[3],b[3]=a[1]),b},a.intersect=function(b,c){function d(a,b){return a-b}var e=[b[0],b[2],c[0],c[2]].sort(d),f=[b[1],b[3],c[1],c[3]].sort(d),g=[];return b=a.normalizeRect(b),c=a.normalizeRect(c),e[0]===b[0]&&e[1]===c[0]||e[0]===c[0]&&e[1]===b[0]?(g[0]=e[1],g[2]=e[2],f[0]===b[1]&&f[1]===c[1]||f[0]===c[1]&&f[1]===b[1]?(g[1]=f[1],g[3]=f[2],g):!1):!1},a.sign=function(a){return 0>a?-1:1},a.appendToArray=function(a,b){Array.prototype.push.apply(a,b)},a.prependToArray=function(a,b){Array.prototype.unshift.apply(a,b)},a.extendObj=function(a,b){for(var c in b)a[c]=b[c]},a.getInheritableProperty=function(a,b){for(;a&&!a.has(b);)a=a.get("Parent");return a?a.get(b):null},a.inherit=function(a,b,c){a.prototype=Object.create(b.prototype),a.prototype.constructor=a;for(var d in c)a.prototype[d]=c[d]},a.loadScript=function(a,b){var c=document.createElement("script"),d=!1;c.setAttribute("src",a),b&&(c.onload=function(){d||b(),d=!0}),document.getElementsByTagName("head")[0].appendChild(c)},a}(),PageViewport=PDFJS.PageViewport=function(){function a(a,b,c,d,e,f){this.viewBox=a,this.scale=b,this.rotation=c,this.offsetX=d,this.offsetY=e;var g,h,i,j,k=(a[2]+a[0])/2,l=(a[3]+a[1])/2;switch(c%=360,c=0>c?c+360:c){case 180:g=-1,h=0,i=0,j=1;break;case 90:g=0,h=1,i=1,j=0;break;case 270:g=0,h=-1,i=-1,j=0;break;default:g=1,h=0,i=0,j=-1}f&&(i=-i,j=-j);var m,n,o,p;0===g?(m=Math.abs(l-a[1])*b+d,n=Math.abs(k-a[0])*b+e,o=Math.abs(a[3]-a[1])*b,p=Math.abs(a[2]-a[0])*b):(m=Math.abs(k-a[0])*b+d,n=Math.abs(l-a[1])*b+e,o=Math.abs(a[2]-a[0])*b,p=Math.abs(a[3]-a[1])*b),this.transform=[g*b,h*b,i*b,j*b,m-g*b*k-i*b*l,n-h*b*k-j*b*l],this.width=o,this.height=p,this.fontScale=b}return a.prototype={clone:function(b){b=b||{};var c="scale"in b?b.scale:this.scale,d="rotation"in b?b.rotation:this.rotation;return new a(this.viewBox.slice(),c,d,this.offsetX,this.offsetY,b.dontFlip)},convertToViewportPoint:function(a,b){return Util.applyTransform([a,b],this.transform)},convertToViewportRectangle:function(a){var b=Util.applyTransform([a[0],a[1]],this.transform),c=Util.applyTransform([a[2],a[3]],this.transform);return[b[0],b[1],c[0],c[1]]},convertToPdfPoint:function(a,b){return Util.applyInverseTransform([a,b],this.transform)}},a}(),PDFStringTranslateTable=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];PDFJS.createPromiseCapability=createPromiseCapability,function(){function a(a){this._status=b,this._handlers=[];try{a.call(this,this._resolve.bind(this),this._reject.bind(this))}catch(c){this._reject(c)}}if(globalScope.Promise)return"function"!=typeof globalScope.Promise.all&&(globalScope.Promise.all=function(a){var b,c,d=0,e=[],f=new globalScope.Promise(function(a,d){b=a,c=d});return a.forEach(function(a,f){d++,a.then(function(a){e[f]=a,d--,0===d&&b(e)},c)}),0===d&&b(e),f}),"function"!=typeof globalScope.Promise.resolve&&(globalScope.Promise.resolve=function(a){return new globalScope.Promise(function(b){b(a)})}),"function"!=typeof globalScope.Promise.reject&&(globalScope.Promise.reject=function(a){return new globalScope.Promise(function(b,c){c(a)})}),void("function"!=typeof globalScope.Promise.prototype["catch"]&&(globalScope.Promise.prototype["catch"]=function(a){return globalScope.Promise.prototype.then(void 0,a)}));var b=0,c=1,d=2,e=500,f={handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(a){a._status!==b&&(this.handlers=this.handlers.concat(a._handlers),a._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(var a=1,b=Date.now()+a;this.handlers.length>0;){var e=this.handlers.shift(),f=e.thisPromise._status,g=e.thisPromise._value;try{f===c?"function"==typeof e.onResolve&&(g=e.onResolve(g)):"function"==typeof e.onReject&&(g=e.onReject(g),f=c,e.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(e.thisPromise))}catch(h){f=d,g=h}if(e.nextPromise._updateStatus(f,g),Date.now()>=b)break}return this.handlers.length>0?void setTimeout(this.runHandlers.bind(this),0):void(this.running=!1)},addUnhandledRejection:function(a){this.unhandledRejections.push({promise:a,time:Date.now()}),this.scheduleRejectionCheck()},removeUnhandeledRejection:function(a){a._unhandledRejection=!1;for(var b=0;be){var c=this.unhandledRejections[b].promise._value,d="Unhandled rejection: "+c;c.stack&&(d+="\n"+c.stack),warn(d),this.unhandledRejections.splice(b),b--}this.unhandledRejections.length&&this.scheduleRejectionCheck()}.bind(this),e))}};a.all=function(b){function c(a){g._status!==d&&(i=[],f(a))}var e,f,g=new a(function(a,b){e=a,f=b}),h=b.length,i=[];if(0===h)return e(i),g;for(var j=0,k=b.length;k>j;++j){var l=b[j],m=function(a){return function(b){g._status!==d&&(i[a]=b,h--,0===h&&e(i))}}(j);a.isPromise(l)?l.then(m,c):m(l)}return g},a.isPromise=function(a){return a&&"function"==typeof a.then},a.resolve=function(b){return new a(function(a){a(b)})},a.reject=function(b){return new a(function(a,c){c(b)})},a.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null,_updateStatus:function(b,e){if(this._status!==c&&this._status!==d){if(b===c&&a.isPromise(e))return void e.then(this._updateStatus.bind(this,c),this._updateStatus.bind(this,d));this._status=b,this._value=e,b===d&&0===this._handlers.length&&(this._unhandledRejection=!0,f.addUnhandledRejection(this)),f.scheduleHandlers(this)}},_resolve:function(a){this._updateStatus(c,a)},_reject:function(a){this._updateStatus(d,a)},then:function(b,c){var d=new a(function(a,b){this.resolve=a,this.reject=b});return this._handlers.push({thisPromise:this,onResolve:b,onReject:c,nextPromise:d}),f.scheduleHandlers(this),d},catch:function(a){return this.then(void 0,a)}},globalScope.Promise=a}();var StatTimer=function(){function a(a,b,c){for(;a.lengthb;++b){var g=d[b].name;g.length>f&&(f=g.length)}for(b=0,c=d.length;c>b;++b){var h=d[b],i=h.end-h.start;e+=a(h.name," ",f)+" "+i+"ms\n"}return e}},b}();PDFJS.createBlob=function(a,b){if("undefined"!=typeof Blob)return new Blob([a],{type:b});var c=new MozBlobBuilder;return c.append(a),c.getBlob(b)},PDFJS.createObjectURL=function(){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return function(b,c){if(!PDFJS.disableCreateObjectURL&&"undefined"!=typeof URL&&URL.createObjectURL){var d=PDFJS.createBlob(b,c);return URL.createObjectURL(d)}for(var e="data:"+c+";base64,",f=0,g=b.length;g>f;f+=3){var h=255&b[f],i=255&b[f+1],j=255&b[f+2],k=h>>2,l=(3&h)<<4|i>>4,m=g>f+1?(15&i)<<2|j>>6:64,n=g>f+2?63&j:64;e+=a[k]+a[l]+a[m]+a[n]}return e}}(),MessageHandler.prototype={on:function(a,b,c){var d=this.actionHandler;d[a]&&error('There is already an actionName called "'+a+'"'),d[a]=[b,c]},send:function(a,b,c){var d={action:a,data:b};this.postMessage(d,c)},sendWithPromise:function(a,b,c){var d=this.callbackIndex++,e={action:a,data:b,callbackId:d},f=createPromiseCapability();this.callbacksCapabilities[d]=f;try{this.postMessage(e,c)}catch(g){f.reject(g)}return f.promise},postMessage:function(a,b){b&&this.postMessageTransfers?this.comObj.postMessage(a,b):this.comObj.postMessage(a)}};var OpenJPEG=function(Module){Module=Module||{};var Module;if(!Module)Module=(typeof OpenJPEG!=="undefined"?OpenJPEG:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?function(x){dump(x)}:function(x){}}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=function(title){document.title=title}}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=function(){}}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:function(value){tempRet0=value},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(stackTop){STACKTOP=stackTop},getNativeTypeSize:function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}},getNativeFieldSize:function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr},getAlignSize:function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)},dynCall:function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}},functionPointers:[],addFunction:function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret},alignMemory:function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret},makeBigInt:function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret},stringToC:function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret}};var toC={string:JSfuncs["stringToC"],array:JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||4e8;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32};Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;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["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+25664;__ATINIT__.push();allocate([131,192,202,161,69,182,251,63,127,251,58,112,206,136,234,63,127,251,58,112,206,136,234,63,131,192,202,161,69,182,251,63,225,122,20,174,71,225,252,63,94,186,73,12,2,43,249,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,6,64,0,0,0,0,0,128,21,64,92,143,194,245,40,92,37,64,215,163,112,61,10,87,53,64,246,40,92,143,194,85,69,64,133,235,81,184,30,85,85,64,102,102,102,102,102,86,101,64,205,204,204,204,204,84,117,64,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,173,250,92,109,197,254,230,63,86,125,174,182,98,127,237,63,199,75,55,137,65,96,249,63,242,210,77,98,16,88,8,64,250,126,106,188,116,19,24,64,133,235,81,184,30,5,40,64,0,0,0,0,0,0,56,64,92,143,194,245,40,252,71,64,236,81,184,30,133,251,87,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,113,61,10,215,163,112,255,63,104,145,237,124,63,181,16,64,117,147,24,4,86,206,32,64,102,102,102,102,102,230,48,64,236,81,184,30,133,235,64,64,92,143,194,245,40,236,80,64,154,153,153,153,153,233,96,64,154,153,153,153,153,233,112,64,51,51,51,51,51,231,128,64,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,164,112,61,10,215,163,0,64,236,81,184,30,133,235,14,64,119,190,159,26,47,157,32,64,174,71,225,122,20,46,49,64,123,20,174,71,225,90,65,64,246,40,92,143,194,101,81,64,154,153,153,153,153,105,97,64,154,153,153,153,153,105,113,64,154,153,153,153,153,105,129,64,0,0,0,0,0,0,0,0,4,0,0,0,67,80,82,76,0,0,0,0,0,0,0,0,76,82,67,80,0,0,0,0,3,0,0,0,80,67,82,76,0,0,0,0,1,0,0,0,82,76,67,80,0,0,0,0,2,0,0,0,82,80,67,76,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,144,255,0,0,12,0,0,0,1,0,0,0,82,255,0,0,20,0,0,0,2,0,0,0,83,255,0,0,20,0,0,0,3,0,0,0,94,255,0,0,20,0,0,0,4,0,0,0,92,255,0,0,20,0,0,0,5,0,0,0,93,255,0,0,20,0,0,0,6,0,0,0,95,255,0,0,20,0,0,0,7,0,0,0,81,255,0,0,2,0,0,0,8,0,0,0,85,255,0,0,4,0,0,0,9,0,0,0,87,255,0,0,4,0,0,0,10,0,0,0,88,255,0,0,16,0,0,0,11,0,0,0,96,255,0,0,4,0,0,0,12,0,0,0,97,255,0,0,16,0,0,0,13,0,0,0,145,255,0,0,0,0,0,0,0,0,0,0,99,255,0,0,4,0,0,0,14,0,0,0,100,255,0,0,20,0,0,0,15,0,0,0,116,255,0,0,20,0,0,0,16,0,0,0,120,255,0,0,4,0,0,0,17,0,0,0,117,255,0,0,20,0,0,0,18,0,0,0,119,255,0,0,20,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,32,32,80,106,20,0,0,0,112,121,116,102,21,0,0,0,104,50,112,106,22,0,0,0,114,100,104,105,23,0,0,0,114,108,111,99,24,0,0,0,99,99,112,98,25,0,0,0,114,108,99,112,26,0,0,0,112,97,109,99,27,0,0,0,102,101,100,99,28,0,0,0,1,86,0,0,0,0,0,0,164,4,0,0,180,4,0,0,1,86,0,0,1,0,0,0,180,4,0,0,164,4,0,0,1,52,0,0,0,0,0,0,196,4,0,0,68,5,0,0,1,52,0,0,1,0,0,0,212,4,0,0,84,5,0,0,1,24,0,0,0,0,0,0,228,4,0,0,164,5,0,0,1,24,0,0,1,0,0,0,244,4,0,0,180,5,0,0,193,10,0,0,0,0,0,0,4,5,0,0,4,6,0,0,193,10,0,0,1,0,0,0,20,5,0,0,20,6,0,0,33,5,0,0,0,0,0,0,36,5,0,0,36,8,0,0,33,5,0,0,1,0,0,0,52,5,0,0,52,8,0,0,33,2,0,0,0,0,0,0,68,9,0,0,164,8,0,0,33,2,0,0,1,0,0,0,84,9,0,0,180,8,0,0,1,86,0,0,0,0,0,0,100,5,0,0,84,5,0,0,1,86,0,0,1,0,0,0,116,5,0,0,68,5,0,0,1,84,0,0,0,0,0,0,132,5,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,5,0,0,84,6,0,0,1,72,0,0,0,0,0,0,164,5,0,0,68,6,0,0,1,72,0,0,1,0,0,0,180,5,0,0,84,6,0,0,1,56,0,0,0,0,0,0,196,5,0,0,68,6,0,0,1,56,0,0,1,0,0,0,212,5,0,0,84,6,0,0,1,48,0,0,0,0,0,0,228,5,0,0,164,6,0,0,1,48,0,0,1,0,0,0,244,5,0,0,180,6,0,0,1,36,0,0,0,0,0,0,4,6,0,0,196,6,0,0,1,36,0,0,1,0,0,0,20,6,0,0,212,6,0,0,1,28,0,0,0,0,0,0,36,6,0,0,4,7,0,0,1,28,0,0,1,0,0,0,52,6,0,0,20,7,0,0,1,22,0,0,0,0,0,0,36,8,0,0,36,7,0,0,1,22,0,0,1,0,0,0,52,8,0,0,52,7,0,0,1,86,0,0,0,0,0,0,100,6,0,0,84,6,0,0,1,86,0,0,1,0,0,0,116,6,0,0,68,6,0,0,1,84,0,0,0,0,0,0,132,6,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,6,0,0,84,6,0,0,1,81,0,0,0,0,0,0,164,6,0,0,100,6,0,0,1,81,0,0,1,0,0,0,180,6,0,0,116,6,0,0,1,72,0,0,0,0,0,0,196,6,0,0,132,6,0,0,1,72,0,0,1,0,0,0,212,6,0,0,148,6,0,0,1,56,0,0,0,0,0,0,228,6,0,0,164,6,0,0,1,56,0,0,1,0,0,0,244,6,0,0,180,6,0,0,1,52,0,0,0,0,0,0,4,7,0,0,196,6,0,0,1,52,0,0,1,0,0,0,20,7,0,0,212,6,0,0,1,48,0,0,0,0,0,0,36,7,0,0,228,6,0,0,1,48,0,0,1,0,0,0,52,7,0,0,244,6,0,0,1,40,0,0,0,0,0,0,68,7,0,0,228,6,0,0,1,40,0,0,1,0,0,0,84,7,0,0,244,6,0,0,1,36,0,0,0,0,0,0,100,7,0,0,4,7,0,0,1,36,0,0,1,0,0,0,116,7,0,0,20,7,0,0,1,34,0,0,0,0,0,0,132,7,0,0,36,7,0,0,1,34,0,0,1,0,0,0,148,7,0,0,52,7,0,0,1,28,0,0,0,0,0,0,164,7,0,0,68,7,0,0,1,28,0,0,1,0,0,0,180,7,0,0,84,7,0,0,1,24,0,0,0,0,0,0,196,7,0,0,100,7,0,0,1,24,0,0,1,0,0,0,212,7,0,0,116,7,0,0,1,22,0,0,0,0,0,0,228,7,0,0,132,7,0,0,1,22,0,0,1,0,0,0,244,7,0,0,148,7,0,0,1,20,0,0,0,0,0,0,4,8,0,0,164,7,0,0,1,20,0,0,1,0,0,0,20,8,0,0,180,7,0,0,1,18,0,0,0,0,0,0,36,8,0,0,196,7,0,0,1,18,0,0,1,0,0,0,52,8,0,0,212,7,0,0,1,17,0,0,0,0,0,0,68,8,0,0,228,7,0,0,1,17,0,0,1,0,0,0,84,8,0,0,244,7,0,0,193,10,0,0,0,0,0,0,100,8,0,0,4,8,0,0,193,10,0,0,1,0,0,0,116,8,0,0,20,8,0,0,193,9,0,0,0,0,0,0,132,8,0,0,36,8,0,0,193,9,0,0,1,0,0,0,148,8,0,0,52,8,0,0,161,8,0,0,0,0,0,0,164,8,0,0,68,8,0,0,161,8,0,0,1,0,0,0,180,8,0,0,84,8,0,0,33,5,0,0,0,0,0,0,196,8,0,0,100,8,0,0,33,5,0,0,1,0,0,0,212,8,0,0,116,8,0,0,65,4,0,0,0,0,0,0,228,8,0,0,132,8,0,0,65,4,0,0,1,0,0,0,244,8,0,0,148,8,0,0,161,2,0,0,0,0,0,0,4,9,0,0,164,8,0,0,161,2,0,0,1,0,0,0,20,9,0,0,180,8,0,0,33,2,0,0,0,0,0,0,36,9,0,0,196,8,0,0,33,2,0,0,1,0,0,0,52,9,0,0,212,8,0,0,65,1,0,0,0,0,0,0,68,9,0,0,228,8,0,0,65,1,0,0,1,0,0,0,84,9,0,0,244,8,0,0,17,1,0,0,0,0,0,0,100,9,0,0,4,9,0,0,17,1,0,0,1,0,0,0,116,9,0,0,20,9,0,0,133,0,0,0,0,0,0,0,132,9,0,0,36,9,0,0,133,0,0,0,1,0,0,0,148,9,0,0,52,9,0,0,73,0,0,0,0,0,0,0,164,9,0,0,68,9,0,0,73,0,0,0,1,0,0,0,180,9,0,0,84,9,0,0,37,0,0,0,0,0,0,0,196,9,0,0,100,9,0,0,37,0,0,0,1,0,0,0,212,9,0,0,116,9,0,0,21,0,0,0,0,0,0,0,228,9,0,0,132,9,0,0,21,0,0,0,1,0,0,0,244,9,0,0,148,9,0,0,9,0,0,0,0,0,0,0,4,10,0,0,164,9,0,0,9,0,0,0,1,0,0,0,20,10,0,0,180,9,0,0,5,0,0,0,0,0,0,0,36,10,0,0,196,9,0,0,5,0,0,0,1,0,0,0,52,10,0,0,212,9,0,0,1,0,0,0,0,0,0,0,36,10,0,0,228,9,0,0,1,0,0,0,1,0,0,0,52,10,0,0,244,9,0,0,1,86,0,0,0,0,0,0,68,10,0,0,68,10,0,0,1,86,0,0,1,0,0,0,84,10,0,0,84,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,11,0,0,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,38,94,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,64,4,32,0,32,2,128,0,128,8,16,0,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,0,3,128,4,0,6,128,7,0,9,128,10,0,12,128,13,0,15,128,16,0,18,128,19,0,21,128,22,0,24,128,25,0,27,128,28,0,30,128,31,0,33,128,34,0,36,128,37,0,39,128,40,0,42,128,43,0,45,128,46,0,48,128,49,0,51,128,52,0,54,128,55,0,57,128,58,0,60,128,61,0,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,0,81,128,82,0,84,128,85,0,87,128,88,0,90,128,91,0,93,128,94,0,96,128,97,0,99,128,100,0,102,128,103,0,105,128,106,0,108,128,109,0,111,128,112,0,114,128,115,0,117,128,118,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,128,38,128,39,128,40,128,41,0,43,0,44,0,45,128,46,128,47,0,49,0,50,128,51,128,52,0,54,0,55,128,56,0,58,0,59,128,60,0,62,128,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,128,81,0,83,128,84,0,86,0,88,128,89,0,91,0,93,128,94,128,96,0,98,0,100,128,101,128,103,0,105,0,107,0,109,128,110,128,112,128,114,128,116,0,118,0,120,0,122,0,124,0,126,0,24,128,23,0,23,128,22,0,22,128,21,0,21,128,20,0,20,128,19,0,19,128,18,0,18,128,17,0,17,128,16,0,16,128,15,0,15,128,14,0,14,128,13,0,13,128,12,0,12,128,11,0,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,0,5,128,4,0,4,128,3,0,3,128,2,0,2,128,1,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,1,128,1,0,2,128,2,0,3,128,3,0,4,128,4,0,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,0,11,128,11,0,12,128,12,0,13,128,13,0,14,128,14,0,15,128,15,0,16,128,16,0,17,128,17,0,18,128,18,0,19,128,19,0,20,128,20,0,21,128,21,0,22,128,22,0,23,128,23,0,32,0,31,0,30,0,29,0,28,0,27,128,26,128,25,128,24,128,23,0,23,0,22,0,21,128,20,128,19,0,19,0,18,128,17,128,16,0,16,0,15,128,14,0,14,0,13,128,12,0,12,128,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,128,5,0,5,128,4,0,4,0,4,128,3,0,3,0,3,128,2,128,2,0,2,0,2,128,1,128,1,0,1,0,1,0,1,128,0,128,0,128,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,116,104,101,32,100,101,99,111,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,104,101,97,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,33,0,91,69,82,82,79,82,93,32,37,115,0,83,116,114,101,97,109,32,114,101,97,99,104,101,100,32,105,116,115,32,101,110,100,32,33,10,0,69,114,114,111,114,32,111,110,32,119,114,105,116,105,110,103,32,115,116,114,101,97,109,33,10,0,83,116,114,101,97,109,32,101,114,114,111,114,33,10,0,50,46,49,46,48,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,115,101,116,117,112,95,100,101,99,111,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,114,101,97,100,95,104,101,97,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,119,98,0,114,98,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,44,37,100,93,10,0,68,101,112,114,101,99,97,116,101,100,32,102,105,101,108,100,115,32,99,112,95,99,105,110,101,109,97,32,111,114,32,99,112,95,114,115,105,122,32,97,114,101,32,117,115,101,100,10,80,108,101,97,115,101,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32,111,110,108,121,32,116,104,101,32,114,115,105,122,32,102,105,101,108,100,10,83,101,101,32,111,112,101,110,106,112,101,103,46,104,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,10,0,84,104,101,32,100,101,115,105,114,101,100,32,109,97,120,105,109,117,109,32,99,111,100,101,115,116,114,101,97,109,32,115,105,122,101,32,104,97,115,32,108,105,109,105,116,101,100,10,97,116,32,108,101,97,115,116,32,111,110,101,32,111,102,32,116,104,101,32,100,101,115,105,114,101,100,32,113,117,97,108,105,116,121,32,108,97,121,101,114,115,10,0,74,80,69,71,32,50,48,48,48,32,83,99,97,108,97,98,108,101,32,68,105,103,105,116,97,108,32,67,105,110,101,109,97,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,49,32,115,105,110,103,108,101,32,113,117,97,108,105,116,121,32,108,97,121,101,114,45,62,32,78,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,45,62,32,82,97,116,101,32,111,102,32,116,104,101,32,108,97,115,116,32,108,97,121,101,114,32,40,37,51,46,49,102,41,32,119,105,108,108,32,98,101,32,117,115,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,60,61,32,53,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,53,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,54,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,51,48,50,48,56,51,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,48,52,49,54,54,54,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,51,32,99,111,109,112,111,110,101,110,116,115,45,62,32,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,115,105,103,110,101,100,0,117,110,115,105,103,110,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,80,114,101,99,105,115,105,111,110,32,111,102,32,101,97,99,104,32,99,111,109,112,111,110,101,110,116,32,115,104,97,108,108,32,98,101,32,49,50,32,98,105,116,115,32,117,110,115,105,103,110,101,100,45,62,32,65,116,32,108,101,97,115,116,32,99,111,109,112,111,110,101,110,116,32,37,100,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,32,98,105,116,115,44,32,37,115,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,50,48,52,56,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,49,48,56,48,10,45,62,32,73,110,112,117,116,32,105,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,52,48,57,54,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,50,49,54,48,10,45,62,32,73,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,52,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,76,111,110,103,32,84,101,114,109,32,83,116,111,114,97,103,101,32,112,114,111,102,105,108,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,66,114,111,97,100,99,97,115,116,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,73,77,70,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,97,114,116,45,50,32,112,114,111,102,105,108,101,32,100,101,102,105,110,101,100,10,98,117,116,32,110,111,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,46,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,85,110,115,117,112,112,111,114,116,101,100,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,117,115,101,114,32,101,110,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,37,115,37,115,0,67,114,101,97,116,101,100,32,98,121,32,79,112,101,110,74,80,69,71,32,118,101,114,115,105,111,110,32,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,104,101,99,107,105,110,103,32,116,104,101,32,112,111,99,32,118,97,108,117,101,115,46,10,0,77,105,115,115,105,110,103,32,112,97,99,107,101,116,115,32,112,111,115,115,105,98,108,101,32,108,111,115,115,32,111,102,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,101,109,112,32,98,117,102,102,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,70,97,105,108,101,100,32,116,111,32,105,110,118,101,114,115,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,110,111,114,109,115,32,10,0,70,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,106,50,107,32,109,99,116,32,101,110,99,111,100,105,110,103,10,0,67,97,110,110,111,116,32,112,101,114,102,111,114,109,32,77,67,84,32,111,110,32,99,111,109,112,111,110,101,110,116,115,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,46,32,68,105,115,97,98,108,105,110,103,32,77,67,84,46,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,10,0,73,110,99,111,110,115,105,115,116,101,110,116,32,109,97,114,107,101,114,32,115,105,122,101,10,0,77,97,114,107,101,114,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,32,119,105,116,104,32,105,116,115,32,112,111,115,105,116,105,111,110,10,0,77,97,114,107,101,114,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,104,101,97,100,101,114,10,0,78,111,116,32,115,117,114,101,32,104,111,119,32,116,104,97,116,32,104,97,112,112,101,110,101,100,46,10,0,70,97,105,108,32,116,111,32,114,101,97,100,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,40,37,35,120,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,116,108,32,109,97,114,107,101,114,10,0,84,105,108,101,32,112,97,114,116,32,108,101,110,103,116,104,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,79,84,32,109,97,114,107,101,114,10,0,111,112,106,95,106,50,107,95,97,112,112,108,121,95,110,98,95,116,105,108,101,95,112,97,114,116,115,95,99,111,114,114,101,99,116,105,111,110,32,101,114,114,111,114,10,0,78,111,110,32,99,111,110,102,111,114,109,97,110,116,32,99,111,100,101,115,116,114,101,97,109,32,84,80,115,111,116,61,61,84,78,115,111,116,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,84,32,109,97,114,107,101,114,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,84,32,100,97,116,97,10,0,67,97,110,110,111,116,32,100,101,99,111,100,101,32,116,105,108,101,44,32,109,101,109,111,114,121,32,101,114,114,111,114,10,0,72,101,97,100,101,114,32,111,102,32,116,105,108,101,32,37,100,32,47,32,37,100,32,104,97,115,32,98,101,101,110,32,114,101,97,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,46,10,0,78,111,32,69,79,67,32,109,97,114,107,101,114,46,32,80,111,115,115,105,98,108,121,32,97,32,116,114,117,110,99,97,116,101,100,32,115,116,114,101,97,109,10,0,83,116,114,101,97,109,32,100,111,101,115,32,110,111,116,32,101,110,100,32,119,105,116,104,32,69,79,67,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,44,32,101,120,112,101,99,116,101,100,32,83,79,84,10,0,78,101,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,98,101,102,111,114,101,32,98,101,103,105,110,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,99,111,100,101,115,116,114,101,97,109,0,78,111,32,100,101,99,111,100,101,100,32,97,114,101,97,32,112,97,114,97,109,101,116,101,114,115,44,32,115,101,116,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,116,111,32,116,104,101,32,119,104,111,108,101,32,105,109,97,103,101,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,83,105,122,101,32,120,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,119,61,37,100,41,46,10,0,83,105,122,101,32,121,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,104,61,37,100,41,46,10,0,83,101,116,116,105,110,103,32,100,101,99,111,100,105,110,103,32,97,114,101,97,32,116,111,32,37,100,44,37,100,44,37,100,44,37,100,10,0,87,114,111,110,103,32,102,108,97,103,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,102,111,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,116,120,48,61,37,100,44,32,116,121,48,61,37,100,10,0,9,32,116,100,120,61,37,100,44,32,116,100,121,61,37,100,10,0,9,32,116,119,61,37,100,44,32,116,104,61,37,100,10,0,125,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,100,101,120,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,77,97,105,110,32,104,101,97,100,101,114,32,115,116,97,114,116,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,9,32,77,97,105,110,32,104,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([97,100,101,114,32,101,110,100,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,0,9,32,77,97,114,107,101,114,32,108,105,115,116,58,32,123,10,0,9,9,32,116,121,112,101,61,37,35,120,44,32,112,111,115,61,37,108,108,105,44,32,108,101,110,61,37,100,10,0,9,32,125,10,0,9,32,84,105,108,101,32,105,110,100,101,120,58,32,123,10,0,9,9,32,110,98,32,111,102,32,116,105,108,101,45,112,97,114,116,32,105,110,32,116,105,108,101,32,91,37,100,93,61,37,100,10,0,9,9,9,32,116,105,108,101,45,112,97,114,116,91,37,100,93,58,32,115,116,97,114,95,112,111,115,61,37,108,108,105,44,32,101,110,100,95,104,101,97,100,101,114,61,37,108,108,105,44,32,101,110,100,95,112,111,115,61,37,108,108,105,46,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,73,109,97,103,101,32,105,110,102,111,32,123,10,0,37,115,32,120,48,61,37,100,44,32,121,48,61,37,100,10,0,37,115,32,120,49,61,37,100,44,32,121,49,61,37,100,10,0,37,115,32,110,117,109,99,111,109,112,115,61,37,100,10,0,37,115,9,32,99,111,109,112,111,110,101,110,116,32,37,100,32,123,10,0,37,115,125,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,99,111,109,112,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,37,115,32,100,120,61,37,100,44,32,100,121,61,37,100,10,0,37,115,32,112,114,101,99,61,37,100,10,0,37,115,32,115,103,110,100,61,37,100,10,0,87,101,32,110,101,101,100,32,97,110,32,105,109,97,103,101,32,112,114,101,118,105,111,117,115,108,121,32,99,114,101,97,116,101,100,46,10,0,84,105,108,101,32,105,110,100,101,120,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,117,115,101,114,32,105,115,32,105,110,99,111,114,114,101,99,116,32,37,100,32,40,109,97,120,32,61,32,37,100,41,32,10,0,82,101,115,111,108,117,116,105,111,110,32,102,97,99,116,111,114,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,109,97,120,105,109,117,109,32,114,101,115,111,108,117,116,105,111,110,32,105,110,32,116,104,101,32,99,111,109,112,111,110,101,110,116,46,10,0,84,104,101,32,103,105,118,101,110,32,116,105,108,101,32,105,110,100,101,120,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,46,0,116,105,108,101,32,110,117,109,98,101,114,32,37,100,32,47,32,37,100,10,0,69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,100,97,116,97,46,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,101,110,99,111,100,101,32,97,108,108,32,116,105,108,101,115,10,0,83,105,122,101,32,109,105,115,109,97,116,99,104,32,98,101,116,119,101,101,110,32,116,105,108,101,32,100,97,116,97,32,97,110,100,32,115,101,110,116,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,105,109,97,103,101,32,104,101,97,100,101,114,46,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,114,101,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,111,115,116,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,105,108,101,32,67,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,66,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,84,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,79,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,116,104,101,32,67,79,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,80,79,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,84,76,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,81,99,100,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,104,101,32,83,73,90,32,109,97,114,107,101,114,10,0,78,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,105,115,32,116,111,111,32,104,105,103,104,32,105,110,32,99,111,109,112,97,114,105,115,111,110,32,116,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,105,108,101,115,10,0,67,97,110,110,111,116,32,101,110,99,111,100,101,32,116,105,108,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,111,110,101,32,116,105,108,101,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,101,101,107,32,102,117,110,99,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,84,105,108,101,32,37,100,47,37,100,32,104,97,115,32,98,101,101,110,32,100,101,99,111,100,101,100,46,10,0,73,109,97,103,101,32,100,97,116,97,32,104,97,115,32,98,101,101,110,32,117,112,100,97,116,101,100,32,119,105,116,104,32,116,105,108,101,32,37,100,46,10,10,0,84,105,108,101,32,114,101,97,100,44,32,100,101,99,111,100,101,100,32,97,110,100,32,117,112,100,97,116,101,100,32,105,115,32,110,111,116,32,116,104,101,32,100,101,115,105,114,101,100,32,111,110,101,32,40,37,100,32,118,115,32,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,115,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,9,32,100,101,102,97,117,108,116,32,116,105,108,101,32,123,10,0,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,32,112,114,103,61,37,35,120,10,0,9,9,32,110,117,109,108,97,121,101,114,115,61,37,100,10,0,9,9,32,109,99,116,61,37,120,10,0,9,9,32,99,111,109,112,32,37,100,32,123,10,0,9,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,9,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,61,37,100,10,0,9,9,9,32,99,98,108,107,119,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,104,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,115,116,121,61,37,35,120,10,0,9,9,9,32,113,109,102,98,105,100,61,37,100,10,0,9,9,9,32,112,114,101,99,99,105,110,116,115,105,122,101,32,40,119,44,104,41,61,0,40,37,100,44,37,100,41,32,0,9,9,9,32,113,110,116,115,116,121,61,37,100,10,0,9,9,9,32,110,117,109,103,98,105,116,115,61,37,100,10,0,9,9,9,32,115,116,101,112,115,105,122,101,115,32,40,109,44,101,41,61,0,9,9,9,32,114,111,105,115,104,105,102,116,61,37,100,10,0,9,9,32,125,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,79,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,115,116,97,103,101,115,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,100,97,116,97,32,115,112,97,110,110,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,99,111,108,108,101,99,116,105,111,110,115,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,111,116,104,101,114,32,116,104,97,110,32,97,114,114,97,121,32,100,101,99,111,114,114,101,108,97,116,105,111,110,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32,105,110,100,105,120,32,115,104,117,102,102,108,101,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,111,117,116,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,105,110,100,105,120,101,115,10,0,67,114,114,111,114,32,114,101,97,100,105,110,103,32,67,66,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,99,116,32,100,97,116,97,32,119,105,116,104,105,110,32,109,117,108,116,105,112,108,101,32,77,67,84,32,114,101,99,111,114,100,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,77,67,84,32,109,97,114,107,101,114,115,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,82,71,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,58,32,112,97,99,107,101,116,32,104,101,97,100,101,114,32,104,97,118,101,32,98,101,101,110,32,112,114,101,118,105,111,117,115,108,121,32,102,111,117,110,100,32,105,110,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,40,80,80,77,32,109,97,114,107,101,114,41,46,10,0,90,112,112,116,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,77,32,109,97,114,107,101,114,10,0,90,112,112,109,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,84,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,105,108,108,101,103,97,108,32,45,62,32,37,100,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,110,117,109,98,101,114,32,111,102,32,112,97,114,97,109,101,116,101,114,115,32,40,32,37,100,32,118,115,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,101,103,97,116,105,118,101,32,111,114,32,122,101,114,111,32,105,109,97,103,101,32,115,105,122,101,32,40,37,100,32,120,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,110,118,97,108,105,100,32,116,105,108,101,32,115,105,122,101,32,40,116,100,120,58,32,37,100,44,32,116,100,121,58,32,37,100,41,10,0,80,114,101,118,101,110,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,32,40,120,49,58,32,37,100,44,32,121,49,58,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,108,108,101,103,97,108,32,116,105,108,101,32,111,102,102,115,101,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,83,73,90,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32,99,111,109,112,32,61,32,37,100,32,58,32,100,120,61,37,117,32,100,121,61,37,117,10,32,40,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,50,53,53,32,97,99,99,111,114,100,105,110,103,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,41,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,115,32,58,32,37,117,32,120,32,37,117,32,40,109,97,120,105,109,117,109,32,102,105,120,101,100,32,98,121,32,106,112,101,103,50,48,48,48,32,110,111,114,109,32,105,115,32,54,53,53,51,53,32,116,105,108,101,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,79,67,32,109,97,114,107,101,114,10,0,84,111,111,32,109,97,110,121,32,80,79,67,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,67,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,58,32,37,100,44,32,114,101,103,97,114,100,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,81,99,100,32,111,114,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,87,104,105,108,101,32,114,101,97,100,105,110,103,32,67,67,80,95,81,78,84,83,84,89,32,101,108,101,109,101,110,116,32,105,110,115,105,100,101,32,81,67,68,32,111,114,32,81,67,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,44,32,110,117,109,98,101,114,32,111,102,32,115,117,98,98,97,110,100,115,32,40,37,100,41,32,105,115,32,103,114,101,97,116,101,114,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,46,32,83,111,32,119,101,32,108,105,109,105,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,115,116,111,114,101,100,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,32,97,110,100,32,115,107,105,112,32,116,104,101,32,114,101,115,116,46,32,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,82,71,78,32,109,97,114,107,101,114,10,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,32,105,110,32,82,71,78,32,40,37,100,32,119,104,101,110,32,116,104,101,114,101,32,97,114,101,32,111,110,108,121,32,37,100,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,32,40,98,97,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,102,111,114,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,44,32,109,97,120,32,118,97,108,117,101,32,105,115,32,115,101,116,32,105,110,32,111,112,101,110,106,112,101,103,46,104,32,97,116,32,37,100,10,0,69,114,114,111,114,32,100,101,99,111,100,105,110,103,32,99,111,109,112,111,110,101,110,116,32,37,100,46,10,84,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,116,111,32,114,101,109,111,118,101,32,105,115,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,111,102,32,116,104,105,115,32,99,111,109,112,111,110,101,110,116,10,77,111,100,105,102,121,32,116,104,101,32,99,112,95,114,101,100,117,99,101,32,112,97,114,97,109,101,116,101,114,46,10,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,44,32,73,110,118,97,108,105,100,32,99,98,108,107,119,47,99,98,108,107,104,32,99,111,109,98,105,110,97,116,105,111,110,10,0,73,110,118,97,108,105,100,32,112,114,101,99,105,110,99,116,32,115,105,122,101,10,0,67,79,68,32,109,97,114,107,101,114,32,97,108,114,101,97,100,121,32,114,101,97,100,46,32,78,111,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,67,79,68,32,109,97,114,107,101,114,32,112,101,114,32,116,105,108,101,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,83,99,111,100,32,118,97,108,117,101,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,112,114,111,103,114,101,115,115,105,111,110,32,111,114,100,101,114,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,105,110,32,67,79,68,32,109,97,114,107,101,114,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,45,54,53,53,51,53,93,10,0,73,110,118,97,108,105,100,32,116,105,108,101,32,110,117,109,98,101,114,32,37,100,10,0,69,109,112,116,121,32,83,79,84,32,109,97,114,107,101,114,32,100,101,116,101,99,116,101,100,58,32,80,115,111,116,61,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,105,115,32,110,111,116,32,99,111,114,114,101,99,116,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,58,32,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,108,101,45,112,97,114,116,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,44,32,119,101,32,97,115,115,117,109,105,110,103,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,116,105,108,101,45,112,97,114,116,32,111,102,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,46,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,104,101,97,100,101,114,41,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,83,79,84,32,109,97,114,107,101,114,46,32,84,105,108,101,32,105,110,100,101,120,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,10,0,83,116,97,114,116,32,116,111,32,114,101,97,100,32,106,50,107,32,109,97,105,110,32,104,101,97,100,101,114,32,40,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,109,104,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,97,32,83,79,67,32,109,97,114,107,101,114,32,10,0,65,32,109,97,114,107,101,114,32,73,68,32,119,97,115,32,101,120,112,101,99,116,101,100,32,40,48,120,102,102,45,45,41,32,105,110,115,116,101,97,100,32,111,102,32,37,46,56,120,10,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,32,109,97,114,107,101,114,32,104,97,118,101,32,98,101,101,110,32,100,101,116,101,99,116,101,100,32,97,110,100,32,103,101,110,101,114,97,116,101,100,32,101,114,114,111,114,46,10,0,77,97,114,107,101,114,32,104,97,110,100,108,101,114,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,10,0,114,101,113,117,105,114,101,100,32,83,73,90,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,67,79,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,81,67,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,98,121,116,101,115,32,116,111,32,114,101,97,100,32,78,112,112,109,10,0,67,111,114,114,117,112,116,101,100,32,80,80,77,32,109,97,114,107,101,114,115,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,77,32,100,97,116,97,10,0,77,97,105,110,32,104,101,97,100,101,114,32,104,97,115,32,98,101,101,110,32,99,111,114,114,101,99,116,108,121,32,100,101,99,111,100,101,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,105,110,32,116,104,101,32,74,80,50,32,102,105,108,101,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,119,104,105,108,101,32,115,101,116,116,105,110,103,32,117,112,32,74,80,50,32,101,110,99,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,104,101,110,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,117,110,107,110,111,119,110,32,101,110,117,109,99,115,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,110,111,116,32,101,110,111,117,103,104,32,105,109,97,103,101,32,99,111,109,112,111,110,101,110,116,115,32,102,111,114,32,97,110,32,97,117,116,111,109,97,116,105,99,32,99,100,101,102,32,98,111,120,32,99,114,101,97,116,105,111,110,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,112,111,115,105,116,105,111,110,32,99,111,110,102,108,105,99,116,115,32,119,105,116,104,32,99,111,108,111,114,32,99,104,97,110,110,101,108,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,77,117,108,116,105,112,108,101,32,97,108,112,104,97,32,99,104,97,110,110,101,108,115,32,115,112,101,99,105,102,105,101,100,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,74,80,50,32,98,111,120,32,119,104,105,99,104,32,97,114,101,32,97,102,116,101,114,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,110,111,116,32,98,101,32,114,101,97,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,111,108,100,32,74,80,50,32,72,101,97,100,101,114,32,100,97,116,97,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,102,116,121,112,32,100,97,116,97,10,0,69,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,102,116,121,112,32,100,97,116,97,32,116,111,32,115,116,114,101,97,109,10,0,70,97,105,108,101,100,32,116,111,32,115,101,101,107,32,105,110,32,116,104,101,32,115,116,114,101,97,109,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,102,105,108,101,32,104,101,97,100,101,114,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,115,105,122,101,115,32,104,105,103,104,101,114,32,116,104,97,110,32,50,94,51,50,10,0,98,97,100,32,112,108,97,99,101,100,32,106,112,101,103,32,99,111,100,101,115,116,114,101,97,109,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,117,110,100,101,102,105,110,101,100,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,40,37,120,41,10,0,70,111,117,110,100,32,97,32,109,105,115,112,108,97,99,101,100,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,111,117,116,115,105,100,101,32,106,112,50,104,32,98,111,120,10,0,74,80,69,71,50,48,48,48,32,72,101,97,100,101,114,32,98,111,120,32,110,111,116,32,114,101,97,100,32,121,101,116,44,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,107,105,112,112,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,73,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,102,111,114,32,98,111,120,32,39,37,99,37,99,37,99,37,99,39,46,32,78,101,101,100,32,37,100,32,98,121,116,101,115,44,32,37,100,32,98,121,116,101,115,32,114,101,109,97,105,110,105,110,103,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,98,111,120,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,114,101,97,100,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,102,105,114,115,116,32,98,111,120,32,109,117,115,116,32,98,101,32,74,80,69,71,32,50,48,48,48,32,115,105,103,110,97,116,117,114,101,32,98,111,120,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,115,101,99,111,110,100,32,98,111,120,32,109,117,115,116,32,98,101,32,102,105,108,101,32,116,121,112,101,32,98,111,120,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,68,69,70,32,98,111,120,46,10,0,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,32,100,101,115,99,114,105,112,116,105,111,110,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,32,105,110,32,67,68,69,70,32,98,111,120,46,10,0,78,101,101,100,32,116,111,32,114,101,97,100,32,97,32,80,67,76,82,32,98,111,120,32,98,101,102,111,114,101,32,116,104,101,32,67,77,65,80,32,98,111,120,46,10,0,79,110,108,121,32,111,110,101,32,67,77,65,80,32,98,111,120,32,105,115,32,97,108,108,111,119,101,100,46,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,77,65,80,32,98,111,120,46,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,37,100,32,101,110,116,114,105,101,115,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,48,32,112,97,108,101,116,116,101,32,99,111,108,117,109,110,115,10,0,65,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,108,116,104,111,117,103,104,32,66,80,67,32,103,105,118,101,110,32,98,121,32,116,104,101,32,73,72,68,82,32,98,111,120,32,40,37,100,41,32,105,110,100,105,99,97,116,101,32,99,111,109,112,111,110,101,110,116,115,32,98,105,116,32,100,101,112,116,104,32,105,115,32,99,111,110,115,116,97,110,116,10,0,66,97,100,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,65,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,114,101,97,100,101,114,32,115,104,97,108,108,32,105,103,110,111,114,101,32,97,108,108,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,101,115,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,44,32,115,111,32,119,101,32,105,103,110,111,114,101,32,116,104,105,115,32,111,110,101,46,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,67,73,69,76,97,98,44,32,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,67,79,76,82,32,66,79,88,32,109,101,116,104,32,118,97,108,117,101,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,118,97,108,117,101,32,40,37,100,41,44,32,115,111,32,119,101,32,119,105,108,108,32,105,103,110,111,114,101,32,116,104,101,32,101,110,116,105,114,101,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,46,32,10,0,66,97,100,32,105,109,97,103,101,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,105,109,97,103,101,32,104,101,97,100,101,114,32,40,105,104,100,114,41,10,0,74,80,50,32,73,72,68,82,32,98,111,120,58,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,32,105,110,100,105,99,97,116,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,97,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,102,105,108,101,32,40,37,100,41,32,10,0,84,104,101,32,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,56,32,98,121,116,101,115,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,88,76,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,49,54,32,98,121,116,101,115,10,0,66,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,98,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,110,111,32,39,105,104,100,114,39,32,98,111,120,46,10,0,84,104,101,32,102,116,121,112,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,115,101,99,111,110,100,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,70,84,89,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,105,116,104,32,70,84,89,80,32,66,111,120,10,0,84,104,101,32,115,105,103,110,97,116,117,114,101,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,83,105,103,110,97,116,117,114,101,32,58,32,98,97,100,32,109,97,103,105,99,32,110,117,109,98,101,114,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,97,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,32,40,62,61,32,37,100,41,46,10,0,73,110,99,111,109,112,108,101,116,101,32,99,104,97,110,110,101,108,32,100,101,102,105,110,105,116,105,111,110,115,46,10,0,85,110,101,120,112,101,99,116,101,100,32,79,79,77,46,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,47,112,97,108,101,116,116,101,32,105,110,100,101,120,32,102,111,114,32,100,105,114,101,99,116,32,109,97,112,112,105,110,103,32,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,105,115,32,109,97,112,112,101,100,32,116,119,105,99,101,46,10,0,68,105,114,101,99,116,32,117,115,101,32,97,116,32,35,37,100,32,104,111,119,101,118,101,114,32,112,99,111,108,61,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,100,111,101,115,110,39,116,32,104,97,118,101,32,97,32,109,97,112,112,105,110,103,46,10,0,67,111,109,112,111,110,101,110,116,32,109,97,112,112,105,110,103,32,115,101,101,109,115,32,119,114,111,110,103,46,32,84,114,121,105,110,103,32,116,111,32,99,111,114,114,101,99,116,46,10,0,84,105,108,101,115,32,100,111,110,39,116,32,97,108,108,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,100,105,109,101,110,115,105,111,110,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,40,37,100,41,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,97,32,77,67,84,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,116,105,108,101,115,32,114,101,113,117,105,114,101,32,97,116,32,108,101,97,115,116,32,111,110,101,32,114,101,115,111,108,117,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,114,101,115,111,108,117,116,105,111,110,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,98,97,110,100,32,112,114,101,99,105,110,116,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,117,114,114,101,110,116,32,112,114,101,99,105,110,99,116,32,99,111,100,101,98,108,111,99,107,32,101,108,101,109,101,110,116,10,0,78,111,32,105,110,99,108,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,32,105,109,115,98,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,10,0,116,103,116,95,99,114,101,97,116,101,32,116,114,101,101,45,62,110,117,109,110,111,100,101,115,32,61,61,32,48,44,32,110,111,32,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,32,110,111,100,101,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,116,97,103,32,116,114,101,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,97,32,110,101,119,32,118,97,108,105,100,97,116,105,111,110,32,112,114,111,99,101,100,117,114,101,10,0,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,3,3,6,3,6,6,8,3,6,6,8,6,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,99,117,114,114,101,110,116,32,115,105,122,101,32,40,37,100,32,62,32,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,115,107,105,112,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+25118);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}Module["_i64Subtract"]=_i64Subtract;var _floorf=Math_floor;Module["_bitshift64Ashr"]=_bitshift64Ashr;var _SItoF=true;Module["_memset"]=_memset;var _BDtoILow=true;var _ceilf=Math_ceil;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}Module["_i64Add"]=_i64Add;var _floor=Math_floor;var _sqrt=Math_sqrt;var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}});if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||function(){};canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){Module["noExitRuntime"]=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){Module["noExitRuntime"]=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},xhrLoad:function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)},asyncLoad:function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(!noRunDep)addRunDependency("al "+url)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];return ret},getStr:function(){var ret=Pointer_stringify(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push(function(){Runtime.dynCall("vi",routine,[arg])});_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _llvm_pow_f64=Math_pow;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")}}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}var _BItoD=true;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE>2]=d;if((c[a+8>>2]|0)==16)k=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else k=c[a+12>>2]|0;g=(c[a+80>>2]|0)+16|0;h=(c[g>>2]|0)>>>0<257?1:2;j=h+1|0;if(j>>>0>d>>>0){Ub(e,1,14585,m)|0;e=0;i=m;return e|0}c[f>>2]=d-j;qb(b,l,h);d=c[l>>2]|0;if(d>>>0>=(c[g>>2]|0)>>>0){Ub(e,1,14611,m+8|0)|0;e=0;i=m;return e|0}qb(b+h|0,(c[k+5584>>2]|0)+(d*1080|0)|0,1);if(!(Fe(a,c[l>>2]|0,b+j|0,f,e)|0)){Ub(e,1,14585,m+16|0)|0;e=0;i=m;return e|0}if(!(c[f>>2]|0)){e=1;i=m;return e|0}Ub(e,1,14585,m+24|0)|0;e=0;i=m;return e|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+8|0;f=k+20|0;h=c[(c[a+80>>2]|0)+16>>2]|0;g=h>>>0<257?1:2;if((g+2|0)!=(d|0)){Ub(e,1,14502,k)|0;j=0;i=k;return j|0}if((c[a+8>>2]|0)==16)a=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else a=c[a+12>>2]|0;qb(b,f,g);qb(b+g|0,k+16|0,1);d=c[f>>2]|0;if(d>>>0>>0){qb(b+(g+1)|0,(c[a+5584>>2]|0)+(d*1080|0)+808|0,1);j=1;i=k;return j|0}else{c[j>>2]=d;c[j+4>>2]=h;Ub(e,1,14528,j)|0;j=0;i=k;return j|0}return 0}function he(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+12|0;c[f>>2]=d;if(!(Ee(a,0,b,f,e)|0)){Ub(e,1,14476,h)|0;g=0;i=h;return g|0}if(c[f>>2]|0){Ub(e,1,14476,h+8|0)|0;g=0;i=h;return g|0}if((c[a+8>>2]|0)==16)f=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else f=c[a+12>>2]|0;f=c[f+5584>>2]|0;d=a+80|0;if((c[(c[d>>2]|0)+16>>2]|0)>>>0<=1){g=1;i=h;return g|0}e=f+24|0;a=f+804|0;g=f+28|0;b=1;while(1){c[f+1104>>2]=c[e>>2];c[f+1884>>2]=c[a>>2];Ui(f+1108|0,g|0,776)|0;b=b+1|0;if(b>>>0>=(c[(c[d>>2]|0)+16>>2]|0)>>>0){f=1;break}else f=f+1080|0}i=h;return f|0}function ie(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+32|0;m=o+24|0;l=o+16|0;g=o+8|0;f=o;k=o+40|0;h=o+36|0;c[k>>2]=d;j=a+80|0;do{if((c[(c[j>>2]|0)+16>>2]|0)>>>0<257){if(d){qb(b,h,1);g=b+1|0;b=d+-1|0;break}Ub(e,1,14129,f)|0;n=0;i=o;return n|0}else{if(d>>>0>=2){qb(b,h,2);g=b+2|0;b=d+-2|0;break}Ub(e,1,14129,g)|0;n=0;i=o;return n|0}}while(0);c[k>>2]=b;f=c[h>>2]|0;b=c[(c[j>>2]|0)+16>>2]|0;if(f>>>0>=b>>>0){c[l>>2]=f;c[l+4>>2]=b;Ub(e,1,14155,l)|0;n=0;i=o;return n|0}if(!(Ee(a,f,g,k,e)|0)){Ub(e,1,14129,m)|0;n=0;i=o;return n|0}if(!(c[k>>2]|0)){n=1;i=o;return n|0}Ub(e,1,14129,n)|0;n=0;i=o;return n|0}function je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var 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;t=i;i=i+16|0;h=t+8|0;s=t+12|0;r=c[(c[b+80>>2]|0)+16>>2]|0;q=r>>>0<257?1:2;p=(q<<1)+5|0;g=(e>>>0)/(p>>>0)|0;if((g|0)==0|((e>>>0)%(p>>>0)|0|0)!=0){Ub(f,1,14085,t)|0;s=0;i=t;return s|0}if((c[b+8>>2]|0)==16)p=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else p=c[b+12>>2]|0;e=p+5636|0;b=a[e>>0]|0;if(!(b&4))o=0;else o=(c[p+420>>2]|0)+1|0;n=o+g|0;if(n>>>0>31){c[h>>2]=n;Ub(f,1,14111,h)|0;s=0;i=t;return s|0}a[e>>0]=b|4;if(o>>>0>>0){f=q+1|0;m=p+8|0;h=q+3|0;j=q|4;k=j+q|0;l=k+1|0;b=d;g=o;e=p+424+(o*148|0)|0;while(1){qb(b,e,1);qb(b+1|0,e+4|0,q);d=e+8|0;qb(b+f|0,d,2);u=c[d>>2]|0;o=c[m>>2]|0;c[d>>2]=u>>>0>>0?u:o;qb(b+h|0,e+12|0,1);d=e+16|0;qb(b+j|0,d,q);qb(b+k|0,s,1);c[e+36>>2]=c[s>>2];o=c[d>>2]|0;c[d>>2]=o>>>0>>0?o:r;g=g+1|0;if(g>>>0>=n>>>0)break;else{b=b+l|0;e=e+148|0}}}c[p+420>>2]=n+-1;u=1;i=t;return u|0}function ke(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+144|0;L=M+128|0;H=M+120|0;G=M+112|0;F=M+104|0;E=M+96|0;D=M+88|0;A=M+72|0;t=M+64|0;r=M+56|0;q=M+48|0;p=M+40|0;s=M+32|0;l=M+24|0;j=M+16|0;h=M+136|0;w=M+132|0;J=c[d+80>>2]|0;K=d+88|0;if(f>>>0<36){Ub(g,1,13440,M)|0;g=0;i=M;return g|0}I=f+-36|0;o=(I>>>0)/3|0;if((I>>>0)%3|0){Ub(g,1,13440,M+8|0)|0;g=0;i=M;return g|0}qb(e,h,2);b[K>>1]=c[h>>2];x=J+8|0;qb(e+2|0,x,4);B=J+12|0;qb(e+6|0,B,4);qb(e+10|0,J,4);n=J+4|0;qb(e+14|0,n,4);v=d+100|0;qb(e+18|0,v,4);z=d+104|0;qb(e+22|0,z,4);u=d+92|0;qb(e+26|0,u,4);y=d+96|0;qb(e+30|0,y,4);qb(e+34|0,h,2);k=e+36|0;f=c[h>>2]|0;if(f>>>0>=16385){c[j>>2]=f;Ub(g,1,13468,j)|0;g=0;i=M;return g|0}f=f&65535;I=J+16|0;c[I>>2]=f;if((f|0)!=(o|0)){c[l>>2]=f;c[l+4>>2]=o;Ub(g,1,13529,l)|0;g=0;i=M;return g|0}l=c[J>>2]|0;m=c[x>>2]|0;if(m>>>0>l>>>0){f=c[n>>2]|0;e=c[B>>2]|0;if(f>>>0>>0){h=c[v>>2]|0;j=c[z>>2]|0;if(!(_(j,h)|0)){c[p>>2]=h;c[p+4>>2]=j;Ub(g,1,13705,p)|0;g=0;i=M;return g|0}s=Zi(e|0,0,m|0,0)|0;if(!((s|0)==(_(e,m)|0)&(C|0)==0)){c[q>>2]=m;c[q+4>>2]=e;Ub(g,1,13766,q)|0;g=0;i=M;return g|0}m=c[u>>2]|0;p=Si(m|0,0,h|0,0)|0;q=C;n=c[y>>2]|0;s=Si(n|0,0,j|0,0)|0;if(m>>>0<=l>>>0?n>>>0<=f>>>0&(p|0-q)>>>0>l>>>0&(s|0-C)>>>0>f>>>0:0){e=Qc(o,52)|0;o=J+24|0;c[o>>2]=e;if(!e){c[I>>2]=0;Ub(g,1,13852,t)|0;g=0;i=M;return g|0}a:do{if(c[I>>2]|0){l=d+168|0;f=0;j=e;while(1){qb(k,w,1);c[j+24>>2]=(c[w>>2]&127)+1;c[j+32>>2]=(c[w>>2]|0)>>>7;qb(k+1|0,w,1);c[j>>2]=c[w>>2];qb(k+2|0,w,1);h=c[w>>2]|0;c[j+4>>2]=h;e=c[j>>2]|0;if((h+-1|0)>>>0>254|(e+-1|0)>>>0>254)break;c[j+36>>2]=0;c[j+40>>2]=c[l>>2];f=f+1|0;if(f>>>0>=(c[I>>2]|0)>>>0)break a;else{k=k+3|0;j=j+52|0}}c[A>>2]=f;c[A+4>>2]=e;c[A+8>>2]=h;Ub(g,1,13900,A)|0;g=0;i=M;return g|0}}while(0);m=c[u>>2]|0;l=c[v>>2]|0;k=((c[x>>2]|0)+-1-m+l|0)/(l|0)|0;c[d+112>>2]=k;j=c[y>>2]|0;h=c[z>>2]|0;e=((c[B>>2]|0)+-1-j+h|0)/(h|0)|0;c[d+116>>2]=e;if(!((e|0)==0|(k|0)==0)?k>>>0<=(65535/(e>>>0)|0)>>>0:0){n=_(k,e)|0;f=d+28|0;if(!(a[d+76>>0]&2)){c[f>>2]=0;c[d+32>>2]=0;c[d+36>>2]=k;c[d+40>>2]=e}else{c[f>>2]=(((c[f>>2]|0)-m|0)>>>0)/(l>>>0)|0;D=d+32|0;c[D>>2]=(((c[D>>2]|0)-j|0)>>>0)/(h>>>0)|0;D=d+36|0;c[D>>2]=((c[D>>2]|0)+-1-m+l|0)/(l|0)|0;D=d+40|0;c[D>>2]=((c[D>>2]|0)+-1-j+h|0)/(h|0)|0}D=Qc(n,5640)|0;k=d+164|0;c[k>>2]=D;if(!D){Ub(g,1,13852,E)|0;g=0;i=M;return g|0}E=Qc(c[I>>2]|0,1080)|0;e=d+12|0;c[(c[e>>2]|0)+5584>>2]=E;if(!E){Ub(g,1,13852,F)|0;g=0;i=M;return g|0}F=Qc(10,20)|0;f=c[e>>2]|0;c[f+5612>>2]=F;if(!F){Ub(g,1,13852,G)|0;g=0;i=M;return g|0}c[f+5620>>2]=10;G=Qc(10,20)|0;f=c[e>>2]|0;c[f+5624>>2]=G;if(!G){Ub(g,1,13852,H)|0;g=0;i=M;return g|0}c[f+5632>>2]=10;j=c[I>>2]|0;if(j){h=c[o>>2]|0;f=f+5584|0;e=0;do{if(!(c[h+(e*52|0)+32>>2]|0))c[(c[f>>2]|0)+(e*1080|0)+1076>>2]=1<<(c[h+(e*52|0)+24>>2]|0)+-1;e=e+1|0}while(e>>>0>>0)}b:do{if(n){f=c[k>>2]|0;H=Qc(j,1080)|0;c[f+5584>>2]=H;if(H){e=0;while(1){e=e+1|0;if(e>>>0>=n>>>0)break b;H=Qc(c[I>>2]|0,1080)|0;c[f+11224>>2]=H;if(!H)break;else f=f+5640|0}}Ub(g,1,13852,L)|0;g=0;i=M;return g|0}}while(0);c[d+8>>2]=4;_b(J,K);g=1;i=M;return g|0}c[D>>2]=k;c[D+4>>2]=e;Ub(g,1,14002,D)|0;g=0;i=M;return g|0}Ub(g,1,13808,r)|0;g=0;i=M;return g|0}}else{e=c[B>>2]|0;f=c[n>>2]|0}c[s>>2]=m-l;c[s+4>>2]=e-f;Ub(g,1,13643,s)|0;g=0;i=M;return g|0}function le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+32|0;a=f+12|0;if(d>>>0<2){Ub(e,1,13414,f)|0;e=0;i=f;return e|0}qb(b,f+16|0,1);qb(b+1|0,a,1);b=c[a>>2]|0;if(!(((d+-2|0)>>>0)%(((b>>>5&2)+2+(b>>>4&3)|0)>>>0)|0)){e=1;i=f;return e|0}Ub(e,1,13414,f+8|0)|0;e=0;i=f;return e|0}function me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=i;i=i+16|0;if(!c){Ub(d,1,13388,a)|0;b=0}else b=1;i=a;return b|0}function ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+8|0;h=k+12|0;if(!d){Ub(e,1,13362,k)|0;e=0;i=k;return e|0}qb(b,k+16|0,1);f=d+-1|0;if(!f){e=1;i=k;return e|0}else{g=0;a=0}do{b=b+1|0;qb(b,h,1);d=c[h>>2]|0;if(!(d&128))a=0;else a=(d&127|a)<<7;g=g+1|0}while((g|0)!=(f|0));if(!a){e=1;i=k;return e|0}Ub(e,1,13362,j)|0;e=0;i=k;return e|0}function oe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;o=p+32|0;l=p+24|0;h=p+16|0;g=p+8|0;n=p+36|0;if(e>>>0<2){Ub(f,1,13276,p)|0;o=0;i=p;return o|0}m=b+184|0;a[m>>0]=a[m>>0]|1;qb(d,n,1);m=d+1|0;k=e+-1|0;j=b+124|0;e=c[j>>2]|0;do{if(e){g=b+120|0;d=c[n>>2]|0;if((c[g>>2]|0)>>>0<=d>>>0){b=d+1|0;d=Tc(e,b<<3)|0;if(d){c[j>>2]=d;e=c[g>>2]|0;Qi(d+(e<<3)|0,0,b-e<<3|0)|0;c[g>>2]=b;e=c[j>>2]|0;break}Ub(f,1,13302,h)|0;o=0;i=p;return o|0}}else{d=(c[n>>2]|0)+1|0;e=Qc(d,8)|0;c[j>>2]=e;if(e){c[b+120>>2]=d;break}Ub(f,1,13302,g)|0;o=0;i=p;return o|0}}while(0);d=c[n>>2]|0;if(c[e+(d<<3)>>2]|0){c[l>>2]=d;Ub(f,1,13340,l)|0;o=0;i=p;return o|0}l=Pc(k)|0;e=c[n>>2]|0;d=c[j>>2]|0;c[d+(e<<3)>>2]=l;if(!l){Ub(f,1,13302,o)|0;o=0;i=p;return o|0}else{c[d+(e<<3)+4>>2]=k;Ui(c[d+(c[n>>2]<<3)>>2]|0,m|0,k|0)|0;o=1;i=p;return o|0}return 0}function pe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;o=r+32|0;k=r+24|0;j=r+16|0;p=r+44|0;if(e>>>0<2){Ub(f,1,13127,r)|0;q=0;i=r;return q|0}if(a[b+184>>0]&1){Ub(f,1,13153,r+8|0)|0;q=0;i=r;return q|0}h=c[b+200>>2]|0;g=c[b+164>>2]|0;n=g+(h*5640|0)+5636|0;a[n>>0]=a[n>>0]|2;qb(d,p,1);n=d+1|0;m=e+-1|0;l=g+(h*5640|0)+5164|0;d=c[l>>2]|0;do{if(d){g=g+(h*5640|0)+5160|0;b=c[p>>2]|0;if((c[g>>2]|0)>>>0<=b>>>0){e=b+1|0;b=Tc(d,e<<3)|0;if(b){c[l>>2]=b;d=c[g>>2]|0;Qi(b+(d<<3)|0,0,e-d<<3|0)|0;c[g>>2]=e;d=c[l>>2]|0;break}Ub(f,1,8775,k)|0;q=0;i=r;return q|0}}else{b=(c[p>>2]|0)+1|0;d=Qc(b,8)|0;c[l>>2]=d;if(d){c[g+(h*5640|0)+5160>>2]=b;break}Ub(f,1,8775,j)|0;q=0;i=r;return q|0}}while(0);b=c[p>>2]|0;if(c[d+(b<<3)>>2]|0){c[o>>2]=b;Ub(f,1,13254,o)|0;q=0;i=r;return q|0}o=Pc(m)|0;d=c[p>>2]|0;b=c[l>>2]|0;c[b+(d<<3)>>2]=o;if(!o){Ub(f,1,8775,q)|0;q=0;i=r;return q|0}else{c[b+(d<<3)+4>>2]=m;Ui(c[b+(c[p>>2]<<3)>>2]|0,n|0,m|0)|0;q=1;i=r;return q|0}return 0}function qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=i;i=i+16|0;if((c[(c[a+80>>2]|0)+16>>2]<<2|0)==(d|0)){e=1;i=b;return e|0}Ub(e,1,13101,b)|0;e=0;i=b;return e|0}function re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 1}function se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;r=s+40|0;q=s+32|0;l=s+24|0;p=s+44|0;if((c[a+8>>2]|0)==16)j=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else j=c[a+12>>2]|0;if(d>>>0<2){Ub(e,1,12933,s)|0;r=0;i=s;return r|0}qb(b,p,2);if(c[p>>2]|0){Ub(e,2,12959,s+8|0)|0;r=1;i=s;return r|0}if(d>>>0<7){Ub(e,1,12933,s+16|0)|0;r=0;i=s;return r|0}qb(b+2|0,p,2);n=b+4|0;o=c[p>>2]&255;k=j+5612|0;f=c[k>>2]|0;m=j+5616|0;a=c[m>>2]|0;a:do{if(!a){g=0;h=f}else{g=0;h=f;do{if((c[h+8>>2]|0)==(o|0))break a;h=h+20|0;g=g+1|0}while(g>>>0>>0)}}while(0);if((g|0)==(a|0)){g=j+5620|0;do{if((a|0)==(c[g>>2]|0)){a=a+10|0;c[g>>2]=a;a=Tc(f,a*20|0)|0;if(a){c[k>>2]=a;f=c[m>>2]|0;Qi(a+(f*20|0)|0,0,((c[g>>2]|0)-f|0)*20|0)|0;f=c[k>>2]|0;a=c[m>>2]|0;break}Uc(c[k>>2]|0);c[k>>2]=0;c[g>>2]=0;c[m>>2]=0;Ub(e,1,13019,l)|0;r=0;i=s;return r|0}}while(0);c[m>>2]=a+1;h=f+(a*20|0)|0}g=h+12|0;a=c[g>>2]|0;if(a){Uc(a);c[g>>2]=0}c[h+8>>2]=o;o=c[p>>2]|0;c[h+4>>2]=o>>>8&3;c[h>>2]=o>>>10&3;qb(n,p,2);if(c[p>>2]|0){Ub(e,2,13057,q)|0;r=1;i=s;return r|0}a=d+-6|0;f=Pc(a)|0;c[g>>2]=f;if(!f){Ub(e,1,12933,r)|0;r=0;i=s;return r|0}else{Ui(f|0,b+6|0,a|0)|0;c[h+16>>2]=a;r=1;i=s;return r|0}return 0}function te(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;h=j+12|0;a=a+80|0;g=c[(c[a>>2]|0)+16>>2]|0;if((g+2|0)!=(d|0)){Ub(e,1,12907,j)|0;h=0;i=j;return h|0}qb(b,f,2);if((c[f>>2]|0)!=(g|0)){Ub(e,1,12907,j+8|0)|0;h=0;i=j;return h|0}if(!g){h=1;i=j;return h|0}f=b+2|0;b=0;a=c[(c[a>>2]|0)+24>>2]|0;while(1){qb(f,h,1);c[a+32>>2]=(c[h>>2]|0)>>>7&1;c[a+24>>2]=(c[h>>2]&127)+1;b=b+1|0;if((b|0)==(g|0)){a=1;break}else{f=f+1|0;a=a+52|0}}i=j;return a|0}function ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+144|0;I=J+120|0;H=J+112|0;G=J+104|0;F=J+96|0;E=J+88|0;D=J+80|0;C=J+72|0;B=J+64|0;A=J+56|0;z=J+48|0;p=J+40|0;o=J+32|0;m=J+24|0;x=J+136|0;u=J+132|0;v=J+128|0;w=J+124|0;if((c[b+8>>2]|0)==16)q=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else q=c[b+12>>2]|0;if(e>>>0<2){Ub(f,1,12567,J)|0;I=0;i=J;return I|0}qb(d,x,2);if(c[x>>2]|0){Ub(f,2,12593,J+8|0)|0;I=1;i=J;return I|0}if(e>>>0<7){Ub(f,1,12567,J+16|0)|0;I=0;i=J;return I|0}qb(d+2|0,u,1);n=d+3|0;l=q+5624|0;g=c[l>>2]|0;y=q+5628|0;b=c[y>>2]|0;a:do{if(!b){j=0;h=g}else{k=c[u>>2]|0;j=0;h=g;do{if((c[h>>2]|0)==(k|0))break a;h=h+20|0;j=j+1|0}while(j>>>0>>0)}}while(0);if((j|0)==(b|0)){h=q+5632|0;do{if((b|0)==(c[h>>2]|0)){b=b+10|0;c[h>>2]=b;b=Tc(g,b*20|0)|0;if(b){c[l>>2]=b;g=c[y>>2]|0;Qi(b+(g*20|0)|0,0,((c[h>>2]|0)-g|0)*20|0)|0;g=c[l>>2]|0;b=c[y>>2]|0;break}Uc(c[l>>2]|0);c[l>>2]=0;c[h>>2]=0;c[y>>2]=0;Ub(f,1,12639,m)|0;I=0;i=J;return I|0}}while(0);h=g+(b*20|0)|0}c[h>>2]=c[u>>2];qb(n,x,2);if(c[x>>2]|0){Ub(f,2,12593,o)|0;I=1;i=J;return I|0}qb(d+5|0,v,2);g=c[v>>2]|0;if(g>>>0>1){Ub(f,2,12677,p)|0;I=1;i=J;return I|0}b=e+-7|0;b:do{if(g){r=h+4|0;s=h+16|0;t=h+8|0;e=h+12|0;p=q+5612|0;o=q+5616|0;m=d+7|0;n=0;c:while(1){if(b>>>0<3){g=27;break}qb(m,x,1);if((c[x>>2]|0)!=1){g=29;break}qb(m+1|0,w,2);g=b+-3|0;j=c[w>>2]|0;k=(j>>>15)+1|0;j=j&32767;c[r>>2]=j;h=(_(k,j)|0)+2|0;if(g>>>0>>0){g=31;break}b=m+3|0;l=g-h|0;if(j){g=0;do{qb(b,x,k);if((c[x>>2]|0)!=(g|0)){g=34;break c}b=b+k|0;g=g+1|0}while(g>>>0<(c[r>>2]|0)>>>0)}qb(b,w,2);g=b+2|0;h=c[w>>2]|0;j=(h>>>15)+1|0;h=h&32767;c[w>>2]=h;if((h|0)!=(c[r>>2]|0)){g=37;break}b=(_(j,h)|0)+3|0;if(l>>>0>>0){g=39;break}b=l-b|0;if(h){h=0;do{qb(g,x,j);if((c[x>>2]|0)!=(h|0)){g=42;break c}g=g+j|0;h=h+1|0}while(h>>>0<(c[r>>2]|0)>>>0)}qb(g,x,3);m=g+3|0;a[s>>0]=((c[x>>2]|0)>>>16^1)&1|a[s>>0]&-2;c[t>>2]=0;c[e>>2]=0;l=c[x>>2]|0;h=l&255;c[u>>2]=h;if(h){j=c[o>>2]|0;if(!j){g=50;break}k=0;g=c[p>>2]|0;while(1){if((c[g+8>>2]|0)==(h|0))break;k=k+1|0;if(k>>>0>=j>>>0){g=50;break c}else g=g+20|0}c[t>>2]=g}h=l>>>8&255;c[u>>2]=h;if(h){j=c[o>>2]|0;if(!j){g=57;break}k=0;g=c[p>>2]|0;while(1){if((c[g+8>>2]|0)==(h|0))break;k=k+1|0;if(k>>>0>=j>>>0){g=57;break c}else g=g+20|0}c[e>>2]=g}n=n+1|0;if(n>>>0>=(c[v>>2]|0)>>>0)break b}if((g|0)==27){Ub(f,1,12567,z)|0;I=0;i=J;return I|0}else if((g|0)==29){Ub(f,2,12721,A)|0;I=1;i=J;return I|0}else if((g|0)==31){Ub(f,1,12567,B)|0;I=0;i=J;return I|0}else if((g|0)==34){Ub(f,2,12787,C)|0;I=1;i=J;return I|0}else if((g|0)==37){Ub(f,2,12841,D)|0;I=1;i=J;return I|0}else if((g|0)==39){Ub(f,1,12567,E)|0;I=0;i=J;return I|0}else if((g|0)==42){Ub(f,2,12787,F)|0;I=1;i=J;return I|0}else if((g|0)==50){Ub(f,1,12567,G)|0;I=0;i=J;return I|0}else if((g|0)==57){Ub(f,1,12567,H)|0;I=0;i=J;return I|0}}}while(0);if(!b){c[y>>2]=(c[y>>2]|0)+1;I=1;i=J;return I|0}else{Ub(f,1,12567,I)|0;I=0;i=J;return I|0}return 0}function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;r=s+24|0;q=s+20|0;n=a+80|0;f=c[n>>2]|0;if((c[a+8>>2]|0)==16)g=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else g=c[a+12>>2]|0;if(!d){Ub(e,1,12486,s)|0;r=0;i=s;return r|0}qb(b,q,1);a=c[q>>2]|0;if(a>>>0>1){Ub(e,2,12512,s+8|0)|0;r=1;i=s;return r|0}if((a+1|0)!=(d|0)){Ub(e,2,12486,s+16|0)|0;r=0;i=s;return r|0}m=g+5584|0;a=c[f+16>>2]|0;if(a){d=0;e=c[m>>2]|0;while(1){c[e+1076>>2]=0;d=d+1|0;if(d>>>0>=a>>>0)break;else e=e+1080|0}}l=g+5604|0;a=c[l>>2]|0;if(a){Uc(a);c[l>>2]=0}if(!(c[q>>2]|0)){r=1;i=s;return r|0}k=g+5624|0;h=g+5628|0;j=0;while(1){b=b+1|0;qb(b,r,1);a=c[n>>2]|0;f=c[k>>2]|0;g=c[h>>2]|0;if(((g|0)!=0?!((g|0)==0?1:(c[f>>2]|0)!=(c[r>>2]|0)):0)?(o=c[f+4>>2]|0,p=a+16|0,(o|0)==(c[p>>2]|0)):0){a=c[f+8>>2]|0;if(a){d=_(o,o)|0;g=_(c[1036+(c[a>>2]<<2)>>2]|0,d)|0;if((c[a+16>>2]|0)!=(g|0)){a=0;d=32;break}e=Pc(d<<2)|0;c[l>>2]=e;if(!e){a=0;d=32;break}Xa[c[1052+(c[a>>2]<<2)>>2]&15](c[a+12>>2]|0,e,d)}a=c[f+12>>2]|0;if(a){d=c[p>>2]|0;g=_(d,c[1036+(c[a>>2]<<2)>>2]|0)|0;if((c[a+16>>2]|0)!=(g|0)){a=0;d=32;break}g=Pc(d<<2)|0;if(!g){a=0;d=32;break}Xa[c[1068+(c[a>>2]<<2)>>2]&15](c[a+12>>2]|0,g,d);a=c[p>>2]|0;if(a){d=0;e=g;f=c[m>>2]|0;while(1){c[f+1076>>2]=c[e>>2];d=d+1|0;if((d|0)==(a|0))break;else{e=e+4|0;f=f+1080|0}}}Uc(g)}}j=j+1|0;if(j>>>0>=(c[q>>2]|0)>>>0){a=1;d=32;break}}if((d|0)==32){i=s;return a|0}return 0}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){qb(a,f,2);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+2|0}}i=g;return}function xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){qb(a,f,4);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=g;return}function ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){ub(a,f);c[b>>2]=~~+g[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=h;return}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){sb(a,f);c[b>>2]=~~+h[f>>3];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+8|0}}i=g;return}function Ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){qb(a,f,2);g[b>>2]=+((c[f>>2]|0)>>>0);e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+2|0}}i=h;return}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){qb(a,f,4);g[b>>2]=+((c[f>>2]|0)>>>0);e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=h;return}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){ub(a,f);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=g;return}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;if(!c){i=f;return}d=0;while(1){sb(a,e);g[b>>2]=+h[e>>3];d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+8|0}}i=f;return}function Ee(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+8|0;k=n+20|0;if((c[a+8>>2]|0)==16)a=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else a=c[a+12>>2]|0;m=c[a+5584>>2]|0;a=c[e>>2]|0;if(!a){Ub(f,1,14224,n)|0;b=0;i=n;return b|0}c[e>>2]=a+-1;qb(d,k,1);d=d+1|0;g=c[k>>2]&31;j=m+(b*1080|0)+24|0;c[j>>2]=g;c[m+(b*1080|0)+804>>2]=(c[k>>2]|0)>>>5;do{if((g|0)==1){a=1;l=8}else{a=(c[e>>2]|0)>>>((g|0)!=0&1);if(a>>>0>97){c[h>>2]=a;c[h+4>>2]=97;c[h+8>>2]=97;Ub(f,2,14260,h)|0;g=c[j>>2]|0}f=(a|0)==0;if(g)if(f){a=0;l=20;break}else{l=8;break}if(!f){g=0;while(1){qb(d,k,1);if(g>>>0<97){c[m+(b*1080|0)+28+(g<<3)>>2]=(c[k>>2]|0)>>>3;c[m+(b*1080|0)+28+(g<<3)+4>>2]=0}g=g+1|0;if((g|0)==(a|0))break;else d=d+1|0}}a=(c[e>>2]|0)-a|0}}while(0);if((l|0)==8){g=0;while(1){qb(d,k,2);if(g>>>0<97){c[m+(b*1080|0)+28+(g<<3)>>2]=(c[k>>2]|0)>>>11;c[m+(b*1080|0)+28+(g<<3)+4>>2]=c[k>>2]&2047}g=g+1|0;if((g|0)==(a|0)){l=20;break}else d=d+2|0}}if((l|0)==20)a=(c[e>>2]|0)-(a<<1)|0;c[e>>2]=a;if((c[j>>2]|0)!=1){b=1;i=n;return b|0}a=m+(b*1080|0)+28|0;d=m+(b*1080|0)+32|0;g=1;do{e=(c[a>>2]|0)-(((g+-1|0)>>>0)/3|0)|0;c[m+(b*1080|0)+28+(g<<3)>>2]=(e|0)>0?e:0;c[m+(b*1080|0)+28+(g<<3)+4>>2]=c[d>>2];g=g+1|0}while((g|0)!=97);a=1;i=n;return a|0}function Fe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r+40|0;l=r+32|0;k=r+16|0;j=r+8|0;o=r+44|0;h=a+8|0;if((c[h>>2]|0)==16)g=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else g=c[a+12>>2]|0;m=c[g+5584>>2]|0;if((c[e>>2]|0)>>>0<5){Ub(f,1,14664,r)|0;e=0;i=r;return e|0}n=m+(b*1080|0)+4|0;qb(d,n,1);g=(c[n>>2]|0)+1|0;c[n>>2]=g;if(g>>>0>33){c[j>>2]=g;c[j+4>>2]=33;Ub(f,1,14699,j)|0;e=0;i=r;return e|0}if((c[a+168>>2]|0)>>>0>=g>>>0){c[k>>2]=b;Ub(f,1,14776,k)|0;c[h>>2]=c[h>>2]|32768;e=0;i=r;return e|0}j=m+(b*1080|0)+8|0;qb(d+1|0,j,1);c[j>>2]=(c[j>>2]|0)+2;a=m+(b*1080|0)+12|0;qb(d+2|0,a,1);k=(c[a>>2]|0)+2|0;c[a>>2]=k;j=c[j>>2]|0;if(j>>>0>10|k>>>0>10|(j+k|0)>>>0>12){Ub(f,1,14934,r+24|0)|0;e=0;i=r;return e|0}qb(d+3|0,m+(b*1080|0)+16|0,1);qb(d+4|0,m+(b*1080|0)+20|0,1);h=(c[e>>2]|0)+-5|0;c[e>>2]=h;g=c[n>>2]|0;if(!(c[m+(b*1080|0)>>2]&1)){if(!g){e=1;i=r;return e|0}else g=0;do{c[m+(b*1080|0)+812+(g<<2)>>2]=15;c[m+(b*1080|0)+944+(g<<2)>>2]=15;g=g+1|0}while(g>>>0<(c[n>>2]|0)>>>0);g=1;i=r;return g|0}if(h>>>0>>0){Ub(f,1,14664,l)|0;e=0;i=r;return e|0}do{if(!g)g=0;else{a=0;h=d+5|0;while(1){qb(h,o,1);h=h+1|0;g=c[o>>2]|0;if((a|0)!=0?g>>>0<16|(g&15|0)==0:0)break;c[m+(b*1080|0)+812+(a<<2)>>2]=g&15;c[m+(b*1080|0)+944+(a<<2)>>2]=(c[o>>2]|0)>>>4;a=a+1|0;g=c[n>>2]|0;if(a>>>0>=g>>>0){q=22;break}}if((q|0)==22){h=c[e>>2]|0;break}Ub(f,1,15002,p)|0;e=0;i=r;return e|0}}while(0);c[e>>2]=h-g;e=1;i=r;return e|0}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){pb(b,~~+g[a>>2]>>>0,2);d=d+1|0;if((d|0)==(c|0))break;else{b=b+2|0;a=a+4|0}}return}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){pb(b,~~+g[a>>2]>>>0,4);d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+4|0}}return}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){tb(b,+g[a>>2]);d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+4|0}}return}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){rb(b,+g[a>>2]);d=d+1|0;if((d|0)==(c|0))break;else{b=b+8|0;a=a+4|0}}return}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;if(!d){d=0;i=j;return d|0}if(!(ld(c[a>>2]|0,b,d,e)|0)){Ub(e,1,16303,j)|0;d=0;i=j;return d|0}if(c[a+128>>2]|0){d=1;i=j;return d|0}h=a+108|0;if(!(bf(d,h,e)|0)){d=0;i=j;return d|0}b=c[a+48>>2]|0;a:do{switch(b|0){case 16:{c[d+20>>2]=1;break}case 17:{c[d+20>>2]=2;break}case 18:{c[d+20>>2]=3;break}case 24:{c[d+20>>2]=4;break}default:{f=d+20|0;if((b|0)==12){c[f>>2]=5;break a}else{c[f>>2]=-1;break a}}}}while(0);g=a+120|0;b=c[g>>2]|0;do{if(b){if(c[b+12>>2]|0){cf(d,h);break}Uc(c[b+4>>2]|0);Uc(c[(c[g>>2]|0)+8>>2]|0);Uc(c[c[g>>2]>>2]|0);b=c[g>>2]|0;f=c[b+12>>2]|0;if(f){Uc(f);b=c[g>>2]|0}Uc(b);c[g>>2]=0}}while(0);if(c[a+116>>2]|0)df(d,h,e);b=c[h>>2]|0;if(!b){d=1;i=j;return d|0}c[d+28>>2]=b;c[d+32>>2]=c[a+112>>2];c[h>>2]=0;d=1;i=j;return d|0}function Le(b,d){b=b|0;d=d|0;Wc(c[b>>2]|0,d);a[b+124>>0]=0;c[b+128>>2]=c[d+8248>>2]&1;return}function Me(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var 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;w=i;i=i+80|0;v=w+64|0;s=w+56|0;o=w+48|0;r=w+40|0;q=w+32|0;p=w+24|0;if(!((a|0)!=0&(d|0)!=0&(e|0)!=0)){d=0;i=w;return d|0}t=e+16|0;if(((c[t>>2]|0)+-1|0)>>>0>16383){Ub(f,1,16352,w)|0;d=0;i=w;return d|0}if(!(Zc(c[a>>2]|0,d,e,f)|0)){d=0;i=w;return d|0}c[a+56>>2]=1785737760;c[a+60>>2]=0;c[a+64>>2]=1;g=Pc(4)|0;h=a+68|0;c[h>>2]=g;if(!g){c[h>>2]=0;Ub(f,1,16421,w+8|0)|0;d=0;i=w;return d|0}c[g>>2]=1785737760;l=c[t>>2]|0;c[a+20>>2]=l;l=Pc(l*12|0)|0;g=a+72|0;c[g>>2]=l;if(!l){c[g>>2]=0;Ub(f,1,16421,w+16|0)|0;d=0;i=w;return d|0}c[a+16>>2]=(c[e+12>>2]|0)-(c[e+4>>2]|0);c[a+12>>2]=(c[e+8>>2]|0)-(c[e>>2]|0);u=e+24|0;m=c[u>>2]|0;j=c[m+24>>2]|0;k=c[m+32>>2]|0;g=a+24|0;c[g>>2]=j+-1+(k<<7);n=c[t>>2]|0;if(n>>>0>1){h=1;do{if((j|0)!=(c[m+(h*52|0)+24>>2]|0))c[g>>2]=255;h=h+1|0}while(h>>>0>>0)}c[a+28>>2]=7;c[a+32>>2]=0;c[a+36>>2]=0;h=(n|0)==0;if(!h?(c[l+8>>2]=j+-1+(k<<7),n>>>0>1):0){g=1;do{c[l+(g*12|0)+8>>2]=(c[m+(g*52|0)+24>>2]|0)+-1+(c[m+(g*52|0)+32>>2]<<7);g=g+1|0}while(g>>>0>>0)}g=a+40|0;a:do{if(!(c[e+32>>2]|0)){c[g>>2]=1;switch(c[e+20>>2]|0){case 1:{c[a+48>>2]=16;break a}case 2:{c[a+48>>2]=17;break a}case 3:{c[a+48>>2]=18;break a}default:break a}}else{c[g>>2]=2;c[a+48>>2]=0}}while(0);b:do{if(!h){h=0;g=0;j=0;do{e=(b[m+(j*52|0)+48>>1]|0)==0;g=(e&1^1)+g|0;h=e?h:j;j=j+1|0}while(j>>>0>>0);j=h;if((g|0)!=1){if(g>>>0<=1)break;Ub(f,2,16717,o)|0;break}switch(c[a+48>>2]|0){case 18:case 16:{h=3;break}case 17:{h=1;break}default:{Ub(f,2,16467,p)|0;break b}}if(n>>>0<(h+1|0)>>>0){Ub(f,2,16541,q)|0;break}if(j>>>0>>0){Ub(f,2,16634,r)|0;break}r=Pc(8)|0;g=a+116|0;c[g>>2]=r;if(!r){Ub(f,1,16782,s)|0;d=0;i=w;return d|0}s=Pc((c[t>>2]|0)*6|0)|0;e=c[g>>2]|0;c[e>>2]=s;if(!s){Ub(f,1,16782,v)|0;d=0;i=w;return d|0}l=c[t>>2]|0;b[e+4>>1]=l;k=c[e>>2]|0;g=0;do{b[k+(g*6|0)>>1]=g;b[k+(g*6|0)+2>>1]=0;v=g;g=g+1|0;b[k+(v*6|0)+4>>1]=g}while((g|0)!=(h|0));if(h>>>0>>0){j=c[u>>2]|0;do{v=(b[j+(h*52|0)+48>>1]|0)==0;b[k+(h*6|0)>>1]=h;g=k+(h*6|0)+2|0;if(v){b[g>>1]=-1;b[k+(h*6|0)+4>>1]=-1}else{b[g>>1]=1;b[(c[e>>2]|0)+(h*6|0)+4>>1]=0}h=h+1|0}while(h>>>0>>0)}}}while(0);c[a+52>>2]=0;c[a+44>>2]=0;c[a+96>>2]=c[d+18692>>2];d=1;i=w;return d|0}function Ne(a,b,d){a=a|0;b=b|0;d=d|0;return od(c[a>>2]|0,b,d)|0}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+8|0;if(!(sg(c[e>>2]|0,52,d)|0)){d=0;return d|0}g=c[e>>2]|0;h=tg(g)|0;e=ug(g)|0;if(h){i=0;f=1;while(1){if(!f)f=0;else f=(Ra[c[e>>2]&63](a,b,d)|0)!=0;i=i+1|0;if((i|0)==(h|0))break;else{e=e+4|0;f=f&1}}vg(g);if(!f){d=0;return d|0}}else vg(g);d=$c(c[a>>2]|0,b,d)|0;return d|0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+8|0;if(!(sg(c[e>>2]|0,53,d)|0)){d=0;return d|0}if(!(pd(c[a>>2]|0,b,d)|0)){d=0;return d|0}i=c[e>>2]|0;g=tg(i)|0;e=ug(i)|0;if(!g)e=1;else{h=0;f=e;e=1;while(1){if(!e)e=0;else e=(Ra[c[f>>2]&63](a,b,d)|0)!=0;e=e&1;h=h+1|0;if((h|0)==(g|0))break;else f=f+4|0}}vg(i);d=e;return d|0}function Qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+4|0;if(!(sg(c[f>>2]|0,54,e)|0)){b=0;return b|0}h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){b=0;return b|0}}else vg(h);f=a+8|0;if(!(sg(c[f>>2]|0,55,e)|0)){b=0;return b|0}if(!(sg(c[f>>2]|0,56,e)|0)){b=0;return b|0}if(!(sg(c[f>>2]|0,57,e)|0)){b=0;return b|0}if((c[a+96>>2]|0)!=0?(sg(c[f>>2]|0,58,e)|0)==0:0){b=0;return b|0}if(!(sg(c[f>>2]|0,59,e)|0)){b=0;return b|0}h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){b=0;return b|0}}else vg(h);b=qd(c[a>>2]|0,b,d,e)|0;return b|0}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=b+8|0;if(!(sg(c[k>>2]|0,52,e)|0)){a=0;return a|0}h=c[b+4>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){a=0;return a|0}}else vg(h);h=c[k>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){a=0;return a|0}}else vg(h);a=ad(a,c[b>>2]|0,d,e)|0;return a|0}function Se(a,b,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return cd(c[a>>2]|0,b,d,e,f,g,h,i,j,k,l)|0}function Te(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;return rd(c[a>>2]|0,b,d,e,f,g)|0}function Ue(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;return dd(c[a>>2]|0,b,d,e,f,g)|0}function Ve(a){a=a|0;var b=0,d=0,e=0;if(!a)return;Yc(c[a>>2]|0);c[a>>2]=0;b=a+72|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+68|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+108|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}e=a+116|0;b=c[e>>2]|0;if(b){d=c[b>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b>>2]=0}Uc(b);c[e>>2]=0}e=a+120|0;b=c[e>>2]|0;if(b){d=c[b+12>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+12>>2]=0}d=c[b+4>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+4>>2]=0}d=c[b+8>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+8>>2]=0}d=c[b>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b>>2]=0}Uc(b);c[e>>2]=0}b=a+4|0;d=c[b>>2]|0;if(d){rg(d);c[b>>2]=0}b=a+8|0;d=c[b>>2]|0;if(d){rg(d);c[b>>2]=0}Uc(a);return}function We(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ed(c[a>>2]|0,b,d,e,f,g,h)|0}function Xe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;if(!d){a=0;i=j;return a|0}Ub(e,2,16826,j)|0;if(!(md(c[a>>2]|0,b,d,e,f)|0)){Ub(e,1,16303,j+8|0)|0;a=0;i=j;return a|0}h=a+108|0;if(!(bf(d,h,e)|0)){a=0;i=j;return a|0}f=c[a+48>>2]|0;a:do{switch(f|0){case 16:{c[d+20>>2]=1;break}case 17:{c[d+20>>2]=2;break}case 18:{c[d+20>>2]=3;break}case 24:{c[d+20>>2]=4;break}default:{b=d+20|0;if((f|0)==12){c[b>>2]=5;break a}else{c[b>>2]=-1;break a}}}}while(0);g=a+120|0;b=c[g>>2]|0;do{if(b){if(c[b+12>>2]|0){cf(d,h);break}Uc(c[b+4>>2]|0);Uc(c[(c[g>>2]|0)+8>>2]|0);Uc(c[c[g>>2]>>2]|0);b=c[g>>2]|0;f=c[b+12>>2]|0;if(f){Uc(f);b=c[g>>2]|0}Uc(b);c[g>>2]=0}}while(0);if(c[a+116>>2]|0)df(d,h,e);b=c[h>>2]|0;if(!b){a=1;i=j;return a|0}c[d+28>>2]=b;c[d+32>>2]=c[a+112>>2];c[h>>2]=0;a=1;i=j;return a|0}function Ye(b){b=b|0;var d=0;d=Qc(1,136)|0;if(!d)return d|0;if(!b){b=Xc()|0;c[d>>2]=b}else{b=fd()|0;c[d>>2]=b}if(!b){Ve(d);d=0;return d|0}b=d+108|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=0;b=qg()|0;c[d+4>>2]=b;if(!b){Ve(d);d=0;return d|0}b=qg()|0;c[d+8>>2]=b;if(b)return d|0;Ve(d);d=0;return d|0}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;gd(c[a>>2]|0,b,d);return}function _e(a){a=a|0;return kd(c[a>>2]|0)|0}function $e(a){a=a|0;return jd(c[a>>2]|0)|0}function af(a,b,d){a=a|0;b=b|0;d=d|0;return nd(c[a>>2]|0,b,d)|0}function bf(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;A=B+72|0;z=B+64|0;y=B+56|0;x=B+48|0;w=B+40|0;v=B+32|0;u=B+24|0;s=B+16|0;o=B+8|0;n=B;j=c[g+8>>2]|0;a:do{if(j){r=c[j>>2]|0;q=b[j+4>>1]|0;j=c[f+16>>2]|0;p=c[g+12>>2]|0;if((p|0)!=0?(c[p+12>>2]|0)!=0:0)g=d[p+18>>0]|0;else g=j;m=q<<16>>16==0;b:do{if(!m){l=0;c:while(1){k=l&65535;j=e[r+(k*6|0)>>1]|0;if(j>>>0>=g>>>0){k=15;break}j=b[r+(k*6|0)+4>>1]|0;switch(j<<16>>16){case 0:case-1:break;default:{j=(j&65535)+-1|0;if(j>>>0>=g>>>0){k=18;break c}}}l=l+1<<16>>16;if((l&65535)>=(q&65535))break b}if((k|0)==15){c[n>>2]=j;c[n+4>>2]=g;Ub(h,1,19343,n)|0;h=0;i=B;return h|0}else if((k|0)==18){c[o>>2]=j;c[o+4>>2]=g;Ub(h,1,19343,o)|0;h=0;i=B;return h|0}}}while(0);if(!g)j=p;else{d:do{if(!m)while(1){g=g+-1|0;j=0;do{if((e[r+((j&65535)*6|0)>>1]|0)==(g|0))break;j=j+1<<16>>16}while((j&65535)<(q&65535));if(j<<16>>16==q<<16>>16)break d;if(!g){j=p;break a}}}while(0);Ub(h,1,19380,s)|0;h=0;i=B;return h|0}}else j=c[g+12>>2]|0}while(0);if(!j){h=1;i=B;return h|0}t=c[j+12>>2]|0;if(!t){h=1;i=B;return h|0}p=a[j+18>>0]|0;s=p&255;r=p<<24>>24==0;if(r)j=1;else{l=f+16|0;g=0;m=0;j=1;do{g=e[t+(g<<2)>>1]|0;k=c[l>>2]|0;if(g>>>0>=k>>>0){c[u>>2]=g;c[u+4>>2]=k;Ub(h,1,19343,u)|0;j=0}m=m+1<<16>>16;g=m&65535}while(g>>>0>>0)}q=Qc(s,4)|0;if(!q){Ub(h,1,19413,v)|0;h=0;i=B;return h|0}if(!r){n=0;o=0;do{k=a[t+(n<<2)+3>>0]|0;l=k&255;do{if((k&255)<(p&255)){m=q+(l<<2)|0;g=a[t+(n<<2)+2>>0]|0;if((c[m>>2]|0)!=0&g<<24>>24==1){c[x>>2]=l;Ub(h,1,19486,x)|0;j=0;break}if(g<<24>>24!=0|k<<24>>24==0){c[m>>2]=1;break}else{c[y>>2]=n;c[y+4>>2]=l;Ub(h,1,19517,y)|0;j=0;break}}else{c[w>>2]=l;Ub(h,1,19430,w)|0;j=0}}while(0);o=o+1<<16>>16;n=o&65535}while(n>>>0>>0);if(!r){g=0;k=0;do{if((c[q+(g<<2)>>2]|0)==0?(a[t+(g<<2)+2>>0]|0)!=0:0){c[z>>2]=g;Ub(h,1,19553,z)|0;j=0}k=k+1<<16>>16;g=k&65535}while(g>>>0>>0)}}if(!j){Uc(q);h=0;i=B;return h|0}e:do{if(!((c[f+16>>2]|0)!=1|r)){j=0;g=0;while(1){g=g+1<<16>>16;if(!(c[q+(j<<2)>>2]|0))break;j=g&65535;if(j>>>0>=s>>>0)break e}c[A>>2]=j;Ub(h,2,19591,A)|0;if(!r){j=0;g=0;do{a[t+(j<<2)+2>>0]=1;a[t+(j<<2)+3>>0]=g;g=g+1<<16>>16;j=g&65535}while(j>>>0>>0)}}}while(0);Uc(q);h=1;i=B;return h|0}function cf(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=g+12|0;g=c[w>>2]|0;m=c[g+8>>2]|0;o=c[g+4>>2]|0;q=c[g>>2]|0;r=c[g+12>>2]|0;g=a[g+18>>0]|0;s=f+24|0;t=c[s>>2]|0;u=g&255;v=Pc(u*52|0)|0;if(!v)return;n=g<<24>>24==0;if(!n){k=0;l=0;do{g=b[r+(k<<2)>>1]|0;if(!(a[r+(k<<2)+2>>0]|0)){g=g&65535;h=v+(k*52|0)|0;i=t+(g*52|0)|0;j=h+52|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0))}else{g=g&65535;h=v+((d[r+(k<<2)+3>>0]|0)*52|0)|0;i=t+(g*52|0)|0;j=h+52|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0))}j=Pc(_(c[t+(g*52|0)+8>>2]<<2,c[t+(g*52|0)+12>>2]|0)|0)|0;c[v+(k*52|0)+44>>2]=j;if(!j){p=7;break}c[v+(k*52|0)+24>>2]=d[m+k>>0];c[v+(k*52|0)+32>>2]=d[o+k>>0];l=l+1<<16>>16;k=l&65535}while(k>>>0>>0);if((p|0)==7){Uc(v);return}m=(e[(c[w>>2]|0)+16>>1]|0)+-1|0;if(!n){g=0;l=0;do{j=c[t+((e[r+(g<<2)>>1]|0)*52|0)+44>>2]|0;i=d[r+(g<<2)+3>>0]|0;k=_(c[v+(i*52|0)+12>>2]|0,c[v+(i*52|0)+8>>2]|0)|0;if(!(a[r+(g<<2)+2>>0]|0)){g=c[v+(g*52|0)+44>>2]|0;if(k){h=0;do{c[g+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}}else{g=c[v+(i*52|0)+44>>2]|0;if(k){h=0;do{p=c[j+(h<<2)>>2]|0;c[g+(h<<2)>>2]=c[q+((_((p|0)<0?0:(p|0)>(m|0)?m:p,u)|0)+i<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}}l=l+1<<16>>16;g=l&65535}while(g>>>0>>0)}}h=f+16|0;i=c[h>>2]|0;if(i){g=0;j=0;do{g=c[t+(g*52|0)+44>>2]|0;if(g)Uc(g);j=j+1<<16>>16;g=j&65535}while(g>>>0>>0)}Uc(t);c[s>>2]=v;c[h>>2]=u;Uc(c[(c[w>>2]|0)+4>>2]|0);Uc(c[(c[w>>2]|0)+8>>2]|0);Uc(c[c[w>>2]>>2]|0);g=c[w>>2]|0;h=c[g+12>>2]|0;if(h){Uc(h);g=c[w>>2]|0}Uc(g);c[w>>2]=0;return}function df(a,d,e){a=a|0;d=d|0;e=e|0;var f=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;y=i;i=i+80|0;w=y+8|0;v=y;u=y+16|0;x=d+8|0;f=c[x>>2]|0;d=c[f>>2]|0;t=b[f+4>>1]|0;if(t<<16>>16){s=a+16|0;o=a+24|0;q=1;r=0;while(1){p=b[d+(r*6|0)>>1]|0;n=p&65535;a=c[s>>2]|0;a:do{if(n>>>0>>0){f=b[d+(r*6|0)+4>>1]|0;switch(f<<16>>16){case-1:case 0:{b[(c[o>>2]|0)+(n*52|0)+48>>1]=b[d+(r*6|0)+2>>1]|0;break a}default:{}}k=(f&65535)+65535|0;m=k&65535;k=k&65535;if(k>>>0>=a>>>0){c[w>>2]=k;c[w+4>>2]=a;Ub(e,2,19302,w)|0;break}l=d+(r*6|0)+2|0;if((n|0)!=(k|0)?(b[l>>1]|0)==0:0){f=c[o>>2]|0;a=f+(n*52|0)|0;g=u;h=a;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));g=a;h=f+(k*52|0)|0;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));g=(c[o>>2]|0)+(k*52|0)|0;h=u;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));if((r+1&65535)<(t&65535)){g=q;do{f=d+(g*6|0)|0;a=b[f>>1]|0;if(a<<16>>16!=p<<16>>16){if(a<<16>>16==m<<16>>16)b[f>>1]=p}else b[f>>1]=m;g=g+1|0}while((g&65535)<<16>>16!=t<<16>>16)}}b[(c[o>>2]|0)+(n*52|0)+48>>1]=b[l>>1]|0}else{c[v>>2]=n;c[v+4>>2]=a;Ub(e,2,19262,v)|0}}while(0);r=r+1|0;if((r&65535)<<16>>16==t<<16>>16)break;else q=q+1|0}d=c[x>>2]|0;f=d;d=c[d>>2]|0}if(!d){w=f;Uc(w);c[x>>2]=0;i=y;return}else{Uc(d);w=c[x>>2]|0;Uc(w);c[x>>2]=0;i=y;return}}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;y=I+152|0;x=I+144|0;w=I+136|0;v=I+128|0;u=I+120|0;E=I+88|0;s=I+80|0;q=I+64|0;p=I+48|0;G=I+40|0;z=I+32|0;F=I+24|0;t=I+16|0;r=I+8|0;n=I+176|0;o=I+168|0;D=I+156|0;e=Qc(1,1024)|0;if(!e){Ub(d,1,17098,I)|0;H=0;i=I;return H|0}m=n+4|0;A=D+4|0;B=a+100|0;l=1024;a:while(1){if((Mb(b,n,8,d)|0)!=8)break;while(1){qb(n,D,4);qb(m,A,4);switch(c[D>>2]|0){case 0:{f=Qb(b)|0;k=C;if((k|0)>0|(k|0)==0&f>>>0>4294967287){H=6;break a}c[D>>2]=f+8;j=8;break}case 1:{if((Mb(b,n,8,d)|0)!=8)break a;qb(n,o,4);if(c[o>>2]|0){H=10;break a}qb(m,D,4);j=16;break}default:j=8}g=c[A>>2]|0;if((g|0)==1785737827){H=13;break a}f=c[D>>2]|0;if(!f){H=17;break a}if(f>>>0>>0){H=19;break a}if((g|0)==1783636e3){h=1084;g=j;H=22;break}if((g|0)==1718909296){h=1092;g=j;H=22;break}k=(g|0)==1785737832;b:do{if((g|0)!=1768449138)if((g|0)!=1668246642)if((g|0)!=1651532643)if((g|0)!=1885564018)if((g|0)!=1668112752){h=(g|0)==1667523942?1148:0;f=f-j|0;if((g|0)<1785737832)switch(g|0){case 1667523942:{H=30;break b}default:{}}else switch(g|0){case 1785737832:{H=30;break b}default:{}}g=c[B>>2]|0;if(!(g&1)){H=45;break a}if(!(g&2)){H=47;break a}c[B>>2]=g|2147483647;k=Rb(b,f,0,d)|0;if(!((k|0)==(f|0)&(C|0)==0)){H=50;break a}}else{h=1140;H=28}else{h=1132;H=28}else{h=1124;H=28}else{h=1116;H=28}else{h=1108;H=28}}while(0);if((H|0)==28){f=f-j|0;H=30}if((H|0)==30){H=0;if(k){h=1100;break}c[p>>2]=g>>>24;c[p+4>>2]=g>>>16&255;c[p+8>>2]=g>>>8&255;c[p+12>>2]=g&255;Ub(d,2,17282,p)|0;if(c[B>>2]&4)break;k=c[A>>2]|0;c[q>>2]=k>>>24;c[q+4>>2]=k>>>16&255;c[q+8>>2]=k>>>8&255;c[q+12>>2]=k&255;Ub(d,2,17333,q)|0;c[B>>2]=c[B>>2]|2147483647;k=Rb(b,f,0,d)|0;if(!((k|0)==(f|0)&(C|0)==0)){H=33;break a}}if((Mb(b,n,8,d)|0)!=8)break a}if((H|0)==22){H=0;f=f-g|0}k=Qb(b)|0;j=C;if(0>(j|0)|0==(j|0)&f>>>0>k>>>0){H=35;break}if(f>>>0>l>>>0){g=Tc(e,f)|0;if(!g){H=38;break}else{e=g;g=f}}else g=l;if((Mb(b,e,f,d)|0)!=(f|0)){H=40;break}if(!(Za[c[h+4>>2]&63](a,e,f,d)|0)){H=43;break}else l=g}switch(H|0){case 6:{Ub(d,1,17148,r)|0;break}case 10:{Ub(d,1,17148,t)|0;break}case 13:{f=c[B>>2]|0;if(!(f&4)){Ub(d,1,17190,F)|0;Uc(e);H=0;i=I;return H|0}else{c[B>>2]=f|8;Uc(e);H=1;i=I;return H|0}}case 17:{Ub(d,1,17218,z)|0;Uc(e);H=0;i=I;return H|0}case 19:{c[G>>2]=f;c[G+4>>2]=g;Ub(d,1,17256,G)|0;Uc(e);H=0;i=I;return H|0}case 33:{Ub(d,1,17399,s)|0;Uc(e);H=0;i=I;return H|0}case 35:{F=c[D>>2]|0;G=c[A>>2]|0;H=Qb(b)|0;c[E>>2]=F;c[E+4>>2]=G>>>24;c[E+8>>2]=G>>>16&255;c[E+12>>2]=G>>>8&255;c[E+16>>2]=G&255;c[E+20>>2]=f;c[E+24>>2]=H;Ub(d,1,17449,E)|0;Uc(e);H=0;i=I;return H|0}case 38:{Uc(e);Ub(d,1,17525,u)|0;H=0;i=I;return H|0}case 40:{Ub(d,1,17567,v)|0;Uc(e);H=0;i=I;return H|0}case 43:{Uc(e);H=0;i=I;return H|0}case 45:{Ub(d,1,17616,w)|0;Uc(e);H=0;i=I;return H|0}case 47:{Ub(d,1,17686,x)|0;Uc(e);H=0;i=I;return H|0}case 50:{Ub(d,1,17399,y)|0;Uc(e);H=0;i=I;return H|0}}Uc(e);H=1;i=I;return H|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+24|0;e=Pb(b)|0;f=C;a=a+80|0;j=a;j=Oi(e|0,f|0,c[j>>2]|0,c[j+4>>2]|0)|0;pb(g,j,4);pb(g+4|0,1785737827,4);if(!(Sb(b,c[a>>2]|0,c[a+4>>2]|0,d)|0)){Ub(d,1,17067,h)|0;j=0;i=h;return j|0}if((Nb(b,g,8,d)|0)!=8){Ub(d,1,17067,h+8|0)|0;j=0;i=h;return j|0}if(Sb(b,e,f,d)|0){j=1;i=h;return j|0}Ub(d,1,17067,h+16|0)|0;j=0;i=h;return j|0}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;d=((c[a>>2]|0)!=0?(c[a+104>>2]|c[a+100>>2]|0)==0:0)&(c[a+8>>2]|0)!=0&(c[a+4>>2]|0)!=0&(c[a+64>>2]|0)!=0&(c[a+16>>2]|0)!=0&(c[a+12>>2]|0)!=0&1;e=c[a+20>>2]|0;if(!e){g=d;a=a+40|0;a=c[a>>2]|0;a=a+-1|0;a=a>>>0<2;a=a&1;b=Tb(b)|0;b=b&g;a=b&a;return a|0}f=c[a+72>>2]|0;g=0;do{d=(c[f+(g*12|0)+8>>2]&126)>>>0<38&d;g=g+1|0}while(g>>>0>>0);a=a+40|0;a=c[a>>2]|0;a=a+-1|0;a=a>>>0<2;a=a&1;b=Tb(b)|0;b=b&d;a=b&a;return a|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=i;i=i+16|0;d=a;pb(d,12,4);pb(d+4|0,1783636e3,4);pb(d+8|0,218793738,4);c=(Nb(b,d,12,c)|0)==12&1;i=a;return c|0}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+8|0;f=a+64|0;h=(c[f>>2]<<2)+16|0;j=Qc(1,h)|0;if(!j){Ub(d,1,16987,l)|0;k=0;i=l;return k|0}pb(j,h,4);pb(j+4|0,1718909296,4);pb(j+8|0,c[a+56>>2]|0,4);pb(j+12|0,c[a+60>>2]|0,4);g=j+16|0;if(c[f>>2]|0){a=a+68|0;e=0;do{pb(g,c[(c[a>>2]|0)+(e<<2)>>2]|0,4);e=e+1|0}while(e>>>0<(c[f>>2]|0)>>>0)}a=(Nb(b,j,h,d)|0)==(h|0);if(!a)Ub(d,1,17026,k)|0;Uc(j);k=a&1;i=l;return k|0}function kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;o=q+16|0;m=q+8|0;k=q;f=q+24|0;l=q+72|0;e=f;g=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));p=(c[a+24>>2]|0)==255;c[f>>2]=2;e=f+12|0;if(p){c[e>>2]=3;c[f+24>>2]=4;e=3}else{c[e>>2]=4;e=2}if(!(c[a+116>>2]|0))p=e;else{c[f+(e*12|0)>>2]=5;p=e+1|0}pb(l+4|0,1785737832,4);h=0;j=f;e=8;while(1){g=j+8|0;r=_a[c[j>>2]&7](a,g)|0;c[j+4>>2]=r;if(!r){n=8;break}e=(c[g>>2]|0)+e|0;h=h+1|0;if((h|0)>=(p|0))break;else j=j+12|0}if((n|0)==8){Ub(d,1,16901,k)|0;g=0;while(1){e=c[f+4>>2]|0;if(e)Uc(e);g=g+1|0;if((g|0)>=(p|0)){e=0;break}else f=f+12|0}i=q;return e|0}pb(l,e,4);a:do{if((Nb(b,l,8,d)|0)==8){e=0;g=f;while(1){r=g+8|0;n=Nb(b,c[g+4>>2]|0,c[r>>2]|0,d)|0;if((n|0)!=(c[r>>2]|0))break;e=e+1|0;if((e|0)>=(p|0)){e=1;break a}else g=g+12|0}Ub(d,1,16944,o)|0;e=0}else{Ub(d,1,16944,m)|0;e=0}}while(0);h=0;while(1){g=c[f+4>>2]|0;if(g)Uc(g);h=h+1|0;if((h|0)>=(p|0))break;else f=f+12|0}i=q;return e|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Pb(b)|0;a=a+88|0;c[a>>2]=e;c[a+4>>2]=C;b=Rb(b,24,0,d)|0;return(b|0)==24&(C|0)==0&1|0}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Pb(b)|0;a=a+80|0;c[a>>2]=e;c[a+4>>2]=C;b=Rb(b,8,0,d)|0;return(b|0)==8&(C|0)==0&1|0}function nf(a,b){a=a|0;b=b|0;var d=0;d=Qc(1,22)|0;if(!d){b=0;return b|0}pb(d,22,4);pb(d+4|0,1768449138,4);pb(d+8|0,c[a+16>>2]|0,4);pb(d+12|0,c[a+12>>2]|0,4);pb(d+16|0,c[a+20>>2]|0,2);pb(d+18|0,c[a+24>>2]|0,1);pb(d+19|0,c[a+28>>2]|0,1);pb(d+20|0,c[a+32>>2]|0,1);pb(d+21|0,c[a+36>>2]|0,1);c[b>>2]=22;b=d;return b|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=(c[f>>2]|0)+8|0;h=Qc(1,g)|0;if(!h){b=0;return b|0}pb(h,g,4);pb(h+4|0,1651532643,4);if(c[f>>2]|0){a=a+72|0;d=0;e=h+8|0;while(1){pb(e,c[(c[a>>2]|0)+(d*12|0)+8>>2]|0,1);d=d+1|0;if(d>>>0>=(c[f>>2]|0)>>>0)break;else e=e+1|0}}c[b>>2]=g;b=h;return b|0}function pf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=a+40|0;switch(c[e>>2]|0){case 1:{j=15;break}case 2:{j=(c[a+112>>2]|0)+11|0;break}default:{b=0;return b|0}}i=Qc(1,j)|0;if(!i){b=0;return b|0}pb(i,j,4);pb(i+4|0,1668246642,4);pb(i+8|0,c[e>>2]|0,1);pb(i+9|0,c[a+52>>2]|0,1);pb(i+10|0,c[a+44>>2]|0,1);g=i+11|0;switch(c[e>>2]|0){case 1:{pb(g,c[a+48>>2]|0,4);break}case 2:{h=a+112|0;if(c[h>>2]|0){a=a+108|0;f=0;e=g;while(1){pb(e,d[(c[a>>2]|0)+f>>0]|0,1);f=f+1|0;if(f>>>0>=(c[h>>2]|0)>>>0)break;else e=e+1|0}}break}default:{}}c[b>>2]=j;b=i;return b|0}function qf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=a+116|0;j=((e[(c[i>>2]|0)+4>>1]|0)*6|0)+10|0;k=Pc(j)|0;if(!k){d=0;return d|0}pb(k,j,4);pb(k+4|0,1667523942,4);pb(k+8|0,e[(c[i>>2]|0)+4>>1]|0,2);a=c[i>>2]|0;if(b[a+4>>1]|0){g=0;f=0;h=k+10|0;while(1){pb(h,e[(c[a>>2]|0)+(g*6|0)>>1]|0,2);pb(h+2|0,e[(c[c[i>>2]>>2]|0)+(g*6|0)+2>>1]|0,2);pb(h+4|0,e[(c[c[i>>2]>>2]|0)+(g*6|0)+4>>1]|0,2);f=f+1<<16>>16;a=c[i>>2]|0;if((f&65535)>=(e[a+4>>1]|0))break;else{g=f&65535;h=h+6|0}}}c[d>>2]=j;d=k;return d|0}function rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;f=g+16|0;if((d|0)!=14){Ub(e,1,18507,g)|0;f=0;i=g;return f|0}qb(b,a+16|0,4);qb(b+4|0,a+12|0,4);d=a+20|0;qb(b+8|0,d,2);d=Qc(c[d>>2]|0,12)|0;c[a+72>>2]=d;if(!d){Ub(e,1,18540,g+8|0)|0;f=0;i=g;return f|0}qb(b+10|0,a+24|0,1);d=a+28|0;qb(b+11|0,d,1);d=c[d>>2]|0;if((d|0)!=7){c[f>>2]=d;Ub(e,4,18589,f)|0}qb(b+12|0,a+32|0,1);qb(b+13|0,a+36|0,1);f=1;i=g;return f|0}function sf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var 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;x=i;i=i+80|0;j=x+40|0;t=x+32|0;l=x+24|0;k=x+16|0;u=x+72|0;s=x+68|0;p=x+64|0;q=x+60|0;n=x+56|0;r=x+52|0;o=x+48|0;m=x+44|0;if(e>>>0<3){Ub(f,1,18180,x)|0;w=0;i=x;return w|0}v=b+108|0;w=b+124|0;if(a[w>>0]|0){Ub(f,4,18212,x+8|0)|0;w=1;i=x;return w|0}h=b+40|0;qb(d,h,1);qb(d+1|0,b+52|0,1);qb(d+2|0,b+44|0,1);g=d+3|0;h=c[h>>2]|0;switch(h|0){case 1:{if(e>>>0<7){c[k>>2]=e;Ub(f,1,18321,k)|0;w=0;i=x;return w|0}h=b+48|0;if(e>>>0>7?(c[h>>2]|0)!=14:0){c[l>>2]=e;Ub(f,2,18321,l)|0}qb(g,h,4);if((c[h>>2]|0)==14){g=Pc(36)|0;c[g>>2]=14;c[o>>2]=0;c[n>>2]=0;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=0;c[m>>2]=4470064;h=g+4|0;c[h>>2]=1145390592;switch(e|0){case 35:{qb(d+7|0,s,4);qb(d+11|0,p,4);qb(d+15|0,q,4);qb(d+19|0,n,4);qb(d+23|0,r,4);qb(d+27|0,o,4);qb(d+31|0,m,4);c[h>>2]=0;break}case 7:break;default:{c[t>>2]=e;Ub(f,2,18357,t)|0}}c[g+8>>2]=c[s>>2];c[g+16>>2]=c[q>>2];c[g+24>>2]=c[r>>2];c[g+12>>2]=c[p>>2];c[g+20>>2]=c[n>>2];c[g+28>>2]=c[o>>2];c[g+32>>2]=c[m>>2];c[v>>2]=g;c[b+112>>2]=0}a[w>>0]=1;w=1;i=x;return w|0}case 2:{j=e+-3|0;h=b+112|0;c[h>>2]=j;b=Qc(1,j)|0;c[v>>2]=b;if(!b){c[h>>2]=0;w=0;i=x;return w|0}if((e|0)>3){h=0;while(1){qb(g,u,1);a[(c[v>>2]|0)+h>>0]=c[u>>2];h=h+1|0;if((h|0)==(j|0))break;else g=g+1|0}}a[w>>0]=1;w=1;i=x;return w|0}default:{if(h>>>0<=2){w=1;i=x;return w|0}c[j>>2]=h;Ub(f,4,18401,j)|0;w=1;i=x;return w|0}}return 0}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j;f=c[a+24>>2]|0;if((f|0)!=255){c[g>>2]=f;Ub(e,2,18034,g)|0}h=a+20|0;if((c[h>>2]|0)!=(d|0)){Ub(e,1,18148,j+8|0)|0;h=0;i=j;return h|0}if(!d){h=1;i=j;return h|0}g=a+72|0;f=0;while(1){qb(b,(c[g>>2]|0)+(f*12|0)+8|0,1);f=f+1|0;if(f>>>0>=(c[h>>2]|0)>>>0){b=1;break}else b=b+1|0}i=j;return b|0}function uf(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;j=r;q=r+12|0;k=e+120|0;if(g>>>0<3|(c[k>>2]|0)!=0){g=0;i=r;return g|0}qb(f,q,2);l=c[q>>2]|0;p=l&65535;if((p+-1|0)>>>0>1023){c[j>>2]=p;Ub(h,1,17951,j)|0;g=0;i=r;return g|0}qb(f+2|0,q,1);o=c[q>>2]&65535;if(!o){Ub(h,1,17989,r+8|0)|0;g=0;i=r;return g|0}if((o+3|0)>>>0>g>>>0){g=0;i=r;return g|0}j=Pc(_(p<<2,o)|0)|0;if(!j){g=0;i=r;return g|0}n=Pc(o)|0;if(!n){Uc(j);g=0;i=r;return g|0}m=Pc(o)|0;if(!m){Uc(j);Uc(n);g=0;i=r;return g|0}e=Pc(20)|0;if(!e){Uc(j);Uc(n);Uc(m);g=0;i=r;return g|0}c[e+4>>2]=m;c[e+8>>2]=n;c[e>>2]=j;b[e+16>>1]=l;a[e+18>>0]=c[q>>2];c[e+12>>2]=0;c[k>>2]=e;e=f+3|0;h=0;k=0;do{qb(e,q,1);e=e+1|0;a[n+h>>0]=(c[q>>2]&127)+1;a[m+h>>0]=(c[q>>2]|0)>>>7&1;k=k+1<<16>>16;h=k&65535}while(h>>>0>>0);if(!p){g=1;i=r;return g|0}h=0;a:while(1){l=0;k=j;m=0;while(1){j=((d[n+l>>0]|0)+7|0)>>>3;j=j>>>0>4?4:j;if((e-f+j|0)>(g|0)){e=0;j=22;break a}qb(e,q,j);e=e+j|0;c[k>>2]=c[q>>2];j=k+4|0;m=m+1<<16>>16;l=m&65535;if(l>>>0>=o>>>0)break;else k=j}h=h+1<<16>>16;if((h&65535)>>>0>=p>>>0){e=1;j=22;break}}if((j|0)==22){i=r;return e|0}return 0}function vf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+20|0;j=d+120|0;d=c[j>>2]|0;if(!d){Ub(g,1,17841,l)|0;k=0;i=l;return k|0}if(c[d+12>>2]|0){Ub(g,1,17887,l+8|0)|0;k=0;i=l;return k|0}h=a[d+18>>0]|0;d=(h&255)<<2;if(d>>>0>f>>>0){Ub(g,1,17918,l+16|0)|0;k=0;i=l;return k|0}g=Pc(d)|0;if(!g){k=0;i=l;return k|0}if(h<<24>>24){d=e;f=0;while(1){qb(d,k,2);b[g+(f<<2)>>1]=c[k>>2];qb(d+2|0,k,1);a[g+(f<<2)+2>>0]=c[k>>2];qb(d+3|0,k,1);a[g+(f<<2)+3>>0]=c[k>>2];f=f+1|0;if((f&255)<<24>>24==h<<24>>24)break;else d=d+4|0}}c[(c[j>>2]|0)+12>>2]=g;k=1;i=l;return k|0}function wf(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+20|0;j=a+116|0;if(c[j>>2]|0){k=0;i=l;return k|0}if(f>>>0<2){Ub(g,1,17747,l)|0;k=0;i=l;return k|0}qb(d,k,2);a=c[k>>2]|0;h=a&65535;if(!h){Ub(g,1,17780,l+8|0)|0;k=0;i=l;return k|0}if(((h*6|0)+2|0)>>>0>f>>>0){Ub(g,1,17747,l+16|0)|0;k=0;i=l;return k|0}f=Pc(a*6|0)|0;if(!f){k=0;i=l;return k|0}a=Pc(8)|0;c[j>>2]=a;if(!a){Uc(f);k=0;i=l;return k|0}c[a>>2]=f;g=c[k>>2]&65535;b[a+4>>1]=g;if(!(g<<16>>16)){k=1;i=l;return k|0}else{h=0;a=d}do{d=h&65535;qb(a+2|0,k,2);b[f+(d*6|0)>>1]=c[k>>2];qb(a+4|0,k,2);a=a+6|0;b[f+(d*6|0)+2>>1]=c[k>>2];qb(a,k,2);b[f+(d*6|0)+4>>1]=c[k>>2];h=h+1<<16>>16}while((h&65535)<(e[(c[j>>2]|0)+4>>1]|0));a=1;i=l;return a|0}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;f=g+20|0;a=a+100|0;if(c[a>>2]|0){Ub(e,1,19130,g)|0;e=0;i=g;return e|0}if((d|0)!=4){Ub(e,1,19184,g+8|0)|0;e=0;i=g;return e|0}qb(b,f,4);if((c[f>>2]|0)==218793738){c[a>>2]=c[a>>2]|1;e=1;i=g;return e|0}else{Ub(e,1,19218,g+16|0)|0;e=0;i=g;return e|0}return 0}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;g=j+24|0;h=a+100|0;if((c[h>>2]|0)!=1){Ub(e,1,19011,j)|0;h=0;i=j;return h|0}if(d>>>0<8){Ub(e,1,19061,j+8|0)|0;h=0;i=j;return h|0}qb(b,a+56|0,4);qb(b+4|0,a+60|0,4);b=b+8|0;d=d+-8|0;if(d&3){Ub(e,1,19061,j+16|0)|0;h=0;i=j;return h|0}d=d>>>2;f=a+64|0;c[f>>2]=d;if(d){d=Qc(d,4)|0;c[a+68>>2]=d;if(!d){Ub(e,1,19097,g)|0;h=0;i=j;return h|0}if(c[f>>2]|0){a=a+68|0;d=0;while(1){qb(b,(c[a>>2]|0)+(d<<2)|0,4);d=d+1|0;if(d>>>0>=(c[f>>2]|0)>>>0)break;else b=b+4|0}}}c[h>>2]=c[h>>2]|2;h=1;i=j;return h|0}function zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;y=A+72|0;s=A+64|0;r=A+56|0;q=A+48|0;w=A+40|0;v=A+32|0;u=A+24|0;t=A+16|0;p=A+8|0;n=A+80|0;o=A+76|0;x=a+100|0;if(!(c[x>>2]&2)){Ub(e,1,18679,A)|0;z=0;i=A;return z|0}m=a+104|0;c[m>>2]=0;do{if(d){k=b;b=0;a:while(1){if(d>>>0<8){z=6;break}qb(k,n,4);f=c[n>>2]|0;qb(k+4|0,n,4);j=c[n>>2]|0;switch(f|0){case 0:{z=14;break a}case 1:{if(d>>>0<16){z=9;break a}qb(k+8|0,o,4);if(c[o>>2]|0){z=11;break a}qb(k+12|0,n,4);f=c[n>>2]|0;if(!f){z=13;break a}else g=16;break}default:g=8}if(f>>>0>>0){z=16;break}if(d>>>0>>0){z=19;break}h=(j|0)==1768449138;if(!h)if((j|0)!=1668246642)if((j|0)!=1651532643)if((j|0)!=1885564018)if((j|0)!=1668112752)if((j|0)==1667523942){l=1148;z=26}else c[m>>2]=c[m>>2]|2147483647;else{l=1140;z=26}else{l=1132;z=26}else{l=1124;z=26}else{l=1116;z=26}else{l=1108;z=26}if((z|0)==26?(z=0,(Za[c[l+4>>2]&63](a,k+g|0,f-g|0,e)|0)==0):0){b=0;z=32;break}b=h?1:b;if((d|0)==(f|0)){z=29;break}else{k=k+f|0;d=d-f|0}}if((z|0)==6)Ub(e,1,18724,p)|0;else if((z|0)==9)Ub(e,1,18764,t)|0;else if((z|0)==11)Ub(e,1,17148,u)|0;else if((z|0)==13)Ub(e,1,17218,v)|0;else if((z|0)==14)Ub(e,1,17218,w)|0;else if((z|0)==16)Ub(e,1,18808,q)|0;else if((z|0)==19){Ub(e,1,18880,s)|0;z=0;i=A;return z|0}else if((z|0)==29){if(!b)break;c[x>>2]=c[x>>2]|4;z=1;i=A;return z|0}else if((z|0)==32){i=A;return b|0}Ub(e,1,18837,r)|0;z=0;i=A;return z|0}}while(0);Ub(e,1,18952,y)|0;z=0;i=A;return z|0}function Af(){return 8}function Bf(){return 32}function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!e)return;else f=0;do{l=a+(f<<2)|0;i=c[l>>2]|0;j=b+(f<<2)|0;h=c[j>>2]|0;g=d+(f<<2)|0;k=c[g>>2]|0;c[l>>2]=(h<<1)+i+k>>2;c[j>>2]=k-h;c[g>>2]=i-h;f=f+1|0}while((f|0)!=(e|0));return}function Df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!e)return;else f=0;do{k=a+(f<<2)|0;j=b+(f<<2)|0;h=c[j>>2]|0;g=d+(f<<2)|0;l=c[g>>2]|0;i=(c[k>>2]|0)-(l+h>>2)|0;c[k>>2]=i+l;c[j>>2]=i;c[g>>2]=i+h;f=f+1|0}while((f|0)!=(e|0));return}function Ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!e)return;else f=0;do{o=a+(f<<2)|0;u=c[o>>2]|0;k=b+(f<<2)|0;t=c[k>>2]|0;g=d+(f<<2)|0;s=c[g>>2]|0;j=((u|0)<0)<<31>>31;q=Zi(u|0,j|0,2449,0)|0;q=Si(q|0,C|0,4096,0)|0;q=Ti(q|0,C|0,13)|0;i=((t|0)<0)<<31>>31;r=Zi(t|0,i|0,4809,0)|0;r=Si(r|0,C|0,4096,0)|0;r=Ti(r|0,C|0,13)|0;h=((s|0)<0)<<31>>31;p=Zi(s|0,h|0,934,0)|0;p=Si(p|0,C|0,4096,0)|0;p=Ti(p|0,C|0,13)|0;l=Zi(u|0,j|0,1382,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=Zi(t|0,i|0,2714,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;n=Ri(s|0,h|0,12)|0;n=Si(n|0,C|0,4096,0)|0;n=Ti(n|0,C|0,13)|0;j=Ri(u|0,j|0,12)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;i=Zi(t|0,i|0,3430,0)|0;i=Si(i|0,C|0,4096,0)|0;i=Ti(i|0,C|0,13)|0;h=Zi(s|0,h|0,666,0)|0;h=Si(h|0,C|0,4096,0)|0;h=Ti(h|0,C|0,13)|0;c[o>>2]=r+q+p;c[k>>2]=n-(m+l);c[g>>2]=j-i-h;f=f+1|0}while((f|0)!=(e|0));return}function Ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0,k=0.0,l=0;if(!d)return;else e=0;do{l=a+(e<<2)|0;i=+g[l>>2];j=b+(e<<2)|0;h=+g[j>>2];f=c+(e<<2)|0;k=+g[f>>2];g[l>>2]=i+k*1.4019999504089355;g[j>>2]=i-h*.3441300094127655-k*.714139997959137;g[f>>2]=i+h*1.7719999551773071;e=e+1|0}while((e|0)!=(d|0));return}function Gf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=_(e,e)|0;o=Pc(h+e<<2)|0;if(!o){e=0;return e|0}if(h){i=0;f=a;while(1){c[o+(i+e<<2)>>2]=~~(+g[f>>2]*8192.0);i=i+1|0;if((i|0)==(h|0))break;else f=f+4|0}}if(b){m=(e|0)==0;n=0;do{if(!m){f=0;do{c[o+(f<<2)>>2]=c[c[d+(f<<2)>>2]>>2];f=f+1|0}while((f|0)!=(e|0));if(!m){a=0;k=o;do{k=k+(e<<2)|0;h=d+(a<<2)|0;f=c[h>>2]|0;c[f>>2]=0;i=0;j=0;l=k;while(1){p=c[l>>2]|0;q=c[o+(j<<2)>>2]|0;p=Zi(q|0,((q|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=Si(p|0,C|0,4096,0)|0;p=Ti(p|0,C|0,13)|0;i=p+i|0;c[f>>2]=i;j=j+1|0;if((j|0)==(e|0))break;else l=l+4|0}c[h>>2]=f+4;a=a+1|0}while((a|0)!=(e|0))}}n=n+1|0}while((n|0)!=(b|0))}Uc(o);q=1;return q|0}function Hf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Pc(e<<3)|0;if(!m){e=0;return e|0}if(b){n=(e|0)==0;o=0;do{if(!n){f=0;do{c[m+(f<<2)>>2]=c[c[d+(f<<2)>>2]>>2];f=f+1|0}while((f|0)!=(e|0));if(!n){k=0;l=a;while(1){f=m+(k+e<<2)|0;g[f>>2]=0.0;h=0.0;i=0;j=l;while(1){h=h+ +g[j>>2]*+g[m+(i<<2)>>2];g[f>>2]=h;i=i+1|0;if((i|0)==(e|0))break;else j=j+4|0}i=d+(k<<2)|0;j=c[i>>2]|0;c[i>>2]=j+4;g[j>>2]=h;k=k+1|0;if((k|0)==(e|0))break;else l=l+(e<<2)|0}}}o=o+1|0}while((o|0)!=(b|0))}Uc(m);e=1;return e|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,i=0,j=0,k=0.0;if(!b)return;else j=0;do{i=a+(j<<3)|0;h[i>>3]=0.0;d=0.0;e=0;f=j;while(1){k=+g[c+(f<<2)>>2];d=d+k*k;e=e+1|0;if((e|0)==(b|0))break;else f=f+b|0}h[i>>3]=+O(+d);j=j+1|0}while((j|0)!=(b|0));return}function Jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=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,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+32|0;B=F+28|0;w=F+24|0;x=F+20|0;y=F+16|0;z=F+12|0;A=F+8|0;k=F+4|0;l=F;f=d+76|0;D=c[f>>2]|0;C=D+(e*5640|0)+420|0;E=(c[C>>2]|0)+1|0;m=b+16|0;v=Pc((c[m>>2]|0)*528|0)|0;if(!v){E=0;i=F;return E|0}u=Pc(c[m>>2]<<2)|0;if(!u){Uc(v);E=0;i=F;return E|0}f=Pf(b,c[f>>2]|0,e)|0;if(!f){Uc(v);Uc(u);E=0;i=F;return E|0}g=c[m>>2]|0;if(g){h=0;j=v;while(1){c[u+(h<<2)>>2]=j;h=h+1|0;if(h>>>0>=g>>>0)break;else j=j+528|0}}Qf(b,d,e,x,y,z,A,k,l,w,B,u);s=c[w>>2]|0;q=_(c[m>>2]|0,s)|0;r=_(c[B>>2]|0,q)|0;t=D+(e*5640|0)+8|0;p=Qc(_((c[t>>2]|0)+1|0,r)|0,2)|0;h=f+4|0;c[h>>2]=p;if(!p){Uc(v);Uc(u);g=c[h>>2]|0;if(g){Uc(g);c[h>>2]=0}if(E){b=f;n=0;while(1){m=b+196|0;g=c[m>>2]|0;if(g){d=b+192|0;h=c[d>>2]|0;if(h){l=0;while(1){j=g+12|0;k=c[j>>2]|0;if(k){Uc(k);c[j>>2]=0;h=c[d>>2]|0}l=l+1|0;if(l>>>0>=h>>>0)break;else g=g+16|0}g=c[m>>2]|0}Uc(g);c[m>>2]=0}n=n+1|0;if((n|0)==(E|0))break;else b=b+232|0}}Uc(f);E=0;i=F;return E|0}g=c[f+196>>2]|0;p=c[b+24>>2]|0;c[f+200>>2]=c[x>>2];c[f+204>>2]=c[z>>2];c[f+208>>2]=c[y>>2];c[f+212>>2]=c[A>>2];c[f+20>>2]=1;c[f+16>>2]=s;c[f+12>>2]=q;c[f+8>>2]=r;m=c[f+192>>2]|0;if(m){b=0;d=p;while(1){j=c[g+12>>2]|0;h=c[u+(b<<2)>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];l=c[g+8>>2]|0;if(l){k=0;while(1){c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];k=k+1|0;if(k>>>0>=l>>>0)break;else{h=h+16|0;j=j+16|0}}}b=b+1|0;if(b>>>0>=m>>>0)break;else{g=g+16|0;d=d+52|0}}}if(E>>>0>1){m=f;o=1;do{g=c[m+428>>2]|0;c[m+432>>2]=c[x>>2];c[m+436>>2]=c[z>>2];c[m+440>>2]=c[y>>2];c[m+444>>2]=c[A>>2];c[m+252>>2]=1;c[m+248>>2]=s;c[m+244>>2]=q;c[m+240>>2]=r;b=c[m+424>>2]|0;if(b){n=0;d=p;while(1){j=c[g+12>>2]|0;h=c[u+(n<<2)>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];l=c[g+8>>2]|0;if(l){k=0;while(1){c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];k=k+1|0;if(k>>>0>=l>>>0)break;else{h=h+16|0;j=j+16|0}}}n=n+1|0;if(n>>>0>=b>>>0)break;else{g=g+16|0;d=d+52|0}}}c[m+236>>2]=c[m+4>>2];m=m+232|0;o=o+1|0}while((o|0)!=(E|0))}Uc(v);Uc(u);m=c[w>>2]|0;if(!(a[D+(e*5640|0)+5636>>0]&4)){d=c[B>>2]|0;l=(c[C>>2]|0)+1|0;if(!l){E=f;i=F;return E|0}k=c[D+(e*5640|0)+4>>2]|0;g=c[t>>2]|0;h=f;j=0;while(1){c[h+80>>2]=k;c[h+40>>2]=1;c[h+44>>2]=0;c[h+48>>2]=0;c[h+64>>2]=0;c[h+68>>2]=0;c[h+56>>2]=d;c[h+60>>2]=c[h+192>>2];c[h+52>>2]=g;c[h+72>>2]=m;j=j+1|0;if((j|0)==(l|0))break;else h=h+232|0}i=F;return f|0}else{j=(c[C>>2]|0)+1|0;if(!j){E=f;i=F;return E|0}k=f;g=D+(e*5640|0)+424|0;h=0;while(1){c[k+80>>2]=c[g+36>>2];c[k+40>>2]=1;c[k+44>>2]=c[g>>2];c[k+48>>2]=c[g+4>>2];c[k+64>>2]=0;c[k+68>>2]=0;c[k+56>>2]=c[g+12>>2];c[k+60>>2]=c[g+16>>2];c[k+52>>2]=c[g+8>>2];c[k+72>>2]=m;h=h+1|0;if((h|0)==(j|0))break;else{k=k+232|0;g=g+148|0}}i=F;return f|0}return 0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!a)return;d=a+4|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0}if(b){k=a;l=0;while(1){j=k+196|0;d=c[j>>2]|0;if(d){i=k+192|0;e=c[i>>2]|0;if(e){h=0;while(1){f=d+12|0;g=c[f>>2]|0;if(g){Uc(g);c[f>>2]=0;e=c[i>>2]|0}h=h+1|0;if(h>>>0>=e>>>0)break;else d=d+16|0}d=c[j>>2]|0}Uc(d);c[j>>2]=0}l=l+1|0;if((l|0)==(b|0))break;else k=k+232|0}}Uc(a);return}function Lf(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+32|0;G=L+28|0;F=L+24|0;B=L+20|0;C=L+16|0;D=L+12|0;E=L+8|0;H=L+4|0;I=L;J=f+76|0;x=c[J>>2]|0;K=(c[x+(g*5640|0)+420>>2]|0)+1|0;A=e+16|0;z=Pc((c[A>>2]|0)*528|0)|0;if(!z){g=0;i=L;return g|0}y=Pc(c[A>>2]<<2)|0;if(!y){Uc(z);g=0;i=L;return g|0}j=Pf(e,c[J>>2]|0,g)|0;if(!j){Uc(z);Uc(y);g=0;i=L;return g|0}k=c[A>>2]|0;if(k){l=0;m=z;while(1){c[y+(l<<2)>>2]=m;l=l+1|0;if(l>>>0>=k>>>0)break;else m=m+528|0}}Qf(e,f,g,B,C,D,E,H,I,F,G,y);u=c[F>>2]|0;v=_(c[A>>2]|0,u)|0;w=_(c[G>>2]|0,v)|0;a[j>>0]=(d[f+93>>0]|0)>>>3&1;t=Qc(_(c[x+(g*5640|0)+8>>2]|0,w)|0,2)|0;l=j+4|0;c[l>>2]=t;if(!t){Uc(z);Uc(y);k=c[l>>2]|0;if(k){Uc(k);c[l>>2]=0}if(K){q=j;r=0;while(1){p=q+196|0;k=c[p>>2]|0;if(k){o=q+192|0;l=c[o>>2]|0;if(l){n=0;while(1){m=k+12|0;e=c[m>>2]|0;if(e){Uc(e);c[m>>2]=0;l=c[o>>2]|0}n=n+1|0;if(n>>>0>=l>>>0)break;else k=k+16|0}k=c[p>>2]|0}Uc(k);c[p>>2]=0}r=r+1|0;if((r|0)==(K|0))break;else q=q+232|0}}Uc(j);g=0;i=L;return g|0}k=c[j+196>>2]|0;t=c[e+24>>2]|0;c[j+200>>2]=c[B>>2];c[j+204>>2]=c[D>>2];c[j+208>>2]=c[C>>2];c[j+212>>2]=c[E>>2];c[j+224>>2]=c[H>>2];c[j+228>>2]=c[I>>2];c[j+20>>2]=1;c[j+16>>2]=u;c[j+12>>2]=v;c[j+8>>2]=w;p=c[j+192>>2]|0;if(p){q=0;o=t;while(1){m=c[k+12>>2]|0;l=c[y+(q<<2)>>2]|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];n=c[k+8>>2]|0;if(n){e=0;while(1){c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];e=e+1|0;if(e>>>0>=n>>>0)break;else{l=l+16|0;m=m+16|0}}}q=q+1|0;if(q>>>0>=p>>>0)break;else{k=k+16|0;o=o+52|0}}}if(K>>>0>1){p=j;s=1;do{k=c[p+428>>2]|0;c[p+432>>2]=c[B>>2];c[p+436>>2]=c[D>>2];c[p+440>>2]=c[C>>2];c[p+444>>2]=c[E>>2];c[p+456>>2]=c[H>>2];c[p+460>>2]=c[I>>2];c[p+252>>2]=1;c[p+248>>2]=u;c[p+244>>2]=v;c[p+240>>2]=w;q=c[p+424>>2]|0;if(q){r=0;o=t;while(1){m=c[k+12>>2]|0;l=c[y+(r<<2)>>2]|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];n=c[k+8>>2]|0;if(n){e=0;while(1){c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];e=e+1|0;if(e>>>0>=n>>>0)break;else{l=l+16|0;m=m+16|0}}}r=r+1|0;if(r>>>0>=q>>>0)break;else{k=k+16|0;o=o+52|0}}}c[p+236>>2]=c[p+4>>2];p=p+232|0;s=s+1|0}while((s|0)!=(K|0))}Uc(z);Uc(y);do{if(a[x+(g*5640|0)+5636>>0]&4){k=b[f>>1]|0;if((k&65535)>2){if(!((h|0)==1|(k&65535)<7))break}else if((h|0)!=1)break;Rf(c[J>>2]|0,g,c[B>>2]|0,c[C>>2]|0,c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,c[H>>2]|0,c[I>>2]|0);g=j;i=L;return g|0}}while(0);w=c[A>>2]|0;v=c[B>>2]|0;u=c[C>>2]|0;t=c[D>>2]|0;s=c[E>>2]|0;r=c[F>>2]|0;q=c[G>>2]|0;p=c[H>>2]|0;o=c[I>>2]|0;k=c[J>>2]|0;m=(c[k+(g*5640|0)+420>>2]|0)+1|0;if(!m){g=j;i=L;return g|0}e=c[k+(g*5640|0)+8>>2]|0;n=c[k+(g*5640|0)+4>>2]|0;k=k+(g*5640|0)+424|0;l=0;while(1){c[k+76>>2]=0;c[k+92>>2]=w;c[k+72>>2]=0;c[k+88>>2]=q;c[k+68>>2]=0;c[k+84>>2]=e;c[k+36>>2]=n;c[k+80>>2]=0;c[k+96>>2]=r;c[k+100>>2]=v;c[k+104>>2]=u;c[k+108>>2]=t;c[k+112>>2]=s;c[k+116>>2]=p;c[k+120>>2]=o;l=l+1|0;if((l|0)==(m|0))break;else k=k+148|0}i=L;return j|0}function Mf(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;Q=c[e+76>>2]|0;R=Q+(f*5640|0)+424+(g*148|0)+36|0;S=Vc(c[R>>2]|0)|0;c[d+(g*232|0)+40>>2]=1;T=d+(g*232|0)+44|0;c[d+(g*232|0)+80>>2]=c[R>>2];do{if(a[e+93>>0]&8){k=b[e>>1]|0;if((k&65535)>2){if(!((j|0)==1&(k&65535)>6|(k+-3&65535)<4))break}else if(!((j|0)==1|(k+-3&65535)<4))break;k=i+1|0;a:do{if((k|0)<4){j=Q+(f*5640|0)+424+(g*148|0)+72|0;l=Q+(f*5640|0)+424+(g*148|0)+88|0;m=d+(g*232|0)+56|0;n=Q+(f*5640|0)+424+(g*148|0)+76|0;o=d+(g*232|0)+48|0;p=Q+(f*5640|0)+424+(g*148|0)+92|0;q=d+(g*232|0)+60|0;r=Q+(f*5640|0)+424+(g*148|0)+68|0;s=d+(g*232|0)+64|0;t=Q+(f*5640|0)+424+(g*148|0)+84|0;u=d+(g*232|0)+52|0;v=Q+(f*5640|0)+424+(g*148|0)+80|0;w=d+(g*232|0)+68|0;x=Q+(f*5640|0)+424+(g*148|0)+96|0;y=d+(g*232|0)+72|0;z=Q+(f*5640|0)+424+(g*148|0)+100|0;A=d+(g*232|0)+96|0;B=Q+(f*5640|0)+424+(g*148|0)+108|0;C=d+(g*232|0)+104|0;D=Q+(f*5640|0)+424+(g*148|0)+104|0;E=d+(g*232|0)+100|0;F=Q+(f*5640|0)+424+(g*148|0)+112|0;G=d+(g*232|0)+108|0;while(1){b:do{switch(a[S+k>>0]|0){case 82:{c[T>>2]=c[j>>2];c[m>>2]=c[l>>2];break}case 67:{c[o>>2]=c[n>>2];c[q>>2]=c[p>>2];break}case 76:{c[s>>2]=c[r>>2];c[u>>2]=c[t>>2];break}case 80:if((c[R>>2]|0)>>>0<2){c[w>>2]=c[v>>2];c[y>>2]=c[x>>2];break b}else{c[A>>2]=c[z>>2];c[C>>2]=c[B>>2];c[E>>2]=c[D>>2];c[G>>2]=c[F>>2];break b}default:{}}}while(0);k=k+1|0;if((k|0)==4)break a}}}while(0);k=(i|0)>-1;if(!h){if(!k)return;m=Q+(f*5640|0)+424+(g*148|0)+76|0;n=Q+(f*5640|0)+424+(g*148|0)+132|0;o=d+(g*232|0)+48|0;p=d+(g*232|0)+60|0;q=Q+(f*5640|0)+424+(g*148|0)+72|0;r=Q+(f*5640|0)+424+(g*148|0)+128|0;s=d+(g*232|0)+56|0;t=Q+(f*5640|0)+424+(g*148|0)+68|0;u=Q+(f*5640|0)+424+(g*148|0)+124|0;v=d+(g*232|0)+64|0;w=d+(g*232|0)+52|0;x=Q+(f*5640|0)+424+(g*148|0)+80|0;y=Q+(f*5640|0)+424+(g*148|0)+136|0;z=d+(g*232|0)+68|0;A=d+(g*232|0)+72|0;B=Q+(f*5640|0)+424+(g*148|0)+100|0;C=Q+(f*5640|0)+424+(g*148|0)+140|0;D=Q+(f*5640|0)+424+(g*148|0)+108|0;E=Q+(f*5640|0)+424+(g*148|0)+144|0;F=d+(g*232|0)+96|0;G=Q+(f*5640|0)+424+(g*148|0)+116|0;h=d+(g*232|0)+100|0;H=d+(g*232|0)+104|0;l=Q+(f*5640|0)+424+(g*148|0)+120|0;j=d+(g*232|0)+108|0;k=i;while(1){c:do{switch(a[S+k>>0]|0){case 67:{g=c[m>>2]|0;c[o>>2]=g;g=g+1|0;c[p>>2]=g;c[n>>2]=g;break}case 82:{g=c[q>>2]|0;c[T>>2]=g;g=g+1|0;c[s>>2]=g;c[r>>2]=g;break}case 76:{g=c[t>>2]|0;c[v>>2]=g;g=g+1|0;c[w>>2]=g;c[u>>2]=g;break}case 80:if((c[R>>2]|0)>>>0<2){g=c[x>>2]|0;c[z>>2]=g;g=g+1|0;c[A>>2]=g;c[y>>2]=g;break c}else{g=c[B>>2]|0;i=c[D>>2]|0;c[F>>2]=g;f=c[G>>2]|0;f=f+g-((g>>>0)%(f>>>0)|0)|0;c[h>>2]=f;c[H>>2]=i;g=c[l>>2]|0;g=g+i-((i>>>0)%(g>>>0)|0)|0;c[j>>2]=g;c[C>>2]=f;c[E>>2]=g;break c}default:{}}}while(0);if((k|0)>0)k=k+-1|0;else break}return}if(!k)return;L=Q+(f*5640|0)+424+(g*148|0)+128|0;M=Q+(f*5640|0)+424+(g*148|0)+88|0;N=Q+(f*5640|0)+424+(g*148|0)+72|0;O=d+(g*232|0)+56|0;P=Q+(f*5640|0)+424+(g*148|0)+132|0;p=Q+(f*5640|0)+424+(g*148|0)+92|0;q=Q+(f*5640|0)+424+(g*148|0)+76|0;r=d+(g*232|0)+48|0;s=d+(g*232|0)+60|0;t=Q+(f*5640|0)+424+(g*148|0)+124|0;u=Q+(f*5640|0)+424+(g*148|0)+84|0;v=Q+(f*5640|0)+424+(g*148|0)+68|0;w=d+(g*232|0)+64|0;x=d+(g*232|0)+52|0;y=Q+(f*5640|0)+424+(g*148|0)+136|0;z=Q+(f*5640|0)+424+(g*148|0)+96|0;A=Q+(f*5640|0)+424+(g*148|0)+80|0;B=d+(g*232|0)+68|0;C=d+(g*232|0)+72|0;D=Q+(f*5640|0)+424+(g*148|0)+140|0;E=Q+(f*5640|0)+424+(g*148|0)+104|0;F=d+(g*232|0)+96|0;G=Q+(f*5640|0)+424+(g*148|0)+116|0;h=d+(g*232|0)+100|0;H=Q+(f*5640|0)+424+(g*148|0)+144|0;I=Q+(f*5640|0)+424+(g*148|0)+112|0;J=d+(g*232|0)+104|0;K=Q+(f*5640|0)+424+(g*148|0)+120|0;n=d+(g*232|0)+108|0;o=Q+(f*5640|0)+424+(g*148|0)+100|0;m=Q+(f*5640|0)+424+(g*148|0)+108|0;l=i;k=1;while(1){j=S+l|0;d:do{switch(a[j>>0]|0){case 67:{i=c[P>>2]|0;c[r>>2]=i+-1;c[s>>2]=i;break}case 82:{i=c[L>>2]|0;c[T>>2]=i+-1;c[O>>2]=i;break}case 76:{i=c[t>>2]|0;c[w>>2]=i+-1;c[x>>2]=i;break}case 80:if((c[R>>2]|0)>>>0<2){i=c[y>>2]|0;c[B>>2]=i+-1;c[C>>2]=i;break d}else{i=c[D>>2]|0;Q=c[G>>2]|0;c[F>>2]=i-Q-((i>>>0)%(Q>>>0)|0);c[h>>2]=i;i=c[H>>2]|0;Q=c[K>>2]|0;c[J>>2]=i-Q-((i>>>0)%(Q>>>0)|0);c[n>>2]=i;break d}default:{}}}while(0);e:do{if((k|0)==1)switch(a[j>>0]|0){case 82:{k=c[L>>2]|0;if((k|0)!=(c[M>>2]|0)){c[T>>2]=k;k=k+1|0;c[O>>2]=k;c[L>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[N>>2]|0;c[T>>2]=k;k=k+1|0;c[O>>2]=k;c[L>>2]=k;k=1;break e}case 67:{k=c[P>>2]|0;if((k|0)!=(c[p>>2]|0)){c[r>>2]=k;k=k+1|0;c[s>>2]=k;c[P>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[q>>2]|0;c[r>>2]=k;k=k+1|0;c[s>>2]=k;c[P>>2]=k;k=1;break e}case 76:{k=c[t>>2]|0;if((k|0)!=(c[u>>2]|0)){c[w>>2]=k;k=k+1|0;c[x>>2]=k;c[t>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[v>>2]|0;c[w>>2]=k;k=k+1|0;c[x>>2]=k;c[t>>2]=k;k=1;break e}case 80:{if((c[R>>2]|0)>>>0<2){k=c[y>>2]|0;if((k|0)!=(c[z>>2]|0)){c[B>>2]=k;k=k+1|0;c[C>>2]=k;c[y>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[A>>2]|0;c[B>>2]=k;k=k+1|0;c[C>>2]=k;c[y>>2]=k;k=1;break e}k=c[D>>2]|0;if(k>>>0<(c[E>>2]|0)>>>0){c[F>>2]=k;i=c[G>>2]|0;k=i+k-((k>>>0)%(i>>>0)|0)|0;c[h>>2]=k;c[D>>2]=k;k=0;break e}j=c[H>>2]|0;if(j>>>0<(c[I>>2]|0)>>>0){c[J>>2]=j;i=c[K>>2]|0;k=0;j=i+j-((j>>>0)%(i>>>0)|0)|0}else{if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}i=c[m>>2]|0;c[H>>2]=i;c[J>>2]=i;j=c[K>>2]|0;k=1;j=j+i-((i>>>0)%(j>>>0)|0)|0}c[n>>2]=j;c[H>>2]=j;Q=c[o>>2]|0;c[F>>2]=Q;i=c[G>>2]|0;i=i+Q-((Q>>>0)%(i>>>0)|0)|0;c[h>>2]=i;c[D>>2]=i;break e}default:{k=1;break e}}}while(0);if((l|0)>0)l=l+-1|0;else break}return}}while(0);c[T>>2]=c[Q+(f*5640|0)+424+(g*148|0)+72>>2];c[d+(g*232|0)+56>>2]=c[Q+(f*5640|0)+424+(g*148|0)+88>>2];c[d+(g*232|0)+48>>2]=c[Q+(f*5640|0)+424+(g*148|0)+76>>2];c[d+(g*232|0)+60>>2]=c[Q+(f*5640|0)+424+(g*148|0)+92>>2];c[d+(g*232|0)+64>>2]=c[Q+(f*5640|0)+424+(g*148|0)+68>>2];c[d+(g*232|0)+52>>2]=c[Q+(f*5640|0)+424+(g*148|0)+84>>2];c[d+(g*232|0)+68>>2]=c[Q+(f*5640|0)+424+(g*148|0)+80>>2];c[d+(g*232|0)+72>>2]=c[Q+(f*5640|0)+424+(g*148|0)+96>>2];c[d+(g*232|0)+96>>2]=c[Q+(f*5640|0)+424+(g*148|0)+100>>2];c[d+(g*232|0)+104>>2]=c[Q+(f*5640|0)+424+(g*148|0)+108>>2];c[d+(g*232|0)+100>>2]=c[Q+(f*5640|0)+424+(g*148|0)+104>>2];c[d+(g*232|0)+108>>2]=c[Q+(f*5640|0)+424+(g*148|0)+112>>2];return}function Nf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;I=c[d+76>>2]|0;K=c[d+24>>2]|0;N=(e>>>0)%(K>>>0)|0;K=(e>>>0)/(K>>>0)|0;L=c[d+4>>2]|0;H=c[d+12>>2]|0;G=(_(H,N)|0)+L|0;M=c[b>>2]|0;M=(G|0)>(M|0)?G:M;L=(_(H,N+1|0)|0)+L|0;N=c[b+8>>2]|0;N=(L|0)<(N|0)?L:N;L=c[d+8>>2]|0;H=c[d+16>>2]|0;G=(_(H,K)|0)+L|0;J=c[b+4>>2]|0;J=(G|0)>(J|0)?G:J;L=(_(H,K+1|0)|0)+L|0;K=c[b+12>>2]|0;K=(L|0)<(K|0)?L:K;L=c[b+16>>2]|0;if(!L){l=0;k=2147483647;j=2147483647;i=0}else{D=K+-1|0;E=N+-1|0;F=J+-1|0;G=M+-1|0;l=0;k=2147483647;j=2147483647;i=0;H=0;A=c[b+24>>2]|0;B=c[I+(e*5640|0)+5584>>2]|0;while(1){x=c[A>>2]|0;y=c[A+4>>2]|0;z=c[B+4>>2]|0;i=z>>>0>i>>>0?z:i;if(z){v=(D+y|0)/(y|0)|0;t=(E+x|0)/(x|0)|0;r=(F+y|0)/(y|0)|0;p=(G+x|0)/(x|0)|0;p=Si(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;q=C;r=Si(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;s=C;t=Si(t|0,((t|0)<0)<<31>>31|0,-1,-1)|0;u=C;v=Si(v|0,((v|0)<0)<<31>>31|0,-1,-1)|0;w=C;d=0;o=0;while(1){m=c[B+812+(o<<2)>>2]|0;n=c[B+944+(o<<2)>>2]|0;g=d+-1+z|0;h=x<>>0>>0?k:h;j=j>>>0>>0?j:O;O=Ri(1,0,g|0)|0;h=C;d=Si(p|0,q|0,O|0,h|0)|0;d=Pi(d|0,C|0,g|0)|0;f=Si(r|0,s|0,O|0,h|0)|0;f=Pi(f|0,C|0,g|0)|0;b=Si(t|0,u|0,O|0,h|0)|0;b=Pi(b|0,C|0,g|0)|0;h=Si(v|0,w|0,O|0,h|0)|0;g=Pi(h|0,C|0,g|0)|0;h=Ri(1,0,n|0)|0;h=Si(h|0,C|0,-1,-1)|0;h=Si(h|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;h=Pi(h|0,C|0,n|0)|0;if((d|0)==(b|0))d=0;else{O=Ri(1,0,m|0)|0;O=Si(O|0,C|0,-1,-1)|0;O=Si(O|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;O=Pi(O|0,C|0,m|0)|0;d=(O<>m<>m}b=_(d,(f|0)==(g|0)?0:(h<>n<>n)|0;l=b>>>0>l>>>0?b:l;b=o+1|0;if(b>>>0>>0){d=~o;o=b}else break}}H=H+1|0;if(H>>>0>=L>>>0)break;else{A=A+52|0;B=B+1080|0}}}if(a[I+(e*5640|0)+5636>>0]&4){Rf(I,e,M,N,J,K,l,k,j);return}f=(c[I+(e*5640|0)+420>>2]|0)+1|0;if(!f)return;g=c[I+(e*5640|0)+8>>2]|0;h=c[I+(e*5640|0)+4>>2]|0;d=I+(e*5640|0)+424|0;b=0;while(1){c[d+76>>2]=0;c[d+92>>2]=L;c[d+72>>2]=0;c[d+88>>2]=i;c[d+68>>2]=0;c[d+84>>2]=g;c[d+36>>2]=h;c[d+80>>2]=0;c[d+96>>2]=l;c[d+100>>2]=M;c[d+104>>2]=N;c[d+108>>2]=J;c[d+112>>2]=K;c[d+116>>2]=k;c[d+120>>2]=j;b=b+1|0;if((b|0)==(f|0))break;else d=d+148|0}return}function Of(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0;switch(c[d+80>>2]|0){case 0:{e=d+40|0;if(!(c[e>>2]|0)){E=d+32|0;l=E;E=c[E>>2]|0;f=18}else{c[e>>2]=0;t=c[d+64>>2]|0;c[d+36>>2]=t;f=5}while(1){if((f|0)==5){if(t>>>0>=(c[d+52>>2]|0)>>>0){nb=0;f=153;break}z=c[d+44>>2]|0;c[d+28>>2]=z;f=7}else if((f|0)==18){j=E+1|0;c[l>>2]=j;h=l;f=14}while(1){if((f|0)==7){f=0;if(z>>>0>=(c[d+56>>2]|0)>>>0){f=21;break}A=c[d+48>>2]|0;p=d+24|0;c[p>>2]=A}else if((f|0)==14){if(j>>>0<(c[d+72>>2]|0)>>>0){f=16;break}F=d+24|0;n=F;F=c[F>>2]|0;f=19}while(1){if((f|0)==19){f=0;A=F+1|0;c[n>>2]=A;p=n}if(A>>>0>=(c[d+60>>2]|0)>>>0){f=20;break}B=c[d+196>>2]|0;C=c[d+28>>2]|0;if(C>>>0<(c[B+(A<<4)+8>>2]|0)>>>0)break;else{n=p;F=A;f=19}}if((f|0)==20){f=d+28|0;z=(c[f>>2]|0)+1|0;c[f>>2]=z;f=7;continue}e=c[B+(A<<4)+12>>2]|0;if(!(a[d>>0]|0))c[d+72>>2]=_(c[e+(C<<4)+12>>2]|0,c[e+(C<<4)+8>>2]|0)|0;j=c[d+68>>2]|0;h=d+32|0;c[h>>2]=j;f=14}if((f|0)==16){f=0;D=_(c[d+8>>2]|0,c[d+36>>2]|0)|0;D=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+D|0;D=D+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;D=D+(_(c[d+20>>2]|0,j)|0)|0;D=(c[d+4>>2]|0)+(D<<1)|0;if(!(b[D>>1]|0))break;else{l=h;E=j;f=18;continue}}else if((f|0)==21){f=d+36|0;t=(c[f>>2]|0)+1|0;c[f>>2]=t;f=5;continue}}if((f|0)==153)return nb|0;b[D>>1]=1;d=1;return d|0}case 1:{e=d+40|0;if(!(c[e>>2]|0)){x=d+32|0;k=x;x=c[x>>2]|0;f=38}else{c[e>>2]=0;G=c[d+44>>2]|0;c[d+28>>2]=G;f=25}while(1){if((f|0)==25){if(G>>>0>=(c[d+56>>2]|0)>>>0){nb=0;f=153;break}r=c[d+64>>2]|0;c[d+36>>2]=r;f=27}else if((f|0)==38){i=x+1|0;c[k>>2]=i;g=k;f=34}while(1){if((f|0)==27){f=0;if(r>>>0>=(c[d+52>>2]|0)>>>0){f=41;break}s=c[d+48>>2]|0;o=d+24|0;c[o>>2]=s}else if((f|0)==34){if(i>>>0<(c[d+72>>2]|0)>>>0){f=36;break}y=d+24|0;m=y;y=c[y>>2]|0;f=39}while(1){if((f|0)==39){f=0;s=y+1|0;c[m>>2]=s;o=m}if(s>>>0>=(c[d+60>>2]|0)>>>0){f=40;break}u=c[d+196>>2]|0;v=c[d+28>>2]|0;if(v>>>0<(c[u+(s<<4)+8>>2]|0)>>>0)break;else{m=o;y=s;f=39}}if((f|0)==40){f=d+36|0;r=(c[f>>2]|0)+1|0;c[f>>2]=r;f=27;continue}e=c[u+(s<<4)+12>>2]|0;if(!(a[d>>0]|0))c[d+72>>2]=_(c[e+(v<<4)+12>>2]|0,c[e+(v<<4)+8>>2]|0)|0;i=c[d+68>>2]|0;g=d+32|0;c[g>>2]=i;f=34}if((f|0)==36){f=0;w=_(c[d+8>>2]|0,c[d+36>>2]|0)|0;w=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+w|0;w=w+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;w=w+(_(c[d+20>>2]|0,i)|0)|0;w=(c[d+4>>2]|0)+(w<<1)|0;if(!(b[w>>1]|0))break;else{k=g;x=i;f=38;continue}}else if((f|0)==41){f=d+28|0;G=(c[f>>2]|0)+1|0;c[f>>2]=G;f=25;continue}}if((f|0)==153)return nb|0;b[w>>1]=1;d=1;return d|0}case 2:{e=d+40|0;if(!(c[e>>2]|0)){lb=d+36|0;Ta=lb;lb=c[lb>>2]|0;f=75}else{c[e>>2]=0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;q=c[d+192>>2]|0;if(q){r=c[d+196>>2]|0;e=0;f=0;s=0;do{j=c[r+(s<<4)+8>>2]|0;if(j){k=c[r+(s<<4)+12>>2]|0;l=c[r+(s<<4)>>2]|0;m=c[r+(s<<4)+4>>2]|0;n=j+-1|0;g=0;i=0;while(1){h=n+g|0;Sa=l<>2]|0);h=m<<(c[k+(i<<4)+4>>2]|0)+h;e=(e|0)==0?Sa:e>>>0>>0?e:Sa;f=(f|0)==0?h:f>>>0>>0?f:h;h=i+1|0;if((h|0)==(j|0))break;else{g=~i;i=h}}c[o>>2]=e;c[p>>2]=f}s=s+1|0}while((s|0)!=(q|0))}if(!(a[d>>0]|0)){c[d+104>>2]=c[d+204>>2];c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}J=c[d+44>>2]|0;c[d+28>>2]=J;f=54}while(1){if((f|0)==54){if(J>>>0>=(c[d+56>>2]|0)>>>0){nb=0;f=153;break}Xa=c[d+104>>2]|0;c[d+220>>2]=Xa;f=56}else if((f|0)==75){jb=lb+1|0;c[Ta>>2]=jb;Ua=Ta;f=71}while(1){if((f|0)==56){if((Xa|0)>=(c[d+108>>2]|0)){f=79;break}Ya=c[d+96>>2]|0;c[d+216>>2]=Ya;f=58}else if((f|0)==71){if(jb>>>0<(c[d+52>>2]|0)>>>0){f=73;break}mb=d+24|0;Va=mb;mb=c[mb>>2]|0;f=76}while(1){if((f|0)==58){if((Ya|0)>=(c[d+100>>2]|0)){f=78;break}Za=c[d+48>>2]|0;Wa=d+24|0;c[Wa>>2]=Za}else if((f|0)==76){Za=mb+1|0;c[Va>>2]=Za;Wa=Va}if(Za>>>0>=(c[d+60>>2]|0)>>>0){Ya=c[d+224>>2]|0;f=d+216|0;Sa=c[f>>2]|0;Ya=Sa+Ya-((Sa|0)%(Ya|0)|0)|0;c[f>>2]=Ya;f=58;continue}f=c[d+196>>2]|0;m=c[d+28>>2]|0;e=c[f+(Za<<4)+8>>2]|0;if(m>>>0>=e>>>0){Va=Wa;mb=Za;f=76;continue}n=c[f+(Za<<4)+12>>2]|0;i=e+~m|0;j=c[d+200>>2]|0;k=c[f+(Za<<4)>>2]|0;_a=k<>2]|0;Sa=c[f+(Za<<4)+4>>2]|0;ab=Sa<>2]|0)|0)/(_a|0)|0;db=ab+-1|0;f=(db+(c[d+212>>2]|0)|0)/(ab|0)|0;eb=c[n+(m<<4)>>2]|0;g=eb+i|0;fb=c[n+(m<<4)+4>>2]|0;h=fb+i|0;gb=c[d+220>>2]|0;if((gb|0)%(Sa<>2]|0;if((hb|0)%(k<>2]|0;if(!ib){Va=Wa;mb=Za;f=76;continue}if((bb|0)==(f|0)|(($a|0)==(e|0)?1:(c[n+(m<<4)+12>>2]|0)==0)){Va=Wa;mb=Za;f=76}else{f=70;break}}if((f|0)==70){c[d+32>>2]=(((cb+hb|0)/(_a|0)|0)>>eb)-($a>>eb)+(_((((db+gb|0)/(ab|0)|0)>>fb)-(bb>>fb)|0,ib)|0);jb=c[d+64>>2]|0;Ua=d+36|0;c[Ua>>2]=jb;f=71;continue}else if((f|0)==78){Xa=c[d+228>>2]|0;f=d+220|0;Sa=c[f>>2]|0;Xa=Sa+Xa-((Sa|0)%(Xa|0)|0)|0;c[f>>2]=Xa;f=56;continue}}if((f|0)==73){f=0;kb=_(c[d+8>>2]|0,jb)|0;kb=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+kb|0;kb=kb+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;kb=kb+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;kb=(c[d+4>>2]|0)+(kb<<1)|0;if(!(b[kb>>1]|0))break;else{Ta=Ua;lb=jb;f=75;continue}}else if((f|0)==79){f=d+28|0;J=(c[f>>2]|0)+1|0;c[f>>2]=J;f=54;continue}}if((f|0)==153)return nb|0;b[kb>>1]=1;d=1;return d|0}case 3:{f=d+40|0;if(!(c[f>>2]|0)){Ra=c[d+24>>2]|0;Ka=d+36|0;pa=Ka;Ka=c[Ka>>2]|0;Na=Ra;Ra=(c[d+196>>2]|0)+(Ra<<4)|0;f=113}else{c[f>>2]=0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;q=c[d+192>>2]|0;if(q){r=c[d+196>>2]|0;e=0;f=0;s=0;do{j=c[r+(s<<4)+8>>2]|0;if(j){k=c[r+(s<<4)+12>>2]|0;l=c[r+(s<<4)>>2]|0;m=c[r+(s<<4)+4>>2]|0;n=j+-1|0;g=0;i=0;while(1){h=n+g|0;mb=l<>2]|0);h=m<<(c[k+(i<<4)+4>>2]|0)+h;e=(e|0)==0?mb:e>>>0>>0?e:mb;f=(f|0)==0?h:f>>>0>>0?f:h;h=i+1|0;if((h|0)==(j|0))break;else{g=~i;i=h}}c[o>>2]=e;c[p>>2]=f}s=s+1|0}while((s|0)!=(q|0))}if(!(a[d>>0]|0)){e=c[d+204>>2]|0;c[d+104>>2]=e;c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}else e=c[d+104>>2]|0;c[d+220>>2]=e;f=93}while(1){if((f|0)==93){if((e|0)>=(c[d+108>>2]|0)){nb=0;f=153;break}ta=c[d+96>>2]|0;c[d+216>>2]=ta;f=95}else if((f|0)==113){Ha=Ka+1|0;c[pa>>2]=Ha;qa=pa;Ia=Na;Qa=Ra;f=109}while(1){if((f|0)==95){if((ta|0)>=(c[d+100>>2]|0)){f=117;break}ua=c[d+48>>2]|0;c[d+24>>2]=ua;f=97}else if((f|0)==109){if(Ha>>>0<(c[d+52>>2]|0)>>>0){f=111;break}La=d+28|0;ra=La;La=c[La>>2]|0;Oa=Ia;Sa=Qa;f=114}while(1){if((f|0)==97){if(ua>>>0>=(c[d+60>>2]|0)>>>0){f=116;break}Pa=(c[d+196>>2]|0)+(ua<<4)|0;va=c[d+44>>2]|0;sa=d+28|0;c[sa>>2]=va;Ma=ua}else if((f|0)==114){va=La+1|0;c[ra>>2]=va;sa=ra;Ma=Oa;Pa=Sa}mb=c[d+56>>2]|0;f=c[Pa+8>>2]|0;if(va>>>0>=(mb>>>0>>0?mb:f)>>>0){ua=Ma+1|0;c[d+24>>2]=ua;f=97;continue}n=c[Pa+12>>2]|0;f=f+~va|0;g=c[d+200>>2]|0;h=c[Pa>>2]|0;wa=h<>2]|0;mb=c[Pa+4>>2]|0;ya=mb<>2]|0)|0)/(wa|0)|0;Ba=ya+-1|0;k=(Ba+(c[d+212>>2]|0)|0)/(ya|0)|0;Ca=c[n+(va<<4)>>2]|0;l=Ca+f|0;Da=c[n+(va<<4)+4>>2]|0;m=Da+f|0;Ea=c[d+220>>2]|0;if((Ea|0)%(mb<>2]|0;if((Fa|0)%(h<>2]|0;if(!Ga){ra=sa;La=va;Oa=Ma;Sa=Pa;f=114;continue}if((za|0)==(k|0)|((xa|0)==(j|0)?1:(c[n+(va<<4)+12>>2]|0)==0)){ra=sa;La=va;Oa=Ma;Sa=Pa;f=114}else{f=108;break}}if((f|0)==108){c[d+32>>2]=(((Aa+Fa|0)/(wa|0)|0)>>Ca)-(xa>>Ca)+(_((((Ba+Ea|0)/(ya|0)|0)>>Da)-(za>>Da)|0,Ga)|0);Ha=c[d+64>>2]|0;qa=d+36|0;c[qa>>2]=Ha;Ia=Ma;Qa=Pa;f=109;continue}else if((f|0)==116){ta=c[d+224>>2]|0;f=d+216|0;mb=c[f>>2]|0;ta=mb+ta-((mb|0)%(ta|0)|0)|0;c[f>>2]=ta;f=95;continue}}if((f|0)==111){f=0;Ja=_(c[d+8>>2]|0,Ha)|0;Ja=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+Ja|0;Ja=Ja+(_(c[d+16>>2]|0,Ia)|0)|0;Ja=Ja+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;Ja=(c[d+4>>2]|0)+(Ja<<1)|0;if(!(b[Ja>>1]|0))break;else{pa=qa;Ka=Ha;Na=Ia;Ra=Qa;f=113;continue}}else if((f|0)==117){e=c[d+228>>2]|0;f=d+220|0;mb=c[f>>2]|0;e=mb+e-((mb|0)%(e|0)|0)|0;c[f>>2]=e;f=93;continue}}if((f|0)==153)return nb|0;b[Ja>>1]=1;d=1;return d|0}case 4:{e=d+40|0;if(!(c[e>>2]|0)){na=c[d+24>>2]|0;ea=d+36|0;K=ea;ea=c[ea>>2]|0;ga=na;na=(c[d+196>>2]|0)+(na<<4)|0;f=148}else{c[e>>2]=0;O=c[d+48>>2]|0;c[d+24>>2]=O;f=121}while(1){if((f|0)==121){if(O>>>0>=(c[d+60>>2]|0)>>>0){nb=0;f=153;break}e=c[d+196>>2]|0;q=e+(O<<4)|0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;l=c[e+(O<<4)+8>>2]|0;if(l){m=c[e+(O<<4)+12>>2]|0;n=c[q>>2]|0;h=c[e+(O<<4)+4>>2]|0;i=l+-1|0;f=0;e=0;g=0;k=0;while(1){j=i+g|0;mb=n<>2]|0);j=h<<(c[m+(k<<4)+4>>2]|0)+j;f=(f|0)==0?mb:f>>>0>>0?f:mb;e=(e|0)==0?j:e>>>0>>0?e:j;j=k+1|0;if((j|0)==(l|0))break;else{g=~k;k=j}}c[o>>2]=f;c[p>>2]=e}if(!(a[d>>0]|0)){e=c[d+204>>2]|0;c[d+104>>2]=e;c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}else e=c[d+104>>2]|0;c[d+220>>2]=e;H=e;I=O;f=130}else if((f|0)==148){ba=ea+1|0;c[K>>2]=ba;L=K;ca=ga;ma=na;f=144}while(1){if((f|0)==130){if((H|0)>=(c[d+108>>2]|0)){f=152;break}P=c[d+96>>2]|0;c[d+216>>2]=P;ha=I;ka=q;f=132}else if((f|0)==144){if(ba>>>0<(c[d+52>>2]|0)>>>0){f=146;break}fa=d+28|0;M=fa;fa=c[fa>>2]|0;ja=ca;oa=ma;f=149}while(1){if((f|0)==132){if((P|0)>=(c[d+100>>2]|0)){f=151;break}Q=c[d+44>>2]|0;N=d+28|0;c[N>>2]=Q;ia=ha;la=ka}else if((f|0)==149){Q=fa+1|0;c[M>>2]=Q;N=M;ia=ja;la=oa}mb=c[d+56>>2]|0;e=c[la+8>>2]|0;if(Q>>>0>=(mb>>>0>>0?mb:e)>>>0){P=c[d+224>>2]|0;ha=d+216|0;ka=c[ha>>2]|0;P=ka+P-((ka|0)%(P|0)|0)|0;c[ha>>2]=P;ha=ia;ka=la;f=132;continue}m=c[la+12>>2]|0;e=e+~Q|0;f=c[d+200>>2]|0;g=c[la>>2]|0;R=g<>2]|0;mb=c[la+4>>2]|0;T=mb<>2]|0)|0)/(R|0)|0;W=T+-1|0;j=(W+(c[d+212>>2]|0)|0)/(T|0)|0;X=c[m+(Q<<4)>>2]|0;k=X+e|0;Y=c[m+(Q<<4)+4>>2]|0;l=Y+e|0;Z=c[d+220>>2]|0;if((Z|0)%(mb<>2]|0;if(($|0)%(g<>2]|0;if(!aa){M=N;fa=Q;ja=ia;oa=la;f=149;continue}if((U|0)==(j|0)|((S|0)==(i|0)?1:(c[m+(Q<<4)+12>>2]|0)==0)){M=N;fa=Q;ja=ia;oa=la;f=149}else{f=143;break}}if((f|0)==143){c[d+32>>2]=(((V+$|0)/(R|0)|0)>>X)-(S>>X)+(_((((W+Z|0)/(T|0)|0)>>Y)-(U>>Y)|0,aa)|0);ba=c[d+64>>2]|0;L=d+36|0;c[L>>2]=ba;ca=ia;ma=la;f=144;continue}else if((f|0)==151){H=c[d+228>>2]|0;I=d+220|0;q=c[I>>2]|0;H=q+H-((q|0)%(H|0)|0)|0;c[I>>2]=H;I=ha;q=ka;f=130;continue}}if((f|0)==146){f=0;da=_(c[d+8>>2]|0,ba)|0;da=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+da|0;da=da+(_(c[d+16>>2]|0,ca)|0)|0;da=da+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;da=(c[d+4>>2]|0)+(da<<1)|0;if(!(b[da>>1]|0))break;else{K=L;ea=ba;ga=ca;na=ma;f=148;continue}}else if((f|0)==152){O=I+1|0;c[d+24>>2]=O;f=121;continue}}if((f|0)==153)return nb|0;b[da>>1]=1;d=1;return d|0}default:{d=0;return d|0}}return 0}function Pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=(c[b+(d*5640|0)+420>>2]|0)+1|0;e=Qc(l,232)|0;if(!e){l=0;return l|0}if(!l){l=e;return l|0}j=a+16|0;g=b+(d*5640|0)+5584|0;a=c[j>>2]|0;h=e;i=0;a:while(1){b=Qc(a,16)|0;f=h+196|0;c[f>>2]=b;if(!b){a=5;break}k=c[j>>2]|0;c[h+192>>2]=k;b:do{if(!k)a=0;else{a=(c[g>>2]|0)+4|0;k=Qc(c[a>>2]|0,16)|0;c[b+12>>2]=k;if(!k){a=18;break a}else d=0;while(1){c[b+(d<<4)+8>>2]=c[a>>2];d=d+1|0;a=c[j>>2]|0;if(d>>>0>=a>>>0)break b;b=c[f>>2]|0;a=(c[g>>2]|0)+(d*1080|0)+4|0;k=Qc(c[a>>2]|0,16)|0;c[b+(d<<4)+12>>2]=k;if(!k){a=18;break a}}}}while(0);i=i+1|0;if(i>>>0>=l>>>0){a=32;break}else h=h+232|0}if((a|0)==5){a=e+4|0;b=c[a>>2]|0;if(!b){j=e;k=0}else{Uc(b);c[a>>2]=0;j=e;k=0}while(1){i=j+196|0;a=c[i>>2]|0;if(a){h=j+192|0;b=c[h>>2]|0;if(b){g=0;while(1){d=a+12|0;f=c[d>>2]|0;if(f){Uc(f);c[d>>2]=0;b=c[h>>2]|0}g=g+1|0;if(g>>>0>=b>>>0)break;else a=a+16|0}a=c[i>>2]|0}Uc(a);c[i>>2]=0}k=k+1|0;if((k|0)==(l|0))break;else j=j+232|0}Uc(e);l=0;return l|0}else if((a|0)==18){a=e+4|0;b=c[a>>2]|0;if(!b){j=e;k=0}else{Uc(b);c[a>>2]=0;j=e;k=0}while(1){i=j+196|0;a=c[i>>2]|0;if(a){h=j+192|0;b=c[h>>2]|0;if(b){g=0;while(1){d=a+12|0;f=c[d>>2]|0;if(f){Uc(f);c[d>>2]=0;b=c[h>>2]|0}g=g+1|0;if(g>>>0>=b>>>0)break;else a=a+16|0}a=c[i>>2]|0}Uc(a);c[i>>2]=0}k=k+1|0;if((k|0)==(l|0))break;else j=j+232|0}Uc(e);l=0;return l|0}else if((a|0)==32)return e|0;return 0}function Qf(a,b,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;o=c[(c[b+76>>2]|0)+(d*5640|0)+5584>>2]|0;n=c[a+24>>2]|0;I=c[b+24>>2]|0;H=b+12|0;G=(_(c[H>>2]|0,(d>>>0)%(I>>>0)|0)|0)+(c[b+4>>2]|0)|0;F=c[a>>2]|0;c[e>>2]=G>>>0>F>>>0?G:F;G=Si(c[H>>2]|0,0,G|0,0)|0;G=G|0-C;H=c[a+8>>2]|0;c[f>>2]=G>>>0>>0?G:H;H=b+16|0;I=(_(c[H>>2]|0,(d>>>0)/(I>>>0)|0)|0)+(c[b+8>>2]|0)|0;G=c[a+4>>2]|0;c[g>>2]=I>>>0>G>>>0?I:G;I=Si(c[H>>2]|0,0,I|0,0)|0;I=I|0-C;H=c[a+12>>2]|0;c[h>>2]=I>>>0>>0?I:H;c[k>>2]=0;c[l>>2]=0;c[i>>2]=2147483647;c[j>>2]=2147483647;H=a+16|0;if(!(c[H>>2]|0))return;else I=0;while(1){r=c[m+(I<<2)>>2]|0;p=c[n>>2]|0;a=((c[e>>2]|0)+-1+p|0)/(p|0)|0;F=n+4|0;q=c[F>>2]|0;d=((c[g>>2]|0)+-1+q|0)/(q|0)|0;p=(p+-1+(c[f>>2]|0)|0)/(p|0)|0;q=(q+-1+(c[h>>2]|0)|0)/(q|0)|0;G=o+4|0;b=c[G>>2]|0;if(b>>>0>(c[l>>2]|0)>>>0){c[l>>2]=b;b=c[G>>2]|0}if(b){D=Si(a|0,((a|0)<0)<<31>>31|0,-1,-1)|0;E=C;A=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;B=C;y=Si(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;z=C;w=Si(q|0,((q|0)<0)<<31>>31|0,-1,-1)|0;x=C;v=0;while(1){b=b+-1|0;p=c[o+812+(v<<2)>>2]|0;u=c[o+944+(v<<2)>>2]|0;c[r>>2]=p;c[r+4>>2]=u;s=c[n>>2]<>2]<>2]|0;c[i>>2]=(a|0)<(s|0)?a:s;s=c[j>>2]|0;c[j>>2]=(s|0)<(J|0)?s:J;J=Ri(1,0,b|0)|0;s=C;a=Si(D|0,E|0,J|0,s|0)|0;a=Pi(a|0,C|0,b|0)|0;q=Si(A|0,B|0,J|0,s|0)|0;q=Pi(q|0,C|0,b|0)|0;d=Si(y|0,z|0,J|0,s|0)|0;d=Pi(d|0,C|0,b|0)|0;s=Si(w|0,x|0,J|0,s|0)|0;s=Pi(s|0,C|0,b|0)|0;J=Ri(1,0,u|0)|0;t=C;K=Si(s|0,((s|0)<0)<<31>>31|0,-1,-1)|0;t=Si(K|0,C|0,J|0,t|0)|0;t=Pi(t|0,C|0,u|0)|0;if((a|0)==(d|0))a=0;else{d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;J=C;K=Ri(1,0,p|0)|0;K=Si(d|0,J|0,K|0,C|0)|0;K=Pi(K|0,C|0,p|0)|0;a=(K<>p<>p}K=(q|0)==(s|0)?0:(t<>u<>u;c[r+8>>2]=a;c[r+12>>2]=K;a=_(a,K)|0;if(a>>>0>(c[k>>2]|0)>>>0)c[k>>2]=a;v=v+1|0;if(v>>>0>=(c[G>>2]|0)>>>0)break;else r=r+16|0}}I=I+1|0;if(I>>>0>=(c[H>>2]|0)>>>0)break;else{n=n+52|0;o=o+1080|0}}return}function Rf(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;k=(c[a+(b*5640|0)+420>>2]|0)+1|0;c[a+(b*5640|0)+500>>2]=c[a+(b*5640|0)+428>>2];c[a+(b*5640|0)+516>>2]=c[a+(b*5640|0)+440>>2];c[a+(b*5640|0)+496>>2]=c[a+(b*5640|0)+424>>2];c[a+(b*5640|0)+512>>2]=c[a+(b*5640|0)+436>>2];c[a+(b*5640|0)+508>>2]=c[a+(b*5640|0)+432>>2];c[a+(b*5640|0)+492>>2]=0;c[a+(b*5640|0)+460>>2]=c[a+(b*5640|0)+456>>2];c[a+(b*5640|0)+504>>2]=0;c[a+(b*5640|0)+520>>2]=h;c[a+(b*5640|0)+524>>2]=d;c[a+(b*5640|0)+528>>2]=e;c[a+(b*5640|0)+532>>2]=f;c[a+(b*5640|0)+536>>2]=g;c[a+(b*5640|0)+540>>2]=i;c[a+(b*5640|0)+544>>2]=j;if(k>>>0<=1)return;a=a+(b*5640|0)+572|0;b=1;while(1){c[a+76>>2]=c[a+4>>2];c[a+92>>2]=c[a+16>>2];c[a+72>>2]=c[a>>2];c[a+88>>2]=c[a+12>>2];l=c[a+8>>2]|0;c[a+84>>2]=l;c[a+36>>2]=c[a+32>>2];c[a+80>>2]=0;c[a+68>>2]=l>>>0>(c[a+-64>>2]|0)>>>0?l:0;c[a+96>>2]=h;c[a+100>>2]=d;c[a+104>>2]=e;c[a+108>>2]=f;c[a+112>>2]=g;c[a+116>>2]=i;c[a+120>>2]=j;b=b+1|0;if((b|0)==(k|0))break;else a=a+148|0}return}function Sf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=c[d+76>>2]|0;if((b|0)>-1)h=b;else{e=0;return e|0}a:while(1){switch(a[g+h>>0]|0){case 82:{i=3;break a}case 67:{i=5;break a}case 76:{i=7;break a}case 80:{i=9;break a}default:{}}h=h+-1|0}if((i|0)==3)if((c[j+(e*5640|0)+424+(f*148|0)+128>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+88>>2]|0))return(Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==5)if((c[j+(e*5640|0)+424+(f*148|0)+132>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+92>>2]|0))return(Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==7)if((c[j+(e*5640|0)+424+(f*148|0)+124>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+84>>2]|0))return(Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==9){if((c[j+(e*5640|0)+424+(f*148|0)+36>>2]|0)>>>0<2)if((c[j+(e*5640|0)+424+(f*148|0)+136>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+96>>2]|0))return(Sf(h+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}if((c[j+(e*5640|0)+424+(f*148|0)+140>>2]|0)!=(c[j+(e*5640|0)+424+(f*148|0)+104>>2]|0)){e=1;return e|0}if((c[j+(e*5640|0)+424+(f*148|0)+144>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+112>>2]|0))return(Sf(h+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}}return 0}function Tf(b){b=b|0;var d=0,e=0;d=Qc(1,44)|0;if(!d){b=0;return b|0}e=d+40|0;a[e>>0]=a[e>>0]&-2|(b|0)!=0;b=Qc(1,4)|0;c[d+20>>2]=b;if(b){e=d;return e|0}Uc(d);e=0;return e|0}function Uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+1200|0;N=O;e=c[c[a+20>>2]>>2]|0;M=e+16|0;f=c[M>>2]|0;if(!f){i=O;return}J=e+20|0;K=(c[a+32>>2]|0)+8|0;L=(c[a+28>>2]|0)+88|0;H=a+24|0;I=(b|0)==0;F=(d|0)==0;G=b+-1|0;e=f;E=0;do{j=c[J>>2]|0;k=c[K>>2]|0;C=c[j+(E*52|0)+16>>2]|0;if(k){if(C){a=c[L>>2]|0;g=+((c[(c[(c[H>>2]|0)+24>>2]|0)+(E*52|0)+24>>2]|0)>>>0)*.0625;f=0;do{d=_(C,f)|0;h=0;do{D=(d+h|0)*3|0;c[N+(f*120|0)+(h*12|0)>>2]=~~(+(c[a+(D<<2)>>2]|0)*g);c[N+(f*120|0)+(h*12|0)+4>>2]=~~(+(c[a+(D+1<<2)>>2]|0)*g);c[N+(f*120|0)+(h*12|0)+8>>2]=~~(+(c[a+(D+2<<2)>>2]|0)*g);h=h+1|0}while(h>>>0>>0);f=f+1|0}while(f>>>0>>0);D=9}}else D=9;if((D|0)==9){D=0;if(C){w=j+(E*52|0)+24|0;B=0;do{x=c[w>>2]|0;y=x+(B*136|0)+24|0;e=c[y>>2]|0;if(e){z=x+(B*136|0)+16|0;A=x+(B*136|0)+20|0;a=c[A>>2]|0;d=c[z>>2]|0;v=0;do{if(_(a,d)|0){s=x+(B*136|0)+28+(v*36|0)+20|0;t=N+(b*120|0)+(B*12|0)+(v<<2)|0;u=N+(G*120|0)+(B*12|0)+(v<<2)|0;r=0;do{e=c[s>>2]|0;q=_(c[e+(r*40|0)+20>>2]|0,c[e+(r*40|0)+16>>2]|0)|0;if(q){m=e+(r*40|0)+24|0;n=c[t>>2]|0;p=0;do{k=c[m>>2]|0;l=k+(p*52|0)|0;o=c[k+(p*52|0)+4>>2]|0;e=(c[(c[(c[H>>2]|0)+24>>2]|0)+(E*52|0)+24>>2]|0)-(c[k+(p*52|0)+28>>2]|0)|0;if(!I){a=c[u>>2]|0;d=n-a|0;if((a|0)<=(e|0)){d=d+(a-e)|0;d=(d|0)<0?0:d}}else{c[k+(p*52|0)+44>>2]=0;d=(n|0)>(e|0)?n-e|0:0}j=k+(p*52|0)+44|0;f=c[j>>2]|0;h=(f|0)==0;if(h)if(!d)d=0;else d=(d*3|0)+-2|0;else d=(d*3|0)+f|0;c[o+(b*24|0)>>2]=d-f;do{if((d|0)!=(f|0)){a=c[k+(p*52|0)+8>>2]|0;e=c[a+((d+-1|0)*24|0)>>2]|0;if(h)c[o+(b*24|0)+16>>2]=c[l>>2];else{k=c[a+((f+-1|0)*24|0)>>2]|0;c[o+(b*24|0)+16>>2]=(c[l>>2]|0)+k;e=e-k|0}c[o+(b*24|0)+4>>2]=e;if(F)break;c[j>>2]=d}}while(0);p=p+1|0}while(p>>>0>>0);a=c[A>>2]|0;d=c[z>>2]|0}r=r+1|0}while(r>>>0<(_(a,d)|0)>>>0);e=c[y>>2]|0}v=v+1|0}while(v>>>0>>0)}B=B+1|0}while(B>>>0>>0);e=c[M>>2]|0}}E=E+1|0}while(E>>>0>>0);i=O;return}function Vf(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;a=c[c[a+20>>2]>>2]|0;G=a+40+(b<<3)|0;h[G>>3]=0.0;H=a+16|0;f=c[H>>2]|0;if(!f)return;E=a+20|0;F=(b|0)==0;D=(e|0)==0;a=f;C=0;do{f=c[E>>2]|0;B=c[f+(C*52|0)+16>>2]|0;if(B){v=f+(C*52|0)+24|0;A=0;do{w=c[v>>2]|0;x=w+(A*136|0)+24|0;a=c[x>>2]|0;if(a){y=w+(A*136|0)+16|0;z=w+(A*136|0)+20|0;f=c[z>>2]|0;e=c[y>>2]|0;u=0;do{if(_(f,e)|0){t=w+(A*136|0)+28+(u*36|0)+20|0;s=0;do{a=c[t>>2]|0;r=_(c[a+(s*40|0)+20>>2]|0,c[a+(s*40|0)+16>>2]|0)|0;if(r){n=a+(s*40|0)+24|0;q=0;do{k=c[n>>2]|0;l=k+(q*52|0)|0;o=c[k+(q*52|0)+4>>2]|0;p=k+(q*52|0)+44|0;if(F){c[p>>2]=0;m=0}else m=c[p>>2]|0;e=c[k+(q*52|0)+48>>2]|0;if(m>>>0>>0){i=c[k+(q*52|0)+8>>2]|0;a=m;j=m;do{f=c[i+(j*24|0)>>2]|0;g=+h[i+(j*24|0)+8>>3];if(a){J=a+-1|0;g=g-+h[i+(J*24|0)+8>>3];f=f-(c[i+(J*24|0)>>2]|0)|0}do{if(!f){if(!(g!=0.0))break;a=j+1|0}else{if(!(d-g/+(f>>>0)<2.220446049250313e-16))break;a=j+1|0}}while(0);j=j+1|0}while(j>>>0>>0);i=a;c[o+(b*24|0)>>2]=i-m;if((i|0)!=(m|0)){e=i+-1|0;f=c[k+(q*52|0)+8>>2]|0;a=c[f+(e*24|0)>>2]|0;if(!m){c[o+(b*24|0)+16>>2]=c[l>>2];g=+h[f+(e*24|0)+8>>3]}else{m=m+-1|0;J=c[f+(m*24|0)>>2]|0;c[o+(b*24|0)+16>>2]=(c[l>>2]|0)+J;g=+h[f+(e*24|0)+8>>3]-+h[f+(m*24|0)+8>>3];a=a-J|0}c[o+(b*24|0)+4>>2]=a;h[o+(b*24|0)+8>>3]=g;h[G>>3]=g+ +h[G>>3];if(!D)c[p>>2]=i}else I=26}else{c[o+(b*24|0)>>2]=0;I=26}if((I|0)==26){I=0;h[o+(b*24|0)+8>>3]=0.0}q=q+1|0}while(q>>>0>>0);f=c[z>>2]|0;e=c[y>>2]|0}s=s+1|0}while(s>>>0<(_(f,e)|0)>>>0);a=c[x>>2]|0}u=u+1|0}while(u>>>0>>0)}A=A+1|0}while(A>>>0>>0);a=c[H>>2]|0}C=C+1|0}while(C>>>0>>0);return}function Wf(d,e,f,j,k){d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=i;i=i+800|0;V=W;S=c[d+28>>2]|0;T=c[c[d+20>>2]>>2]|0;U=c[d+32>>2]|0;O=T+24|0;c[O>>2]=0;Q=c[T+16>>2]|0;if(!Q){l=0;J=0.0;n=0.0;p=1797693134862315708145274.0e284}else{M=c[T+20>>2]|0;N=c[(c[d+24>>2]|0)+24>>2]|0;l=0;R=0;o=0.0;n=0.0;p=1797693134862315708145274.0e284;do{I=M+(R*52|0)+48|0;c[I>>2]=0;K=c[M+(R*52|0)+16>>2]|0;if(!K)m=0;else{L=c[M+(R*52|0)+24>>2]|0;m=0;H=0;do{E=c[L+(H*136|0)+24>>2]|0;if(E){F=_(c[L+(H*136|0)+20>>2]|0,c[L+(H*136|0)+16>>2]|0)|0;G=(F|0)==0;D=0;do{if(!G){C=c[L+(H*136|0)+28+(D*36|0)+20>>2]|0;B=0;do{z=_(c[C+(B*40|0)+20>>2]|0,c[C+(B*40|0)+16>>2]|0)|0;if(z){A=c[C+(B*40|0)+24>>2]|0;y=0;do{v=c[A+(y*52|0)+48>>2]|0;if(v){w=c[A+(y*52|0)+8>>2]|0;u=0;do{t=c[w+(u*24|0)>>2]|0;q=+h[w+(u*24|0)+8>>3];if(u){X=u+-1|0;q=q-+h[w+(X*24|0)+8>>3];t=t-(c[w+(X*24|0)>>2]|0)|0}do{if(t){q=q/+(t|0);p=qo))break;o=q}}while(0);u=u+1|0}while(u>>>0>>0)}X=_((c[A+(y*52|0)+24>>2]|0)-(c[A+(y*52|0)+16>>2]|0)|0,(c[A+(y*52|0)+20>>2]|0)-(c[A+(y*52|0)+12>>2]|0)|0)|0;l=X+l|0;m=X+m|0;y=y+1|0}while(y>>>0>>0);c[O>>2]=l;c[I>>2]=m}B=B+1|0}while(B>>>0>>0)}D=D+1|0}while(D>>>0>>0)}H=H+1|0}while(H>>>0>>0)}J=+(1<>2]|0)+-1.0;n=n+ +(m|0)*(J*J);R=R+1|0}while(R>>>0>>0);J=o}I=(k|0)!=0;if(I){R=c[d+36>>2]|0;Q=c[k+88>>2]|0;c[Q+(R*592|0)+552>>2]=l;h[Q+(R*592|0)+560>>3]=+h[T+32>>3];l=U+8|0;X=Pc(c[l>>2]<<3)|0;c[Q+(R*592|0)>>2]=X;if(!X){X=0;i=W;return X|0}}else l=U+8|0;if(!(c[l>>2]|0)){X=1;i=W;return X|0}z=T+32|0;A=S+93|0;B=d+36|0;C=k+88|0;D=T+40|0;E=d+24|0;F=d+8|0;G=d+16|0;H=0;while(1){o=+g[U+20+(H<<2)>>2];if(o!=0.0){w=~~+Z(+o)>>>0;w=w>>>0>>0?w:j}else w=j;s=+g[U+5184+(H<<2)>>2];x=+h[z>>3]-n/+P(10.0,+(s/10.0));X=a[A>>0]|0;if(!((X&1)!=0&o>0.0)?!((X&4)!=0&s>0.0):0)o=p;else{y=dh(c[E>>2]|0,S)|0;if(!y){l=0;m=57;break}v=H+1|0;m=V+(H+-1<<3)|0;t=T+40+(H<<3)|0;if(!H){r=J;m=0;s=p;q=0.0;do{o=(s+r)*.5;Vf(d,0,o,0);do{if(a[A>>0]&4){if(((b[S>>1]|0)+-3&65535)>=4){X=+h[D>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0))s=o;else{X=+h[D>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0)==0;r=X?r:o;s=X?o:s;q=X?q:o}}while(0);m=m+1|0}while((m|0)!=128)}else{r=J;u=0;s=p;q=0.0;do{o=(s+r)*.5;Vf(d,H,o,0);do{if(a[A>>0]&4){if(((b[S>>1]|0)+-3&65535)>=4){X=+h[m>>3]+ +h[t>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0))s=o;else{X=+h[m>>3]+ +h[t>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0)==0;r=X?r:o;s=X?o:s;q=X?q:o}}while(0);u=u+1|0}while((u|0)!=128)}eh(y);o=q==0.0?o:q}if(I)h[(c[(c[C>>2]|0)+((c[B>>2]|0)*592|0)>>2]|0)+(H<<3)>>3]=o;Vf(d,H,o,1);if(!H)o=+h[D>>3];else o=+h[V+(H+-1<<3)>>3]+ +h[T+40+(H<<3)>>3];h[V+(H<<3)>>3]=o;H=H+1|0;if(H>>>0>=(c[l>>2]|0)>>>0){l=1;m=57;break}}if((m|0)==57){i=W;return l|0}return 0}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a+24>>2]=b;c[a+28>>2]=d;f=Qc(1,848)|0;e=a+20|0;c[c[e>>2]>>2]=f;if(!f){a=0;return a|0}f=b+16|0;g=Qc(c[f>>2]|0,52)|0;b=c[c[e>>2]>>2]|0;c[b+20>>2]=g;if(!g){g=0;return g|0}c[b+16>>2]=c[f>>2];c[a>>2]=c[d+84>>2];g=1;return g|0}function Yf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(!b)return;s=b+20|0;d=c[s>>2]|0;do{if(d){r=(a[b+40>>0]&1)==0?3:4;e=c[d>>2]|0;if(e){o=e+20|0;k=e+16|0;if(c[k>>2]|0){m=0;n=c[o>>2]|0;while(1){l=n+24|0;d=c[l>>2]|0;if(d){i=c[n+28>>2]|0;j=(i>>>0)/136|0;if(i>>>0>135){i=0;while(1){h=d+48|0;e=c[h>>2]|0;if(e){f=c[d+52>>2]|0;g=(f>>>0)/40|0;if(f>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=d+84|0;e=c[h>>2]|0;if(e){t=c[d+88>>2]|0;g=(t>>>0)/40|0;if(t>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=d+120|0;e=c[h>>2]|0;if(e){t=c[d+124>>2]|0;g=(t>>>0)/40|0;if(t>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}i=i+1|0;if(i>>>0>=j>>>0)break;else d=d+136|0}d=c[l>>2]|0}Uc(d);c[l>>2]=0}if((c[n+36>>2]|0)!=0?(p=n+32|0,q=c[p>>2]|0,(q|0)!=0):0){Sc(q);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}m=m+1|0;if(m>>>0>=(c[k>>2]|0)>>>0)break;else n=n+52|0}}Uc(c[o>>2]|0);c[o>>2]=0;Uc(c[c[s>>2]>>2]|0);d=c[s>>2]|0;c[d>>2]=0;if(!d)break}Uc(d);c[s>>2]=0}}while(0);Uc(b);return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+32|0;f=c[e>>2]|0;b=a+40|0;d=c[b>>2]|0;if(f){g=a+44|0;if(d>>>0<=(c[g>>2]|0)>>>0){a=1;return a|0}if(c[a+36>>2]|0){Sc(f);f=Rc(c[b>>2]|0)|0;c[e>>2]=f;if(!f){c[g>>2]=0;c[b>>2]=0;c[a+36>>2]=0;a=0;return a|0}else{c[g>>2]=c[b>>2];c[a+36>>2]=1;a=1;return a|0}}}g=Rc(d)|0;c[e>>2]=g;if(!g){a=0;return a|0}c[a+44>>2]=c[b>>2];c[a+36>>2]=1;a=1;return a|0}function _f(a,b,c){a=a|0;b=b|0;c=c|0;return ig(a,b,1,1.0,52,c)|0}function $f(a,b,c){a=a|0;b=b|0;c=c|0;return ig(a,b,0,.5,56,c)|0}function ag(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;d=c[a+24>>2]|0;f=c[d+16>>2]|0;if(!f){g=0;return g|0}g=0;b=0;e=c[d+24>>2]|0;d=c[(c[c[a+20>>2]>>2]|0)+20>>2]|0;while(1){i=c[e+24>>2]|0;i=((i&7|0)!=0&1)+(i>>>3)|0;h=c[d+24>>2]|0;a=(c[d+20>>2]|0)+-1|0;b=(_(_((i|0)==3?4:i,(c[h+(a*136|0)+8>>2]|0)-(c[h+(a*136|0)>>2]|0)|0)|0,(c[h+(a*136|0)+12>>2]|0)-(c[h+(a*136|0)+4>>2]|0)|0)|0)+b|0;g=g+1|0;if(g>>>0>=f>>>0)break;else{e=e+52|0;d=d+52|0}}return b|0}function bg(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;w=y;if(!(c[b+8>>2]|0)){c[b+36>>2]=d;u=b+28|0;j=c[(c[u>>2]|0)+76>>2]|0;x=b+32|0;c[x>>2]=j+(d*5640|0);v=(h|0)==0;t=b+20|0;if(!v){k=c[(c[c[t>>2]>>2]|0)+20>>2]|0;o=c[j+(d*5640|0)+5584>>2]|0;p=k+16|0;if(!(c[p>>2]|0)){k=h+88|0;j=0}else{l=c[k+24>>2]|0;k=h+88|0;m=c[k>>2]|0;n=0;j=0;do{s=l+(n*136|0)+16|0;c[m+(d*592|0)+20+(n<<2)>>2]=c[s>>2];r=l+(n*136|0)+20|0;c[m+(d*592|0)+152+(n<<2)>>2]=c[r>>2];j=(_(c[r>>2]|0,c[s>>2]|0)|0)+j|0;c[m+(d*592|0)+284+(n<<2)>>2]=c[o+812+(n<<2)>>2];c[m+(d*592|0)+416+(n<<2)>>2]=c[o+944+(n<<2)>>2];n=n+1|0}while(n>>>0<(c[p>>2]|0)>>>0)}s=Qc(_(_(c[h+52>>2]|0,j)|0,c[h+56>>2]|0)|0,32)|0;c[(c[k>>2]|0)+(d*592|0)+548>>2]=s;if(!s){b=0;i=y;return b|0}}j=c[c[t>>2]>>2]|0;s=j+16|0;if(!(c[s>>2]|0)){n=c[x>>2]|0;l=0;k=c[j+20>>2]|0}else{n=c[x>>2]|0;k=c[j+20>>2]|0;d=0;q=c[n+5584>>2]|0;r=k;while(1){o=c[r+32>>2]|0;p=_((c[r+12>>2]|0)-(c[r+4>>2]|0)|0,(c[r+8>>2]|0)-(c[r>>2]|0)|0)|0;j=(p|0)==0;if((c[q+20>>2]|0)==1){if(!j){l=q+1076|0;m=0;j=o;while(1){c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0);m=m+1|0;if((m|0)==(p|0))break;else j=j+4|0}}}else if(!j){l=q+1076|0;m=0;j=o;while(1){c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0)<<11;m=m+1|0;if((m|0)==(p|0))break;else j=j+4|0}}d=d+1|0;l=c[s>>2]|0;if(d>>>0>=l>>>0)break;else{q=q+1080|0;r=r+52|0}}}o=_((c[k+12>>2]|0)-(c[k+4>>2]|0)|0,(c[k+8>>2]|0)-(c[k>>2]|0)|0)|0;a:do{switch(c[n+16>>2]|0){case 0:break;case 2:{if(c[n+5608>>2]|0){m=Pc(l<<2)|0;if(!m){b=0;i=y;return b|0}j=c[s>>2]|0;if(!j)j=0;else{l=0;while(1){c[m+(l<<2)>>2]=c[k+32>>2];l=l+1|0;if((l|0)==(j|0))break;else k=k+52|0}}s=(Gf(c[(c[x>>2]|0)+5608>>2]|0,o,m,j,c[(c[(c[b+24>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Uc(m);if(s){b=0;i=y;return b|0}}break}default:{l=c[k+32>>2]|0;m=c[k+84>>2]|0;j=c[k+136>>2]|0;if(!(c[(c[n+5584>>2]|0)+20>>2]|0)){Ef(l,m,j,o);break a}else{Cf(l,m,j,o);break a}}}}while(0);j=c[c[t>>2]>>2]|0;k=j+16|0;b:do{if(c[k>>2]|0){l=0;m=c[(c[x>>2]|0)+5584>>2]|0;j=c[j+20>>2]|0;c:while(1){switch(c[m+20>>2]|0){case 1:{if(!(Fg(j)|0)){j=0;k=54;break c}break}case 0:{if(!(Jg(j)|0)){j=0;k=54;break c}break}default:{}}l=l+1|0;if(l>>>0>=(c[k>>2]|0)>>>0)break b;else{m=m+1080|0;j=j+52|0}}if((k|0)==54){i=y;return j|0}}}while(0);j=c[x>>2]|0;k=Wg(1)|0;if(!k){b=0;i=y;return b|0}do{if((c[j+16>>2]|0)==1)if(!(c[(c[j+5584>>2]|0)+20>>2]|0)){l=Bf()|0;m=3;break}else{l=Af()|0;m=3;break}else{l=c[j+5600>>2]|0;m=c[(c[b+24>>2]|0)+16>>2]|0}}while(0);t=Zg(k,c[c[t>>2]>>2]|0,j,l,m)|0;Xg(k);if(!t){b=0;i=y;return b|0}j=c[u>>2]|0;c[w>>2]=0;if(!v)c[h+12>>2]=0;if(!(a[j+93>>0]&5)){if(c[(c[x>>2]|0)+8>>2]|0){j=0;do{Uf(b,j,1);j=j+1|0}while(j>>>0<(c[(c[x>>2]|0)+8>>2]|0)>>>0)}}else if(!(Wf(b,e,w,g,h)|0)){b=0;i=y;return b|0}}if(h)c[h+12>>2]=1;j=dh(c[b+24>>2]|0,c[b+28>>2]|0)|0;if(!j)j=1;else{b=bh(j,c[b+36>>2]|0,c[c[b+20>>2]>>2]|0,c[(c[b+32>>2]|0)+8>>2]|0,e,f,g,h,c[b+4>>2]|0,c[b>>2]|0,c[b+16>>2]|0,1)|0;eh(j);j=(b|0)==0}b=j&1^1;i=y;return b|0}function cg(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+16|0;m=u+8|0;l=u;k=u+12|0;j=a+36|0;c[j>>2]=e;t=c[a+28>>2]|0;p=a+32|0;c[p>>2]=(c[t+76>>2]|0)+(e*5640|0);c[k>>2]=0;o=a+24|0;e=dh(c[o>>2]|0,t)|0;if(!e){t=0;i=u;return t|0}n=a+20|0;t=ch(e,c[j>>2]|0,c[c[n>>2]>>2]|0,b,k,d,f,h)|0;eh(e);if(!t){t=0;i=u;return t|0}e=c[c[n>>2]>>2]|0;a=c[(c[p>>2]|0)+5584>>2]|0;j=c[e+20>>2]|0;d=Wg(0)|0;if(!d){t=0;i=u;return t|0}k=e+16|0;a:do{if(c[k>>2]|0){f=0;e=j;while(1){if(!(Yg(d,e,a)|0))break;f=f+1|0;if(f>>>0>=(c[k>>2]|0)>>>0)break a;else{a=a+1080|0;e=e+52|0}}Xg(d);t=0;i=u;return t|0}}while(0);Xg(d);e=c[c[n>>2]>>2]|0;j=e+16|0;do{if(c[j>>2]|0){k=0;f=c[(c[o>>2]|0)+24>>2]|0;d=c[(c[p>>2]|0)+5584>>2]|0;a=c[e+20>>2]|0;while(1){e=(c[f+36>>2]|0)+1|0;if((c[d+20>>2]|0)==1){if(!(Gg(a,e)|0)){e=0;a=49;break}}else if(!(Ng(a,e)|0)){e=0;a=49;break}k=k+1|0;if(k>>>0>=(c[j>>2]|0)>>>0){a=14;break}else{f=f+52|0;d=d+1080|0;a=a+52|0}}if((a|0)==14){e=c[c[n>>2]>>2]|0;break}else if((a|0)==49){i=u;return e|0}}}while(0);k=c[p>>2]|0;a=c[e+20>>2]|0;j=c[k+16>>2]|0;do{if(j){b=_((c[a+12>>2]|0)-(c[a+4>>2]|0)|0,(c[a+8>>2]|0)-(c[a>>2]|0)|0)|0;d=e+16|0;e=c[d>>2]|0;if(e>>>0<=2){c[m>>2]=e;Ub(h,1,19703,m)|0;break}if((_((c[a+64>>2]|0)-(c[a+56>>2]|0)|0,(c[a+60>>2]|0)-(c[a+52>>2]|0)|0)|0)>=(b|0)?(_((c[a+116>>2]|0)-(c[a+108>>2]|0)|0,(c[a+112>>2]|0)-(c[a+104>>2]|0)|0)|0)>=(b|0):0){if((j|0)!=2){e=c[a+32>>2]|0;if((c[(c[k+5584>>2]|0)+20>>2]|0)==1){Df(e,c[a+84>>2]|0,c[a+136>>2]|0,b);break}else{Ff(e,c[a+84>>2]|0,c[a+136>>2]|0,b);break}}f=k+5604|0;if(!(c[f>>2]|0))break;k=Pc(e<<2)|0;if(!k){t=0;i=u;return t|0}e=c[d>>2]|0;if(!e)e=0;else{j=0;while(1){c[k+(j<<2)>>2]=c[a+32>>2];j=j+1|0;if((j|0)==(e|0))break;else a=a+52|0}}t=(Hf(c[f>>2]|0,b,k,e,c[(c[(c[o>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Uc(k);if(t)e=0;else break;i=u;return e|0}Ub(h,1,19642,l)|0;t=0;i=u;return t|0}}while(0);e=c[c[n>>2]>>2]|0;s=e+16|0;if(!(c[s>>2]|0)){t=1;i=u;return t|0}t=0;r=c[(c[o>>2]|0)+24>>2]|0;q=c[(c[p>>2]|0)+5584>>2]|0;p=c[e+20>>2]|0;while(1){o=c[p+24>>2]|0;h=c[r+36>>2]|0;j=c[o+(h*136|0)+8>>2]|0;k=c[o+(h*136|0)>>2]|0;n=j-k|0;f=c[o+(h*136|0)+12>>2]|0;h=c[o+(h*136|0)+4>>2]|0;o=(c[p+8>>2]|0)-(c[p>>2]|0)-n|0;e=c[r+24>>2]|0;if(!(c[r+32>>2]|0)){e=1<>2]|0;a=(f|0)==(h|0);if((c[q+20>>2]|0)==1){if(!a){d=(j|0)==(k|0);b=q+1076|0;k=f-h|0;f=0;while(1){if(!d){a=0;j=e;while(1){h=(c[b>>2]|0)+(c[j>>2]|0)|0;c[j>>2]=(h|0)<(m|0)?m:(h|0)>(l|0)?l:h;a=a+1|0;if((a|0)==(n|0))break;else j=j+4|0}e=e+(n<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else e=e+(o<<2)|0}}}else if(!a){d=(j|0)==(k|0);b=q+1076|0;k=f-h|0;f=0;while(1){if(!d){a=0;j=e;while(1){h=Hh(+g[j>>2])|0;h=(c[b>>2]|0)+h|0;c[j>>2]=(h|0)<(m|0)?m:(h|0)>(l|0)?l:h;a=a+1|0;if((a|0)==(n|0))break;else j=j+4|0}e=e+(n<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else e=e+(o<<2)|0}}t=t+1|0;if(t>>>0>=(c[s>>2]|0)>>>0){e=1;break}else{r=r+52|0;q=q+1080|0;p=p+52|0}}i=u;return e|0}function dg(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d+24|0;m=c[q>>2]|0;h=c[m+16>>2]|0;l=(h|0)==0;if(l){q=1;return q|0}i=0;g=0;j=c[m+24>>2]|0;k=c[(c[c[d+20>>2]>>2]|0)+20>>2]|0;while(1){n=c[j+24>>2]|0;n=((n&7|0)!=0&1)+(n>>>3)|0;o=c[k+24>>2]|0;p=(c[k+20>>2]|0)+-1|0;g=(_(_((n|0)==3?4:n,(c[o+(p*136|0)+8>>2]|0)-(c[o+(p*136|0)>>2]|0)|0)|0,(c[o+(p*136|0)+12>>2]|0)-(c[o+(p*136|0)+4>>2]|0)|0)|0)+g|0;i=i+1|0;if((i|0)==(h|0))break;else{j=j+52|0;k=k+52|0}}g=g>>>0>f>>>0;if(g|l){q=g&1^1;return q|0}p=0;o=c[m+24>>2]|0;n=c[(c[c[d+20>>2]>>2]|0)+20>>2]|0;while(1){l=c[o+24>>2]|0;d=c[n+24>>2]|0;f=c[o+36>>2]|0;i=c[d+(f*136|0)+8>>2]|0;j=c[d+(f*136|0)>>2]|0;m=i-j|0;k=c[d+(f*136|0)+12>>2]|0;f=c[d+(f*136|0)+4>>2]|0;d=(c[n+8>>2]|0)-(c[n>>2]|0)-m|0;l=((l&7|0)!=0&1)+(l>>>3)|0;a:do{switch(((l|0)==3?4:l)|0){case 1:{g=c[n+32>>2]|0;h=(k|0)==(f|0);if(!(c[o+32>>2]|0)){if(h)break a;l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+m|0;i=0;h=g;while(1){a[e>>0]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+1|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}else{if(h)break a;l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+m|0;i=0;h=g;while(1){a[e>>0]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+1|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}case 2:{g=c[n+32>>2]|0;h=(k|0)==(f|0);if(!(c[o+32>>2]|0)){if(!h){l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+(m<<1)|0;i=0;h=g;while(1){b[e>>1]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+2|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}}else if(!h){l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+(m<<1)|0;i=0;h=g;while(1){b[e>>1]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+2|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}case 4:{if((k|0)!=(f|0)){l=(i|0)==(j|0);k=k-f|0;f=0;g=c[n+32>>2]|0;while(1){if(!l){j=e+(m<<2)|0;i=0;h=g;while(1){c[e>>2]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+4|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}default:{}}}while(0);p=p+1|0;if(p>>>0>=(c[(c[q>>2]|0)+16>>2]|0)>>>0){e=1;break}else{o=o+52|0;n=n+52|0}}return e|0}function eg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a+24>>2]|0;f=c[d+16>>2]|0;if(!f){g=0;return g|0}g=0;b=0;e=c[d+24>>2]|0;d=c[(c[c[a+20>>2]>>2]|0)+20>>2]|0;while(1){a=c[e+24>>2]|0;a=((a&7|0)!=0&1)+(a>>>3)|0;b=(_(_((c[d+12>>2]|0)-(c[d+4>>2]|0)|0,(c[d+8>>2]|0)-(c[d>>2]|0)|0)|0,(a|0)==3?4:a)|0)+b|0;g=g+1|0;if(g>>>0>=f>>>0)break;else{e=e+52|0;d=d+52|0}}return b|0}function fg(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[f+24>>2]|0;q=o+16|0;j=c[q>>2]|0;n=(j|0)==0;if(n)i=0;else{k=0;i=0;l=c[o+24>>2]|0;m=c[(c[c[f+20>>2]>>2]|0)+20>>2]|0;while(1){p=c[l+24>>2]|0;p=((p&7|0)!=0&1)+(p>>>3)|0;i=(_(_((c[m+12>>2]|0)-(c[m+4>>2]|0)|0,(c[m+8>>2]|0)-(c[m>>2]|0)|0)|0,(p|0)==3?4:p)|0)+i|0;k=k+1|0;if((k|0)==(j|0))break;else{l=l+52|0;m=m+52|0}}}i=(i|0)!=(h|0);if(i|n){q=i&1^1;return q|0}p=0;n=c[o+24>>2]|0;h=c[(c[c[f+20>>2]>>2]|0)+20>>2]|0;while(1){f=c[n+24>>2]|0;i=(c[h+8>>2]|0)-(c[h>>2]|0)|0;j=(c[h+12>>2]|0)-(c[h+4>>2]|0)|0;m=_(j,i)|0;f=((f&7|0)!=0&1)+(f>>>3)|0;a:do{switch(((f|0)==3?4:f)|0){case 1:{j=c[h+32>>2]|0;i=(m|0)==0;if(!(c[n+32>>2]|0)){if(i)break a;else{k=0;i=j;j=g}while(1){c[i>>2]=d[j>>0];k=k+1|0;if((k|0)==(m|0))break;else{i=i+4|0;j=j+1|0}}g=g+m|0;break a}else{if(i)break a;else{k=0;i=j;j=g}while(1){c[i>>2]=a[j>>0];k=k+1|0;if((k|0)==(m|0))break;else{i=i+4|0;j=j+1|0}}g=g+m|0;break a}}case 2:{l=c[h+32>>2]|0;k=(m|0)==0;if(!(c[n+32>>2]|0)){if(!k){k=g+(_(j<<1,i)|0)|0;j=0;i=l;while(1){c[i>>2]=e[g>>1];j=j+1|0;if((j|0)==(m|0))break;else{i=i+4|0;g=g+2|0}}g=k}}else if(!k){k=g+(_(j<<1,i)|0)|0;j=0;i=l;while(1){c[i>>2]=b[g>>1];j=j+1|0;if((j|0)==(m|0))break;else{i=i+4|0;g=g+2|0}}g=k}break}case 4:{if(m){k=g+(_(j<<2,i)|0)|0;i=0;j=c[h+32>>2]|0;while(1){c[j>>2]=c[g>>2];i=i+1|0;if((i|0)==(m|0))break;else{j=j+4|0;g=g+4|0}}g=k}break}default:{}}}while(0);p=p+1|0;if(p>>>0>=(c[q>>2]|0)>>>0){g=1;break}else{n=n+52|0;h=h+52|0}}return g|0}function gg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+24|0;b=c[g>>2]|0;if(!b)return;f=c[a+28>>2]|0;e=(f>>>0)/52|0;if(f>>>0>51){f=0;while(1){a=c[b>>2]|0;if(a){Uc(a+-1|0);c[b>>2]=0}a=b+4|0;d=c[a>>2]|0;if(d){Uc(d);c[a>>2]=0}a=b+8|0;d=c[a>>2]|0;if(d){Uc(d);c[a>>2]=0}f=f+1|0;if(f>>>0>=e>>>0)break;else b=b+52|0}b=c[g>>2]|0}Uc(b);c[g>>2]=0;return}function hg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+24|0;b=c[g>>2]|0;if(!b)return;f=c[a+28>>2]|0;e=(f>>>0)/56|0;if(f>>>0>55){f=0;while(1){a=c[b>>2]|0;if(a){Uc(a);c[b>>2]=0}d=b+4|0;a=c[d>>2]|0;if(a){Uc(a);c[d>>2]=0}f=f+1|0;if(f>>>0>=e>>>0)break;else b=b+56|0}b=c[g>>2]|0}Uc(b);c[g>>2]=0;return}function ig(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=+f;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=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.0;Sa=i;i=i+80|0;La=Sa+64|0;Ka=Sa+56|0;Na=Sa+48|0;Pa=Sa+40|0;Oa=Sa+32|0;Qa=Sa+24|0;Ma=Sa+16|0;Ja=Sa+8|0;k=c[b+28>>2]|0;Ia=c[c[b+20>>2]>>2]|0;p=c[(c[k+76>>2]|0)+(d*5640|0)+5584>>2]|0;q=c[Ia+20>>2]|0;n=c[b+24>>2]|0;o=c[n+24>>2]|0;Fa=c[k+24>>2]|0;m=c[k+12>>2]|0;Ha=(_(m,(d>>>0)%(Fa>>>0)|0)|0)+(c[k+4>>2]|0)|0;l=c[n>>2]|0;l=Ha>>>0>l>>>0?Ha:l;c[Ia>>2]=l;Ha=Si(m|0,0,Ha|0,0)|0;Ha=Ha|0-C;m=c[n+8>>2]|0;m=Ha>>>0>>0?Ha:m;Ha=Ia+8|0;c[Ha>>2]=m;Ga=c[k+16>>2]|0;Fa=(_(Ga,(d>>>0)/(Fa>>>0)|0)|0)+(c[k+8>>2]|0)|0;d=c[n+4>>2]|0;d=Fa>>>0>d>>>0?Fa:d;Ea=Ia+4|0;c[Ea>>2]=d;Fa=Si(Ga|0,0,Fa|0,0)|0;Fa=Fa|0-C;n=c[n+12>>2]|0;n=Fa>>>0>>0?Fa:n;Fa=Ia+12|0;c[Fa>>2]=n;if(!(c[p+4>>2]|0)){Ub(j,1,19777,Sa)|0;Ra=0;i=Sa;return Ra|0}Ga=Ia+16|0;if(!(c[Ga>>2]|0)){Ra=1;i=Sa;return Ra|0}Da=k+80|0;Ca=b+40|0;Ba=(e|0)==0;k=d;Aa=0;a:while(1){c[o+36>>2]=0;va=c[o>>2]|0;d=(l+-1+va|0)/(va|0)|0;c[q>>2]=d;wa=c[o+4>>2]|0;k=(k+-1+wa|0)/(wa|0)|0;za=q+4|0;c[za>>2]=k;va=(m+-1+va|0)/(va|0)|0;ya=q+8|0;c[ya>>2]=va;wa=(n+-1+wa|0)/(wa|0)|0;xa=q+12|0;c[xa>>2]=wa;d=va-d|0;k=wa-k|0;if((4294967295/(d>>>0)|0)>>>0>>0){Ra=6;break}d=_(k,d)|0;if(d>>>0>1073741823){Ra=8;break}m=d<<2;va=c[p+4>>2]|0;wa=q+16|0;c[wa>>2]=va;b=c[Da>>2]|0;c[q+20>>2]=va>>>0>>0?1:va-b|0;b=q+40|0;c[b>>2]=m;do{if(a[Ca>>0]&1){e=q+32|0;l=c[e>>2]|0;if(l){k=q+44|0;if(m>>>0<=(c[k>>2]|0)>>>0)break;d=q+36|0;if(c[d>>2]|0){Sc(l);va=Rc(c[b>>2]|0)|0;c[e>>2]=va;if(!va){Ra=16;break a}c[k>>2]=c[b>>2];c[d>>2]=1;break}}va=Rc(m)|0;c[e>>2]=va;if(!va)break a;c[q+44>>2]=c[b>>2];c[q+36>>2]=1}}while(0);e=(c[wa>>2]|0)*136|0;k=q+24|0;b=c[k>>2]|0;if(b){d=q+28|0;if(e>>>0>(c[d>>2]|0)>>>0){b=Tc(b,e)|0;if(!b){Ra=24;break}c[k>>2]=b;va=c[d>>2]|0;Qi(b+va|0,0,e-va|0)|0;c[d>>2]=e}}else{d=Pc(e)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break}c[q+28>>2]=e;Qi(d|0,0,e|0)|0}d=c[wa>>2]|0;va=(c[p+20>>2]|0)==0?7:8;if(d){ra=p+8|0;sa=p+12|0;ta=o+24|0;ua=p+804|0;qa=c[k>>2]|0;k=p+28|0;b=0;while(1){oa=d;pa=d+-1|0;la=c[q>>2]|0;ma=Ri(1,0,pa|0)|0;ma=Si(ma|0,C|0,-1,-1)|0;na=C;la=Si(ma|0,na|0,la|0,((la|0)<0)<<31>>31|0)|0;la=Pi(la|0,C|0,pa|0)|0;c[qa>>2]=la;e=c[za>>2]|0;e=Si(ma|0,na|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,pa|0)|0;c[qa+4>>2]=e;d=c[ya>>2]|0;d=Si(ma|0,na|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,pa|0)|0;c[qa+8>>2]=d;l=c[xa>>2]|0;l=Si(ma|0,na|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Pi(l|0,C|0,pa|0)|0;c[qa+12>>2]=l;r=c[p+812+(b<<2)>>2]|0;n=c[p+944+(b<<2)>>2]|0;s=la>>r<>n<>31|0)|0;m=Pi(m|0,C|0,n|0)|0;if((la|0)==(d|0))d=0;else{la=Ri(1,0,r|0)|0;la=Si(la|0,C|0,-1,-1)|0;d=Si(la|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,r|0)|0;d=(d<>r}la=qa+16|0;c[la>>2]=d;ia=(e|0)==(l|0)?0:(m<>n;c[qa+20>>2]=ia;ia=_(ia,d)|0;ja=ia*40|0;ka=(b|0)==0;if(ka)d=1;else{s=Si(s|0,((s|0)<0)<<31>>31|0,1,0)|0;s=Ti(s|0,C|0,1)|0;t=Si(t|0,((t|0)<0)<<31>>31|0,1,0)|0;t=Ti(t|0,C|0,1)|0;d=3;n=n+-1|0;r=r+-1|0}ha=qa+24|0;c[ha>>2]=d;S=c[ra>>2]|0;S=S>>>0>>0?S:r;T=c[sa>>2]|0;T=T>>>0>>0?T:n;U=(ia|0)!=0;V=(ia|0)==0;W=1<>2]|0;d=Si(ma|0,na|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,pa|0)|0;k=c[za>>2]|0;k=Si(ma|0,na|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Pi(k|0,C|0,pa|0)|0;e=c[ya>>2]|0;e=Si(ma|0,na|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,pa|0)|0;m=c[xa>>2]|0;m=Si(ma|0,na|0,m|0,((m|0)<0)<<31>>31|0)|0;m=Pi(m|0,C|0,pa|0)|0;l=0}else{l=fa+1|0;d=c[q>>2]|0;O=Ri(l&1|0,0,pa|0)|0;O=Oi(da|0,ea|0,O|0,C|0)|0;m=C;d=Si(O|0,m|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,oa|0)|0;k=c[za>>2]|0;P=Ri(l>>>1|0,0,pa|0)|0;P=Oi(da|0,ea|0,P|0,C|0)|0;Q=C;k=Si(P|0,Q|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Pi(k|0,C|0,oa|0)|0;e=c[ya>>2]|0;e=Si(O|0,m|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,oa|0)|0;m=c[xa>>2]|0;m=Si(P|0,Q|0,m|0,((m|0)<0)<<31>>31|0)|0;m=Pi(m|0,C|0,oa|0)|0}c[ga+16>>2]=l;c[ga>>2]=d;Q=ga+4|0;c[Q>>2]=k;P=ga+8|0;c[P>>2]=e;O=ga+12|0;c[O>>2]=m;k=Wa[va&15](l)|0;Ta=+(c[R+4>>2]|0)*.00048828125+1.0;g[ga+32>>2]=+Gh(1.0,(c[ta>>2]|0)+k-(c[R>>2]|0)|0)*Ta*f;c[ga+28>>2]=(c[R>>2]|0)+-1+(c[ua>>2]|0);k=ga+20|0;e=c[k>>2]|0;if(!(U&(e|0)==0)){d=ga+24|0;if((c[d>>2]|0)>>>0>>0){e=Tc(e,ja)|0;if(!e){Ra=41;break a}c[k>>2]=e;N=c[d>>2]|0;Qi(e+N|0,0,ja-N|0)|0;c[d>>2]=ja}}else{d=Pc(ja)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break a}Qi(d|0,0,ja|0)|0;c[ga+24>>2]=ja}if(!V){M=c[k>>2]|0;N=0;while(1){F=c[la>>2]|0;J=(((N>>>0)%(F>>>0)|0)<>>0)/(F>>>0)|0)<>2]|0;I=(J|0)>(I|0)?J:I;c[M>>2]=I;J=c[Q>>2]|0;J=(F|0)>(J|0)?F:J;F=M+4|0;c[F>>2]=J;L=c[P>>2]|0;L=(G|0)<(L|0)?G:L;G=M+8|0;c[G>>2]=L;l=c[O>>2]|0;l=(H|0)<(l|0)?H:l;H=M+12|0;c[H>>2]=l;I=I>>S<>T<>31|0)|0;L=Pi(L|0,C|0,S|0)|0;l=Si($|0,aa|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Pi(l|0,C|0,T|0)|0;L=(L<>S;K=M+16|0;c[K>>2]=L;l=(l<>T;u=M+20|0;c[u>>2]=l;L=_(l,L)|0;l=_(L,h)|0;k=M+24|0;e=c[k>>2]|0;do{if((e|0)==0&(L|0)!=0){d=Pc(l)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break a}Qi(d|0,0,l|0)|0;c[M+28>>2]=l}else{d=M+28|0;if(l>>>0<=(c[d>>2]|0)>>>0)break;e=Tc(e,l)|0;if(!e){Ra=50;break a}c[k>>2]=e;E=c[d>>2]|0;Qi(e+E|0,0,l-E|0)|0;c[d>>2]=l}}while(0);m=M+32|0;d=c[m>>2]|0;e=c[K>>2]|0;l=c[u>>2]|0;if(!d)d=jg(e,l,j)|0;else d=lg(d,e,l,j)|0;c[m>>2]=d;if(!d)Ub(j,2,19990,Ka)|0;m=M+36|0;e=c[m>>2]|0;l=c[K>>2]|0;d=c[u>>2]|0;if(!e)d=jg(l,d,j)|0;else d=lg(e,l,d,j)|0;c[m>>2]=d;if(!d)Ub(j,2,20012,La)|0;if(L){E=0;do{A=c[K>>2]|0;z=(((E>>>0)%(A>>>0)|0)<>>0)/(A>>>0)|0)<>2]|0;e=d+(E*56|0)|0;l=c[e>>2]|0;if(!l){y=Pc(8192)|0;c[e>>2]=y;if(!y){d=0;Ra=87;break a}c[d+(E*56|0)+32>>2]=8192;y=Qc(10,32)|0;c[d+(E*56|0)+4>>2]=y;if(!y){d=0;Ra=87;break a}c[d+(E*56|0)+52>>2]=10}else{m=d+(E*56|0)+32|0;u=c[m>>2]|0;v=d+(E*56|0)+4|0;w=c[v>>2]|0;x=e;y=x+52|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));c[e>>2]=l;c[m>>2]=u;c[v>>2]=w}y=c[M>>2]|0;c[d+(E*56|0)+8>>2]=(z|0)>(y|0)?z:y;z=c[F>>2]|0;c[d+(E*56|0)+12>>2]=(A|0)>(z|0)?A:z;A=c[G>>2]|0;c[d+(E*56|0)+16>>2]=(B|0)<(A|0)?B:A;B=c[H>>2]|0;c[d+(E*56|0)+20>>2]=(D|0)<(B|0)?D:B}else{e=c[k>>2]|0;d=e+(E*52|0)+4|0;if((c[d>>2]|0)==0?(y=Qc(100,24)|0,c[d>>2]=y,(y|0)==0):0){d=0;Ra=87;break a}d=e+(E*52|0)+8|0;if((c[d>>2]|0)==0?(y=Qc(100,24)|0,c[d>>2]=y,(y|0)==0):0){d=0;Ra=87;break a}m=c[M>>2]|0;m=(z|0)>(m|0)?z:m;c[e+(E*52|0)+12>>2]=m;d=c[F>>2]|0;A=(A|0)>(d|0)?A:d;c[e+(E*52|0)+16>>2]=A;d=c[G>>2]|0;d=(B|0)<(d|0)?B:d;c[e+(E*52|0)+20>>2]=d;B=c[H>>2]|0;D=(D|0)<(B|0)?D:B;c[e+(E*52|0)+24>>2]=D;m=_(D-A|0,d-m<<2)|0;d=e+(E*52|0)+36|0;if(m>>>0<=(c[d>>2]|0)>>>0)break;l=e+(E*52|0)|0;e=c[l>>2]|0;if(e)Uc(e+-1|0);e=Pc(m|1)|0;c[l>>2]=e;if(!e){Ra=74;break a}c[d>>2]=m;a[e>>0]=0;c[l>>2]=(c[l>>2]|0)+1}}while(0);E=E+1|0}while(E>>>0>>0)}N=N+1|0;if(N>>>0>=ia>>>0)break;else M=M+40|0}}k=R+8|0;fa=fa+1|0;if(fa>>>0>=(c[ha>>2]|0)>>>0)break;else{ga=ga+36|0;R=k}}b=b+1|0;if(b>>>0<(c[wa>>2]|0)>>>0){d=pa;qa=qa+136|0}else break}}d=Aa+1|0;if(d>>>0>=(c[Ga>>2]|0)>>>0){d=1;Ra=87;break}l=c[Ia>>2]|0;k=c[Ea>>2]|0;m=c[Ha>>2]|0;n=c[Fa>>2]|0;Aa=d;o=o+52|0;p=p+1080|0;q=q+52|0}if((Ra|0)==6){Ub(j,1,19816,Ja)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==8){Ub(j,1,19816,Ma)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==16){c[k>>2]=0;c[b>>2]=0;c[d>>2]=0}else if((Ra|0)==24){Ub(j,1,19849,Oa)|0;Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==41){Ub(j,1,19889,Pa)|0;Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==50){Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ub(j,1,19932,Na)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==74){c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==87){i=Sa;return d|0}Ub(j,1,19816,Qa)|0;Ra=0;i=Sa;return Ra|0}function jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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;v=i;i=i+288|0;l=v+16|0;j=v+8|0;t=v+152|0;u=v+24|0;e=Qc(1,20)|0;if(!e){Ub(d,1,20034,v)|0;u=0;i=v;return u|0}c[e>>2]=a;m=e+4|0;c[m>>2]=b;c[t>>2]=a;c[u>>2]=b;k=e+8|0;c[k>>2]=0;f=0;h=0;while(1){s=_(b,a)|0;a=(a+1|0)/2|0;g=h+1|0;c[t+(g<<2)>>2]=a;b=(b+1|0)/2|0;c[u+(g<<2)>>2]=b;f=f+s|0;if(s>>>0<=1)break;else h=g}c[k>>2]=f;if(!f){Uc(e);Ub(d,2,20072,j)|0;u=0;i=v;return u|0}f=Qc(f,16)|0;c[e+12>>2]=f;if(!f){Ub(d,1,20122,l)|0;Uc(e);u=0;i=v;return u|0}s=c[k>>2]|0;c[e+16>>2]=s<<4;b=f+((_(c[m>>2]|0,c[e>>2]|0)|0)<<4)|0;if(!h)b=f;else{r=0;g=b;a=b;b=f;do{p=c[u+(r<<2)>>2]|0;a:do{if((p|0)>0){q=c[t+(r<<2)>>2]|0;if((q|0)<=0){k=p+-1|0;d=0;while(1){o=(d&1|0)!=0|(d|0)==(k|0);j=o?g:a;a=o?g:a+(q<<4)|0;d=d+1|0;if((d|0)>=(p|0)){g=j;break a}else g=j}}o=((q+2+((q|0)<2?~q:-3)|0)>>>1)+1|0;m=p+-1|0;n=0;do{d=q;l=g;while(1){c[b>>2]=l;j=b+16|0;k=d;d=d+-2|0;if((d|0)>-1){c[j>>2]=l;b=b+32|0}else b=j;if((k|0)<=2)break;else l=l+16|0}l=g+(o<<4)|0;d=(n&1|0)!=0|(n|0)==(m|0);g=d?l:a;a=d?l:a+(q<<4)|0;n=n+1|0}while((n|0)<(p|0))}}while(0);r=r+1|0}while((r|0)!=(h|0))}c[b>>2]=0;if(!s){u=e;i=v;return u|0}else b=0;while(1){c[f+4>>2]=999;c[f+8>>2]=0;c[f+12>>2]=0;b=b+1|0;if((b|0)==(s|0))break;else f=f+16|0}i=v;return e|0}function kg(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a+8>>2]|0;if(!b)return;d=0;a=c[a+12>>2]|0;while(1){c[a+4>>2]=999;c[a+8>>2]=0;c[a+12>>2]=0;d=d+1|0;if(d>>>0>=b>>>0)break;else a=a+16|0}return}function bb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function cb(){return i|0}function db(a){a=a|0;i=a}function eb(a,b){a=a|0;b=b|0;i=a;j=b}function fb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function gb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function hb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ib(a){a=a|0;C=a}function jb(){return C|0}function kb(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+8272|0;k=o+16|0;m=o+12|0;j=o;c[m>>2]=0;if((c[a>>2]|0)==1375686655)n=gc(0)|0;else n=gc(2)|0;bc(n,1,0)|0;cc(n,2,0)|0;dc(n,3,0)|0;hc(k);c[j>>2]=a;c[j+4>>2]=a;c[j+8>>2]=b;l=ec(j,1)|0;if(!(ic(n,k)|0)){mi(4476)|0;Fb(l);zc(n);g=1;i=o;return g|0}if(!(jc(l,n,m)|0)){mi(4528)|0;Fb(l);zc(n);Zb(c[m>>2]|0);g=1;i=o;return g|0}if(!(oc(n,l,c[m>>2]|0,c[k+8228>>2]|0)|0)){mi(4578)|0;zc(n);Fb(l);Zb(c[m>>2]|0);g=1;i=o;return g|0}j=c[m>>2]|0;c[f>>2]=c[j+8>>2];c[g>>2]=c[j+12>>2];a=c[j+16>>2]|0;c[h>>2]=a;a=_(_(a<<2,c[f>>2]|0)|0,c[g>>2]|0)|0;c[e>>2]=a;e=Fi(a)|0;c[d>>2]=e;switch(c[h>>2]|0){case 1:{Ui(e|0,c[(c[j+24>>2]|0)+44>>2]|0,a|0)|0;break}case 3:{if((_(c[g>>2]|0,c[f>>2]|0)|0)>0){b=c[j+24>>2]|0;j=c[b+44>>2]|0;a=c[b+96>>2]|0;b=c[b+148>>2]|0;k=0;do{h=k*3|0;c[e+(h<<2)>>2]=c[j+(k<<2)>>2];c[e+(h+1<<2)>>2]=c[a+(k<<2)>>2];c[e+(h+2<<2)>>2]=c[b+(k<<2)>>2];k=k+1|0}while((k|0)<(_(c[g>>2]|0,c[f>>2]|0)|0))}break}default:{}}Fb(l);zc(n);Zb(c[m>>2]|0);g=0;i=o;return g|0}function lb(){return fc()|0}function mb(a,b){a=a|0;b=b|0;return}function nb(a,b){a=a|0;b=b|0;return}function ob(a,b){a=a|0;b=b|0;var d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;li(4625,d)|0;i=b;return}function pb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;g=h;c[g>>2]=d;if(!e){i=h;return}d=b;f=0;b=g+(e+-1)|0;while(1){a[d>>0]=a[b>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else{d=d+1|0;b=b+-1|0}}i=h;return}function qb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;c[d>>2]=0;if(!e)return;f=0;d=d+(e+-1)|0;while(1){a[d>>0]=a[b>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else{b=b+1|0;d=d+-1|0}}return}function rb(b,d){b=b|0;d=+d;var e=0,f=0,g=0,j=0,l=0;e=i;i=i+16|0;j=e;h[j>>3]=d;j=j+8|0;h[k>>3]=d;f=c[k>>2]|0;g=c[k+4>>2]|0;l=Ti(f|0,g|0,56)|0;a[b>>0]=l;l=Ti(f|0,g|0,48)|0;a[b+1>>0]=l;l=Ti(f|0,g|0,40)|0;a[b+2>>0]=l;a[b+3>>0]=g;a[b+4>>0]=a[j+-5>>0]|0;a[b+5>>0]=a[j+-6>>0]|0;g=Ti(f|0,g|0,8)|0;a[b+6>>0]=g;a[b+7>>0]=f;i=e;return}function sb(b,c){b=b|0;c=c|0;var d=0;d=c+8|0;a[d+-1>>0]=a[b>>0]|0;a[d+-2>>0]=a[b+1>>0]|0;a[d+-3>>0]=a[b+2>>0]|0;a[d+-4>>0]=a[b+3>>0]|0;a[d+-5>>0]=a[b+4>>0]|0;a[d+-6>>0]=a[b+5>>0]|0;a[d+-7>>0]=a[b+6>>0]|0;a[c>>0]=a[b+7>>0]|0;return}function tb(b,d){b=b|0;d=+d;var e=0;e=(g[k>>2]=d,c[k>>2]|0);a[b>>0]=e>>>24;a[b+1>>0]=e>>>16;a[b+2>>0]=e>>>8;a[b+3>>0]=e;return}function ub(b,c){b=b|0;c=c|0;var d=0;d=c+4|0;a[d+-1>>0]=a[b>>0]|0;a[d+-2>>0]=a[b+1>>0]|0;a[d+-3>>0]=a[b+2>>0]|0;a[c>>0]=a[b+3>>0]|0;return}function vb(a,b){a=a|0;b=b|0;var d=0,e=0;e=Qc(1,72)|0;if(!e){b=0;return b|0}c[e+64>>2]=a;a=Pc(a)|0;c[e+32>>2]=a;if(!a){Uc(e);b=0;return b|0}c[e+36>>2]=a;a=e+68|0;d=c[a>>2]|0;if(!b){c[a>>2]=d|1;c[e+40>>2]=31;c[e+44>>2]=32}else{c[a>>2]=d|2;c[e+40>>2]=29;c[e+44>>2]=30}c[e+16>>2]=4;c[e+20>>2]=5;c[e+24>>2]=6;c[e+28>>2]=7;b=e;return b|0}function wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;m=n;f=a+48|0;g=c[f>>2]|0;if(g>>>0>=b>>>0){m=a+36|0;c[m>>2]=(c[m>>2]|0)+b;c[f>>2]=g-b;m=a+56|0;a=m;a=Si(c[a>>2]|0,c[a+4>>2]|0,b|0,d|0)|0;c[m>>2]=a;c[m+4>>2]=C;m=d;a=b;C=m;i=n;return a|0}l=a+68|0;if(c[l>>2]&4){m=a+36|0;c[m>>2]=(c[m>>2]|0)+g;c[f>>2]=0;a=a+56|0;m=a;m=Si(c[m>>2]|0,c[m+4>>2]|0,g|0,0)|0;c[a>>2]=m;c[a+4>>2]=C;a=(g|0)!=0;m=a?0:-1;a=a?g:-1;C=m;i=n;return a|0}if(!g){g=0;f=0}else{c[a+36>>2]=c[a+32>>2];b=Oi(b|0,d|0,g|0,0)|0;c[f>>2]=0;f=0;d=C}a:do{if((d|0)>0|(d|0)==0&b>>>0>0){k=a+24|0;while(1){h=Ra[c[k>>2]&63](b,d,c[a>>2]|0)|0;j=C;if((h|0)==-1&(j|0)==-1)break;b=Oi(b|0,d|0,h|0,j|0)|0;d=C;g=Si(h|0,j|0,g|0,f|0)|0;f=C;if(!((d|0)>0|(d|0)==0&b>>>0>0))break a}Ub(e,4,4636,m)|0;c[l>>2]=c[l>>2]|4;a=a+56|0;m=a;m=Si(c[m>>2]|0,c[m+4>>2]|0,g|0,f|0)|0;c[a>>2]=m;c[a+4>>2]=C;a=(g|0)!=0|(f|0)!=0;m=a?f:-1;a=a?g:-1;C=m;i=n;return a|0}}while(0);m=a+56|0;a=m;a=Si(c[a>>2]|0,c[a+4>>2]|0,g|0,f|0)|0;c[m>>2]=a;c[m+4>>2]=C;m=f;a=g;C=m;i=n;return a|0}function xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[a+36>>2]=c[a+32>>2];c[a+48>>2]=0;g=(Ra[c[a+28>>2]&63](b,d,c[a>>2]|0)|0)==0;e=a+68|0;f=c[e>>2]|0;if(g){c[e>>2]=f|4;g=0;return g|0}else{c[e>>2]=f&-5;g=a+56|0;c[g>>2]=b;c[g+4>>2]=d;g=1;return g|0}return 0}function yb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r+8|0;m=r;p=a+68|0;if(c[p>>2]&8){q=-1;a=-1;C=q;i=r;return a|0}k=a+32|0;f=c[k>>2]|0;o=a+36|0;c[o>>2]=f;l=a+48|0;g=c[l>>2]|0;do{if(g){j=a+20|0;while(1){h=Ra[c[j>>2]&63](f,g,c[a>>2]|0)|0;if((h|0)==-1)break;f=(c[o>>2]|0)+h|0;c[o>>2]=f;s=c[l>>2]|0;g=s-h|0;c[l>>2]=g;if((s|0)==(h|0)){n=6;break}}if((n|0)==6){f=c[k>>2]|0;break}c[p>>2]=c[p>>2]|8;Ub(e,4,4662,m)|0;c[p>>2]=c[p>>2]|8;c[l>>2]=0;a=-1;s=-1;C=a;i=r;return s|0}}while(0);c[o>>2]=f;a:do{if((d|0)>0|(d|0)==0&b>>>0>0){k=a+24|0;g=0;f=0;while(1){h=Ra[c[k>>2]&63](b,d,c[a>>2]|0)|0;j=C;if((h|0)==-1&(j|0)==-1)break;b=Oi(b|0,d|0,h|0,j|0)|0;d=C;g=Si(h|0,j|0,g|0,f|0)|0;f=C;if(!((d|0)>0|(d|0)==0&b>>>0>0))break a}Ub(e,4,4688,q)|0;c[p>>2]=c[p>>2]|8;s=a+56|0;a=s;a=Si(c[a>>2]|0,c[a+4>>2]|0,g|0,f|0)|0;c[s>>2]=a;c[s+4>>2]=C;s=(g|0)!=0|(f|0)!=0;a=s?f:-1;s=s?g:-1;C=a;i=r;return s|0}else{g=0;f=0}}while(0);a=a+56|0;s=a;s=Si(c[s>>2]|0,c[s+4>>2]|0,g|0,f|0)|0;c[a>>2]=s;c[a+4>>2]=C;a=f;s=g;C=a;i=r;return s|0}function zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+16|0;k=p;m=a+32|0;f=c[m>>2]|0;n=a+36|0;c[n>>2]=f;o=a+48|0;g=c[o>>2]|0;do{if(!g)g=a;else{j=a+20|0;while(1){h=Ra[c[j>>2]&63](f,g,c[a>>2]|0)|0;if((h|0)==-1)break;f=(c[n>>2]|0)+h|0;c[n>>2]=f;q=c[o>>2]|0;g=q-h|0;c[o>>2]=g;if((q|0)==(h|0)){l=6;break}}if((l|0)==6){g=a;f=c[m>>2]|0;break}q=a+68|0;c[q>>2]=c[q>>2]|8;Ub(e,4,4662,k)|0;c[q>>2]=c[q>>2]|8;q=0;i=p;return q|0}}while(0);c[n>>2]=f;c[o>>2]=0;if(!(Ra[c[a+28>>2]&63](b,d,c[g>>2]|0)|0)){q=a+68|0;c[q>>2]=c[q>>2]|8;q=0;i=p;return q|0}else{q=a+56|0;c[q>>2]=b;c[q+4>>2]=d;q=1;i=p;return q|0}return 0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;C=-1;return-1}function Db(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Eb(a){a=a|0;var b=0,d=0,e=0;e=Qc(1,72)|0;if(!e){a=0;return a|0}c[e+64>>2]=1048576;b=Pc(1048576)|0;c[e+32>>2]=b;if(!b){Uc(e);a=0;return a|0}c[e+36>>2]=b;b=e+68|0;d=c[b>>2]|0;if(!a){c[b>>2]=d|1;c[e+40>>2]=31;c[e+44>>2]=32}else{c[b>>2]=d|2;c[e+40>>2]=29;c[e+44>>2]=30}c[e+16>>2]=4;c[e+20>>2]=5;c[e+24>>2]=6;c[e+28>>2]=7;a=e;return a|0}function Fb(a){a=a|0;var b=0;if(!a)return;b=c[a+4>>2]|0;if(b)Ta[b&7](c[a>>2]|0);b=a+32|0;Uc(c[b>>2]|0);c[b>>2]=0;Uc(a);return}function Gb(a,b){a=a|0;b=b|0;if(!a)return;if(!(c[a+68>>2]&2))return;c[a+16>>2]=b;return}function Hb(a,b){a=a|0;b=b|0;if(!a)return;c[a+28>>2]=b;return}function Ib(a,b){a=a|0;b=b|0;if(!a)return;if(!(c[a+68>>2]&1))return;c[a+20>>2]=b;return}function Jb(a,b){a=a|0;b=b|0;if(!a)return;c[a+24>>2]=b;return}function Kb(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;c[a>>2]=b;c[a+4>>2]=d;return}function Lb(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;a=a+8|0;c[a>>2]=b;c[a+4>>2]=d;return}function Mb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+16|0;s=w+8|0;r=w;v=a+48|0;f=c[v>>2]|0;if(f>>>0>=d>>>0){u=a+36|0;Ui(b|0,c[u>>2]|0,d|0)|0;c[u>>2]=(c[u>>2]|0)+d;c[v>>2]=(c[v>>2]|0)-d;v=a+56|0;u=v;u=Si(c[u>>2]|0,c[u+4>>2]|0,d|0,0)|0;c[v>>2]=u;c[v+4>>2]=C;v=d;i=w;return v|0}t=a+68|0;if(c[t>>2]&4){u=a+36|0;Ui(b|0,c[u>>2]|0,f|0)|0;e=c[v>>2]|0;c[u>>2]=(c[u>>2]|0)+e;u=a+56|0;t=u;e=Si(c[t>>2]|0,c[t+4>>2]|0,e|0,0)|0;c[u>>2]=e;c[u+4>>2]=C;c[v>>2]=0;v=(f|0)!=0?f:-1;i=w;return v|0}if(!f){o=a+32|0;g=c[o>>2]|0;p=a+36|0;c[p>>2]=g;q=p;u=a+56|0;f=0}else{p=a+36|0;Ui(b|0,c[p>>2]|0,f|0)|0;o=a+32|0;g=c[o>>2]|0;c[p>>2]=g;q=c[v>>2]|0;u=a+56|0;m=u;m=Si(c[m>>2]|0,c[m+4>>2]|0,q|0,0)|0;n=u;c[n>>2]=m;c[n+4>>2]=C;c[v>>2]=0;d=d-q|0;b=b+q|0;q=p}m=a+64|0;n=a+16|0;l=b;h=g;while(1){b=c[m>>2]|0;g=c[n>>2]|0;if(d>>>0>>0){g=Ra[g&63](h,b,c[a>>2]|0)|0;c[v>>2]=g;if((g|0)==-1){g=11;break}if(g>>>0>=d>>>0){b=l;g=14;break}Ui(l|0,c[q>>2]|0,g|0)|0;h=c[o>>2]|0;c[p>>2]=h;b=c[v>>2]|0;j=u;j=Si(c[j>>2]|0,c[j+4>>2]|0,b|0,0)|0;k=C;f=g+f|0}else{b=Ra[g&63](l,d,c[a>>2]|0)|0;c[v>>2]=b;if((b|0)==-1){g=16;break}f=b+f|0;if(b>>>0>=d>>>0){g=20;break}h=c[o>>2]|0;c[p>>2]=h;j=u;j=Si(c[j>>2]|0,c[j+4>>2]|0,b|0,0)|0;k=C}g=u;c[g>>2]=j;c[g+4>>2]=k;c[v>>2]=0;d=d-b|0;l=l+b|0}if((g|0)==11){Ub(e,4,4636,r)|0;c[v>>2]=0;c[t>>2]=c[t>>2]|4;v=(f|0)!=0?f:-1;i=w;return v|0}else if((g|0)==14){Ui(b|0,c[q>>2]|0,d|0)|0;c[q>>2]=(c[q>>2]|0)+d;c[v>>2]=(c[v>>2]|0)-d;e=u;e=Si(c[e>>2]|0,c[e+4>>2]|0,d|0,0)|0;v=u;c[v>>2]=e;c[v+4>>2]=C;v=f+d|0;i=w;return v|0}else if((g|0)==16){Ub(e,4,4636,s)|0;c[v>>2]=0;c[t>>2]=c[t>>2]|4;v=(f|0)!=0?f:-1;i=w;return v|0}else if((g|0)==20){e=u;e=Si(c[e>>2]|0,c[e+4>>2]|0,b|0,0)|0;c[u>>2]=e;c[u+4>>2]=C;c[p>>2]=c[o>>2];c[v>>2]=0;v=f;i=w;return v|0}return 0}function Nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;r=u;n=a+68|0;if(c[n>>2]&8){t=-1;i=u;return t|0}q=a+64|0;f=c[q>>2]|0;t=a+48|0;k=c[t>>2]|0;g=f-k|0;do{if(g>>>0>>0){o=a+32|0;h=a+36|0;p=a+20|0;j=a+56|0;l=f;m=g;f=0;a:while(1){if((l|0)==(k|0))g=c[o>>2]|0;else{Ui(c[h>>2]|0,b|0,m|0)|0;g=c[o>>2]|0;c[h>>2]=g;k=(c[t>>2]|0)+m|0;c[t>>2]=k;v=j;v=Si(c[v>>2]|0,c[v+4>>2]|0,m|0,0)|0;l=j;c[l>>2]=v;c[l+4>>2]=C;d=d-m|0;b=b+m|0;f=m+f|0}c[h>>2]=g;if(!k)k=0;else{do{l=Ra[c[p>>2]&63](g,k,c[a>>2]|0)|0;if((l|0)==-1)break a;g=(c[h>>2]|0)+l|0;c[h>>2]=g;v=c[t>>2]|0;k=v-l|0;c[t>>2]=k}while((v|0)!=(l|0));g=c[o>>2]|0}c[h>>2]=g;l=c[q>>2]|0;m=l-k|0;if(d>>>0<=m>>>0){s=5;break}}if((s|0)==5)break;c[n>>2]=c[n>>2]|8;Ub(e,4,4662,r)|0;v=-1;i=u;return v|0}else{g=a+36|0;j=a+56|0;h=g;g=c[g>>2]|0;f=0}}while(0);Ui(g|0,b|0,d|0)|0;c[h>>2]=(c[h>>2]|0)+d;c[t>>2]=(c[t>>2]|0)+d;t=j;t=Si(c[t>>2]|0,c[t+4>>2]|0,d|0,0)|0;v=j;c[v>>2]=t;c[v+4>>2]=C;v=f+d|0;i=u;return v|0}function Ob(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+16|0;k=n;g=a+32|0;d=c[g>>2]|0;m=a+36|0;c[m>>2]=d;h=a+48|0;e=c[h>>2]|0;do{if(e){j=a+20|0;while(1){f=Ra[c[j>>2]&63](d,e,c[a>>2]|0)|0;if((f|0)==-1)break;d=(c[m>>2]|0)+f|0;c[m>>2]=d;o=c[h>>2]|0;e=o-f|0;c[h>>2]=e;if((o|0)==(f|0)){l=6;break}}if((l|0)==6){d=c[g>>2]|0;break}o=a+68|0;c[o>>2]=c[o>>2]|8;Ub(b,4,4662,k)|0;o=0;i=n;return o|0}}while(0);c[m>>2]=d;o=1;i=n;return o|0}function Pb(a){a=a|0;a=a+56|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Qb(a){a=a|0;var b=0,d=0;d=a+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if((b|0)==0&(d|0)==0){d=0;a=0;C=d;return a|0}a=a+56|0;a=Oi(b|0,d|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=C;C=d;return a|0}function Rb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Za[c[a+40>>2]&63](a,b,d,e)|0;return a|0}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return Za[c[a+44>>2]&63](a,b,d,e)|0}function Tb(a){a=a|0;return(c[a+28>>2]|0)!=7|0}function Ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+528|0;g=j;h=j+16|0;a:do{if(a){switch(b|0){case 1:{b=a;f=a+12|0;break}case 2:{b=a+4|0;f=a+16|0;break}case 4:{b=a+8|0;f=a+20|0;break}default:{b=0;break a}}a=c[b>>2]|0;b=c[f>>2]|0;if(b)if(!d)b=1;else{Qi(h|0,0,512)|0;c[g>>2]=e;pi(h,512,d,g)|0;Ua[b&7](h,a);b=1}else b=0}else b=0}while(0);i=j;return b|0}function Vb(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=4;c[a+20>>2]=4;c[a+16>>2]=4;return}function Wb(a,b){a=a|0;b=b|0;return}function Xb(){return Qc(1,36)|0}function Yb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Qc(1,36)|0;if(!e){i=e;return i|0}c[e+20>>2]=d;h=e+16|0;c[h>>2]=a;d=Qc(1,a*52|0)|0;i=e+24|0;c[i>>2]=d;if(!d){d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);i=0;return i|0}if(!a){i=e;return i|0}f=0;while(1){c[d+(f*52|0)>>2]=c[b+(f*36|0)>>2];c[d+(f*52|0)+4>>2]=c[b+(f*36|0)+4>>2];j=c[b+(f*36|0)+8>>2]|0;c[d+(f*52|0)+8>>2]=j;k=c[b+(f*36|0)+12>>2]|0;c[d+(f*52|0)+12>>2]=k;c[d+(f*52|0)+16>>2]=c[b+(f*36|0)+16>>2];c[d+(f*52|0)+20>>2]=c[b+(f*36|0)+20>>2];c[d+(f*52|0)+24>>2]=c[b+(f*36|0)+24>>2];c[d+(f*52|0)+28>>2]=c[b+(f*36|0)+28>>2];c[d+(f*52|0)+32>>2]=c[b+(f*36|0)+32>>2];j=Qc(_(k,j)|0,4)|0;c[d+(f*52|0)+44>>2]=j;f=f+1|0;if(!j)break;if(f>>>0>=a>>>0){g=22;break}d=c[i>>2]|0}if((g|0)==22)return e|0;d=c[i>>2]|0;if(d){f=c[h>>2]|0;if(f){b=0;while(1){d=c[d+(b*52|0)+44>>2]|0;if(d){Uc(d);f=c[h>>2]|0}b=b+1|0;if(b>>>0>=f>>>0)break;d=c[i>>2]|0}d=c[i>>2]|0}Uc(d)}d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);k=0;return k|0}function Zb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)return;f=a+24|0;b=c[f>>2]|0;if(b){g=a+16|0;d=c[g>>2]|0;if(d){e=0;while(1){b=c[b+(e*52|0)+44>>2]|0;if(b){Uc(b);d=c[g>>2]|0}e=e+1|0;if(e>>>0>=d>>>0)break;b=c[f>>2]|0}b=c[f>>2]|0}Uc(b)}b=c[a+28>>2]|0;if(b)Uc(b);Uc(a);return}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c[b+4>>2]|0;e=c[a>>2]|0;g=c[b+8>>2]|0;h=c[a+4>>2]|0;f=c[b+12>>2]|0;l=(_((c[b+24>>2]|0)+-1|0,f)|0)+d|0;i=c[b+16>>2]|0;j=(_((c[b+28>>2]|0)+-1|0,i)|0)+g|0;b=Si(l|0,0,f|0,0)|0;b=b|0-C;f=c[a+8>>2]|0;i=Si(j|0,0,i|0,0)|0;i=i|0-C;j=c[a+12>>2]|0;l=c[a+16>>2]|0;if(!l)return;k=(d>>>0>e>>>0?d:e)+-1|0;g=(g>>>0>h>>>0?g:h)+-1|0;f=(b>>>0>>0?b:f)+-1|0;d=(i>>>0>>0?i:j)+-1|0;e=0;b=c[a+24>>2]|0;while(1){h=c[b>>2]|0;j=((k+h|0)>>>0)/(h>>>0)|0;o=c[b+4>>2]|0;a=((g+o|0)>>>0)/(o>>>0)|0;i=c[b+40>>2]|0;n=Ri(1,0,i|0)|0;m=C;h=Si((((f+h|0)>>>0)/(h>>>0)|0)-j|0,0,-1,-1)|0;h=Si(h|0,C|0,n|0,m|0)|0;h=Ti(h|0,C|0,i|0)|0;o=Si((((d+o|0)>>>0)/(o>>>0)|0)-a|0,0,-1,-1)|0;m=Si(o|0,C|0,n|0,m|0)|0;i=Ti(m|0,C|0,i|0)|0;c[b+8>>2]=h;c[b+12>>2]=i;c[b+16>>2]=j;c[b+20>>2]=a;e=e+1|0;if(e>>>0>=l>>>0)break;else b=b+52|0}return}function $b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];j=b+24|0;e=c[j>>2]|0;i=b+16|0;if(!e)d=j;else{d=c[i>>2]|0;if(!d)d=j;else{f=0;while(1){e=c[e+(f*52|0)+44>>2]|0;if(e){Uc(e);d=c[i>>2]|0}f=f+1|0;if(f>>>0>=d>>>0)break;e=c[j>>2]|0}d=j;e=c[j>>2]|0}Uc(e);c[j>>2]=0}e=c[a+16>>2]|0;c[i>>2]=e;e=Pc(e*52|0)|0;c[d>>2]=e;if(!e){c[j>>2]=0;c[i>>2]=0;return}if(c[i>>2]|0){h=a+24|0;g=0;do{d=e+(g*52|0)|0;e=(c[h>>2]|0)+(g*52|0)|0;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[j>>2]|0;c[e+(g*52|0)+44>>2]=0;g=g+1|0}while(g>>>0<(c[i>>2]|0)>>>0)}c[b+20>>2]=c[a+20>>2];f=a+32|0;d=c[f>>2]|0;g=b+32|0;c[g>>2]=d;if(!d){c[b+28>>2]=0;return}e=Pc(d)|0;d=b+28|0;c[d>>2]=e;if(!e){c[d>>2]=0;c[g>>2]=0;return}else{Ui(e|0,c[a+28>>2]|0,c[f>>2]|0)|0;return}}function ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Qc(1,36)|0;if(!e){a=e;return a|0}c[e+20>>2]=d;c[e+16>>2]=a;d=Qc(a,52)|0;c[e+24>>2]=d;if(!d){d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);a=0;return a|0}else{if(!a){a=e;return a|0}else f=0;do{c[d+(f*52|0)>>2]=c[b+(f*36|0)>>2];c[d+(f*52|0)+4>>2]=c[b+(f*36|0)+4>>2];c[d+(f*52|0)+8>>2]=c[b+(f*36|0)+8>>2];c[d+(f*52|0)+12>>2]=c[b+(f*36|0)+12>>2];c[d+(f*52|0)+16>>2]=c[b+(f*36|0)+16>>2];c[d+(f*52|0)+20>>2]=c[b+(f*36|0)+20>>2];c[d+(f*52|0)+24>>2]=c[b+(f*36|0)+24>>2];c[d+(f*52|0)+32>>2]=c[b+(f*36|0)+32>>2];c[d+(f*52|0)+44>>2]=0;f=f+1|0}while((f|0)!=(a|0));return e|0}return 0}function bc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+64>>2]=b;c[a+52>>2]=d;d=1;return d|0}function cc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+60>>2]=b;c[a+48>>2]=d;d=1;return d|0}function dc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+56>>2]=b;c[a+44>>2]=d;d=1;return d|0}function ec(a,b){a=a|0;b=b|0;var d=0;if(!a){a=0;return a|0}d=Eb(b)|0;if(!d){a=0;return a|0}Kb(d,a,0);Lb(d,c[a+8>>2]|0,0);if(!b)Ib(d,9);else Gb(d,8);Jb(d,1);Hb(d,10);a=d;return a|0}function fc(){return 4703}function gc(a){a=a|0;var b=0;b=Qc(1,84)|0;if(!b){a=0;return a|0}c[b+68>>2]=1;switch(a|0){case 0:{c[b+72>>2]=13;c[b+76>>2]=2;c[b+80>>2]=3;c[b+4>>2]=33;c[b+16>>2]=11;c[b>>2]=34;c[b+20>>2]=1;c[b+24>>2]=5;c[b+8>>2]=1;c[b+12>>2]=1;c[b+28>>2]=1;c[b+32>>2]=1;c[b+36>>2]=12;a=fd()|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}case 2:{c[b+72>>2]=14;c[b+76>>2]=4;c[b+80>>2]=5;c[b+4>>2]=35;c[b+16>>2]=13;c[b>>2]=36;c[b+8>>2]=2;c[b+12>>2]=2;c[b+20>>2]=2;c[b+24>>2]=6;c[b+28>>2]=2;c[b+32>>2]=2;c[b+36>>2]=14;a=Ye(1)|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}default:{Uc(b);a=0;return a|0}}Vb(b+44|0);a=b;return a|0}function hc(a){a=a|0;if(!a)return;Qi(a|0,0,8248)|0;c[a+8200>>2]=-1;c[a+8204>>2]=-1;c[a+8248>>2]=0;return}function ic(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;if(!((a|0)!=0&(b|0)!=0)){b=0;i=d;return b|0}if(!(c[a+68>>2]|0)){Ub(a+44|0,1,4709,d)|0;b=0;i=d;return b|0}else{Ua[c[a+24>>2]&7](c[a+40>>2]|0,b);b=1;i=d;return b|0}return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;if(!((a|0)!=0&(b|0)!=0)){a=0;i=e;return a|0}if(!(c[b+68>>2]|0)){Ub(b+44|0,1,4790,e)|0;a=0;i=e;return a|0}else{a=Za[c[b>>2]&63](a,c[b+40>>2]|0,d,b+44|0)|0;i=e;return a|0}return 0}function kc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Za[c[a+4>>2]&63](c[a+40>>2]|0,b,d,a+44|0)|0;return b|0}function lc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(!a){e=0;return e|0}if(!(c[a+68>>2]|0)){e=0;return e|0}e=Qa[c[a+28>>2]&3](c[a+40>>2]|0,b,d,e,f,g,a+44|0)|0;return e|0}function mc(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;if(!((d|0)!=0&((a|0)!=0&(b|0)!=0&(e|0)!=0))){i=0;return i|0}if(!(c[a+68>>2]|0)){i=0;return i|0}i=Ya[c[a+8>>2]&3](c[a+40>>2]|0,d,e,f,g,h,i,j,k,b,a+44|0)|0;return i|0}function nc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!((a|0)!=0&(d|0)!=0&(f|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Va[c[a+12>>2]&7](c[a+40>>2]|0,b,d,e,f,a+44|0)|0;return b|0}function oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(!((a|0)!=0&(b|0)!=0)){e=0;return e|0}if(!(c[a+68>>2]|0)){e=0;return e|0}e=$a[c[a+32>>2]&3](c[a+40>>2]|0,b,d,a+44|0,e)|0;return e|0}function pc(a,b){a=a|0;b=b|0;if(!a){b=0;return b|0}b=Ra[c[a+36>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function qc(a){a=a|0;var b=0;b=Qc(1,84)|0;if(!b){a=0;return a|0}c[b+68>>2]=0;switch(a|0){case 0:{c[b+4>>2]=15;c[b+12>>2]=16;c[b>>2]=37;c[b+8>>2]=3;c[b+16>>2]=1;c[b+20>>2]=38;a=Xc()|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}case 2:{c[b+4>>2]=17;c[b+12>>2]=18;c[b>>2]=39;c[b+8>>2]=4;c[b+16>>2]=2;c[b+20>>2]=40;a=Ye(0)|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}default:{Uc(b);a=0;return a|0}}Vb(b+44|0);a=b;return a|0}function rc(b){b=b|0;if(!b)return;Qi(b|0,0,18708)|0;c[b+5592>>2]=6;c[b+18684>>2]=0;c[b+5596>>2]=64;c[b+5600>>2]=64;c[b+44>>2]=0;c[b+5612>>2]=-1;c[b+18188>>2]=1;c[b+18192>>2]=1;a[b+18688>>0]=0;c[b+18196>>2]=-1;c[b+18200>>2]=-1;g[b+4792>>2]=0.0;c[b+4788>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+18692>>2]=0;return}function sc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(b|0)!=0&(d|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Za[c[a+20>>2]&63](c[a+40>>2]|0,b,d,a+44|0)|0;return b|0}function tc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(d|0)!=0)){d=0;return d|0}if(c[a+68>>2]|0){d=0;return d|0}d=Za[c[a>>2]&63](c[a+40>>2]|0,d,b,a+44|0)|0;return d|0}function uc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Ra[c[a+4>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function vc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Ra[c[a+12>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function wc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Ra[c[a+16>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function xc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=h<<2;i=_(k,h)|0;j=d+18704|0;h=e[j>>1]|0;b[j>>1]=(h&32768|0)==0?-32512:(h|256)&65535;c[d+5608>>2]=1;a[d+18690>>0]=2;j=Pc(i+k|0)|0;h=d+18696|0;c[h>>2]=j;if(!j){g=0;return g|0}Ui(j|0,f|0,i|0)|0;Ui((c[h>>2]|0)+i|0,g|0,k|0)|0;g=1;return g|0}function yc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!((d|0)!=0&((a|0)!=0&(f|0)!=0))){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Va[c[a+8>>2]&7](c[a+40>>2]|0,b,d,e,f,a+44|0)|0;return b|0}function zc(a){a=a|0;var b=0,d=0;if(!a)return;b=a+40|0;d=c[b>>2]|0;if(!(c[a+68>>2]|0))Ta[c[a+16>>2]&7](d);else Ta[c[a+20>>2]&7](d);c[b>>2]=0;Uc(a);return}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;Xa[c[a+72>>2]&15](c[a+40>>2]|0,b,d);return}function Bc(a){a=a|0;if(!a){a=0;return a|0}a=Wa[c[a+76>>2]&15](c[a+40>>2]|0)|0;return a|0}function Cc(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a>>2]|0;d=c[b+48>>2]|0;if(d){Uc(d);b=c[a>>2]|0}Uc(b);c[a>>2]=0;return}function Dc(a){a=a|0;if(!a){a=0;return a|0}a=Wa[c[a+80>>2]&15](c[a+40>>2]|0)|0;return a|0}function Ec(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;bd(b);c[a>>2]=0;return}function Fc(a,b){a=a|0;b=b|0;return Gc(a,1048576,b)|0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!a){b=0;return b|0}d=_h(a,(c|0)==0?4869:4872)|0;if(!d){b=0;return b|0}a=vb(b,c)|0;if(!a){Yh(d)|0;b=0;return b|0}else{Kb(a,d,6);fi(d,0,2)|0;b=ii(d)|0;fi(d,0,0)|0;Lb(a,b,((b|0)<0)<<31>>31);Gb(a,19);Ib(a,20);Jb(a,21);Hb(a,22);b=a;return b|0}return 0}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[d>>2]|0)+(c[d+8>>2]|0)|0;d=d+4|0;e=c[d>>2]|0;f=g-e|0;if((g|0)==(e|0)){g=-1;return g|0}g=f>>>0>b>>>0?b:f;Ui(a|0,e|0,g|0)|0;c[d>>2]=(c[d>>2]|0)+g;return g|0}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+4|0;e=c[k>>2]|0;i=d+8|0;g=c[i>>2]|0;j=e-(c[d>>2]|0)|0;f=(g|0)==0?1:g;while(1)if((f-j|0)>>>0>>0)f=f<<1;else{h=f;break}if((h|0)!=(g|0)){e=Pc(h)|0;if(!e){b=-1;return b|0}f=c[d>>2]|0;if(f){Ui(e|0,f|0,j|0)|0;Uc(c[d>>2]|0)}c[d>>2]=e;e=e+j|0;c[k>>2]=e;c[i>>2]=h}Ui(e|0,a|0,b|0)|0;c[k>>2]=(c[k>>2]|0)+b;return b|0}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=(c[b>>2]|0)+(c[b+8>>2]|0)|0;b=b+4|0;d=c[b>>2]|0;e=f-d|0;if((f|0)==(d|0)){f=-1;return f|0}c[b>>2]=d+a;f=e>>>0>a>>>0?a:e;return f|0}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d+8>>2]|0;c[d+4>>2]=(c[d>>2]|0)+(0>(b|0)|0==(b|0)&e>>>0>a>>>0?a:e);return 1}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;b=ci(a,1,b,c)|0;return((b|0)!=0?b:-1)|0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;return ki(a,1,b,c)|0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;c=(fi(c,a,1)|0)==0;C=c?b:-1;return(c?a:-1)|0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;return(fi(c,a,0)|0)==0|0}function Pc(a){a=a|0;if(!a)a=0;else a=Fi(a)|0;return a|0}function Qc(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Hi(a,b)|0;return a|0}function Rc(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;do{if(a)if(!(Ji(b,16,a)|0)){b=c[b>>2]|0;break}else{c[b>>2]=0;b=0;break}else b=0}while(0);i=d;return b|0}function Sc(a){a=a|0;Gi(a);return}function Tc(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Ii(a,b)|0;return b|0}function Uc(a){a=a|0;Gi(a);return}function Vc(a){a=a|0;var b=0,d=0;b=696;while(1){d=c[b>>2]|0;if((d|0)==-1|(d|0)==(a|0))break;else b=b+12|0}return b+4|0}function Wc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0))return;c[a+172>>2]=c[b+4>>2];c[a+168>>2]=c[b>>2];return}function Xc(){var b=0,d=0;b=Qc(1,208)|0;if(!b){b=0;return b|0}c[b>>2]=0;d=b+184|0;a[d>>0]=a[d>>0]&-3;d=Pc(1e3)|0;c[b+44>>2]=d;if(!d){Yc(b);d=0;return d|0}c[b+48>>2]=1e3;d=qg()|0;c[b+192>>2]=d;if(!d){Yc(b);d=0;return d|0}d=qg()|0;c[b+188>>2]=d;if(d){d=b;return d|0}Yc(b);d=0;return d|0}function Yc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!b)return;if(!(c[b>>2]|0)){d=b+36|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0}d=b+24|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+28>>2]=0}d=b+44|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+48>>2]=0}}else{d=b+12|0;e=c[d>>2]|0;if(e){sd(e);Uc(c[d>>2]|0);c[d>>2]=0}d=b+16|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+20>>2]=0}}Yf(c[b+204>>2]|0);d=b+88|0;h=b+164|0;e=c[h>>2]|0;if(e){f=_(c[b+112>>2]|0,c[b+116>>2]|0)|0;if(f){g=0;while(1){sd(e);g=g+1|0;if((g|0)==(f|0))break;else e=e+5640|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=b+124|0;e=c[h>>2]|0;if(e){i=b+120|0;f=c[i>>2]|0;if(f){g=0;while(1){e=c[e+(g<<3)>>2]|0;if(e){Uc(e);f=c[i>>2]|0}g=g+1|0;if(g>>>0>=f>>>0)break;e=c[h>>2]|0}e=c[h>>2]|0}c[i>>2]=0;Uc(e);c[h>>2]=0}i=b+144|0;Uc(c[i>>2]|0);c[i>>2]=0;c[b+128>>2]=0;i=b+108|0;Uc(c[i>>2]|0);c[i>>2]=0;if(!(a[b+184>>0]&2)){i=b+176|0;Uc(c[i>>2]|0);c[i>>2]=0}e=d+100|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=b+188|0;rg(c[i>>2]|0);c[i>>2]=0;rg(c[b+192>>2]|0);c[i>>2]=0;i=b+196|0;bd(c[i>>2]|0);c[i>>2]=0;i=b+80|0;Zb(c[i>>2]|0);c[i>>2]=0;i=b+84|0;Zb(c[i>>2]|0);c[i>>2]=0;Uc(b);return}function Zc(d,e,f,j){d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0;ka=i;i=i+320|0;fa=ka+296|0;ea=ka+288|0;ja=ka+280|0;ia=ka+272|0;ha=ka+264|0;ga=ka+256|0;da=ka+248|0;ca=ka+240|0;W=ka+232|0;U=ka+224|0;T=ka+216|0;S=ka+208|0;R=ka+200|0;Q=ka+192|0;P=ka+184|0;v=ka+176|0;u=ka+168|0;t=ka+160|0;s=ka+152|0;q=ka+144|0;I=ka+136|0;H=ka+128|0;N=ka+112|0;G=ka+104|0;F=ka+96|0;E=ka+88|0;C=ka+80|0;B=ka+72|0;A=ka+64|0;z=ka+56|0;y=ka+48|0;x=ka+32|0;w=ka+24|0;p=ka+16|0;m=ka+8|0;l=ka;K=ka+309|0;L=ka+300|0;if(!((d|0)!=0&(e|0)!=0&(f|0)!=0)){j=0;i=ka;return j|0}ba=e+5592|0;k=c[ba>>2]|0;if((k+-1|0)>>>0>32){c[l>>2]=k;c[l+4>>2]=33;Ub(j,1,4875,l)|0;j=0;i=ka;return j|0}$=d+112|0;c[$>>2]=1;aa=d+116|0;c[aa>>2]=1;J=e+18704|0;do{if(!(b[J>>1]|0)){switch(c[e+18676>>2]|0){case 1:{b[J>>1]=3;c[e+18700>>2]=1302083;c[e+18680>>2]=1041666;l=1;break}case 2:{b[J>>1]=3;c[e+18700>>2]=651041;c[e+18680>>2]=520833;l=1;break}case 3:{b[J>>1]=4;c[e+18700>>2]=1302083;c[e+18680>>2]=1041666;l=1;break}default:l=0}k=c[e+18684>>2]|0;a:do{if((k|0)>=4)if((k|0)<33024){switch(k|0){case 4:break;default:{Z=13;break a}}b[J>>1]=4;break}else{switch(k|0){case 33024:break;default:{Z=13;break a}}b[J>>1]=-32512;break}else{switch(k|0){case 3:break;default:{Z=13;break a}}b[J>>1]=3}}while(0);if((Z|0)==13?(l|0)==0:0)break;Ub(j,2,4931,m)|0}}while(0);D=e+18700|0;k=c[D>>2]|0;do{if((k|0)<1){r=+g[e+4792+((c[e+4788>>2]|0)+-1<<2)>>2];if(r>0.0){X=c[f+24>>2]|0;p=_(c[X+8>>2]|0,c[f+16>>2]|0)|0;p=_(p,c[X+12>>2]|0)|0;la=+((_(p,c[X+24>>2]|0)|0)>>>0);c[D>>2]=~~+M(+(la/(r*8.0*+((c[X>>2]|0)>>>0)*+((c[X+4>>2]|0)>>>0))));break}else{c[D>>2]=0;break}}else{o=c[f+24>>2]|0;X=_(c[o+8>>2]|0,c[f+16>>2]|0)|0;X=_(X,c[o+12>>2]|0)|0;r=+((_(X,c[o+24>>2]|0)|0)>>>0);k=_(k<<3,c[o>>2]|0)|0;r=r/+((_(k,c[o+4>>2]|0)|0)>>>0);o=e+4788|0;k=c[o>>2]|0;if(k){m=k;k=0;n=0;while(1){l=e+4792+(n<<2)|0;if(+g[l>>2]>2]=r;l=c[o>>2]|0;k=1}else l=m;n=n+1|0;if(n>>>0>=l>>>0)break;else m=l}if(k)Ub(j,2,5068,p)|0}}}while(0);k=b[J>>1]|0;b:do{if((k+-3&65535)>=4){if(k<<16>>16==7){Ub(j,2,7228,q)|0;b[J>>1]=0;k=0;break}if((k+-256&65535)<524){Ub(j,2,7283,s)|0;b[J>>1]=0;k=0;break}if((k+-1024&65535)<1180){Ub(j,2,7331,t)|0;b[J>>1]=0;k=0;break}if(k<<16>>16<=-1)switch(k<<16>>16){case-32512:{k=-32512;break b}case-32768:{Ub(j,2,7373,u)|0;b[J>>1]=0;k=0;break b}default:{Ub(j,2,7461,v)|0;b[J>>1]=0;k=0;break b}}}else{if((k+-5&65535)<2){Ub(j,2,5160,w)|0;b[J>>1]=0;k=0;break}c[e>>2]=0;c[e+12>>2]=1;c[e+16>>2]=1;a[e+18689>>0]=67;a[e+18688>>0]=1;c[e+4>>2]=0;c[e+8>>2]=0;c[e+18180>>2]=0;c[e+18184>>2]=0;c[e+5596>>2]=32;c[e+5600>>2]=32;c[e+5604>>2]=0;c[e+5612>>2]=-1;c[e+18188>>2]=1;c[e+18192>>2]=1;c[e+5608>>2]=1;l=e+4788|0;m=c[l>>2]|0;if((m|0)>1){la=+g[e+4792+(m+-1<<2)>>2];c[x>>2]=m;h[x+8>>3]=la;Ub(j,2,5222,x)|0;c[e+4792>>2]=c[e+4792+((c[l>>2]|0)+-1<<2)>>2];c[l>>2]=1;k=b[J>>1]|0}c:do{switch(k&65535|0){case 3:{k=c[ba>>2]|0;if((k|0)>6){c[y>>2]=k+1;Ub(j,2,5395,y)|0;c[ba>>2]=6;k=6}break}case 4:{k=c[ba>>2]|0;if((k|0)<2){c[z>>2]=k+1;Ub(j,2,5541,z)|0;c[ba>>2]=1;k=1;break c}if((k|0)>7){c[A>>2]=k+1;Ub(j,2,5695,A)|0;c[ba>>2]=7;k=7}break}default:k=c[ba>>2]|0}}while(0);l=e+40|0;c[l>>2]=c[l>>2]|1;l=e+5620|0;c[l>>2]=k+-1;if((k|0)>1){k=0;do{c[e+5624+(k<<2)>>2]=256;c[e+5756+(k<<2)>>2]=256;k=k+1|0}while((k|0)<(c[l>>2]|0))}c[e+44>>2]=4;if((b[J>>1]|0)==4){k=c[ba>>2]|0;c[e+96>>2]=1;c[e+48>>2]=0;c[e+52>>2]=0;c[e+56>>2]=1;X=k+-1|0;c[e+60>>2]=X;c[e+64>>2]=3;c[e+80>>2]=4;c[e+244>>2]=1;c[e+196>>2]=X;c[e+200>>2]=0;c[e+204>>2]=1;c[e+208>>2]=k;c[e+212>>2]=3;c[e+228>>2]=4;k=2}else k=0;c[e+4784>>2]=k;c[e+20>>2]=1;k=c[D>>2]|0;if((k|0)>=1){if((k|0)>1302083){Ub(j,2,5998,C)|0;c[D>>2]=1302083}}else{c[D>>2]=1302083;Ub(j,2,5849,B)|0}k=e+18680|0;l=c[k>>2]|0;if((l|0)>=1){if((l|0)>1041666){Ub(j,2,6320,F)|0;c[k>>2]=1041666}}else{c[k>>2]=1041666;Ub(j,2,6171,E)|0}l=c[f+16>>2]|0;n=c[f+24>>2]|0;o=c[n+8>>2]|0;k=_(o,l)|0;p=c[n+12>>2]|0;k=_(k,p)|0;la=+((_(k,c[n+24>>2]|0)|0)>>>0);k=_(c[D>>2]<<3,c[n>>2]|0)|0;g[e+4792>>2]=la/+((_(k,c[n+4>>2]|0)|0)>>>0);k=b[J>>1]|0;d:do{if((l|0)==3){l=n+28|0;m=n+32|0;if(!((c[l>>2]|0)!=12|c[m>>2])){l=n+80|0;m=n+84|0;if(!((c[l>>2]|0)!=12|c[m>>2])){l=n+132|0;m=n+136|0;if(!((c[l>>2]|0)!=12|c[m>>2])){switch(k&65535|0){case 3:{if(p>>>0>1080|o>>>0>2048){c[H>>2]=o;c[H+4>>2]=p;Ub(j,2,6892,H)|0;break d}break}case 4:{if(p>>>0>2160|o>>>0>4096){c[I>>2]=o;c[I+4>>2]=p;Ub(j,2,7063,I)|0;break d}break}default:{}}break b}else{p=l;k=m;l=2}}else{p=l;k=m;l=1}}else{p=l;k=m;l=0}a[K>>0]=a[6659]|0;a[K+1>>0]=a[6660]|0;a[K+2>>0]=a[6661]|0;a[K+3>>0]=a[6662]|0;a[K+4>>0]=a[6663]|0;a[K+5>>0]=a[6664]|0;a[K+6>>0]=a[6665]|0;m=L;n=6666;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));X=(c[k>>2]|0)!=0?K:L;L=c[p>>2]|0;c[N>>2]=l;c[N+4>>2]=L;c[N+8>>2]=X;Ub(j,2,6675,N)|0}else{c[G>>2]=l;Ub(j,2,6493,G)|0}}while(0);b[J>>1]=0;k=0}}while(0);c[d+168>>2]=c[e+18680>>2];X=d+88|0;b[X>>1]=k;N=d+181|0;K=a[N>>0]&-2|c[e+20>>2]&1;a[N>>0]=K;L=e+24|0;K=(c[L>>2]&255)<<1&2|K&-3;a[N>>0]=K;a[N>>0]=K&-5|(c[e+28>>2]&255)<<2&4;do{if((c[L>>2]|0)!=0?(O=e+32|0,(c[O>>2]|0)!=0):0){k=_((c[e+4788>>2]|0)*12|0,c[ba>>2]|0)|0;l=Pc(k)|0;c[d+176>>2]=l;if(l){Ui(l|0,c[O>>2]|0,k|0)|0;break}Ub(j,1,7520,P)|0;j=0;i=ka;return j|0}}while(0);n=d+100|0;c[n>>2]=c[e+12>>2];o=d+104|0;c[o>>2]=c[e+16>>2];m=d+92|0;c[m>>2]=c[e+4>>2];p=d+96|0;c[p>>2]=c[e+8>>2];l=e+36|0;k=c[l>>2]|0;do{if(!k){k=fc()|0;l=Pc((wi(k)|0)+29|0)|0;c[d+108>>2]=l;if(l){c[S>>2]=7697;c[S+4>>2]=k;ni(l,7692,S)|0;break}Ub(j,1,7646,R)|0;j=0;i=ka;return j|0}else{k=Pc((wi(k)|0)+1|0)|0;c[d+108>>2]=k;if(k){vi(k,c[l>>2]|0)|0;break}Ub(j,1,7592,Q)|0;j=0;i=ka;return j|0}}while(0);k=(c[f+8>>2]|0)-(c[m>>2]|0)|0;l=c[f+12>>2]|0;if(!(c[e>>2]|0)){c[n>>2]=k;c[o>>2]=l-(c[p>>2]|0)}else{S=c[n>>2]|0;c[$>>2]=(k+-1+S|0)/(S|0)|0;S=c[o>>2]|0;c[aa>>2]=(l+-1-(c[p>>2]|0)+S|0)/(S|0)|0}if(a[e+18688>>0]|0){a[d+180>>0]=a[e+18689>>0]|0;a[N>>0]=a[N>>0]|8}S=Qc(_(c[aa>>2]|0,c[$>>2]|0)|0,5640)|0;L=d+164|0;c[L>>2]=S;if(!S){Ub(j,1,7726,T)|0;j=0;i=ka;return j|0}K=e+4784|0;A=c[K>>2]|0;do{if(A){w=e+48|0;B=c[ba>>2]|0;C=c[f+16>>2]|0;D=c[e+4788>>2]|0;E=_(C,B)|0;F=Qc(_(E,D)|0,4)|0;if(!F){Ub(j,1,7780,U)|0;break}m=c[w>>2]|0;s=e+60|0;k=c[s>>2]|0;if(m>>>0>>0){q=_(m,C)|0;t=e+52|0;u=e+64|0;v=e+56|0;l=c[u>>2]|0;while(1){n=c[t>>2]|0;if(n>>>0>>0){k=c[v>>2]|0;p=n;o=n+q|0;while(1){if(!k)k=0;else{l=o;n=0;while(1){c[F+(l<<2)>>2]=1;n=n+1|0;k=c[v>>2]|0;if(n>>>0>=k>>>0)break;else l=l+E|0}l=c[u>>2]|0}p=p+1|0;if(p>>>0>=l>>>0)break;else o=o+1|0}k=c[s>>2]|0}m=m+1|0;if(m>>>0>=k>>>0)break;else q=q+C|0}}if(A>>>0>1){z=1;do{k=w;w=w+148|0;v=c[k+8>>2]|0;u=k+156|0;n=c[u>>2]|0;v=n>>>0>v>>>0?v:0;o=c[w>>2]|0;x=k+160|0;l=c[x>>2]|0;if(o>>>0>>0){q=_(o,C)|0;y=k+152|0;s=k+164|0;t=_(v,E)|0;m=c[s>>2]|0;k=n;while(1){n=c[y>>2]|0;if(n>>>0>>0){p=n;n=n+q|0;while(1){if(v>>>0>>0){l=n+t|0;m=v;while(1){c[F+(l<<2)>>2]=1;m=m+1|0;k=c[u>>2]|0;if(m>>>0>=k>>>0)break;else l=l+E|0}m=c[s>>2]|0}p=p+1|0;if(p>>>0>=m>>>0)break;else n=n+1|0}l=c[x>>2]|0}o=o+1|0;if(o>>>0>=l>>>0)break;else q=q+C|0}}z=z+1|0}while((z|0)!=(A|0))}if((D|0)!=0?(V=(C|0)==0,(B|0)!=0):0){l=0;q=0;k=0;do{if(!V){p=l;o=0;while(1){m=0;n=p;while(1){k=(c[F+(n<<2)>>2]|0)!=1|k;m=m+1|0;if((m|0)==(C|0))break;else n=n+1|0}o=o+1|0;if((o|0)==(B|0))break;else p=p+C|0}l=E+l|0}q=q+1|0}while((q|0)!=(D|0));if(k)Ub(j,1,7828,W)|0}Uc(F)}}while(0);e:do{if(_(c[aa>>2]|0,c[$>>2]|0)|0){w=e+4788|0;x=e+40|0;y=e+44|0;z=e+18690|0;A=f+16|0;l=e+18696|0;B=f+24|0;C=e+5596|0;D=e+5600|0;E=e+5604|0;F=e+5608|0;G=e+5612|0;H=e+5616|0;I=e+5620|0;J=0;f:while(1){q=c[L>>2]|0;s=q+(J*5640|0)|0;W=c[w>>2]|0;k=q+(J*5640|0)+8|0;c[k>>2]=W;if(W){m=((b[X>>1]|0)+-3&65535)<4;o=0;do{n=(a[N>>0]&4)==0;do{if(!m)if(n){c[q+(J*5640|0)+20+(o<<2)>>2]=c[e+4792+(o<<2)>>2];break}else{c[q+(J*5640|0)+5184+(o<<2)>>2]=c[e+5192+(o<<2)>>2];break}else{if(!n)c[q+(J*5640|0)+5184+(o<<2)>>2]=c[e+5192+(o<<2)>>2];c[q+(J*5640|0)+20+(o<<2)>>2]=c[e+4792+(o<<2)>>2]}}while(0);o=o+1|0}while(o>>>0<(c[k>>2]|0)>>>0)}c[s>>2]=c[x>>2];c[q+(J*5640|0)+4>>2]=c[y>>2];p=q+(J*5640|0)+16|0;c[p>>2]=a[z>>0];k=q+(J*5640|0)+5636|0;m=a[k>>0]|0;a[k>>0]=m&-5;if(!(c[K>>2]|0))c[q+(J*5640|0)+420>>2]=0;else{a[k>>0]=m|4;m=c[K>>2]|0;if(!m)k=0;else{n=J+1|0;o=0;k=0;do{if((n|0)==(c[e+48+(o*148|0)+48>>2]|0)){c[q+(J*5640|0)+424+(k*148|0)>>2]=c[e+48+(k*148|0)>>2];c[q+(J*5640|0)+424+(k*148|0)+4>>2]=c[e+48+(k*148|0)+4>>2];c[q+(J*5640|0)+424+(k*148|0)+8>>2]=c[e+48+(k*148|0)+8>>2];c[q+(J*5640|0)+424+(k*148|0)+12>>2]=c[e+48+(k*148|0)+12>>2];c[q+(J*5640|0)+424+(k*148|0)+16>>2]=c[e+48+(k*148|0)+16>>2];c[q+(J*5640|0)+424+(k*148|0)+32>>2]=c[e+48+(k*148|0)+32>>2];c[q+(J*5640|0)+424+(k*148|0)+48>>2]=c[e+48+(k*148|0)+48>>2];k=k+1|0}o=o+1|0}while(o>>>0>>0)}c[q+(J*5640|0)+420>>2]=k+-1}W=Qc(c[A>>2]|0,1080)|0;v=q+(J*5640|0)+5584|0;c[v>>2]=W;if(!W){Z=149;break}do{if(!(c[l>>2]|0)){g:do{if((c[p>>2]|0)==1){k=c[A>>2]|0;if(k>>>0<=2){n=k;break}m=c[B>>2]|0;k=c[m>>2]|0;do{if((k|0)==(c[m+52>>2]|0)){if((k|0)!=(c[m+104>>2]|0))break;k=c[m+4>>2]|0;if((k|0)!=(c[m+56>>2]|0))break;if((k|0)==(c[m+108>>2]|0)){Z=175;break g}}}while(0);Ub(j,2,8224,fa)|0;c[p>>2]=0;Z=175}else Z=175}while(0);if((Z|0)==175){Z=0;n=c[A>>2]|0}if(!n)break;k=c[B>>2]|0;m=0;do{if(!(c[k+(m*52|0)+32>>2]|0))c[(c[v>>2]|0)+(m*1080|0)+1076>>2]=1<<(c[k+(m*52|0)+24>>2]|0)+-1;m=m+1|0}while(m>>>0>>0);Y=n;Z=166}else{n=c[A>>2]|0;n=_(n<<2,n)|0;k=Pc(n)|0;o=(c[l>>2]|0)+n|0;if(!k){Z=152;break f}c[p>>2]=2;m=Pc(n)|0;c[q+(J*5640|0)+5608>>2]=m;if(!m){Z=154;break f}Ui(m|0,c[l>>2]|0,n|0)|0;Ui(k|0,c[l>>2]|0,n|0)|0;m=Pc(n)|0;n=q+(J*5640|0)+5604|0;c[n>>2]=m;if(!m){Z=156;break f}if(!(Vg(k,m,c[A>>2]|0)|0)){Z=158;break f}m=Pc(c[A>>2]<<3)|0;c[q+(J*5640|0)+5600>>2]=m;if(!m){Z=160;break f}If(m,c[A>>2]|0,c[n>>2]|0);Uc(k);k=c[A>>2]|0;if(k){m=c[v>>2]|0;n=0;do{c[m+(n*1080|0)+1076>>2]=c[o+(n<<2)>>2];n=n+1|0}while(n>>>0>>0)}if(!(_c(s,f)|0)){Z=167;break f}Y=c[A>>2]|0;Z=166}}while(0);if((Z|0)==166?(Z=0,(Y|0)!=0):0){u=0;do{s=c[v>>2]|0;t=s+(u*1080|0)|0;c[t>>2]=c[x>>2]&1;n=c[ba>>2]|0;o=s+(u*1080|0)+4|0;c[o>>2]=n;k=c[C>>2]|0;if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+8>>2]=k;k=c[D>>2]|0;if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+12>>2]=k;c[s+(u*1080|0)+16>>2]=c[E>>2];W=c[F>>2]|0;c[s+(u*1080|0)+20>>2]=(W|0)==0&1;c[s+(u*1080|0)+24>>2]=(W|0)!=0?2:0;c[s+(u*1080|0)+804>>2]=2;if((u|0)==(c[G>>2]|0))k=c[H>>2]|0;else k=0;c[s+(u*1080|0)+808>>2]=k;do{if(!(c[x>>2]&1)){if(!n)break;else k=0;do{c[s+(u*1080|0)+812+(k<<2)>>2]=15;c[s+(u*1080|0)+944+(k<<2)>>2]=15;k=k+1|0}while(k>>>0<(c[o>>2]|0)>>>0)}else{if((n|0)>0){o=n;q=0}else break;while(1){p=o;o=o+-1|0;k=c[I>>2]|0;do{if((q|0)<(k|0)){k=c[e+5624+(q<<2)>>2]|0;if((k|0)<1)c[s+(u*1080|0)+812+(o<<2)>>2]=1;else{if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+812+(o<<2)>>2]=k}k=c[e+5756+(q<<2)>>2]|0;if((k|0)<1){c[s+(u*1080|0)+944+(o<<2)>>2]=1;break}if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+944+(o<<2)>>2]=k}else{W=k+-1|0;m=q-W|0;k=c[e+5624+(W<<2)>>2]>>m;m=c[e+5756+(W<<2)>>2]>>m;if((k|0)<1)c[s+(u*1080|0)+812+(o<<2)>>2]=1;else{if((k|0)>1){n=0;do{k=k>>1;n=n+1|0}while((k|0)>1);k=n}else k=0;c[s+(u*1080|0)+812+(o<<2)>>2]=k}if((m|0)<1){c[s+(u*1080|0)+944+(o<<2)>>2]=1;break}if((m|0)>1){k=0;do{m=m>>1;k=k+1|0}while((m|0)>1)}else k=0;c[s+(u*1080|0)+944+(o<<2)>>2]=k}}while(0);if((p|0)<=1)break;else q=q+1|0}}}while(0);Mg(t,c[(c[B>>2]|0)+(u*52|0)+24>>2]|0);u=u+1|0}while(u>>>0<(c[A>>2]|0)>>>0)}J=J+1|0;if(J>>>0>=(_(c[aa>>2]|0,c[$>>2]|0)|0)>>>0)break e}if((Z|0)==149){Ub(j,1,7867,ca)|0;j=0;i=ka;return j|0}else if((Z|0)==152){Ub(j,1,7931,da)|0;j=0;i=ka;return j|0}else if((Z|0)==154){Uc(k);Ub(j,1,7974,ga)|0;j=0;i=ka;return j|0}else if((Z|0)==156){Uc(k);Ub(j,1,8032,ha)|0;j=0;i=ka;return j|0}else if((Z|0)==158){Uc(k);Ub(j,1,8092,ia)|0;j=0;i=ka;return j|0}else if((Z|0)==160){Uc(k);Ub(j,1,8140,ja)|0;j=0;i=ka;return j|0}else if((Z|0)==167){Ub(j,1,8190,ea)|0;j=0;i=ka;return j|0}}else l=e+18696|0}while(0);k=c[l>>2]|0;if(!k){j=1;i=ka;return j|0}Uc(k);c[l>>2]=0;j=1;i=ka;return j|0}function _c(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[b+16>>2]|0)!=2){b=1;return b|0}m=b+5604|0;r=b+5616|0;e=c[r>>2]|0;n=b+5620|0;do{if(c[m>>2]|0){do{if((e|0)==(c[n>>2]|0)){e=e+10|0;c[n>>2]=e;f=b+5612|0;e=Tc(c[f>>2]|0,e*20|0)|0;if(e){c[f>>2]=e;q=c[r>>2]|0;Qi(e+(q*20|0)|0,0,((c[n>>2]|0)-q|0)*20|0)|0;e=c[r>>2]|0;break}Uc(c[f>>2]|0);c[f>>2]=0;c[n>>2]=0;c[r>>2]=0;b=0;return b|0}else f=b+5612|0}while(0);k=c[f>>2]|0;i=k+(e*20|0)|0;l=k+(e*20|0)+12|0;f=c[l>>2]|0;if(f){Uc(f);c[l>>2]=0}c[k+(e*20|0)+8>>2]=1;c[k+(e*20|0)+4>>2]=1;c[i>>2]=2;f=c[d+16>>2]|0;f=_(f,f)|0;h=f<<2;j=Pc(h)|0;c[l>>2]=j;if(!j){b=0;return b|0}else{Xa[c[768+(c[i>>2]<<2)>>2]&15](c[m>>2]|0,j,f);c[k+(e*20|0)+16>>2]=h;e=(c[r>>2]|0)+1|0;c[r>>2]=e;j=2;break}}else{j=1;i=0}}while(0);do{if((e|0)==(c[n>>2]|0)){f=e+10|0;c[n>>2]=f;e=b+5612|0;f=Tc(c[e>>2]|0,f*20|0)|0;if(!f){Uc(c[e>>2]|0);c[e>>2]=0;c[n>>2]=0;c[r>>2]=0;b=0;return b|0}else{c[e>>2]=f;h=c[r>>2]|0;Qi(f+(h*20|0)|0,0,((c[n>>2]|0)-h|0)*20|0)|0;if(!i){i=0;break}i=f+((h+-1|0)*20|0)|0;break}}else e=b+5612|0}while(0);m=c[e>>2]|0;n=c[r>>2]|0;q=m+(n*20|0)|0;o=m+(n*20|0)+12|0;e=c[o>>2]|0;if(e){Uc(e);c[o>>2]=0}p=j+1|0;c[m+(n*20|0)+8>>2]=j;c[m+(n*20|0)+4>>2]=2;c[q>>2]=2;d=d+16|0;e=c[d>>2]|0;f=e<<2;l=Pc(f)|0;c[o>>2]=l;if(!l){b=0;return b|0}h=Pc(f)|0;if(!h){Uc(c[o>>2]|0);c[o>>2]=0;b=0;return b|0}if(e){j=0;k=h;l=c[b+5584>>2]|0;while(1){g[k>>2]=+(c[l+1076>>2]|0);j=j+1|0;if((j|0)==(e|0))break;else{k=k+4|0;l=l+1080|0}}}Xa[c[768+(c[q>>2]<<2)>>2]&15](h,c[o>>2]|0,e);Uc(h);c[m+(n*20|0)+16>>2]=f;c[r>>2]=(c[r>>2]|0)+1;j=b+5628|0;e=c[j>>2]|0;h=b+5632|0;do{if((e|0)==(c[h>>2]|0)){e=e+10|0;c[h>>2]=e;f=b+5624|0;e=Tc(c[f>>2]|0,e*20|0)|0;if(e){c[f>>2]=e;b=c[j>>2]|0;Qi(e+(b*20|0)|0,0,((c[h>>2]|0)-b|0)*20|0)|0;e=c[j>>2]|0;break}Uc(c[f>>2]|0);c[f>>2]=0;c[h>>2]=0;c[j>>2]=0;b=0;return b|0}else f=b+5624|0}while(0);b=c[f>>2]|0;c[b+(e*20|0)+8>>2]=i;r=b+(e*20|0)+16|0;a[r>>0]=a[r>>0]|1;c[b+(e*20|0)+4>>2]=c[d>>2];c[b+(e*20|0)>>2]=p;c[b+(e*20|0)+12>>2]=q;c[j>>2]=(c[j>>2]|0)+1;b=1;return b|0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ad(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=Xb()|0;k=b+80|0;c[k>>2]=j;if(!j){k=0;return k|0}f=b+192|0;if((sg(c[f>>2]|0,23,e)|0)!=0?(sg(c[f>>2]|0,24,e)|0)!=0:0){h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}}else vg(h);f=b+188|0;if((sg(c[f>>2]|0,25,e)|0)!=0?(sg(c[f>>2]|0,26,e)|0)!=0:0){h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}}else vg(h);f=Xb()|0;c[d>>2]=f;if(!f){k=0;return k|0}$b(c[k>>2]|0,f);f=_(c[b+116>>2]|0,c[b+112>>2]|0)|0;i=b+196|0;c[(c[i>>2]|0)+36>>2]=f;f=Qc(f,40)|0;g=c[i>>2]|0;c[g+40>>2]=f;if(!f){k=0;return k|0}if(!(c[g+36>>2]|0)){k=1;return k|0}h=0;while(1){c[f+(h*40|0)+28>>2]=100;c[f+(h*40|0)+20>>2]=0;k=Qc(100,24)|0;g=c[i>>2]|0;f=c[g+40>>2]|0;c[f+(h*40|0)+24>>2]=k;h=h+1|0;if(!k){f=0;g=30;break}if(h>>>0>=(c[g+36>>2]|0)>>>0){f=1;g=30;break}}if((g|0)==30)return f|0}Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}function bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!a)return;b=a+28|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}h=a+40|0;b=c[h>>2]|0;if(b){g=a+36|0;if(c[g>>2]|0){d=b;f=0;do{e=c[d+(f*40|0)+36>>2]|0;if(e){Uc(e);b=c[h>>2]|0;c[b+(f*40|0)+36>>2]=0;d=b}e=c[d+(f*40|0)+16>>2]|0;if(e){Uc(e);b=c[h>>2]|0;c[b+(f*40|0)+16>>2]=0;d=b}e=c[d+(f*40|0)+24>>2]|0;if(e){Uc(e);d=c[h>>2]|0;c[d+(f*40|0)+24>>2]=0;b=d}f=f+1|0}while(f>>>0<(c[g>>2]|0)>>>0)}Uc(b);c[h>>2]=0}Uc(a);return}function cd(d,e,f,g,h,j,k,l,m,n,o){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,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;Da=i;i=i+256|0;Ca=Da+200|0;Ba=Da+192|0;za=Da+184|0;ya=Da+176|0;pa=Da+168|0;oa=Da+160|0;na=Da+152|0;ma=Da+144|0;la=Da+136|0;ka=Da+128|0;ia=Da+120|0;ha=Da+112|0;wa=Da+104|0;ua=Da+96|0;ga=Da+88|0;fa=Da+80|0;ea=Da+72|0;va=Da+64|0;da=Da+56|0;ca=Da+48|0;sa=Da+40|0;ra=Da+32|0;qa=Da+24|0;ja=Da+16|0;ba=Da+8|0;aa=Da;V=Da+240|0;T=Da+236|0;X=Da+232|0;Z=Da+228|0;$=Da+224|0;U=Da+220|0;Y=Da+216|0;S=Da+212|0;W=Da+208|0;c[S>>2]=65424;Aa=d+8|0;a:do{switch(c[Aa>>2]|0){case 256:{c[S>>2]=65497;p=d+76|0;xa=117;break}case 8:{ta=d+76|0;if(!(a[ta>>0]&1)){O=d+200|0;P=d+164|0;Q=d+72|0;R=d+24|0;B=d+196|0;D=d+112|0;E=d+116|0;G=V+2|0;H=V+6|0;I=V+7|0;J=d+16|0;K=d+20|0;L=d+64|0;p=65424;b:while(1){c:do{if((p|0)!=65427){while(1){A=Qb(n)|0;if((A|0)==0&(C|0)==0){xa=7;break}if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=9;break b}qb(c[J>>2]|0,W,2);if((c[W>>2]|0)>>>0<2){xa=11;break b}if((c[S>>2]|0)==32896?(A=Qb(n)|0,(A|0)==0&(C|0)==0):0){xa=14;break}s=c[Aa>>2]|0;p=c[W>>2]|0;if(s&16)c[R>>2]=-2-p+(c[R>>2]|0);q=p+-2|0;c[W>>2]=q;p=c[S>>2]|0;r=784;while(1){A=c[r>>2]|0;if((A|0)==0|(A|0)==(p|0)){y=r;break}else r=r+12|0}if(!(c[r+4>>2]&s)){xa=20;break b}if(q>>>0>(c[K>>2]|0)>>>0){A=Qb(n)|0;z=C;if(0>(z|0)|0==(z|0)&q>>>0>A>>>0){xa=24;break b}p=Tc(c[J>>2]|0,c[W>>2]|0)|0;if(!p){xa=26;break b}c[J>>2]=p;q=c[W>>2]|0;c[K>>2]=q}else p=c[J>>2]|0;q=Mb(n,p,q,o)|0;if((q|0)!=(c[W>>2]|0)){xa=29;break b}p=c[r+8>>2]|0;if(!p){xa=31;break b}if(!(Za[p&63](d,c[J>>2]|0,q,o)|0)){xa=33;break b}r=c[O>>2]|0;q=c[B>>2]|0;v=c[y>>2]|0;w=Pb(n)|0;x=c[W>>2]|0;w=w-x+-4|0;x=x+4|0;q=q+40|0;u=c[q>>2]|0;p=c[u+(r*40|0)+20>>2]|0;s=u+(r*40|0)+28|0;t=c[s>>2]|0;if((p+1|0)>>>0>t>>>0){t=~~(+(t>>>0)+100.0)>>>0;c[s>>2]=t;s=Tc(c[u+(r*40|0)+24>>2]|0,t*24|0)|0;t=c[q>>2]|0;p=t+(r*40|0)+24|0;if(!s){xa=41;break b}c[p>>2]=s;q=t;p=c[t+(r*40|0)+20>>2]|0}else{q=u;s=c[u+(r*40|0)+24>>2]|0}b[s+(p*24|0)>>1]=v;A=s+(p*24|0)+8|0;c[A>>2]=w;c[A+4>>2]=((w|0)<0)<<31>>31;c[s+(p*24|0)+16>>2]=x;c[q+(r*40|0)+20>>2]=p+1;if((v|0)==65424?(F=c[q+(r*40|0)+16>>2]|0,(F|0)!=0):0){A=F+((c[q+(r*40|0)+12>>2]|0)*24|0)|0;c[A>>2]=w;c[A+4>>2]=0}do{if((c[y>>2]|0)==65424){p=Pb(n)|0;p=-4-(c[W>>2]|0)+p|0;A=L;z=c[A+4>>2]|0;if(!(0>(z|0)|(0==(z|0)?p>>>0>(c[A>>2]|0)>>>0:0)))break;A=L;c[A>>2]=p;c[A+4>>2]=0}}while(0);if(a[ta>>0]&4){xa=46;break}if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=50;break b}qb(c[J>>2]|0,S,2);if((c[S>>2]|0)==65427)break c}if((xa|0)==7){xa=0;c[Aa>>2]=64;break}else if((xa|0)==14){xa=0;c[Aa>>2]=64;break}else if((xa|0)==46){xa=0;A=Rb(n,c[R>>2]|0,0,o)|0;if(!((C|0)==0?(A|0)==(c[R>>2]|0):0)){xa=47;break b}c[S>>2]=65427;break}}}while(0);A=Qb(n)|0;if((A|0)==0&(C|0)==0?(c[Aa>>2]|0)==64:0){xa=115;break}p=a[ta>>0]|0;if(!(p&4)){q=c[O>>2]|0;r=c[P>>2]|0;if(!(c[Q>>2]|0)){p=c[R>>2]|0;if(p>>>0>1){s=p+-2|0;c[R>>2]=s}else s=p}else{s=Qb(n)|0;s=Si(s|0,C|0,-2,0)|0;c[R>>2]=s}p=r+(q*5640|0)+5592|0;A=r+(q*5640|0)+5596|0;do{if(!s)z=1;else{z=Qb(n)|0;y=C;if(0>(y|0)|0==(y|0)&s>>>0>z>>>0)Ub(o,2,8573,ga)|0;q=c[p>>2]|0;if(!q){z=Pc(c[R>>2]|0)|0;c[p>>2]=z;if(!z)break b;else{z=0;break}}q=Tc(q,(c[R>>2]|0)+(c[A>>2]|0)|0)|0;if(!q){xa=65;break b}c[p>>2]=q;z=0}}while(0);q=c[B>>2]|0;if(q){w=Pb(n)|0;s=C;y=Si(w|0,s|0,-2,-1)|0;r=c[O>>2]|0;q=q+40|0;u=c[q>>2]|0;v=c[u+(r*40|0)+12>>2]|0;t=c[u+(r*40|0)+16>>2]|0;x=t+(v*24|0)+8|0;c[x>>2]=y;c[x+4>>2]=C;x=c[R>>2]|0;s=Si(x|0,0,w|0,s|0)|0;v=t+(v*24|0)+16|0;c[v>>2]=s;c[v+4>>2]=C;x=x+2|0;v=c[u+(r*40|0)+20>>2]|0;s=u+(r*40|0)+28|0;t=c[s>>2]|0;if((v+1|0)>>>0>t>>>0){t=~~(+(t>>>0)+100.0)>>>0;c[s>>2]=t;s=Tc(c[u+(r*40|0)+24>>2]|0,t*24|0)|0;t=c[q>>2]|0;u=t+(r*40|0)+24|0;if(!s){p=u;xa=74;break}c[u>>2]=s;w=t;q=c[t+(r*40|0)+20>>2]|0}else{w=u;s=c[u+(r*40|0)+24>>2]|0;q=v}b[s+(q*24|0)>>1]=-109;v=Pi(0,y|0,32)|0;y=s+(q*24|0)+8|0;c[y>>2]=v;c[y+4>>2]=C;c[s+(q*24|0)+16>>2]=x;c[w+(r*40|0)+20>>2]=q+1}if(!z)p=Mb(n,(c[p>>2]|0)+(c[A>>2]|0)|0,c[R>>2]|0,o)|0;else p=0;c[Aa>>2]=(p|0)==(c[R>>2]|0)?8:64;c[A>>2]=(c[A>>2]|0)+p;p=a[ta>>0]|0;if((p&9)==1){a[ta>>0]=p|8;q=c[O>>2]|0;do{if((Tb(n)|0)!=0?(M=Pb(n)|0,N=C,!((M|0)==-1&(N|0)==-1)):0){while(1){if((Mb(n,V,2,o)|0)!=2){xa=81;break}qb(V,T,2);if((c[T>>2]|0)!=65424){xa=83;break}if((Mb(n,V,2,o)|0)!=2){xa=85;break}qb(V,X,2);if((c[X>>2]|0)!=10){xa=87;break}c[X>>2]=8;p=Mb(n,V,8,o)|0;if((p|0)!=(c[X>>2]|0)){xa=89;break}if((p|0)!=8){xa=91;break}qb(V,Z,2);qb(G,$,4);qb(H,U,1);qb(I,Y,1);if((c[Z>>2]|0)==(q|0)){xa=97;break}p=c[$>>2]|0;if(p>>>0<14){xa=94;break}xa=p+-12|0;c[$>>2]=xa;xa=Rb(n,xa,0,o)|0;if(!((C|0)==0?(xa|0)==(c[$>>2]|0):0)){xa=96;break}}if((xa|0)==81){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==83){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==85){xa=0;Ub(o,1,8295,ha)|0;p=0;q=0;break}else if((xa|0)==87){xa=0;Ub(o,1,8313,ia)|0;p=0;q=0;break}else if((xa|0)==89){xa=0;Ub(o,1,8295,ka)|0;p=0;q=0;break}else if((xa|0)==91){xa=0;Ub(o,1,8662,la)|0;p=0;q=0;break}else if((xa|0)==94){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==96){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==97){xa=0;q=(c[U>>2]|0)==(c[Y>>2]|0)&1;p=(Sb(n,M,N,o)|0)!=0&1;break}}else{p=1;q=0}}while(0);if(!p){xa=99;break}if(q){p=_(c[E>>2]|0,c[D>>2]|0)|0;a[ta>>0]=a[ta>>0]&-18|16;if(p){q=c[P>>2]|0;t=0;do{r=q+(t*5640|0)+5588|0;s=c[r>>2]|0;if(s)c[r>>2]=s+1;t=t+1|0}while((t|0)!=(p|0))}Ub(o,2,8734,na)|0}}if(!(a[ta>>0]&1)){if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=109;break}qb(c[J>>2]|0,S,2)}}else{a[ta>>0]=p&-6;c[Aa>>2]=8;if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=113;break}qb(c[J>>2]|0,S,2)}p=c[S>>2]|0;if(!((p|0)!=65497&(a[ta>>0]&1)==0)){xa=116;break}}switch(xa|0){case 9:{Ub(o,1,8295,aa)|0;o=0;i=Da;return o|0}case 11:{Ub(o,1,8313,ba)|0;o=0;i=Da;return o|0}case 20:{Ub(o,1,8339,ja)|0;o=0;i=Da;return o|0}case 24:{Ub(o,1,8382,qa)|0;o=0;i=Da;return o|0}case 26:{Uc(c[J>>2]|0);c[J>>2]=0;c[K>>2]=0;Ub(o,1,8427,ra)|0;o=0;i=Da;return o|0}case 29:{Ub(o,1,8295,sa)|0;o=0;i=Da;return o|0}case 31:{Ub(o,1,8461,ca)|0;o=0;i=Da;return o|0}case 33:{c[da>>2]=c[S>>2];Ub(o,1,8490,da)|0;o=0;i=Da;return o|0}case 41:{Uc(c[p>>2]|0);Ca=c[q>>2]|0;c[Ca+(r*40|0)+24>>2]=0;c[Ca+(r*40|0)+28>>2]=0;c[Ca+(r*40|0)+20>>2]=0;Ub(o,1,8537,va)|0;o=0;i=Da;return o|0}case 47:{Ub(o,1,8295,ea)|0;o=0;i=Da;return o|0}case 50:{Ub(o,1,8295,fa)|0;o=0;i=Da;return o|0}case 65:{Uc(c[p>>2]|0);c[p>>2]=0;break}case 74:{Uc(c[p>>2]|0);Ca=c[q>>2]|0;c[Ca+(r*40|0)+24>>2]=0;c[Ca+(r*40|0)+28>>2]=0;c[Ca+(r*40|0)+20>>2]=0;Ub(o,1,8537,wa)|0;o=0;i=Da;return o|0}case 99:{Ub(o,1,8688,ma)|0;o=0;i=Da;return o|0}case 109:{Ub(o,1,8295,oa)|0;o=0;i=Da;return o|0}case 113:{Ub(o,1,8295,pa)|0;o=0;i=Da;return o|0}case 115:{p=c[S>>2]|0;xa=116;break}}if((xa|0)==116)if((p|0)==65497){p=ta;xa=117;break a}else{p=ta;break a}Ub(o,1,8628,ua)|0;o=0;i=Da;return o|0}else p=ta;break}default:{o=0;i=Da;return o|0}}}while(0);if((xa|0)==117)if((c[Aa>>2]|0)!=256){c[d+200>>2]=0;c[Aa>>2]=256}if(!(a[p>>0]&1)){s=_(c[d+112>>2]|0,c[d+116>>2]|0)|0;t=d+200|0;q=c[t>>2]|0;d:do{if(q>>>0>>0){p=q;r=(c[d+164>>2]|0)+(q*5640|0)|0;while(1){if(c[r+5592>>2]|0){q=p;break d}q=p+1|0;c[t>>2]=q;if(q>>>0>>0){p=q;r=r+5640|0}else break}}}while(0);if((q|0)==(s|0)){c[m>>2]=0;o=1;i=Da;return o|0}}else{q=d+200|0;t=q;q=c[q>>2]|0}A=c[d+164>>2]|0;if(a[A+(q*5640|0)+5636>>0]&2){B=A+(q*5640|0)+5160|0;r=c[B>>2]|0;if(!r)p=0;else{s=c[A+(q*5640|0)+5164>>2]|0;u=0;p=0;do{p=(c[s+(u<<3)+4>>2]|0)+p|0;u=u+1|0}while((u|0)!=(r|0))}xa=Pc(p)|0;z=A+(q*5640|0)+5172|0;c[z>>2]=xa;if(!xa){Ub(o,1,8775,ya)|0;Ub(o,1,8813,za)|0;o=0;i=Da;return o|0}y=A+(q*5640|0)+5180|0;c[y>>2]=p;r=c[B>>2]|0;x=A+(q*5640|0)+5164|0;if(!r)p=c[x>>2]|0;else{p=c[x>>2]|0;v=p;w=0;u=0;while(1){s=c[v+(w<<3)>>2]|0;if(!s)s=v;else{Ui((c[z>>2]|0)+u|0,s|0,c[v+(w<<3)+4>>2]|0)|0;s=c[x>>2]|0;u=(c[s+(w<<3)+4>>2]|0)+u|0;Uc(c[s+(w<<3)>>2]|0);s=c[x>>2]|0;c[s+(w<<3)>>2]=0;c[s+(w<<3)+4>>2]=0;r=c[B>>2]|0;p=s}w=w+1|0;if(w>>>0>=r>>>0)break;else v=s}}c[B>>2]=0;Uc(p);c[x>>2]=0;c[A+(q*5640|0)+5168>>2]=c[z>>2];c[A+(q*5640|0)+5176>>2]=c[y>>2];q=c[t>>2]|0}p=d+204|0;if(!($f(c[p>>2]|0,q,o)|0)){Ub(o,1,8839,Ba)|0;o=0;i=Da;return o|0}else{Ba=_(c[d+112>>2]|0,c[d+116>>2]|0)|0;c[Ca>>2]=(c[t>>2]|0)+1;c[Ca+4>>2]=Ba;Ub(o,4,8873,Ca)|0;c[e>>2]=c[t>>2];c[m>>2]=1;c[f>>2]=ag(c[p>>2]|0)|0;o=c[c[(c[p>>2]|0)+20>>2]>>2]|0;c[g>>2]=c[o>>2];c[h>>2]=c[o+4>>2];c[j>>2]=c[o+8>>2];c[k>>2]=c[o+12>>2];c[l>>2]=c[o+16>>2];c[Aa>>2]=c[Aa>>2]|128;o=1;i=Da;return o|0}return 0}function dd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+28|0;s=t+32|0;o=b+8|0;if(!(c[o>>2]&128)){g=0;i=t;return g|0}q=b+200|0;if((c[q>>2]|0)!=(d|0)){g=0;i=t;return g|0}j=c[b+164>>2]|0;n=j+(d*5640|0)|0;p=j+(d*5640|0)+5592|0;k=c[p>>2]|0;if(!k){sd(n);g=0;i=t;return g|0}l=b+204|0;m=j+(d*5640|0)+5596|0;if(!(cg(c[l>>2]|0,k,c[m>>2]|0,d,c[b+196>>2]|0,h)|0)){sd(n);c[o>>2]=c[o>>2]|32768;Ub(h,1,8912,t)|0;g=0;i=t;return g|0}if(!(dg(c[l>>2]|0,e,f)|0)){g=0;i=t;return g|0}j=c[p>>2]|0;if(j){Uc(j);c[p>>2]=0;c[m>>2]=0}p=b+76|0;a[p>>0]=a[p>>0]&-2;c[o>>2]=c[o>>2]&-129;p=Qb(g)|0;b=c[o>>2]|0;if((b|0)==256|(p|0)==0&(C|0)==0&(b|0)==64){g=1;i=t;return g|0}if((Mb(g,s,2,h)|0)!=2){Ub(h,2,8931,t+8|0)|0;g=1;i=t;return g|0}qb(s,r,2);switch(c[r>>2]|0){case 65497:{c[q>>2]=0;c[o>>2]=256;g=1;i=t;return g|0}case 65424:{g=1;i=t;return g|0}default:if((Qb(g)|0)==0&(C|0)==0){c[o>>2]=64;Ub(h,2,8975,t+16|0)|0;g=1;i=t;return g|0}else{Ub(h,1,9005,t+24|0)|0;g=0;i=t;return g|0}}return 0}function ed(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;y=z+96|0;x=z+88|0;w=z+80|0;v=z+72|0;u=z+64|0;s=z+56|0;r=z+48|0;o=z+40|0;n=z+32|0;m=z+24|0;l=z+16|0;p=c[b+80>>2]|0;if((c[b+8>>2]|0)!=8){Ub(j,1,9037,z)|0;j=0;i=z;return j|0}if(!(f|e|g|h)){Ub(j,4,9116,z+8|0)|0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+36>>2]=c[b+112>>2];c[b+40>>2]=c[b+116>>2];j=1;i=z;return j|0}t=p+8|0;k=c[t>>2]|0;if(k>>>0>>0){c[l>>2]=e;c[l+4>>2]=k;Ub(j,1,9185,l)|0;j=0;i=z;return j|0}k=c[p>>2]|0;if(k>>>0>e>>>0){c[m>>2]=e;c[m+4>>2]=k;Ub(j,2,9272,m)|0;k=0;e=c[p>>2]|0}else k=((e-(c[b+92>>2]|0)|0)>>>0)/((c[b+100>>2]|0)>>>0)|0;c[b+28>>2]=k;c[d>>2]=e;q=p+12|0;e=c[q>>2]|0;if(e>>>0>>0){c[n>>2]=f;c[n+4>>2]=e;Ub(j,1,9360,n)|0;j=0;i=z;return j|0}l=p+4|0;e=c[l>>2]|0;if(e>>>0>f>>>0){c[o>>2]=f;c[o+4>>2]=e;Ub(j,2,9445,o)|0;e=0;f=c[l>>2]|0}else e=((f-(c[b+96>>2]|0)|0)>>>0)/((c[b+104>>2]|0)>>>0)|0;c[b+32>>2]=e;m=d+4|0;c[m>>2]=f;e=c[p>>2]|0;if(e>>>0>g>>>0){c[r>>2]=g;c[r+4>>2]=e;Ub(j,1,9531,r)|0;j=0;i=z;return j|0}e=c[t>>2]|0;if(e>>>0>>0){c[s>>2]=g;c[s+4>>2]=e;Ub(j,2,9620,s)|0;e=c[b+112>>2]|0;g=c[t>>2]|0}else{e=c[b+100>>2]|0;e=(g+-1-(c[b+92>>2]|0)+e|0)/(e|0)|0}c[b+36>>2]=e;k=d+8|0;c[k>>2]=g;g=c[l>>2]|0;if(g>>>0>h>>>0){c[u>>2]=h;c[u+4>>2]=g;Ub(j,1,9708,u)|0;j=0;i=z;return j|0}g=c[q>>2]|0;if(g>>>0>>0){c[v>>2]=h;c[v+4>>2]=g;Ub(j,2,9798,v)|0;e=c[q>>2]|0;g=c[b+116>>2]|0}else{g=c[b+104>>2]|0;e=h;g=(h+-1-(c[b+96>>2]|0)+g|0)/(g|0)|0}c[b+40>>2]=g;h=d+12|0;c[h>>2]=e;v=b+76|0;a[v>>0]=a[v>>0]|2;v=c[d+16>>2]|0;b=c[d>>2]|0;a:do{if(v){f=c[m>>2]|0;t=f+-1|0;u=c[k>>2]|0;q=u+-1|0;r=b+-1|0;g=0;p=c[d+24>>2]|0;while(1){d=c[p>>2]|0;e=(r+d|0)/(d|0)|0;c[p+16>>2]=e;o=c[p+4>>2]|0;k=(t+o|0)/(o|0)|0;c[p+20>>2]=k;d=(q+d|0)/(d|0)|0;l=c[p+40>>2]|0;m=Ri(1,0,l|0)|0;n=C;d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;d=Si(d|0,C|0,m|0,n|0)|0;d=Pi(d|0,C|0,l|0)|0;e=Si(e|0,((e|0)<0)<<31>>31|0,-1,-1)|0;e=Si(e|0,C|0,m|0,n|0)|0;e=Pi(e|0,C|0,l|0)|0;e=d-e|0;if((e|0)<0){k=29;break}s=c[h>>2]|0;d=(o+-1+s|0)/(o|0)|0;c[p+8>>2]=e;d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;d=Si(d|0,C|0,m|0,n|0)|0;d=Pi(d|0,C|0,l|0)|0;e=Si(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;e=Si(e|0,C|0,m|0,n|0)|0;e=Pi(e|0,C|0,l|0)|0;e=d-e|0;if((e|0)<0){k=31;break}c[p+12>>2]=e;g=g+1|0;if(g>>>0>=v>>>0){e=u;g=s;break a}else p=p+52|0}if((k|0)==29){c[w>>2]=g;c[w+4>>2]=e;Ub(j,1,9887,w)|0;j=0;i=z;return j|0}else if((k|0)==31){c[x>>2]=g;c[x+4>>2]=e;Ub(j,1,9956,x)|0;j=0;i=z;return j|0}}else{f=c[m>>2]|0;e=c[k>>2]|0;g=c[h>>2]|0}}while(0);c[y>>2]=b;c[y+4>>2]=f;c[y+8>>2]=e;c[y+12>>2]=g;Ub(j,4,10025,y)|0;j=1;i=z;return j|0}function fd(){var b=0,d=0,e=0;b=Qc(1,208)|0;if(!b){d=0;return d|0}c[b>>2]=1;d=b+184|0;a[d>>0]=a[d>>0]|2;d=Qc(1,5640)|0;c[b+12>>2]=d;if(!d){Yc(b);d=0;return d|0}d=Qc(1,1e3)|0;c[b+16>>2]=d;if(!d){Yc(b);d=0;return d|0}c[b+20>>2]=1e3;c[b+60>>2]=-1;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;d=Qc(1,48)|0;do{if(d){c[d+32>>2]=100;c[d+24>>2]=0;e=Qc(100,24)|0;c[d+28>>2]=e;if(!e){Uc(d);break}c[d+40>>2]=0;c[b+196>>2]=d;e=qg()|0;c[b+192>>2]=e;if(!e){Yc(b);e=0;return e|0}e=qg()|0;c[b+188>>2]=e;if(e){e=b;return e|0}Yc(b);e=0;return e|0}}while(0);c[b+196>>2]=0;Yc(b);e=0;return e|0}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var f=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;t=i;i=i+128|0;s=t+104|0;r=t+72|0;q=t+64|0;n=t+40|0;l=t+24|0;j=t+16|0;h=t+8|0;g=t;if(b&384){ki(10063,11,1,d)|0;i=t;return}if((b&1|0)!=0?(f=c[a+80>>2]|0,(f|0)!=0):0)hd(f,0,d);if(b&2){ki(10075,36,1,d)|0;f=c[a+96>>2]|0;c[g>>2]=c[a+92>>2];c[g+4>>2]=f;$h(d,10112,g)|0;g=c[a+104>>2]|0;c[h>>2]=c[a+100>>2];c[h+4>>2]=g;$h(d,10130,h)|0;h=c[a+116>>2]|0;c[j>>2]=c[a+112>>2];c[j+4>>2]=h;$h(d,10148,j)|0;xd(c[a+12>>2]|0,c[(c[a+80>>2]|0)+16>>2]|0,d);ki(10164,2,1,d)|0}if((b&8|0)!=0?(k=_(c[a+112>>2]|0,c[a+116>>2]|0)|0,(k|0)!=0):0){f=a+80|0;g=0;h=c[a+164>>2]|0;while(1){xd(h,c[(c[f>>2]|0)+16>>2]|0,d);g=g+1|0;if((g|0)==(k|0))break;else h=h+5640|0}}if(!(b&16)){i=t;return}j=c[a+196>>2]|0;ki(10167,37,1,d)|0;k=j;b=c[k+4>>2]|0;f=j+8|0;a=c[f>>2]|0;f=c[f+4>>2]|0;h=l;c[h>>2]=c[k>>2];c[h+4>>2]=b;h=l+8|0;c[h>>2]=a;c[h+4>>2]=f;$h(d,10205,l)|0;ki(10272,17,1,d)|0;h=j+28|0;f=c[h>>2]|0;a:do{if((f|0)!=0?(m=j+24|0,(c[m>>2]|0)!=0):0){g=0;while(1){b=f+(g*24|0)+8|0;k=c[b>>2]|0;b=c[b+4>>2]|0;l=c[f+(g*24|0)+16>>2]|0;c[n>>2]=e[f+(g*24|0)>>1];a=n+8|0;c[a>>2]=k;c[a+4>>2]=b;c[n+16>>2]=l;$h(d,10290,n)|0;g=g+1|0;if(g>>>0>=(c[m>>2]|0)>>>0)break a;f=c[h>>2]|0}}}while(0);ki(10321,4,1,d)|0;b=j+40|0;h=c[b>>2]|0;if((h|0)!=0?(p=j+36|0,o=c[p>>2]|0,(o|0)!=0):0){g=0;f=0;do{f=(c[h+(g*40|0)+4>>2]|0)+f|0;g=g+1|0}while((g|0)!=(o|0));if(f){ki(10326,16,1,d)|0;if(c[p>>2]|0){f=c[b>>2]|0;k=0;do{j=c[f+(k*40|0)+4>>2]|0;c[q>>2]=k;c[q+4>>2]=j;$h(d,10343,q)|0;f=c[b>>2]|0;g=c[f+(k*40|0)+16>>2]|0;b:do{if(!((j|0)==0|(g|0)==0)){f=0;while(1){a=g+(f*24|0)|0;u=c[a>>2]|0;a=c[a+4>>2]|0;m=g+(f*24|0)+8|0;l=c[m>>2]|0;m=c[m+4>>2]|0;o=g+(f*24|0)+16|0;n=c[o>>2]|0;o=c[o+4>>2]|0;c[r>>2]=f;h=r+8|0;c[h>>2]=u;c[h+4>>2]=a;h=r+16|0;c[h>>2]=l;c[h+4>>2]=m;h=r+24|0;c[h>>2]=n;c[h+4>>2]=o;$h(d,10379,r)|0;h=f+1|0;f=c[b>>2]|0;if((h|0)==(j|0))break b;g=c[f+(k*40|0)+16>>2]|0;f=h}}}while(0);g=c[f+(k*40|0)+24>>2]|0;c:do{if((g|0)!=0?(c[f+(k*40|0)+20>>2]|0)!=0:0){f=0;while(1){o=g+(f*24|0)+8|0;n=c[o>>2]|0;o=c[o+4>>2]|0;h=c[g+(f*24|0)+16>>2]|0;c[s>>2]=e[g+(f*24|0)>>1];u=s+8|0;c[u>>2]=n;c[u+4>>2]=o;c[s+16>>2]=h;$h(d,10290,s)|0;h=f+1|0;f=c[b>>2]|0;if(h>>>0>=(c[f+(k*40|0)+20>>2]|0)>>>0)break c;g=c[f+(k*40|0)+24>>2]|0;f=h}}}while(0);k=k+1|0}while(k>>>0<(c[p>>2]|0)>>>0)}ki(10321,4,1,d)|0}}ki(10164,2,1,d)|0;i=t;return}function hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;h=n+16|0;g=n;k=n+52|0;if(!d){ki(10482,13,1,e)|0;a[k+1>>0]=0;f=9}else{ki(10445,36,1,c[676]|0)|0;f=0}a[k>>0]=f;o=c[b>>2]|0;f=c[b+4>>2]|0;c[g>>2]=k;c[g+4>>2]=o;c[g+8>>2]=f;$h(e,10496,g)|0;g=c[b+8>>2]|0;f=c[b+12>>2]|0;c[h>>2]=k;c[h+4>>2]=g;c[h+8>>2]=f;$h(e,10513,h)|0;h=b+16|0;f=c[h>>2]|0;c[j>>2]=k;c[j+4>>2]=f;$h(e,10530,j)|0;f=b+24|0;if(!(c[f>>2]|0)){ki(10164,2,1,e)|0;i=n;return}if(!(c[h>>2]|0)){ki(10164,2,1,e)|0;i=n;return}else g=0;do{c[l>>2]=k;c[l+4>>2]=g;$h(e,10546,l)|0;id((c[f>>2]|0)+(g*52|0)|0,d,e);c[m>>2]=k;$h(e,10566,m)|0;g=g+1|0}while(g>>>0<(c[h>>2]|0)>>>0);ki(10164,2,1,e)|0;i=n;return}function id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;k=l+24|0;j=l+16|0;h=l;g=l+32|0;f=(d|0)!=0;if(f){ki(10571,41,1,c[676]|0)|0;d=0}else{a[g+1>>0]=9;a[g+2>>0]=0;d=9}a[g>>0]=d;m=c[b>>2]|0;d=c[b+4>>2]|0;c[h>>2]=g;c[h+4>>2]=m;c[h+8>>2]=d;$h(e,10613,h)|0;h=c[b+24>>2]|0;c[j>>2]=g;c[j+4>>2]=h;$h(e,10630,j)|0;j=c[b+32>>2]|0;c[k>>2]=g;c[k+4>>2]=j;$h(e,10642,k)|0;if(!f){i=l;return}ki(10164,2,1,e)|0;i=l;return}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;e=m;b=a+80|0;k=c[(c[b>>2]|0)+16>>2]|0;d=Qc(1,56)|0;c[e>>2]=d;if(!d){l=0;i=m;return l|0}c[d+24>>2]=c[(c[b>>2]|0)+16>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+112>>2];c[d+20>>2]=c[a+116>>2];c[d+52>>2]=0;d=c[a+12>>2]|0;b=c[e>>2]|0;c[b+32>>2]=c[d>>2];c[b+36>>2]=c[d+4>>2];c[b+40>>2]=c[d+8>>2];c[b+44>>2]=c[d+16>>2];c[b+48>>2]=Qc(c[b+24>>2]|0,1080)|0;b=c[e>>2]|0;j=b+48|0;a=c[j>>2]|0;if(!a){Cc(e);l=0;i=m;return l|0}if(!k){l=b;i=m;return l|0}h=d+5584|0;d=0;while(1){g=c[h>>2]|0;c[a+(d*1080|0)+4>>2]=c[g+(d*1080|0)>>2];e=g+(d*1080|0)+4|0;f=c[e>>2]|0;c[a+(d*1080|0)+8>>2]=f;c[a+(d*1080|0)+12>>2]=c[g+(d*1080|0)+8>>2];c[a+(d*1080|0)+16>>2]=c[g+(d*1080|0)+12>>2];c[a+(d*1080|0)+20>>2]=c[g+(d*1080|0)+16>>2];c[a+(d*1080|0)+24>>2]=c[g+(d*1080|0)+20>>2];if(f>>>0<33){Ui(a+(d*1080|0)+948|0,g+(d*1080|0)+944|0,f|0)|0;Ui(a+(d*1080|0)+816|0,g+(d*1080|0)+812|0,c[e>>2]|0)|0}f=c[g+(d*1080|0)+24>>2]|0;c[a+(d*1080|0)+28>>2]=f;c[a+(d*1080|0)+808>>2]=c[g+(d*1080|0)+804>>2];if((f|0)!=1){f=(c[e>>2]|0)*3|0;e=f+-2|0;if((e|0)<97&(f|0)>2)l=10}else{e=1;l=10}if((l|0)==10){l=0;f=0;do{c[a+(d*1080|0)+32+(f<<2)>>2]=c[g+(d*1080|0)+28+(f<<3)+4>>2];c[a+(d*1080|0)+420+(f<<2)>>2]=c[g+(d*1080|0)+28+(f<<3)>>2];f=f+1|0}while((f|0)!=(e|0))}c[a+(d*1080|0)+812>>2]=c[g+(d*1080|0)+808>>2];d=d+1|0;if((d|0)==(k|0))break;a=c[j>>2]|0}i=m;return b|0}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Qc(1,48)|0;if(!b){k=0;return k|0}h=a+196|0;d=c[h>>2]|0;i=d;k=c[i+4>>2]|0;a=b;c[a>>2]=c[i>>2];c[a+4>>2]=k;a=d+8|0;k=c[a+4>>2]|0;i=b+8|0;c[i>>2]=c[a>>2];c[i+4>>2]=k;i=d+16|0;k=c[i+4>>2]|0;a=b+16|0;c[a>>2]=c[i>>2];c[a+4>>2]=k;d=c[d+24>>2]|0;a=b+24|0;c[a>>2]=d;d=Pc(d*24|0)|0;k=b+28|0;c[k>>2]=d;if(!d){Uc(b);k=0;return k|0}e=c[(c[h>>2]|0)+28>>2]|0;if(!e){Uc(d);c[k>>2]=0}else Ui(d|0,e|0,(c[a>>2]|0)*24|0)|0;a=c[(c[h>>2]|0)+36>>2]|0;g=b+36|0;c[g>>2]=a;a=Qc(a,40)|0;i=b+40|0;c[i>>2]=a;if(!a){Uc(c[k>>2]|0);Uc(b);k=0;return k|0}d=c[(c[h>>2]|0)+40>>2]|0;if(!d){Uc(a);c[i>>2]=0;k=b;return k|0}if(!(c[g>>2]|0)){k=b;return k|0}d=c[d+20>>2]|0;c[a+20>>2]=d;d=Pc(d*24|0)|0;a=c[i>>2]|0;c[a+24>>2]=d;a:do{if(!d)d=0;else{f=d;d=0;while(1){e=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+24>>2]|0;if(!e){Uc(f);a=c[i>>2]|0;c[a+(d*40|0)+24>>2]=0}else{Ui(f|0,e|0,(c[a+(d*40|0)+20>>2]|0)*24|0)|0;a=c[i>>2]|0}e=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+4>>2]|0;c[a+(d*40|0)+4>>2]=e;e=Pc(e*24|0)|0;a=c[i>>2]|0;c[a+(d*40|0)+16>>2]=e;if(!e)break;f=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+16>>2]|0;if(!f){Uc(e);a=c[i>>2]|0;c[a+(d*40|0)+16>>2]=0}else{Ui(e|0,f|0,(c[a+(d*40|0)+4>>2]|0)*24|0)|0;a=c[i>>2]|0}c[a+(d*40|0)+32>>2]=0;c[a+(d*40|0)+36>>2]=0;d=d+1|0;if(d>>>0>=(c[g>>2]|0)>>>0){j=32;break}f=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+20>>2]|0;c[a+(d*40|0)+20>>2]=f;f=Pc(f*24|0)|0;a=c[i>>2]|0;c[a+(d*40|0)+24>>2]=f;if(!f)break a}if((j|0)==32)return b|0;if(d){Uc(c[a+24>>2]|0);Uc(c[(c[i>>2]|0)+16>>2]|0);if((d|0)!=1){a=1;do{Uc(c[(c[i>>2]|0)+(a*40|0)+24>>2]|0);Uc(c[(c[i>>2]|0)+(a*40|0)+16>>2]|0);a=a+1|0}while((a|0)!=(d|0))}a=c[i>>2]|0}Uc(a);Uc(c[k>>2]|0);Uc(b);k=0;return k|0}}while(0);if(d){Uc(c[a+24>>2]|0);if((d|0)!=1){a=1;do{Uc(c[(c[i>>2]|0)+(a*40|0)+24>>2]|0);a=a+1|0}while((a|0)!=(d|0))}a=c[i>>2]|0}Uc(a);Uc(c[k>>2]|0);Uc(b);k=0;return k|0}function ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(!d){d=0;return d|0}f=Xb()|0;k=a+84|0;c[k>>2]=f;if(!f){d=0;return d|0}$b(d,f);h=a+188|0;sg(c[h>>2]|0,27,e)|0;h=c[h>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){d=a+80|0;Zb(c[d>>2]|0);c[d>>2]=0;d=0;return d|0}}else vg(h);i=c[d+16>>2]|0;if(!i){d=1;return d|0}h=c[(c[k>>2]|0)+24>>2]|0;f=c[d+24>>2]|0;g=0;do{c[f+(g*52|0)+36>>2]=c[h+(g*52|0)+36>>2];d=h+(g*52|0)+44|0;c[f+(g*52|0)+44>>2]=c[d>>2];c[d>>2]=0;g=g+1|0}while(g>>>0>>0);f=1;return f|0}function md(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,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;t=i;i=i+16|0;j=t+8|0;if(!d){Ub(e,1,10654,t)|0;s=0;i=t;return s|0}g=c[a+112>>2]|0;h=_(c[a+116>>2]|0,g)|0;if(h>>>0<=f>>>0){c[j>>2]=f;c[j+4>>2]=h+-1;Ub(e,1,10692,j)|0;s=0;i=t;return s|0}s=(f>>>0)%(g>>>0)|0;r=(f>>>0)/(g>>>0)|0;j=c[a+100>>2]|0;h=_(j,s)|0;k=c[a+92>>2]|0;h=h+k|0;c[d>>2]=h;q=a+80|0;g=c[q>>2]|0;l=c[g>>2]|0;h=h>>>0>>0?l:h;c[d>>2]=h;k=(_(j,s+1|0)|0)+k|0;s=d+8|0;c[s>>2]=k;j=c[g+8>>2]|0;k=k>>>0>j>>>0?j:k;c[s>>2]=k;s=c[a+104>>2]|0;j=_(s,r)|0;l=c[a+96>>2]|0;j=j+l|0;p=d+4|0;c[p>>2]=j;o=c[g+4>>2]|0;j=j>>>0>>0?o:j;c[p>>2]=j;l=(_(s,r+1|0)|0)+l|0;r=d+12|0;c[r>>2]=l;s=c[g+12>>2]|0;l=l>>>0>s>>>0?s:l;c[r>>2]=l;r=d+24|0;s=d+16|0;p=c[s>>2]|0;if(p){o=c[g+24>>2]|0;n=h+-1|0;m=j+-1|0;k=k+-1|0;g=l+-1|0;h=0;j=c[r>>2]|0;while(1){l=c[o+(h*52|0)+40>>2]|0;c[j+40>>2]=l;z=c[j>>2]|0;y=(n+z|0)/(z|0)|0;c[j+16>>2]=y;u=c[j+4>>2]|0;x=(m+u|0)/(u|0)|0;c[j+20>>2]=x;z=(k+z|0)/(z|0)|0;u=(g+u|0)/(u|0)|0;w=Ri(1,0,l|0)|0;v=C;z=Si(z|0,((z|0)<0)<<31>>31|0,-1,-1)|0;z=Si(z|0,C|0,w|0,v|0)|0;z=Pi(z|0,C|0,l|0)|0;y=Si(y|0,((y|0)<0)<<31>>31|0,-1,-1)|0;y=Si(y|0,C|0,w|0,v|0)|0;y=Pi(y|0,C|0,l|0)|0;c[j+8>>2]=z-y;u=Si(u|0,((u|0)<0)<<31>>31|0,-1,-1)|0;u=Si(u|0,C|0,w|0,v|0)|0;u=Pi(u|0,C|0,l|0)|0;x=Si(x|0,((x|0)<0)<<31>>31|0,-1,-1)|0;v=Si(x|0,C|0,w|0,v|0)|0;l=Pi(v|0,C|0,l|0)|0;c[j+12>>2]=u-l;h=h+1|0;if(h>>>0>=p>>>0)break;else j=j+52|0}}m=a+84|0;g=c[m>>2]|0;if(g)Zb(g);g=Xb()|0;c[m>>2]=g;if(!g){z=0;i=t;return z|0}$b(d,g);c[a+60>>2]=f;j=a+188|0;sg(c[j>>2]|0,28,e)|0;j=c[j>>2]|0;k=tg(j)|0;g=ug(j)|0;if(k){l=0;h=1;while(1){if(!h)h=0;else h=(Ra[c[g>>2]&63](a,b,e)|0)!=0;l=l+1|0;if((l|0)==(k|0))break;else{g=g+4|0;h=h&1}}vg(j);if(!h){Zb(c[q>>2]|0);c[q>>2]=0;z=0;i=t;return z|0}}else vg(j);g=c[s>>2]|0;if(!g){z=1;i=t;return z|0}k=c[(c[m>>2]|0)+24>>2]|0;j=c[r>>2]|0;l=0;while(1){c[j+(l*52|0)+36>>2]=c[k+(l*52|0)+36>>2];h=c[j+(l*52|0)+44>>2]|0;if(!h)h=k;else{Uc(h);h=c[(c[m>>2]|0)+24>>2]|0;j=c[r>>2]|0;g=c[s>>2]|0}z=h+(l*52|0)+44|0;c[j+(l*52|0)+44>>2]=c[z>>2];c[z>>2]=0;l=l+1|0;if(l>>>0>=g>>>0){g=1;break}else k=h}i=t;return g|0}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;c[a+168>>2]=b;e=c[a+80>>2]|0;a:do{if((((e|0)!=0?(h=c[e+24>>2]|0,(h|0)!=0):0)?(f=c[a+12>>2]|0,(f|0)!=0):0)?(g=c[f+5584>>2]|0,(g|0)!=0):0){e=c[e+16>>2]|0;if(!e)e=1;else{f=0;while(1){if((c[g+(f*1080|0)+4>>2]|0)>>>0<=b>>>0)break;c[h+(f*52|0)+40>>2]=b;f=f+1|0;if(f>>>0>=e>>>0){e=1;break a}}Ub(d,1,10753,j)|0;e=0}}else e=0}while(0);i=k;return e|0}function od(d,e,f){d=d|0;e=e|0;f=f|0;var 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,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;Q=i;i=i+48|0;O=Q+32|0;N=Q+24|0;M=Q+16|0;K=Q+8|0;L=Q;A=d+204|0;g=c[A>>2]|0;F=d+116|0;G=d+112|0;H=_(c[G>>2]|0,c[F>>2]|0)|0;I=(H|0)==1;if(!H){P=1;i=Q;return P|0}J=d+200|0;B=d+12|0;C=d+164|0;D=d+8|0;E=g+20|0;y=g+24|0;z=0;g=0;l=0;a:while(1){if((c[J>>2]|0)!=(z|0)){P=5;break}w=z;z=z+1|0;x=_(c[F>>2]|0,c[G>>2]|0)|0;c[K>>2]=z;c[K+4>>2]=x;Ub(f,4,10866,K)|0;c[B>>2]=0;x=c[A>>2]|0;c[x+12>>2]=c[(c[C>>2]|0)+(w*5640|0)+5588>>2];c[D>>2]=0;if(!(_f(x,c[J>>2]|0,f)|0))break;h=c[A>>2]|0;if(c[(c[h+24>>2]|0)+16>>2]|0){k=0;do{j=c[(c[c[E>>2]>>2]|0)+20>>2]|0;if(I){c[j+(k*52|0)+32>>2]=c[(c[(c[y>>2]|0)+24>>2]|0)+(k*52|0)+44>>2];c[j+(k*52|0)+36>>2]=0}else{if(!(Zf(j+(k*52|0)|0)|0)){P=14;break a}h=c[A>>2]|0}k=k+1|0}while(k>>>0<(c[(c[h+24>>2]|0)+16>>2]|0)>>>0)}x=eg(h)|0;if(!I){if(x>>>0>l>>>0){h=Tc(g,x)|0;if(!h){P=20;break}else{g=h;h=x}}else h=l;j=c[A>>2]|0;w=j+24|0;k=c[w>>2]|0;if(c[k+16>>2]|0){v=j+20|0;j=g;u=0;do{r=c[(c[c[v>>2]>>2]|0)+20>>2]|0;m=c[k+24>>2]|0;q=c[m+(u*52|0)+24>>2]|0;q=((q&7|0)!=0&1)+(q>>>3)|0;n=c[r+(u*52|0)+8>>2]|0;o=c[r+(u*52|0)>>2]|0;t=n-o|0;p=c[r+(u*52|0)+12>>2]|0;r=c[r+(u*52|0)+4>>2]|0;T=c[k>>2]|0;S=c[m+(u*52|0)>>2]|0;l=c[m+(u*52|0)+4>>2]|0;R=(S+~T+(c[k+8>>2]|0)|0)/(S|0)|0;s=R-t|0;k=o-((T+-1+S|0)/(S|0)|0)+(_(R,r-(((c[k+4>>2]|0)+-1+l|0)/(l|0)|0)|0)|0)|0;k=(c[m+(u*52|0)+44>>2]|0)+(k<<2)|0;b:do{switch(((q|0)==3?4:q)|0){case 1:{l=(p|0)==(r|0);if(!(c[m+(u*52|0)+32>>2]|0)){if(l)break b;q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){a[m>>0]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+1|0;n=n+4|0}}j=j+t|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}else{if(l)break b;q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){a[m>>0]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+1|0;n=n+4|0}}j=j+t|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}case 2:{l=(p|0)==(r|0);if(!(c[m+(u*52|0)+32>>2]|0)){if(!l){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){b[m>>1]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+2|0;n=n+4|0}}j=j+(t<<1)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}}else if(!l){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){b[m>>1]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+2|0;n=n+4|0}}j=j+(t<<1)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}case 4:{if((p|0)!=(r|0)){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){c[m>>2]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+4|0;n=n+4|0}}j=j+(t<<2)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}default:{}}}while(0);u=u+1|0;k=c[w>>2]|0}while(u>>>0<(c[k+16>>2]|0)>>>0);j=c[A>>2]|0}if(!(fg(j,g,x)|0)){P=63;break}}else h=l;if(!(Ad(d,e,f)|0)){P=65;break}if(z>>>0>=H>>>0){P=67;break}else l=h}if((P|0)==5)Ub(f,1,10829,L)|0;else if((P|0)==14){Ub(f,1,10887,M)|0;if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}else if((P|0)==20){if(g)Uc(g);Ub(f,1,10925,N)|0;T=0;i=Q;return T|0}else if((P|0)==63){Ub(f,1,10964,O)|0;Uc(g);T=0;i=Q;return T|0}else if((P|0)==65){if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}else if((P|0)==67){if(!g){T=1;i=Q;return T|0}Uc(g);T=1;i=Q;return T|0}if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}function pd(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+188|0;if(!(sg(c[f>>2]|0,29,e)|0)){d=0;return d|0}if(((b[a+88>>1]|0)+-3&65535)<4?(sg(c[f>>2]|0,30,e)|0)==0:0){d=0;return d|0}if(!(sg(c[f>>2]|0,31,e)|0)){d=0;return d|0}if(!(sg(c[f>>2]|0,32,e)|0)){d=0;return d|0}if(!(sg(c[f>>2]|0,33,e)|0)){d=0;return d|0}j=c[f>>2]|0;h=tg(j)|0;f=ug(j)|0;if(!h)f=1;else{i=0;g=f;f=1;while(1){if(!f)f=0;else f=(Ra[c[g>>2]&63](a,d,e)|0)!=0;f=f&1;i=i+1|0;if((i|0)==(h|0))break;else g=g+4|0}}vg(j);d=f;return d|0}function qd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=Xb()|0;k=a+80|0;c[k>>2]=g;if(!g){Ub(f,1,11011,m)|0;d=0;i=m;return d|0}$b(e,g);j=c[e+24>>2]|0;if((j|0)!=0?(l=c[e+16>>2]|0,(l|0)!=0):0){h=0;do{e=j+(h*52|0)+44|0;g=c[e>>2]|0;if(g){c[(c[(c[k>>2]|0)+24>>2]|0)+(h*52|0)+44>>2]=g;c[e>>2]=0}h=h+1|0}while(h>>>0>>0)}g=a+192|0;if(!(sg(c[g>>2]|0,34,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,35,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,36,f)|0)){d=0;i=m;return d|0}h=c[g>>2]|0;j=tg(h)|0;g=ug(h)|0;if(j){k=0;e=1;while(1){if(!e)e=0;else e=(Ra[c[g>>2]&63](a,d,f)|0)!=0;k=k+1|0;if((k|0)==(j|0))break;else{g=g+4|0;e=e&1}}vg(h);if(!e){d=0;i=m;return d|0}}else vg(h);g=a+188|0;if(!(sg(c[g>>2]|0,37,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,38,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,39,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,40,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,41,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,42,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,43,f)|0)){d=0;i=m;return d|0}e=a+88|0;if(((b[e>>1]|0)+-3&65535)<4){if(!(sg(c[g>>2]|0,44,f)|0)){d=0;i=m;return d|0}if((b[e>>1]|0)==4?(sg(c[g>>2]|0,45,f)|0)==0:0){d=0;i=m;return d|0}}if(!(sg(c[g>>2]|0,46,f)|0)){d=0;i=m;return d|0}if((c[a+108>>2]|0)!=0?(sg(c[g>>2]|0,47,f)|0)==0:0){d=0;i=m;return d|0}if((b[e>>1]&256)!=0?(sg(c[g>>2]|0,48,f)|0)==0:0){d=0;i=m;return d|0}if((c[a+196>>2]|0)!=0?(sg(c[g>>2]|0,49,f)|0)==0:0){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,50,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,51,f)|0)){d=0;i=m;return d|0}k=c[g>>2]|0;h=tg(k)|0;g=ug(k)|0;if(!h)g=1;else{j=0;e=g;g=1;while(1){if(!g)g=0;else g=(Ra[c[e>>2]&63](a,d,f)|0)!=0;g=g&1;j=j+1|0;if((j|0)==(h|0))break;else e=e+4|0}}vg(k);d=g;i=m;return d|0}function rd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q+40|0;p=q+32|0;n=q+24|0;l=q+16|0;j=q+8|0;h=q;k=a+200|0;if((c[k>>2]|0)==(b|0)){m=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[j>>2]=b+1;c[j+4>>2]=m;Ub(g,4,10866,j)|0;c[a+12>>2]=0;m=a+204|0;j=c[m>>2]|0;c[j+12>>2]=c[(c[a+164>>2]|0)+(b*5640|0)+5588>>2];c[a+8>>2]=0;if(_f(j,c[k>>2]|0,g)|0){h=c[m>>2]|0;a:do{if(c[(c[h+24>>2]|0)+16>>2]|0){j=0;while(1){if(!(Zf((c[(c[c[h+20>>2]>>2]|0)+20>>2]|0)+(j*52|0)|0)|0))break;j=j+1|0;h=c[m>>2]|0;if(j>>>0>=(c[(c[h+24>>2]|0)+16>>2]|0)>>>0)break a}Ub(g,1,10887,n)|0;p=0;i=q;return p|0}}while(0);if(!(fg(h,d,e)|0)){Ub(g,1,10964,p)|0;p=0;i=q;return p|0}if(Ad(a,f,g)|0){p=1;i=q;return p|0}c[o>>2]=b;Ub(g,1,11101,o)|0;p=0;i=q;return p|0}}else Ub(g,1,10829,h)|0;c[l>>2]=b;Ub(g,1,11044,l)|0;p=0;i=q;return p|0}function sd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;f=a+5164|0;b=c[f>>2]|0;if(b){g=a+5160|0;d=c[g>>2]|0;if(d){e=0;while(1){b=c[b+(e<<3)>>2]|0;if(b){Uc(b);d=c[g>>2]|0}e=e+1|0;if(e>>>0>=d>>>0)break;b=c[f>>2]|0}b=c[f>>2]|0}c[g>>2]=0;Uc(b);c[f>>2]=0}b=a+5172|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5584|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5608|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5604|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5624|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0;c[a+5632>>2]=0;c[a+5628>>2]=0}i=a+5612|0;b=c[i>>2]|0;if(b){h=a+5616|0;d=c[h>>2]|0;if(d){g=0;while(1){e=b+12|0;f=c[e>>2]|0;if(f){Uc(f);c[e>>2]=0;d=c[h>>2]|0}g=g+1|0;if(g>>>0>=d>>>0)break;else b=b+20|0}b=c[i>>2]|0}Uc(b);c[i>>2]=0}b=a+5600|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5592|0;d=c[b>>2]|0;if(!d)return;Uc(d);c[b>>2]=0;c[a+5596>>2]=0;return}function td(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ud(a,b,d){a=a|0;b=b|0;d=d|0;return(c[a+8>>2]|0)==0&(c[a+188>>2]|0)!=0&(c[a+192>>2]|0)!=0&1|0}function vd(d,e,f){d=d|0;e=e|0;f=f|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+224|0;X=Y+200|0;U=Y+192|0;T=Y+184|0;Q=Y+176|0;P=Y+168|0;O=Y+160|0;M=Y+152|0;L=Y+144|0;K=Y+136|0;E=Y+128|0;J=Y+120|0;D=Y+112|0;B=Y+104|0;A=Y+96|0;z=Y+88|0;y=Y+80|0;I=Y+72|0;H=Y+64|0;x=Y+56|0;w=Y+48|0;v=Y+40|0;F=Y+32|0;p=Y+24|0;m=Y+16|0;l=Y+8|0;N=Y;S=Y+216|0;g=Y+204|0;G=Y+212|0;u=Y+208|0;W=d+8|0;c[W>>2]=1;a:do{if((Mb(e,S,2,f)|0)==2?(qb(S,g,2),(c[g>>2]|0)==65359):0){c[W>>2]=2;o=Pb(e)|0;o=Si(o|0,C|0,-2,-1)|0;n=C;V=d+196|0;h=c[V>>2]|0;c[h>>2]=o;c[h+4>>2]=n;h=N;c[h>>2]=o;c[h+4>>2]=n;Ub(f,4,15766,N)|0;h=c[V>>2]|0;n=c[h>>2]|0;o=h+24|0;g=c[o>>2]|0;k=h+32|0;j=c[k>>2]|0;do{if((g+1|0)>>>0>j>>>0){t=~~(+(j>>>0)+100.0)>>>0;c[k>>2]=t;g=h+28|0;h=Tc(c[g>>2]|0,t*24|0)|0;if(!h){Uc(c[g>>2]|0);c[g>>2]=0;c[k>>2]=0;c[o>>2]=0;Ub(f,1,15803,l)|0;break a}else{c[g>>2]=h;g=c[o>>2]|0;break}}else h=c[h+28>>2]|0}while(0);b[h+(g*24|0)>>1]=-177;s=Pi(0,n|0,32)|0;t=h+(g*24|0)+8|0;c[t>>2]=s;c[t+4>>2]=C;c[h+(g*24|0)+16>>2]=2;c[o>>2]=g+1;t=d+16|0;if((Mb(e,c[t>>2]|0,2,f)|0)!=2){Ub(f,1,8295,p)|0;f=0;i=Y;return f|0}qb(c[t>>2]|0,G,2);g=c[G>>2]|0;if((g|0)!=65424){s=d+20|0;q=0;j=0;r=0;b:while(1){if(g>>>0<65280){R=14;break}else l=784;while(1){h=c[l>>2]|0;k=(h|0)==0;if(k|(h|0)==(g|0))break;else l=l+12|0}if(k){Ub(f,2,15914,v)|0;m=2;c:while(1){do{if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=20;break b}qb(c[t>>2]|0,N,2);g=c[N>>2]|0}while(g>>>0<65280);l=784;while(1){h=c[l>>2]|0;if((h|0)==0|(h|0)==(g|0)){k=l;g=l;break}else l=l+12|0}if(!(c[g+4>>2]&c[W>>2])){R=25;break b}if((h|0)>=65424){R=100;break}switch(h|0){case 0:break;default:{p=k;o=m;break c}}m=m+2|0}if((R|0)==100){R=0;switch(h|0){case 65424:{h=q;g=r;R=27;break b}default:{p=k;o=m}}}l=c[V>>2]|0;n=Pb(e)|0;n=n-o|0;k=l+24|0;g=c[k>>2]|0;h=l+32|0;m=c[h>>2]|0;if((g+1|0)>>>0>m>>>0){g=~~(+(m>>>0)+100.0)>>>0;c[h>>2]=g;l=l+28|0;g=Tc(c[l>>2]|0,g*24|0)|0;if(!g){j=l;g=l;R=32;break}c[l>>2]=g;h=g;g=c[k>>2]|0}else h=c[l+28>>2]|0;b[h+(g*24|0)>>1]=0;m=h+(g*24|0)+8|0;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;c[h+(g*24|0)+16>>2]=o;c[k>>2]=g+1;g=c[p>>2]|0;c[G>>2]=g;if((g|0)==65424){h=q;g=r;break}else k=784;while(1){h=c[k>>2]|0;if((h|0)==0|(h|0)==(g|0))break;else k=k+12|0}}else k=l;r=(h|0)==65361?1:r;q=(h|0)==65362?1:q;j=(h|0)==65372?1:j;if(!(c[k+4>>2]&c[W>>2])){R=38;break}if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=40;break}qb(c[t>>2]|0,u,2);h=(c[u>>2]|0)+-2|0;c[u>>2]=h;g=c[t>>2]|0;if(h>>>0>(c[s>>2]|0)>>>0){g=Tc(g,h)|0;if(!g){R=43;break}c[t>>2]=g;h=c[u>>2]|0;c[s>>2]=h}g=Mb(e,g,h,f)|0;if((g|0)!=(c[u>>2]|0)){R=46;break}if(!(Za[c[k+8>>2]&63](d,c[t>>2]|0,g,f)|0)){R=48;break}m=c[V>>2]|0;n=c[k>>2]|0;o=Pb(e)|0;p=c[u>>2]|0;o=-4-p+o|0;p=p+4|0;k=m+24|0;g=c[k>>2]|0;h=m+32|0;l=c[h>>2]|0;if((g+1|0)>>>0>l>>>0){g=~~(+(l>>>0)+100.0)>>>0;c[h>>2]=g;l=m+28|0;g=Tc(c[l>>2]|0,g*24|0)|0;if(!g){j=l;g=l;R=53;break}c[l>>2]=g;h=g;g=c[k>>2]|0}else h=c[m+28>>2]|0;b[h+(g*24|0)>>1]=n;n=h+(g*24|0)+8|0;c[n>>2]=o;c[n+4>>2]=((o|0)<0)<<31>>31;c[h+(g*24|0)+16>>2]=p;c[k>>2]=g+1;if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=55;break}qb(c[t>>2]|0,G,2);g=c[G>>2]|0;if((g|0)==65424){h=q;g=r;break}}switch(R|0){case 14:{c[F>>2]=g;Ub(f,1,15863,F)|0;f=0;i=Y;return f|0}case 20:{Ub(f,1,8295,w)|0;R=34;break}case 25:{Ub(f,1,8339,x)|0;R=34;break}case 27:{c[G>>2]=65424;break}case 32:{Uc(c[g>>2]|0);c[j>>2]=0;c[h>>2]=0;c[k>>2]=0;Ub(f,1,15803,H)|0;R=34;break}case 38:{Ub(f,1,8339,y)|0;f=0;i=Y;return f|0}case 40:{Ub(f,1,8295,z)|0;f=0;i=Y;return f|0}case 43:{Uc(c[t>>2]|0);c[t>>2]=0;c[s>>2]=0;Ub(f,1,8427,A)|0;f=0;i=Y;return f|0}case 46:{Ub(f,1,8295,B)|0;f=0;i=Y;return f|0}case 48:{Ub(f,1,15985,D)|0;f=0;i=Y;return f|0}case 53:{Uc(c[g>>2]|0);c[j>>2]=0;c[h>>2]=0;c[k>>2]=0;Ub(f,1,15803,J)|0;f=0;i=Y;return f|0}case 55:{Ub(f,1,8295,E)|0;f=0;i=Y;return f|0}}if((R|0)==34){Ub(f,1,15930,I)|0;f=0;i=Y;return f|0}if(g){if(!h){Ub(f,1,16090,L)|0;f=0;i=Y;return f|0}if(!j){Ub(f,1,16136,M)|0;f=0;i=Y;return f|0}d:do{if(a[d+184>>0]&1){s=d+120|0;do{if(c[s>>2]|0){n=d+124|0;o=0;g=0;h=0;e:do{j=c[n>>2]|0;k=c[j+(o<<3)>>2]|0;f:do{if(k){l=c[j+(o<<3)+4>>2]|0;j=g>>>0>>0;m=j?0:g-l|0;if((l|0)==(g|0)|j^1)g=m;else{k=j?k+g|0:k;g=l-g|0;while(1){if(g>>>0<4){R=70;break e}qb(k,N,4);j=g+-4|0;g=c[N>>2]|0;h=g+h|0;if(j>>>0>>0)break;if((j|0)==(g|0)){g=m;break f}else{k=k+(g+4)|0;g=j-g|0}}g=g-j|0}}}while(0);o=o+1|0}while(o>>>0<(c[s>>2]|0)>>>0);if((R|0)==70){Ub(f,1,16182,O)|0;break}if(!g)R=77;else Ub(f,1,16213,P)|0}else{h=0;R=77}}while(0);g:do{if((R|0)==77){j=Pc(h)|0;p=d+144|0;c[p>>2]=j;if(!j){Ub(f,1,13302,Q)|0;break}q=d+132|0;c[q>>2]=h;k=c[s>>2]|0;r=d+124|0;do{if(k){g=c[r>>2]|0;j=g;o=0;n=0;h=0;h:while(1){l=c[j+(o<<3)>>2]|0;if(!l)l=n;else{j=c[j+(o<<3)+4>>2]|0;g=(c[p>>2]|0)+h|0;i:do{if(n>>>0>>0){Ui(g|0,l|0,n|0)|0;h=h+n|0;if((j|0)==(n|0)){l=0;break}m=l+n|0;g=j-n|0;while(1){if(g>>>0<4){R=88;break h}qb(m,S,4);l=m+4|0;k=g+-4|0;j=c[S>>2]|0;g=(c[p>>2]|0)+h|0;if(k>>>0>>0){j=l;break}Ui(g|0,l|0,j|0)|0;g=c[S>>2]|0;h=g+h|0;if((k|0)==(g|0)){l=0;break i}else{m=m+(g+4)|0;g=k-g|0}}Ui(g|0,j|0,k|0)|0;l=(c[S>>2]|0)-k|0;h=k+h|0}else{Ui(g|0,l|0,j|0)|0;l=n-j|0;h=j+h|0}}while(0);Uc(c[(c[r>>2]|0)+(o<<3)>>2]|0);j=c[r>>2]|0;c[j+(o<<3)>>2]=0;c[j+(o<<3)+4>>2]=0;k=c[s>>2]|0;g=j}o=o+1|0;if(o>>>0>=k>>>0){R=94;break}else n=l}if((R|0)==88){Ub(f,1,16182,T)|0;break g}else if((R|0)==94){j=c[p>>2]|0;h=c[q>>2]|0;break}}else g=c[r>>2]|0}while(0);c[d+128>>2]=j;c[d+152>>2]=h;c[s>>2]=0;Uc(g);c[r>>2]=0;break d}}while(0);Ub(f,1,16236,U)|0;f=0;i=Y;return f|0}}while(0);Ub(f,4,16262,X)|0;X=Pb(e)|0;f=(c[V>>2]|0)+8|0;c[f>>2]=X+-2;c[f+4>>2]=0;c[W>>2]=8;f=1;i=Y;return f|0}}Ub(f,1,16044,K)|0;f=0;i=Y;return f|0}}while(0);Ub(f,1,15839,m)|0;f=0;i=Y;return f|0}function wd(b,d,e){b=b|0;d=d|0;e=e|0;var f=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+16|0;F=G;D=c[b+80>>2]|0;E=b+88|0;A=_(c[b+112>>2]|0,c[b+116>>2]|0)|0;q=c[D+16>>2]|0;o=q*1080|0;p=c[b+12>>2]|0;q=_(q<<2,q)|0;a:do{if(A){r=p+5604|0;s=p+5620|0;t=p+5612|0;u=p+5616|0;v=p+5632|0;w=p+5624|0;x=p+5584|0;B=0;C=c[b+164>>2]|0;b:while(1){k=C+5584|0;y=c[k>>2]|0;Ui(C|0,p|0,5640)|0;d=C+5636|0;a[d>>0]=a[d>>0]&-4;c[C+5168>>2]=0;d=C+5604|0;c[d>>2]=0;l=C+5620|0;c[l>>2]=0;z=C+5612|0;c[z>>2]=0;m=C+5632|0;c[m>>2]=0;n=C+5624|0;c[n>>2]=0;c[k>>2]=y;if(c[r>>2]|0){f=Pc(q)|0;c[d>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[r>>2]|0,q|0)|0}d=(c[s>>2]|0)*20|0;f=Pc(d)|0;c[z>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[t>>2]|0,d|0)|0;d=c[u>>2]|0;if(d){h=0;j=c[z>>2]|0;k=c[t>>2]|0;while(1){g=k+12|0;if(c[g>>2]|0){d=k+16|0;f=Pc(c[d>>2]|0)|0;c[j+12>>2]=f;if(!f){d=0;f=25;break b}Ui(f|0,c[g>>2]|0,c[d>>2]|0)|0;d=c[u>>2]|0}c[l>>2]=(c[l>>2]|0)+1;h=h+1|0;if(h>>>0>=d>>>0)break;else{j=j+20|0;k=k+20|0}}}d=(c[v>>2]|0)*20|0;f=Pc(d)|0;c[n>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[w>>2]|0,d|0)|0;c[m>>2]=c[v>>2];h=c[v>>2]|0;if(h){j=0;f=c[n>>2]|0;g=c[w>>2]|0;while(1){d=c[g+8>>2]|0;if(d)c[f+8>>2]=(c[z>>2]|0)+(((d-(c[t>>2]|0)|0)/20|0)*20|0);d=c[g+12>>2]|0;if(d)c[f+12>>2]=(c[z>>2]|0)+(((d-(c[t>>2]|0)|0)/20|0)*20|0);j=j+1|0;if(j>>>0>=h>>>0)break;else{f=f+20|0;g=g+20|0}}}Ui(y|0,c[x>>2]|0,o|0)|0;B=B+1|0;if(B>>>0>=A>>>0)break a;else C=C+5640|0}if((f|0)==25){i=G;return d|0}}}while(0);f=Tf(1)|0;d=b+204|0;c[d>>2]=f;if(!f){e=0;i=G;return e|0}if(Xf(f,D,E)|0){e=1;i=G;return e|0}Yf(c[d>>2]|0);c[d>>2]=0;Ub(e,1,8839,F)|0;e=0;i=G;return e|0}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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;w=i;i=i+128|0;u=w+120|0;t=w+112|0;s=w+104|0;r=w+96|0;q=w+88|0;p=w+80|0;o=w+72|0;n=w+64|0;m=w+56|0;l=w+48|0;k=w+40|0;j=w+32|0;h=w+24|0;g=w+16|0;f=w+8|0;e=w;if(!a){i=w;return}ki(12191,17,1,d)|0;c[e>>2]=c[a>>2];$h(d,12209,e)|0;c[f>>2]=c[a+4>>2];$h(d,12222,f)|0;c[g>>2]=c[a+8>>2];$h(d,12234,g)|0;c[h>>2]=c[a+16>>2];$h(d,12251,h)|0;if((b|0)>0){g=a+5584|0;h=0;do{f=c[g>>2]|0;c[j>>2]=h;$h(d,12262,j)|0;c[k>>2]=c[f+(h*1080|0)>>2];$h(d,12276,k)|0;a=f+(h*1080|0)+4|0;c[l>>2]=c[a>>2];$h(d,12290,l)|0;c[m>>2]=c[f+(h*1080|0)+8>>2];$h(d,12313,m)|0;c[n>>2]=c[f+(h*1080|0)+12>>2];$h(d,12329,n)|0;c[o>>2]=c[f+(h*1080|0)+16>>2];$h(d,12345,o)|0;c[p>>2]=c[f+(h*1080|0)+20>>2];$h(d,12362,p)|0;ki(12377,23,1,d)|0;if(c[a>>2]|0){e=0;do{x=c[f+(h*1080|0)+944+(e<<2)>>2]|0;c[q>>2]=c[f+(h*1080|0)+812+(e<<2)>>2];c[q+4>>2]=x;$h(d,12401,q)|0;e=e+1|0}while(e>>>0<(c[a>>2]|0)>>>0)}ai(10,d)|0;x=f+(h*1080|0)+24|0;c[r>>2]=c[x>>2];$h(d,12410,r)|0;c[s>>2]=c[f+(h*1080|0)+804>>2];$h(d,12425,s)|0;ki(12442,20,1,d)|0;if((c[x>>2]|0)!=1){a=(c[a>>2]|0)*3|0;if((a|0)>2){a=a+-2|0;v=8}}else{a=1;v=8}if((v|0)==8){v=0;e=0;do{x=c[f+(h*1080|0)+28+(e<<3)>>2]|0;c[t>>2]=c[f+(h*1080|0)+28+(e<<3)+4>>2];c[t+4>>2]=x;$h(d,12401,t)|0;e=e+1|0}while((e|0)!=(a|0))}ai(10,d)|0;c[u>>2]=c[f+(h*1080|0)+808>>2];$h(d,12463,u)|0;ki(12480,5,1,d)|0;h=h+1|0}while((h|0)!=(b|0))}ki(10321,4,1,d)|0;i=w;return}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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,A=0,B=0;B=i;i=i+80|0;u=B+32|0;v=B+24|0;y=B+16|0;x=B+8|0;o=B+64|0;w=B+60|0;n=B+56|0;q=B+52|0;s=B+48|0;r=B+44|0;t=B+40|0;p=B+36|0;c[o>>2]=1;e=Pc(1e3)|0;if(!e){Ub(d,1,12127,B)|0;d=0;i=B;return d|0}z=a+116|0;A=a+112|0;k=a+204|0;l=a+84|0;m=a+8|0;f=1e3;j=0;while(1){if(!(cd(a,w,n,q,s,r,t,p,o,b,d)|0)){g=5;break}if(!(c[o>>2]|0)){g=17;break}h=c[n>>2]|0;if(h>>>0>f>>>0){f=Tc(e,h)|0;if(!f){g=9;break}else{e=f;g=h}}else g=f;f=c[w>>2]|0;if(!(dd(a,f,e,h,b,d)|0)){g=11;break}f=f+1|0;h=_(c[A>>2]|0,c[z>>2]|0)|0;c[v>>2]=f;c[v+4>>2]=h;Ub(d,4,11986,v)|0;h=c[k>>2]|0;if(!(ce(c[(c[c[h+20>>2]>>2]|0)+20>>2]|0,c[h+24>>2]|0,e,c[(c[l>>2]|0)+24>>2]|0)|0)){g=13;break}c[u>>2]=f;Ub(d,4,12016,u)|0;h=Qb(b)|0;if((h|0)==0&(C|0)==0?(c[m>>2]|0)==64:0){g=17;break}j=j+1|0;if((j|0)==(_(c[A>>2]|0,c[z>>2]|0)|0)){g=17;break}else f=g}if((g|0)==5){Uc(e);d=0;i=B;return d|0}else if((g|0)==9){Uc(e);A=_(c[A>>2]|0,c[z>>2]|0)|0;c[x>>2]=(c[w>>2]|0)+1;c[x+4>>2]=A;Ub(d,1,11946,x)|0;d=0;i=B;return d|0}else if((g|0)==11){Uc(e);A=_(c[A>>2]|0,c[z>>2]|0)|0;c[y>>2]=f+1;c[y+4>>2]=A;Ub(d,1,12162,y)|0;d=0;i=B;return d|0}else if((g|0)==13){Uc(e);d=0;i=B;return d|0}else if((g|0)==17){Uc(e);d=1;i=B;return d|0}return 0}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;y=G+56|0;D=G+48|0;x=G+40|0;z=G+32|0;E=G+24|0;k=G+16|0;j=G+8|0;r=G+92|0;B=G+88|0;q=G+84|0;t=G+80|0;v=G+76|0;u=G+72|0;w=G+68|0;s=G+64|0;c[r>>2]=1;e=Pc(1e3)|0;if(!e){Ub(d,1,11880,G)|0;F=0;i=G;return F|0}A=a+196|0;g=c[A>>2]|0;f=c[g+40>>2]|0;a:do{if(!f){f=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[g+36>>2]=f;f=Qc(f,40)|0;g=c[A>>2]|0;c[g+40>>2]=f;b:do{if(f){if(c[g+36>>2]|0){h=0;do{c[f+(h*40|0)+28>>2]=100;c[f+(h*40|0)+20>>2]=0;p=Qc(100,24)|0;g=c[A>>2]|0;f=c[g+40>>2]|0;c[f+(h*40|0)+24>>2]=p;h=h+1|0;if(!p)break b}while(h>>>0<(c[g+36>>2]|0)>>>0)}g=c[a+60>>2]|0;if(!f)break a;else{F=12;break a}}}while(0);Uc(e);F=0;i=G;return F|0}else{g=c[a+60>>2]|0;F=12}}while(0);if((F|0)==12)if(c[f+16>>2]|0){if(!(c[f+(g*40|0)+4>>2]|0)){p=a+64|0;p=Si(c[p>>2]|0,c[p+4>>2]|0,2,0)|0;if(!(xb(b,p,C,d)|0)){Ub(d,1,11918,j)|0;Uc(e);F=0;i=G;return F|0}}else{p=c[f+(g*40|0)+16>>2]|0;p=Si(c[p>>2]|0,c[p+4>>2]|0,2,0)|0;if(!(xb(b,p,C,d)|0)){Ub(d,1,11918,k)|0;Uc(e);F=0;i=G;return F|0}}f=a+8|0;if((c[f>>2]|0)==256)c[f>>2]=8}c:do{if(cd(a,B,q,t,v,u,w,s,r,b,d)|0){o=a+116|0;p=a+112|0;l=a+204|0;m=a+84|0;n=g+1|0;f=1e3;while(1){if(!(c[r>>2]|0))break;k=c[q>>2]|0;if(k>>>0>f>>>0){f=Tc(e,k)|0;if(!f){F=26;break}else{e=f;j=k}}else j=f;h=c[B>>2]|0;if(!(dd(a,h,e,k,b,d)|0)){F=28;break}f=h+1|0;k=_(c[p>>2]|0,c[o>>2]|0)|0;c[z>>2]=f;c[z+4>>2]=k;Ub(d,4,11986,z)|0;k=c[l>>2]|0;if(!(ce(c[(c[c[k+20>>2]>>2]|0)+20>>2]|0,c[k+24>>2]|0,e,c[(c[m>>2]|0)+24>>2]|0)|0)){F=30;break}c[x>>2]=f;Ub(d,4,12016,x)|0;if((h|0)==(g|0)){F=32;break}c[y>>2]=f;c[y+4>>2]=n;Ub(d,2,12060,y)|0;if(!(cd(a,B,q,t,v,u,w,s,r,b,d)|0))break c;else f=j}if((F|0)==26){Uc(e);F=_(c[p>>2]|0,c[o>>2]|0)|0;c[E>>2]=(c[B>>2]|0)+1;c[E+4>>2]=F;Ub(d,1,11946,E)|0;F=0;i=G;return F|0}else if((F|0)==28){Uc(e);F=0;i=G;return F|0}else if((F|0)==30){Uc(e);F=0;i=G;return F|0}else if((F|0)==32){F=(c[A>>2]|0)+8|0;F=Si(c[F>>2]|0,c[F+4>>2]|0,2,0)|0;if(!(xb(b,F,C,d)|0)){Ub(d,1,11918,D)|0;Uc(e);F=0;i=G;return F|0}}Uc(e);F=1;i=G;return F|0}}while(0);Uc(e);F=0;i=G;return F|0}function Ad(a,d,e){a=a|0;d=d|0;e=e|0;var f=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;H=i;i=i+32|0;D=H+16|0;t=H+8|0;l=H;C=H+20|0;E=c[a+40>>2]|0;G=a+36|0;n=c[G>>2]|0;o=a+204|0;k=c[o>>2]|0;c[k+16>>2]=0;B=a+8|0;c[B>>2]=0;c[C>>2]=0;pb(n,65424,2);pb(n+2|0,10,2);F=a+200|0;pb(n+4|0,c[F>>2]|0,2);z=a+12|0;pb(n+10|0,c[z>>2]|0,1);A=a+164|0;pb(n+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=12;h=n+12|0;f=E+-12|0;m=a+88|0;if(((b[m>>1]|0)+-3&65535)>=4?(g=c[F>>2]|0,j=c[A>>2]|0,(c[j+(g*5640|0)+420>>2]|0)!=0):0){c[C>>2]=0;_d(c[(c[a+80>>2]|0)+16>>2]|0,j,g,h,C);y=c[C>>2]|0;g=y+12|0;h=n+g|0;f=f-y|0}else g=12;c[C>>2]=0;pb(h,65427,2);c[k+4>>2]=c[B>>2];y=c[z>>2]|0;c[k+8>>2]=y;if(!y)c[(c[c[k+20>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(k,c[F>>2]|0,h+2|0,C,f+-4|0,0)|0)){Ub(e,1,11860,l)|0;d=0;i=H;return d|0}f=(c[C>>2]|0)+2|0;c[C>>2]=f;f=f+g|0;pb(n+6|0,f,4);if(((b[m>>1]|0)+-3&65535)<4){y=a+28|0;pb(c[y>>2]|0,c[F>>2]|0,1);x=(c[y>>2]|0)+1|0;c[y>>2]=x;pb(x,f,4);c[y>>2]=(c[y>>2]|0)+4}g=n+f|0;y=E-f|0;v=c[o>>2]|0;w=a+88|0;r=c[A>>2]|0;s=c[F>>2]|0;m=be(w,0,s)|0;x=a+8|0;c[z>>2]=(c[z>>2]|0)+1;a:do{if(m>>>0>1){n=v+4|0;o=v+8|0;p=v+20|0;q=a+28|0;j=g;g=y;f=0;l=1;while(1){c[x>>2]=l;c[C>>2]=0;pb(j,65424,2);pb(j+2|0,10,2);pb(j+4|0,c[F>>2]|0,2);pb(j+10|0,c[z>>2]|0,1);pb(j+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=0;pb(j+12|0,65427,2);c[n>>2]=c[B>>2];k=c[z>>2]|0;c[o>>2]=k;if(!k)c[(c[c[p>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(v,c[F>>2]|0,j+14|0,C,g+-16|0,0)|0))break;I=c[C>>2]|0;J=I+2|0;c[C>>2]=J;k=I+14|0;h=j+k|0;f=f+12+J|0;g=g+-12+(-2-I)|0;pb(j+6|0,k,4);if(((b[w>>1]|0)+-3&65535)<4){pb(c[q>>2]|0,c[F>>2]|0,1);J=(c[q>>2]|0)+1|0;c[q>>2]=J;pb(J,k,4);c[q>>2]=(c[q>>2]|0)+4}c[z>>2]=(c[z>>2]|0)+1;l=l+1|0;if(l>>>0>=m>>>0){u=12;break a}else j=h}Ub(e,1,11860,t)|0}else{h=g;g=y;f=0;u=12}}while(0);b:do{if((u|0)==12){p=r+(s*5640|0)+420|0;c:do{if(c[p>>2]|0){q=v+16|0;r=v+4|0;s=v+8|0;t=v+20|0;o=a+28|0;n=1;d:while(1){c[q>>2]=n;m=be(w,n,c[F>>2]|0)|0;if(m){l=0;while(1){c[x>>2]=l;c[C>>2]=0;pb(h,65424,2);pb(h+2|0,10,2);pb(h+4|0,c[F>>2]|0,2);pb(h+10|0,c[z>>2]|0,1);pb(h+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=0;pb(h+12|0,65427,2);c[r>>2]=c[B>>2];J=c[z>>2]|0;c[s>>2]=J;if(!J)c[(c[c[t>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(v,c[F>>2]|0,h+14|0,C,g+-16|0,0)|0))break d;J=c[C>>2]|0;j=J+2|0;c[C>>2]=j;f=f+12+j|0;j=J+14|0;k=h+j|0;g=g+-12+(-2-J)|0;pb(h+6|0,j,4);if(((b[w>>1]|0)+-3&65535)<4){pb(c[o>>2]|0,c[F>>2]|0,1);J=(c[o>>2]|0)+1|0;c[o>>2]=J;pb(J,j,4);c[o>>2]=(c[o>>2]|0)+4}c[z>>2]=(c[z>>2]|0)+1;l=l+1|0;if(l>>>0>=m>>>0){h=k;break}else h=k}}n=n+1|0;if(n>>>0>(c[p>>2]|0)>>>0)break c}Ub(e,1,11860,D)|0;break b}}while(0);J=f-y+E|0;if((Nb(d,c[G>>2]|0,J,e)|0)!=(J|0)){J=0;i=H;return J|0}c[F>>2]=(c[F>>2]|0)+1;J=1;i=H;return J|0}}while(0);J=0;i=H;return J|0}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;a=a+44|0;pb(c[a>>2]|0,65497,2);if((Nb(b,c[a>>2]|0,2,d)|0)!=2){b=0;return b|0}b=(Ob(b,d)|0)!=0&1;return b|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=(c[a+32>>2]|0)*5|0;i=a+16|0;i=Si(c[i>>2]|0,c[i+4>>2]|0,6,0)|0;h=C;e=Pb(b)|0;f=C;if(!(Sb(b,i,h,d)|0)){i=0;return i|0}if((Nb(b,c[a+24>>2]|0,g,d)|0)!=(g|0)){i=0;return i|0}i=(Sb(b,e,f,d)|0)!=0&1;return i|0}function Dd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+196>>2]|0;if(!a)return 1;b=Pb(b)|0;d=a;d=Oi(b|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;b=a+16|0;c[b>>2]=d;c[b+4>>2]=C;return 1}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;d=a+204|0;Yf(c[d>>2]|0);c[d>>2]=0;d=a+24|0;b=c[d>>2]|0;if(b){Uc(b);c[d>>2]=0;c[a+28>>2]=0}d=a+36|0;b=c[d>>2]|0;if(!b){a=a+40|0;c[a>>2]=0;return 1}Uc(b);c[d>>2]=0;a=a+40|0;c[a>>2]=0;return 1}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;d=a+44|0;b=c[d>>2]|0;if(b){Uc(b);c[d>>2]=0}c[a+48>>2]=0;return 1}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=(c[a+8>>2]|0)==0&(c[a+188>>2]|0)!=0&(c[a+192>>2]|0)!=0&1;b=(c[(c[(c[a+164>>2]|0)+5584>>2]|0)+4>>2]|0)+-1|0;if(b>>>0>31){Ub(d,1,11790,f)|0;d=0;i=f;return d|0}b=1<>2]|0)>>>0>>0){Ub(d,1,11790,f+8|0)|0;d=0;i=f;return d|0}if((c[a+104>>2]|0)>>>0>=b>>>0){d=e;i=f;return d|0}Ub(d,1,11790,f+16|0)|0;d=0;i=f;return d|0}function Id(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((b[a+88>>1]&-32256)<<16>>16!=-32256){j=1;return j|0}i=_(c[a+112>>2]|0,c[a+116>>2]|0)|0;if(!i){j=1;return j|0}h=a+80|0;j=0;e=1;g=c[a+164>>2]|0;while(1){if((c[g+16>>2]|0)==2){e=(c[g+5608>>2]|0)!=0&e;a=c[(c[h>>2]|0)+16>>2]|0;if(a){f=0;d=c[g+5584>>2]|0;while(1){e=(c[d+20>>2]&1^1)&e;f=f+1|0;if(f>>>0>=a>>>0)break;else d=d+1080|0}}}j=j+1|0;if((j|0)==(i|0))break;else g=g+5640|0}return e|0}function Jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+88|0;h=a+32|0;i=c[a+80>>2]|0;j=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[h>>2]=0;if(!j)return 1;e=c[a+164>>2]|0;f=0;while(1){Nf(i,g,f);b=e+420|0;d=0;a=0;do{k=be(g,a,f)|0;c[h>>2]=(c[h>>2]|0)+k;d=k+d|0;a=a+1|0}while(a>>>0<=(c[b>>2]|0)>>>0);c[e+5588>>2]=d;f=f+1|0;if((f|0)==(j|0))break;else e=e+5640|0}return 1}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+44>>2]|0;pb(a,65359,2);return(Nb(b,a,2,d)|0)==2|0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+16|0;j=p;k=c[a+80>>2]|0;n=k+16|0;l=(c[n>>2]|0)*3|0;o=l+40|0;f=c[k+24>>2]|0;h=a+48|0;m=a+44|0;g=c[m>>2]|0;do{if(o>>>0>(c[h>>2]|0)>>>0){g=Tc(g,o)|0;if(g){c[m>>2]=g;c[h>>2]=o;break}Uc(c[m>>2]|0);c[m>>2]=0;c[h>>2]=0;Ub(d,1,11752,j)|0;b=0;i=p;return b|0}}while(0);pb(g,65361,2);pb(g+2|0,l+38|0,2);pb(g+4|0,e[a+88>>1]|0,2);pb(g+6|0,c[k+8>>2]|0,4);pb(g+10|0,c[k+12>>2]|0,4);pb(g+14|0,c[k>>2]|0,4);pb(g+18|0,c[k+4>>2]|0,4);pb(g+22|0,c[a+100>>2]|0,4);pb(g+26|0,c[a+104>>2]|0,4);pb(g+30|0,c[a+92>>2]|0,4);pb(g+34|0,c[a+96>>2]|0,4);pb(g+38|0,c[n>>2]|0,2);if(c[n>>2]|0){h=0;g=g+40|0;while(1){pb(g,(c[f+24>>2]|0)+-1+(c[f+32>>2]<<7)|0,1);pb(g+1|0,c[f>>2]|0,1);pb(g+2|0,c[f+4>>2]|0,1);h=h+1|0;if(h>>>0>=(c[n>>2]|0)>>>0)break;else{g=g+3|0;f=f+52|0}}}b=(Nb(b,c[m>>2]|0,o,d)|0)==(o|0)&1;i=p;return b|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;q=r+16|0;p=r+8|0;j=r;o=r+20|0;k=a+200|0;l=c[k>>2]|0;m=a+164|0;n=c[m>>2]|0;e=c[n+(l*5640|0)+5584>>2]|0;if(!(c[e>>2]&1))g=5;else g=(c[e+4>>2]|0)+5|0;h=g+9|0;c[o>>2]=h;f=a+48|0;a=a+44|0;e=c[a>>2]|0;do{if(h>>>0>(c[f>>2]|0)>>>0){e=Tc(e,h)|0;if(e){c[a>>2]=e;c[f>>2]=h;break}Uc(c[a>>2]|0);c[a>>2]=0;c[f>>2]=0;Ub(d,1,11687,j)|0;q=0;i=r;return q|0}}while(0);pb(e,65362,2);pb(e+2|0,g+7|0,2);pb(e+4|0,c[n+(l*5640|0)>>2]|0,1);pb(e+5|0,c[n+(l*5640|0)+4>>2]|0,1);pb(e+6|0,c[n+(l*5640|0)+8>>2]|0,2);pb(e+8|0,c[n+(l*5640|0)+16>>2]|0,1);c[o>>2]=g;if(!(ae(c[m>>2]|0,c[k>>2]|0,e+9|0,o,d)|0)){Ub(d,1,11726,p)|0;q=0;i=r;return q|0}if(!(c[o>>2]|0)){q=(Nb(b,c[a>>2]|0,h,d)|0)==(h|0)&1;i=r;return q|0}else{Ub(d,1,11726,q)|0;q=0;i=r;return q|0}return 0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;o=p+16|0;n=p+8|0;j=p;l=p+20|0;k=a+200|0;m=a+164|0;e=c[(c[m>>2]|0)+((c[k>>2]|0)*5640|0)+5584>>2]|0;f=c[e+24>>2]|0;if((f|0)==1)e=1;else e=((c[e+4>>2]|0)*3|0)+-2|0;g=(f|0)==0?e+1|0:e<<1|1;h=g+4|0;c[l>>2]=h;f=a+48|0;a=a+44|0;e=c[a>>2]|0;do{if(h>>>0>(c[f>>2]|0)>>>0){e=Tc(e,h)|0;if(e){c[a>>2]=e;c[f>>2]=h;break}Uc(c[a>>2]|0);c[a>>2]=0;c[f>>2]=0;Ub(d,1,11622,j)|0;o=0;i=p;return o|0}}while(0);pb(e,65372,2);pb(e+2|0,g+2|0,2);c[l>>2]=g;if(!($d(c[m>>2]|0,c[k>>2]|0,0,e+4|0,l,d)|0)){Ub(d,1,11661,n)|0;o=0;i=p;return o|0}if(!(c[l>>2]|0)){o=(Nb(b,c[a>>2]|0,h,d)|0)==(h|0)&1;i=p;return o|0}else{Ub(d,1,11661,o)|0;o=0;i=p;return o|0}return 0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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;w=i;i=i+16|0;u=w;r=w+4|0;o=a+80|0;e=c[(c[o>>2]|0)+16>>2]|0;if(e>>>0<=1){v=1;i=w;return v|0}s=a+164|0;t=a+200|0;q=a+48|0;n=a+44|0;m=1;while(1){h=c[s>>2]|0;k=c[t>>2]|0;g=c[h+(k*5640|0)+5584>>2]|0;j=c[g+(m*1080|0)>>2]|0;a:do{if((((((c[g>>2]|0)==(j|0)?(p=c[g+4>>2]|0,(p|0)==(c[g+(m*1080|0)+4>>2]|0)):0)?(c[g+8>>2]|0)==(c[g+(m*1080|0)+8>>2]|0):0)?(c[g+12>>2]|0)==(c[g+(m*1080|0)+12>>2]|0):0)?(c[g+16>>2]|0)==(c[g+(m*1080|0)+16>>2]|0):0)?(c[g+20>>2]|0)==(c[g+(m*1080|0)+20>>2]|0):0){if(p){a=0;do{if((c[g+812+(a<<2)>>2]|0)!=(c[g+(m*1080|0)+812+(a<<2)>>2]|0)){v=13;break a}if((c[g+944+(a<<2)>>2]|0)!=(c[g+(m*1080|0)+944+(a<<2)>>2]|0)){v=13;break a}a=a+1|0}while(a>>>0

>>0)}}else v=13}while(0);if((v|0)==13){v=0;if(!(j&1))a=5;else a=(c[g+(m*1080|0)+4>>2]|0)+5|0;l=a+(e>>>0<257?6:7)|0;f=c[n>>2]|0;if(l>>>0>(c[q>>2]|0)>>>0){a=Tc(f,l)|0;if(!a){v=17;break}c[n>>2]=a;c[q>>2]=l;k=c[t>>2]|0;h=c[s>>2]|0;g=c[h+(k*5640|0)+5584>>2]|0;e=c[(c[o>>2]|0)+16>>2]|0;j=c[g+(m*1080|0)>>2]|0;f=a}e=e>>>0<257?1:2;if(!(j&1))a=5;else a=(c[g+(m*1080|0)+4>>2]|0)+5|0;pb(f,65363,2);pb(f+2|0,e+3+a|0,2);pb(f+4|0,m,e);j=e|4;pb(f+j|0,c[(c[h+(k*5640|0)+5584>>2]|0)+(m*1080|0)>>2]|0,1);c[r>>2]=a;ae(c[s>>2]|0,c[t>>2]|0,f+(j+1)|0,r,d)|0;if((Nb(b,c[n>>2]|0,l,d)|0)!=(l|0)){a=0;v=24;break}e=c[(c[o>>2]|0)+16>>2]|0}m=m+1|0;if(m>>>0>=e>>>0){a=1;v=24;break}}if((v|0)==17){Uc(c[n>>2]|0);c[n>>2]=0;c[q>>2]=0;Ub(d,1,11548,u)|0;v=0;i=w;return v|0}else if((v|0)==24){i=w;return a|0}return 0}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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;t=i;i=i+16|0;r=t;o=t+4|0;m=a+80|0;e=c[(c[m>>2]|0)+16>>2]|0;if(e>>>0<=1){s=1;i=t;return s|0}p=a+164|0;q=a+200|0;n=a+48|0;l=a+44|0;k=1;while(1){j=c[(c[p>>2]|0)+((c[q>>2]|0)*5640|0)+5584>>2]|0;g=c[j+24>>2]|0;h=c[j+(k*1080|0)+24>>2]|0;a:do{if((g|0)==(h|0)?(c[j+804>>2]|0)==(c[j+(k*1080|0)+804>>2]|0):0){if((g|0)!=1){f=(c[j+4>>2]|0)*3|0;a=f+-2|0;if((f|0)!=((c[j+(k*1080|0)+4>>2]|0)*3|0)){s=14;break}if(!a)break}else a=1;f=0;do{if((c[j+28+(f<<3)>>2]|0)!=(c[j+(k*1080|0)+28+(f<<3)>>2]|0)){s=14;break a}f=f+1|0}while(f>>>0>>0);if(g){f=0;do{if((c[j+28+(f<<3)+4>>2]|0)!=(c[j+(k*1080|0)+28+(f<<3)+4>>2]|0)){s=14;break a}f=f+1|0}while(f>>>0>>0)}}else s=14}while(0);if((s|0)==14){s=0;if((h|0)==1)a=1;else a=((c[j+(k*1080|0)+4>>2]|0)*3|0)+-2|0;g=((h|0)==0?a+1|0:a<<1|1)+5+(e>>>0>256&1)|0;a=c[l>>2]|0;if(g>>>0>(c[n>>2]|0)>>>0){a=Tc(a,g)|0;if(!a){s=18;break}c[l>>2]=a;c[n>>2]=g;e=c[(c[p>>2]|0)+((c[q>>2]|0)*5640|0)+5584>>2]|0;f=c[e+(k*1080|0)+24>>2]|0}else{f=h;e=j}if((f|0)==1)e=1;else e=((c[e+(k*1080|0)+4>>2]|0)*3|0)+-2|0;f=(f|0)==0?e+1|0:e<<1|1;c[o>>2]=f+6;pb(a,65373,2);e=a+2|0;if((c[(c[m>>2]|0)+16>>2]|0)>>>0<257){pb(e,f+3|0,2);pb(a+4|0,k,1);a=a+5|0}else{pb(e,f+4|0,2);pb(a+4|0,k,2);a=a+6|0}c[o>>2]=f;$d(c[p>>2]|0,c[q>>2]|0,k,a,o,d)|0;if((Nb(b,c[l>>2]|0,g,d)|0)!=(g|0)){a=0;s=28;break}e=c[(c[m>>2]|0)+16>>2]|0}k=k+1|0;if(k>>>0>=e>>>0){a=1;s=28;break}}if((s|0)==18){Uc(c[l>>2]|0);c[l>>2]=0;c[n>>2]=0;Ub(d,1,11476,r)|0;s=0;i=t;return s|0}else if((s|0)==28){i=t;return a|0}return 0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l;h=(c[a+32>>2]|0)*5|0;j=h+6|0;f=a+48|0;k=a+44|0;e=c[k>>2]|0;do{if(j>>>0>(c[f>>2]|0)>>>0){e=Tc(e,j)|0;if(e){c[k>>2]=e;c[f>>2]=j;break}Uc(c[k>>2]|0);c[k>>2]=0;c[f>>2]=0;Ub(d,1,11437,g)|0;b=0;i=l;return b|0}}while(0);g=Pb(b)|0;a=a+16|0;c[a>>2]=g;c[a+4>>2]=C;pb(e,65365,2);pb(e+2|0,h+4|0,2);pb(e+4|0,0,1);pb(e+5|0,80,1);b=(Nb(b,c[k>>2]|0,j,d)|0)==(j|0)&1;i=l;return b|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;j=q;p=q+4|0;c[p>>2]=0;m=a+200|0;e=c[m>>2]|0;l=a+164|0;f=c[l>>2]|0;k=a+80|0;h=c[(c[k>>2]|0)+16>>2]|0;o=(_(h>>>0<257?7:9,(c[f+(e*5640|0)+420>>2]|0)+1|0)|0)+4|0;g=a+48|0;n=a+44|0;a=c[n>>2]|0;do{if(o>>>0>(c[g>>2]|0)>>>0){e=Tc(a,o)|0;if(e){c[n>>2]=e;c[g>>2]=o;g=e;a=c[(c[k>>2]|0)+16>>2]|0;f=c[l>>2]|0;e=c[m>>2]|0;break}Uc(c[n>>2]|0);c[n>>2]=0;c[g>>2]=0;Ub(d,1,11398,j)|0;b=0;i=q;return b|0}else{g=a;a=h}}while(0);_d(a,f,e,g,p);b=(Nb(b,c[n>>2]|0,o,d)|0)==(o|0)&1;i=q;return b|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+164|0;j=a+80|0;f=c[j>>2]|0;e=c[f+16>>2]|0;if(!e){b=1;return b|0}h=a+44|0;a=0;g=c[(c[i>>2]|0)+5584>>2]|0;while(1){if(c[g+808>>2]|0){k=c[(c[i>>2]|0)+5584>>2]|0;m=e>>>0<257?1:2;f=m+6|0;l=c[h>>2]|0;pb(l,65374,2);e=m|4;pb(l+2|0,e,2);pb(l+4|0,a,m);pb(l+e|0,0,1);pb(l+(e+1)|0,c[k+(a*1080|0)+808>>2]|0,1);if((Nb(b,c[h>>2]|0,f,d)|0)!=(f|0)){a=0;e=7;break}f=c[j>>2]|0}a=a+1|0;e=c[f+16>>2]|0;if(a>>>0>=e>>>0){a=1;e=7;break}else g=g+1080|0}if((e|0)==7)return a|0;return 0}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l;h=c[a+108>>2]|0;j=wi(h)|0;k=j+6|0;e=a+48|0;f=a+44|0;a=c[f>>2]|0;do{if(k>>>0>(c[e>>2]|0)>>>0){a=Tc(a,k)|0;if(a){c[f>>2]=a;c[e>>2]=k;break}Uc(c[f>>2]|0);c[f>>2]=0;c[e>>2]=0;Ub(d,1,11355,g)|0;b=0;i=l;return b|0}}while(0);pb(a,65380,2);pb(a+2|0,j+4|0,2);pb(a+4|0,1,2);Ui(a+6|0,h|0,j|0)|0;b=(Nb(b,c[f>>2]|0,k,d)|0)==(k|0)&1;i=l;return b|0}function Ud(b,d,e){b=b|0;d=d|0;e=e|0;var f=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,A=0;A=i;i=i+32|0;w=A+24|0;t=A+16|0;o=A+8|0;g=A;j=c[b+80>>2]|0;k=j+16|0;h=c[k>>2]|0;l=h+6|0;v=b+48|0;z=b+44|0;f=c[z>>2]|0;do{if(l>>>0>(c[v>>2]|0)>>>0){f=Tc(f,l)|0;if(f){c[z>>2]=f;c[v>>2]=l;break}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11199,g)|0;d=0;i=A;return d|0}}while(0);pb(f,65400,2);pb(f+2|0,h+4|0,2);pb(f+4|0,c[k>>2]|0,2);if(c[k>>2]|0){h=0;g=c[j+24>>2]|0;f=f+6|0;while(1){pb(f,(c[g+24>>2]|0)+-1|c[g+32>>2]<<7,1);h=h+1|0;if(h>>>0>=(c[k>>2]|0)>>>0)break;else{g=g+52|0;f=f+1|0}}}if((Nb(d,c[z>>2]|0,l,e)|0)!=(l|0)){d=0;i=A;return d|0}q=b+200|0;n=c[q>>2]|0;r=b+164|0;m=c[r>>2]|0;g=m+(n*5640|0)+5616|0;a:do{if(c[g>>2]|0){l=0;b=c[m+(n*5640|0)+5612>>2]|0;while(1){h=b+16|0;j=c[h>>2]|0;k=j+10|0;f=c[z>>2]|0;if(k>>>0>(c[v>>2]|0)>>>0){f=Tc(f,k)|0;if(!f)break;c[z>>2]=f;c[v>>2]=k}pb(f,65396,2);pb(f+2|0,j+8|0,2);pb(f+4|0,0,2);pb(f+6|0,c[b+4>>2]<<8|c[b+8>>2]&255|c[b>>2]<<10,2);pb(f+8|0,0,2);Ui(f+10|0,c[b+12>>2]|0,c[h>>2]|0)|0;if((Nb(d,c[z>>2]|0,k,e)|0)!=(k|0)){s=0;x=42;break}l=l+1|0;if(l>>>0>=(c[g>>2]|0)>>>0)break a;else b=b+20|0}if((x|0)==42){i=A;return s|0}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11238,o)|0;d=0;i=A;return d|0}}while(0);o=m+(n*5640|0)+5628|0;b:do{if(c[o>>2]|0){p=0;m=c[m+(n*5640|0)+5624>>2]|0;while(1){l=m+4|0;g=c[l>>2]|0;j=g>>>0>255;k=j?2:1;j=j?32768:0;g=_(k,g<<1)|0;b=g+19|0;f=c[z>>2]|0;if(b>>>0>(c[v>>2]|0)>>>0){f=Tc(f,b)|0;if(!f)break;c[z>>2]=f;c[v>>2]=b}pb(f,65397,2);pb(f+2|0,g+17|0,2);pb(f+4|0,0,2);pb(f+6|0,c[m>>2]|0,1);pb(f+7|0,0,2);pb(f+9|0,1,2);pb(f+11|0,1,1);pb(f+12|0,c[l>>2]|j,2);f=f+14|0;if(!(c[l>>2]|0))g=0;else{h=0;do{pb(f,h,k);f=f+k|0;h=h+1|0;g=c[l>>2]|0}while(h>>>0>>0)}pb(f,g|j,2);f=f+2|0;if(!(c[l>>2]|0))h=f;else{g=0;do{pb(f,g,k);f=f+k|0;g=g+1|0}while(g>>>0<(c[l>>2]|0)>>>0);h=f}f=((a[m+16>>0]^1)&255)<<16&65536;g=c[m+8>>2]|0;if(g)f=c[g+8>>2]|f;g=c[m+12>>2]|0;if(g)f=c[g+8>>2]<<8|f;pb(h,f,3);if((Nb(d,c[z>>2]|0,b,e)|0)!=(b|0)){s=0;x=42;break}p=p+1|0;if(p>>>0>=(c[o>>2]|0)>>>0)break b;else m=m+20|0}if((x|0)==42){i=A;return s|0}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11277,t)|0;d=0;i=A;return d|0}}while(0);k=c[q>>2]|0;j=c[r>>2]|0;l=j+(k*5640|0)+5628|0;g=c[l>>2]|0;b=g+5|0;f=c[z>>2]|0;do{if(b>>>0>(c[v>>2]|0)>>>0){f=Tc(f,b)|0;if(!f){Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11316,w)|0;u=1;break}else{c[z>>2]=f;c[v>>2]=b;y=f;x=37;break}}else{y=f;x=37}}while(0);if((x|0)==37){pb(y,65399,2);pb(y+2|0,g+3|0,2);pb(y+4|0,c[l>>2]|0,1);if(c[l>>2]|0){h=0;g=y+5|0;f=c[j+(k*5640|0)+5624>>2]|0;while(1){pb(g,c[f>>2]|0,1);h=h+1|0;if(h>>>0>=(c[l>>2]|0)>>>0)break;else{g=g+1|0;f=f+20|0}}}u=(Nb(d,c[z>>2]|0,b,e)|0)!=(b|0)}d=u&1^1;i=A;return d|0}function Vd(a,b,d){a=a|0;b=b|0;d=d|0;d=Pb(b)|0;b=(c[a+196>>2]|0)+8|0;c[b>>2]=d;c[b+4>>2]=C;return 1}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;b=Tf(0)|0;e=a+204|0;c[e>>2]=b;if(!b){Ub(d,1,11159,f)|0;d=0;i=f;return d|0}if(Xf(b,c[a+80>>2]|0,a+88|0)|0){d=1;i=f;return d|0}Yf(c[e>>2]|0);c[e>>2]=0;d=0;i=f;return d|0}function Xd(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;O=d+80|0;E=c[O>>2]|0;P=d+164|0;i=c[P>>2]|0;N=E+24|0;F=c[N>>2]|0;f=c[F>>2]|0;h=c[F+4>>2]|0;M=E+16|0;F=_(c[F+24>>2]|0,c[M>>2]|0)|0;D=Pb(e)|0;q=d+116|0;l=c[q>>2]|0;r=d+112|0;e=c[r>>2]|0;G=(+(D>>>0)+4294967296.0*+(C|0))/+((_(e,l)|0)>>>0);D=(a[d+181>>0]&8)==0?1:2;if(l){s=d+92|0;u=d+100|0;v=d+96|0;y=d+104|0;z=E+4|0;A=E+8|0;B=E+12|0;x=+((_(f<<3,h)|0)>>>0);m=e;f=e;p=0;e=i;do{o=p;p=p+1|0;if(!f)f=0;else{m=0;do{w=+Sa[D&3](e);l=c[e+8>>2]|0;w=w/+(l>>>0);Q=c[s>>2]|0;i=c[u>>2]|0;k=(_(i,m)|0)+Q|0;f=c[E>>2]|0;f=(k|0)>(f|0)?k:f;k=c[v>>2]|0;j=c[y>>2]|0;R=(_(j,o)|0)+k|0;h=c[z>>2]|0;h=(R|0)>(h|0)?R:h;m=m+1|0;Q=(_(i,m)|0)+Q|0;i=c[A>>2]|0;i=(Q|0)<(i|0)?Q:i;k=(_(j,p)|0)+k|0;j=c[B>>2]|0;j=(k|0)<(j|0)?k:j;k=e+20|0;n=+g[k>>2];if(n!=0.0)g[k>>2]=+((_(_(i-f|0,F)|0,j-h|0)|0)>>>0)/(x*n)-w;if(l>>>0>1){n=+((_(_(i-f|0,F)|0,j-h|0)|0)>>>0);f=1;h=e+24|0;while(1){t=+g[h>>2];if(t!=0.0)g[h>>2]=n/(x*t)-w;f=f+1|0;if(f>>>0>=l>>>0)break;else h=h+4|0}}e=e+5640|0;f=c[r>>2]|0}while(m>>>0>>0);l=c[q>>2]|0;m=f}}while(p>>>0>>0);if(!l)l=0;else{s=(m|0)==0;t=G+2.0;v=m>>>0>1?m:1;u=0;f=c[P>>2]|0;do{if(!s){p=f+16|0;q=0;r=f;while(1){e=r+20|0;n=+g[e>>2];if(n!=0.0?(x=n-G,g[e>>2]=x,x<30.0):0)g[e>>2]=30.0;j=r+24|0;e=c[r+8>>2]|0;o=e+-1|0;n=+g[j>>2];h=n!=0.0;if(o>>>0>1){k=p+(e<<2)|0;i=1;e=j;do{if(h?(x=n-G,g[e>>2]=x,I=+g[e+-4>>2],x>2]=I+20.0;e=e+4|0;i=i+1|0;n=+g[e>>2];h=n!=0.0}while((i|0)!=(o|0));if(h){H=n;K=k;L=29}}else if(h){H=n;K=j;L=29}if((L|0)==29?(L=0,x=H-t,g[K>>2]=x,J=+g[K+-4>>2],x>2]=J+20.0;q=q+1|0;if(q>>>0>=m>>>0)break;else{p=p+5640|0;r=r+5640|0}}f=f+(v*5640|0)|0}u=u+1|0}while(u>>>0>>0)}}else{m=e;l=0}h=c[M>>2]|0;if(!h)u=0;else{i=(c[d+100>>2]|0)+-1|0;j=(c[d+104>>2]|0)+-1|0;k=0;e=c[N>>2]|0;f=0;while(1){R=c[e>>2]|0;Q=c[e+4>>2]|0;R=_(((j+Q|0)>>>0)/(Q>>>0)|0,((i+R|0)>>>0)/(R>>>0)|0)|0;f=(_(R,c[e+24>>2]|0)|0)+f|0;k=k+1|0;if(k>>>0>=h>>>0)break;else e=e+52|0}u=~~(+(f>>>0)*.1625)>>>0}o=c[(c[O>>2]|0)+16>>2]|0;q=o+-1|0;s=_(l,m)|0;p=(s|0)==0;if(p)i=0;else{e=0;f=0;h=c[P>>2]|0;while(1){R=c[h+5588>>2]|0;f=f>>>0>R>>>0?f:R;e=e+1|0;if((e|0)==(s|0))break;else h=h+5640|0}i=f*12|0}r=d+88|0;if(((b[r>>1]|0)+-3&65535)>=4){if(p){e=0;f=0}else{m=(o|0)==0;k=0;f=0;do{if(!m){h=c[(c[P>>2]|0)+(k*5640|0)+5584>>2]|0;j=0;do{if(!(c[h+(j*1080|0)>>2]&1))e=5;else e=(c[h+(j*1080|0)+4>>2]|0)+5|0;f=f>>>0>e>>>0?f:e;j=j+1|0}while((j|0)!=(o|0))}k=k+1|0}while((k|0)!=(s|0));l=0;e=0;do{if(!m){j=c[(c[P>>2]|0)+(l*5640|0)+5584>>2]|0;k=0;do{if(!(c[j+(k*1080|0)>>2]&1))h=5;else h=(c[j+(k*1080|0)+4>>2]|0)+5|0;e=e>>>0>h>>>0?e:h;k=k+1|0}while((k|0)!=(o|0))}l=l+1|0}while((l|0)!=(s|0))}i=(_(f+12+e|0,q)|0)+i|0}if(p)f=13;else{h=0;f=0;e=c[P>>2]|0;while(1){R=c[e+420>>2]|0;f=f>>>0>R>>>0?f:R;h=h+1|0;if((h|0)==(s|0))break;else e=e+5640|0}f=(f*9|0)+13|0}R=i+u+f|0;c[d+40>>2]=R;R=Pc(R)|0;c[d+36>>2]=R;if(!R){R=0;return R|0}if(((b[r>>1]|0)+-3&65535)>=4){R=1;return R|0}f=Pc((c[d+32>>2]|0)*5|0)|0;c[d+24>>2]=f;if(!f){R=0;return R|0}c[d+28>>2]=f;R=1;return R|0}function Yd(a){a=a|0;return 0.0}function Zd(a){a=a|0;return+ +((((c[a+5588>>2]|0)*14|0)+-14|0)>>>0)}function _d(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=c[b+(d*5640|0)+5584>>2]|0;q=(c[b+(d*5640|0)+420>>2]|0)+1|0;j=a>>>0<257?1:2;p=_(q,(j<<1)+5|0)|0;r=p+4|0;pb(e,65375,2);pb(e+2|0,p+2|0,2);if(!q){c[f>>2]=r;return}k=j+1|0;l=j+3|0;m=j|4;n=m+j|0;o=n+1|0;p=b+(d*5640|0)+8|0;h=g+4|0;i=0;e=e+4|0;g=b+(d*5640|0)+424|0;while(1){pb(e,c[g>>2]|0,1);pb(e+1|0,c[g+4>>2]|0,j);t=g+8|0;pb(e+k|0,c[t>>2]|0,2);b=g+12|0;pb(e+l|0,c[b>>2]|0,1);d=g+16|0;pb(e+m|0,c[d>>2]|0,j);pb(e+n|0,c[g+36>>2]|0,1);u=c[t>>2]|0;s=c[p>>2]|0;c[t>>2]=(u|0)<(s|0)?u:s;t=c[b>>2]|0;s=c[h>>2]|0;c[b>>2]=(t|0)<(s|0)?t:s;b=c[d>>2]|0;c[d>>2]=(b|0)<(a|0)?b:a;i=i+1|0;if((i|0)==(q|0))break;else{e=e+o|0;g=g+148|0}}c[f>>2]=r;return}function $d(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+8|0;j=n;l=c[a+(b*5640|0)+5584>>2]|0;b=c[l+(d*1080|0)+24>>2]|0;do{if((b|0)!=1){a=(c[l+(d*1080|0)+4>>2]|0)*3|0;h=a+-2|0;if(!b){a=a+-1|0;if((c[f>>2]|0)>>>0>>0){Ub(g,1,11515,j)|0;f=0;i=n;return f|0}else{pb(e,c[l+(d*1080|0)+804>>2]<<5,1);if(!h)break;else b=0;do{e=e+1|0;pb(e,c[l+(d*1080|0)+28+(b<<3)>>2]<<3,1);b=b+1|0}while((b|0)!=(h|0))}}else m=7}else{h=1;b=1;m=7}}while(0);if((m|0)==7){a=h<<1|1;if((c[f>>2]|0)>>>0>>0){Ub(g,1,11515,k)|0;f=0;i=n;return f|0}pb(e,(c[l+(d*1080|0)+804>>2]<<5)+b|0,1);if(h){e=e+1|0;b=0;while(1){pb(e,(c[l+(d*1080|0)+28+(b<<3)>>2]<<11)+(c[l+(d*1080|0)+28+(b<<3)+4>>2]|0)|0,2);b=b+1|0;if((b|0)==(h|0))break;else e=e+2|0}}}c[f>>2]=(c[f>>2]|0)-a;f=1;i=n;return f|0}function ae(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=c[a+(b*5640|0)+5584>>2]|0;if((c[e>>2]|0)>>>0<5){Ub(f,1,11587,j)|0;e=0;i=j;return e|0}h=g+4|0;pb(d,(c[h>>2]|0)+-1|0,1);pb(d+1|0,(c[g+8>>2]|0)+-2|0,1);pb(d+2|0,(c[g+12>>2]|0)+-2|0,1);pb(d+3|0,c[g+16>>2]|0,1);pb(d+4|0,c[g+20>>2]|0,1);b=(c[e>>2]|0)+-5|0;c[e>>2]=b;if(!(c[g>>2]&1)){e=1;i=j;return e|0}a=c[h>>2]|0;if(b>>>0>>0){Ub(f,1,11587,j+8|0)|0;e=0;i=j;return e|0}if(!a)a=0;else{b=d+5|0;d=0;while(1){pb(b,(c[g+944+(d<<2)>>2]<<4)+(c[g+812+(d<<2)>>2]|0)|0,1);d=d+1|0;a=c[h>>2]|0;if(d>>>0>=a>>>0)break;else b=b+1|0}b=c[e>>2]|0}c[e>>2]=b-a;e=1;i=j;return e|0}function be(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=c[b+76>>2]|0;g=c[i+(f*5640|0)+4>>2]|0;h=696;while(1){m=c[h>>2]|0;if((m|0)==-1|(m|0)==(g|0))break;else h=h+12|0}if(!(a[b+93>>0]&8)){b=1;return b|0}m=d[b+92>>0]|0;j=i+(f*5640|0)+424+(e*148|0)+92|0;k=i+(f*5640|0)+424+(e*148|0)+88|0;l=i+(f*5640|0)+424+(e*148|0)+96|0;e=i+(f*5640|0)+424+(e*148|0)+84|0;i=a[h+4>>0]|0;switch(i|0){case 67:{g=c[j>>2]|0;break}case 82:{g=c[k>>2]|0;break}case 80:{g=c[l>>2]|0;break}case 76:{g=c[e>>2]|0;break}default:g=1}if((m|0)!=(i|0)){i=a[h+5>>0]|0;switch(i|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)!=(i|0)){i=a[h+6>>0]|0;switch(i|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)!=(i|0)){h=a[h+7>>0]|0;switch(h|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)==(h|0))h=3;else{b=g;return b|0}}else h=2}else h=1}else h=0;c[b+84>>2]=h;b=g;return b|0}function ce(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=g+16|0;if(!(c[B>>2]|0)){B=1;return B|0}A=0;z=c[g+24>>2]|0;while(1){k=i+44|0;j=c[k>>2]|0;l=i+8|0;if(!j){g=i+12|0;j=Qc(_(c[g>>2]|0,c[l>>2]|0)|0,4)|0;c[k>>2]=j;if(!j){h=0;i=61;break}}else g=i+12|0;q=z+36|0;c[i+36>>2]=c[q>>2];x=c[z+24>>2]|0;t=c[f+24>>2]|0;q=c[q>>2]|0;x=((x&7|0)!=0&1)+(x>>>3)|0;x=(x|0)==3?4:x;n=c[t+(q*136|0)+8>>2]|0;m=c[t+(q*136|0)>>2]|0;v=n-m|0;s=c[t+(q*136|0)+12>>2]|0;q=c[t+(q*136|0)+4>>2]|0;t=s-q|0;k=c[i+16>>2]|0;p=c[i+40>>2]|0;o=Ri(1,0,p|0)|0;w=C;k=Si(k|0,0,-1,-1)|0;k=Si(k|0,C|0,o|0,w|0)|0;k=Ti(k|0,C|0,p|0)|0;r=Si(c[i+20>>2]|0,0,-1,-1)|0;w=Si(r|0,C|0,o|0,w|0)|0;p=Ti(w|0,C|0,p|0)|0;w=c[l>>2]|0;l=k+w|0;o=c[g>>2]|0;r=p+o|0;do{if(k>>>0>>0){g=m-k|0;if(n>>>0>l>>>0){y=l-m|0;u=0;m=v-y|0;n=g}else{u=0;m=0;n=g;y=v}}else{g=k-m|0;if(n>>>0>l>>>0){u=g;m=n-l|0;n=0;y=w;break}else{u=g;m=0;n=0;y=v-g|0;break}}}while(0);do{if(p>>>0>>0){l=q-p|0;if(s>>>0>r>>>0){k=r-q|0;o=k;g=0;k=t-k|0}else{o=t;g=0;k=0}}else{g=p-q|0;if(s>>>0>r>>>0){k=s-r|0;l=0;break}else{o=t-g|0;k=0;l=0;break}}}while(0);if((u|m|y|k|g|o|0)<0){h=0;i=61;break}g=(_(g,v)|0)+u|0;q=u+m|0;r=(_(k,v)|0)-u|0;p=w-y|0;j=j+((_(w,l)|0)+n<<2)|0;switch(x|0){case 1:{h=h+g|0;g=(o|0)==0;if(!(c[z+32>>2]|0)){if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=d[j>>0];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+1|0}}g=l;h=h+y|0}h=h+q|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}}else if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=a[j>>0];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+1|0}}g=l;h=h+y|0}h=h+q|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+r|0;break}case 2:{h=h+(g<<1)|0;g=(o|0)==0;if(!(c[z+32>>2]|0)){if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=e[j>>1];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+2|0}}g=l;h=h+(y<<1)|0}h=h+(q<<1)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}}else if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=b[j>>1];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+2|0}}g=l;h=h+(y<<1)|0}h=h+(q<<1)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+(r<<1)|0;break}case 4:{h=h+(g<<2)|0;if(o){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=c[j>>2];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+4|0}}g=l;h=h+(y<<2)|0}h=h+(q<<2)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+(r<<2)|0;break}default:{}}A=A+1|0;if(A>>>0>=(c[B>>2]|0)>>>0){h=1;i=61;break}else{i=i+52|0;z=z+52|0;f=f+52|0}}if((i|0)==61)return h|0;return 0}function de(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;z=i;i=i+112|0;x=z+88|0;u=z+80|0;v=z+72|0;t=z+64|0;q=z+56|0;p=z+48|0;m=z+40|0;k=z+32|0;j=z+24|0;h=z+16|0;r=z+100|0;s=z+96|0;w=z+92|0;c[s>>2]=0;y=b+200|0;if((f|0)!=8){Ub(g,1,8662,z)|0;Ub(g,1,8662,z+8|0)|0;g=0;i=z;return g|0}qb(e,y,2);qb(e+2|0,r,4);qb(e+6|0,w,1);qb(e+7|0,s,1);l=c[y>>2]|0;e=c[b+112>>2]|0;if(l>>>0>=(_(c[b+116>>2]|0,e)|0)>>>0){c[h>>2]=l;Ub(g,1,15258,h)|0;g=0;i=z;return g|0}f=c[b+164>>2]|0;o=(l>>>0)%(e>>>0)|0;n=(l>>>0)/(e>>>0)|0;e=c[r>>2]|0;do{if((e+-1|0)>>>0<13){if((e|0)==12){c[j>>2]=12;Ub(g,2,15282,j)|0;e=c[r>>2]|0;break}c[k>>2]=e;Ub(g,1,15319,k)|0;g=0;i=z;return g|0}}while(0);if(!e){Ub(g,4,15380,m)|0;c[b+72>>2]=1}e=c[s>>2]|0;do{if(!e)e=c[f+(l*5640|0)+5588>>2]|0;else{e=((d[b+76>>0]|0)>>>4&1)+e|0;c[s>>2]=e;h=f+(l*5640|0)+5588|0;j=c[h>>2]|0;f=c[w>>2]|0;if((j+-1|0)>>>0>>0){c[p>>2]=f;c[p+4>>2]=j;Ub(g,1,15491,p)|0;c[b+72>>2]=1;g=0;i=z;return g|0}if(f>>>0>>0){c[h>>2]=e;break}c[q>>2]=f;c[q+4>>2]=e;Ub(g,1,15590,q)|0;c[b+72>>2]=1;g=0;i=z;return g|0}}while(0);if((e|0)!=0?(e|0)==((c[w>>2]|0)+1|0):0){q=b+76|0;a[q>>0]=a[q>>0]|1}c[b+24>>2]=(c[b+72>>2]|0)==0?(c[r>>2]|0)+-12|0:0;c[b+8>>2]=16;e=c[b+60>>2]|0;if((e|0)==-1){if((o>>>0>=(c[b+28>>2]|0)>>>0?o>>>0<(c[b+36>>2]|0)>>>0:0)?n>>>0>=(c[b+32>>2]|0)>>>0:0)e=(n>>>0>=(c[b+40>>2]|0)>>>0&1)<<2&255;else e=4;r=b+76|0;a[r>>0]=a[r>>0]&-5|e}else{r=b+76|0;a[r>>0]=((c[y>>2]|0)!=(e|0)&1)<<2&255|a[r>>0]&-5}k=b+196|0;e=c[k>>2]|0;if(!e){g=1;i=z;return g|0}j=c[y>>2]|0;e=c[e+40>>2]|0;c[e+(j*40|0)>>2]=j;c[e+(j*40|0)+12>>2]=c[w>>2];f=c[s>>2]|0;if(f){c[e+(j*40|0)+4>>2]=f;c[e+(j*40|0)+8>>2]=c[s>>2];e=c[e+(j*40|0)+16>>2]|0;if(!e){x=Qc(c[s>>2]|0,24)|0;c[(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16>>2]=x;if(x){g=1;i=z;return g|0}Ub(g,1,15698,t)|0;g=0;i=z;return g|0}e=Tc(e,(c[s>>2]|0)*24|0)|0;f=(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16|0;if(!e){Uc(c[f>>2]|0);c[(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16>>2]=0;Ub(g,1,15698,v)|0;g=0;i=z;return g|0}else{c[f>>2]=e;g=1;i=z;return g|0}}if(!(c[e+(j*40|0)+16>>2]|0)){c[e+(j*40|0)+8>>2]=10;v=Qc(10,24)|0;f=c[y>>2]|0;e=c[(c[k>>2]|0)+40>>2]|0;c[e+(f*40|0)+16>>2]=v;if(!v){c[e+(f*40|0)+8>>2]=0;Ub(g,1,15698,u)|0;g=0;i=z;return g|0}else j=f}f=c[w>>2]|0;h=e+(j*40|0)+8|0;if(f>>>0<(c[h>>2]|0)>>>0){g=1;i=z;return g|0}f=f+1|0;c[h>>2]=f;e=Tc(c[e+(j*40|0)+16>>2]|0,f*24|0)|0;f=(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16|0;if(!e){Uc(c[f>>2]|0);y=c[y>>2]|0;w=c[(c[k>>2]|0)+40>>2]|0;c[w+(y*40|0)+16>>2]=0;c[w+(y*40|0)+8>>2]=0;Ub(g,1,15698,x)|0;g=0;i=z;return g|0}else{c[f>>2]=e;g=1;i=z;return g|0}return 0}function ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;p=s+48|0;q=s+40|0;k=s+32|0;n=s+56|0;j=s+52|0;c[n>>2]=e;r=b+80|0;l=c[r>>2]|0;o=b+8|0;if((c[o>>2]|0)==16)m=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else m=c[b+12>>2]|0;g=m+5636|0;h=a[g>>0]|0;if(h&1){Ub(f,1,15025,s)|0;r=0;i=s;return r|0}a[g>>0]=h|1;if(e>>>0<5){Ub(f,1,15089,s+8|0)|0;r=0;i=s;return r|0}qb(d,m,1);if((c[m>>2]|0)>>>0>7){Ub(f,1,15115,s+16|0)|0;r=0;i=s;return r|0}qb(d+1|0,j,1);j=c[j>>2]|0;g=m+4|0;c[g>>2]=j;if((j|0)>4){Ub(f,1,15149,s+24|0)|0;c[g>>2]=-1}g=m+8|0;qb(d+2|0,g,2);g=c[g>>2]|0;if((g+-1|0)>>>0>65534){c[k>>2]=g;Ub(f,1,15190,k)|0;r=0;i=s;return r|0}k=c[b+172>>2]|0;c[m+12>>2]=(k|0)==0?g:k;qb(d+4|0,m+16|0,1);k=d+5|0;c[n>>2]=e+-5;j=c[l+16>>2]|0;if(j){d=c[m>>2]&1;g=c[m+5584>>2]|0;h=0;do{c[g+(h*1080|0)>>2]=d;h=h+1|0}while(h>>>0>>0)}if(!(Fe(b,0,k,n,f)|0)){Ub(f,1,15089,q)|0;r=0;i=s;return r|0}if(c[n>>2]|0){Ub(f,1,15089,p)|0;r=0;i=s;return r|0}if((c[o>>2]|0)==16)g=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else g=c[b+12>>2]|0;g=c[g+5584>>2]|0;e=g+4|0;h=c[e>>2]|0;m=h<<2;if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=1){r=1;i=s;return r|0}n=g+8|0;o=g+12|0;b=g+16|0;f=g+20|0;p=g+812|0;q=g+944|0;c[g+1084>>2]=h;j=c[n>>2]|0;c[g+1088>>2]=j;d=c[o>>2]|0;c[g+1092>>2]=d;k=c[b>>2]|0;c[g+1096>>2]=k;l=c[f>>2]|0;c[g+1100>>2]=l;Ui(g+1892|0,p|0,m|0)|0;Ui(g+2024|0,q|0,m|0)|0;if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=2){r=1;i=s;return r|0}c[g+2164>>2]=h;c[g+2168>>2]=j;c[g+2172>>2]=d;c[g+2176>>2]=k;c[g+2180>>2]=l;Ui(g+2972|0,p|0,m|0)|0;Ui(g+3104|0,q|0,m|0)|0;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>3)h=3;else{r=1;i=s;return r|0}while(1){j=c[n>>2]|0;d=c[o>>2]|0;k=c[b>>2]|0;l=c[f>>2]|0;c[g+3244>>2]=c[e>>2];c[g+3248>>2]=j;c[g+3252>>2]=d;c[g+3256>>2]=k;c[g+3260>>2]=l;Ui(g+4052|0,p|0,m|0)|0;Ui(g+4184|0,q|0,m|0)|0;h=h+1|0;if(h>>>0>=(c[(c[r>>2]|0)+16>>2]|0)>>>0){g=1;break}else g=g+1080|0}i=s;return g|0}function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+272|0;n=u;s=u+136|0;t=u+8|0;if(!a){t=0;i=u;return t|0}m=a+4|0;if((c[a>>2]|0)==(b|0)?(c[m>>2]|0)==(d|0):0)f=a+8|0;else{c[a>>2]=b;c[m>>2]=d;c[s>>2]=b;c[t>>2]=d;f=a+8|0;c[f>>2]=0;g=0;j=d;k=b;l=0;while(1){r=_(j,k)|0;k=(k+1|0)/2|0;h=l+1|0;c[s+(h<<2)>>2]=k;j=(j+1|0)/2|0;c[t+(h<<2)>>2]=j;g=g+r|0;if(r>>>0<=1)break;else l=h}c[f>>2]=g;if(!g){f=a+12|0;g=c[f>>2]|0;if(g){Uc(g);c[f>>2]=0}Uc(a);t=0;i=u;return t|0}h=g<<4;j=a+16|0;k=a+12|0;do{if(h>>>0>(c[j>>2]|0)>>>0){g=Tc(c[k>>2]|0,h)|0;if(g){c[k>>2]=g;d=c[j>>2]|0;Qi(g+d|0,0,h-d|0)|0;c[j>>2]=h;d=c[m>>2]|0;b=c[a>>2]|0;break}Ub(e,1,20166,n)|0;f=c[k>>2]|0;if(f){Uc(f);c[k>>2]=0}Uc(a);t=0;i=u;return t|0}}while(0);g=c[k>>2]|0;b=g+((_(d,b)|0)<<4)|0;if(l){r=0;d=b;do{p=c[t+(r<<2)>>2]|0;a:do{if((p|0)>0){q=c[s+(r<<2)>>2]|0;if((q|0)<=0){h=p+-1|0;j=0;while(1){o=(j&1|0)!=0|(j|0)==(h|0);k=o?d:b+(q<<4)|0;d=o?d:b;j=j+1|0;if((j|0)>=(p|0)){b=k;break a}else b=k}}o=((q+2+((q|0)<2?~q:-3)|0)>>>1)+1|0;e=p+-1|0;n=0;while(1){m=q;k=d;while(1){c[g>>2]=k;h=g+16|0;j=m;m=m+-2|0;if((m|0)>-1){c[h>>2]=k;g=g+32|0}else g=h;if((j|0)<=2)break;else k=k+16|0}d=d+(o<<4)|0;m=(n&1|0)!=0|(n|0)==(e|0);h=m?d:b+(q<<4)|0;d=m?d:b;n=n+1|0;if((n|0)>=(p|0)){b=h;break}else b=h}}}while(0);r=r+1|0}while((r|0)!=(l|0))}c[g>>2]=0}f=c[f>>2]|0;if(!f){t=a;i=u;return t|0}g=0;b=c[a+12>>2]|0;while(1){c[b+4>>2]=999;c[b+8>>2]=0;c[b+12>>2]=0;g=g+1|0;if((g|0)==(f|0))break;else b=b+16|0}i=u;return a|0}function mg(a){a=a|0;var b=0,d=0;if(!a)return;b=a+12|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}Uc(a);return}function ng(a,b,d){a=a|0;b=b|0;d=d|0;b=(c[a+12>>2]|0)+(b<<4)|0;if(!b)return;while(1){a=b+4|0;if((c[a>>2]|0)<=(d|0)){b=4;break}c[a>>2]=d;b=c[b>>2]|0;if(!b){b=4;break}}if((b|0)==4)return}function og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;j=k;d=(c[b+12>>2]|0)+(d<<4)|0;if(!(c[d>>2]|0)){f=0;g=j}else{f=d;b=j;while(1){g=b+4|0;c[b>>2]=d;d=c[f>>2]|0;if(!(c[d>>2]|0)){f=0;break}else{f=d;b=g}}}while(1){h=d+8|0;b=c[h>>2]|0;if((f|0)>(b|0)){c[h>>2]=f;b=f}a:do{if((b|0)<(e|0)){f=d+4|0;while(1){if((b|0)>=(c[f>>2]|0))break;Bg(a,0,1);b=b+1|0;if((b|0)>=(e|0)){d=b;break a}}d=d+12|0;if(!(c[d>>2]|0)){Bg(a,1,1);c[d>>2]=1;d=b}else d=b}else d=b}while(0);c[h>>2]=d;if((g|0)==(j|0))break;h=g+-4|0;f=d;d=c[h>>2]|0;g=h}i=k;return}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;j=k;d=(c[b+12>>2]|0)+(d<<4)|0;if(!(c[d>>2]|0)){b=0;g=j}else{f=d;b=j;while(1){g=b+4|0;c[b>>2]=d;d=c[f>>2]|0;if(!(c[d>>2]|0)){b=0;break}else{f=d;b=g}}}while(1){h=d+8|0;f=c[h>>2]|0;if((b|0)>(f|0))c[h>>2]=b;else b=f;d=d+4|0;a:do{if((b|0)<(e|0)){while(1){if((b|0)>=(c[d>>2]|0))break a;if(Cg(a,1)|0)break;b=b+1|0;if((b|0)>=(e|0))break a}c[d>>2]=b}}while(0);c[h>>2]=b;if((g|0)==(j|0))break;h=g+-4|0;d=c[h>>2]|0;g=h}i=k;return(c[d>>2]|0)<(e|0)|0}function qg(){var a=0,b=0;a=Qc(1,12)|0;if(!a){a=0;return a|0}c[a+4>>2]=10;b=Qc(10,4)|0;c[a+8>>2]=b;if(b){b=a;return b|0}Uc(a);b=0;return b|0}function rg(a){a=a|0;var b=0;if(!a)return;b=c[a+8>>2]|0;if(b)Uc(b);Uc(a);return}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=a+4|0;f=c[g>>2]|0;e=c[a>>2]|0;do{if((f|0)==(e|0)){f=f+10|0;c[g>>2]=f;e=a+8|0;f=Tc(c[e>>2]|0,f<<2)|0;if(f){c[e>>2]=f;e=c[a>>2]|0;break}Uc(c[e>>2]|0);c[g>>2]=0;c[a>>2]=0;Ub(d,1,20214,h)|0;a=0;i=j;return a|0}else f=c[a+8>>2]|0}while(0);c[f+(e<<2)>>2]=b;c[a>>2]=e+1;a=1;i=j;return a|0}function tg(a){a=a|0;return c[a>>2]|0}function ug(a){a=a|0;return c[a+8>>2]|0}function vg(a){a=a|0;c[a>>2]=0;return}function wg(){return Pc(20)|0}function xg(a){a=a|0;if(!a)return;Uc(a);return}function yg(a){a=a|0;return(c[a+8>>2]|0)-(c[a>>2]|0)|0}function zg(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=b+d;c[a+8>>2]=b;c[a+12>>2]=0;c[a+16>>2]=8;return}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=b+d;c[a+8>>2]=b;c[a+12>>2]=0;c[a+16>>2]=0;return}function Bg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!e)return;k=b+16|0;l=b+12|0;m=b+8|0;h=b+4|0;b=c[k>>2]|0;j=e+-1|0;do{i=d>>>j&1;if(!b){g=c[l>>2]|0;b=g<<8&65280;c[l>>2]=b;b=(b|0)==65280?7:8;c[k>>2]=b;f=c[m>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[m>>2]=f+1;a[f>>0]=g;b=c[k>>2]|0}}b=b+-1|0;c[k>>2]=b;c[l>>2]=i<>2];j=j+-1|0}while(j>>>0>>0);return}function Cg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!b){b=0;return b|0}j=a+16|0;k=a+12|0;l=a+8|0;h=a+4|0;e=c[j>>2]|0;f=c[k>>2]|0;i=b+-1|0;a=0;do{if(!e){g=f<<8&65280;c[k>>2]=g;e=(g|0)==65280?7:8;c[j>>2]=e;f=c[l>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[l>>2]=f+1;f=d[f>>0]|0|g;c[k>>2]=f}else f=g}e=e+-1|0;c[j>>2]=e;a=((f>>>e&1)<>>0>>0);return a|0}function Dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=b+12|0;d=c[f>>2]|0;i=d<<8&65280;c[f>>2]=i;g=b+16|0;c[g>>2]=(i|0)==65280?7:8;i=b+8|0;e=c[i>>2]|0;h=b+4|0;if(e>>>0>=(c[h>>2]|0)>>>0){i=0;return i|0}c[i>>2]=e+1;a[e>>0]=d;if((c[g>>2]|0)!=7){i=1;return i|0}d=c[f>>2]|0;b=d<<8&65280;c[f>>2]=b;c[g>>2]=(b|0)==65280?7:8;b=c[i>>2]|0;if(b>>>0>=(c[h>>2]|0)>>>0){i=0;return i|0}c[i>>2]=b+1;a[b>>0]=d;i=1;return i|0}function Eg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=a+12|0;b=c[h>>2]|0;do{if((b&255|0)==255){f=b<<8&65280;c[h>>2]=f;b=a+16|0;c[b>>2]=(f|0)==65280?7:8;g=a+8|0;e=c[g>>2]|0;if(e>>>0<(c[a+4>>2]|0)>>>0){c[g>>2]=e+1;c[h>>2]=d[e>>0]|0|f;break}else{a=0;return a|0}}else b=a+16|0}while(0);c[b>>2]=0;a=1;return a|0}function Fg(a){a=a|0;return Pg(a,1)|0}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=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,A=0,B=0,C=0,D=0;D=i;i=i+32|0;B=D+16|0;C=D;k=c[a+24>>2]|0;j=(c[k+8>>2]|0)-(c[k>>2]|0)|0;h=(c[k+12>>2]|0)-(c[k+4>>2]|0)|0;A=(c[a+8>>2]|0)-(c[a>>2]|0)|0;if((b|0)==1){C=1;i=D;return C|0}g=b+-1|0;f=(g|0)==0;if(f)b=0;else{d=k;e=g;b=0;do{z=d;d=d+136|0;y=(c[z+144>>2]|0)-(c[d>>2]|0)|0;b=b>>>0>>0?y:b;z=(c[z+148>>2]|0)-(c[z+140>>2]|0)|0;b=b>>>0>>0?z:b;e=e+-1|0}while((e|0)!=0);b=b<<2}z=Rc(b)|0;c[B>>2]=z;if(!z){C=0;i=D;return C|0}c[C>>2]=z;if(!f){s=a+32|0;t=B+8|0;u=C+8|0;v=B+4|0;w=B+12|0;x=C+4|0;y=C+12|0;do{q=c[s>>2]|0;n=k;k=k+136|0;c[t>>2]=j;c[u>>2]=h;o=c[n+144>>2]|0;p=c[k>>2]|0;e=j;j=o-p|0;b=c[n+148>>2]|0;n=n+140|0;r=c[n>>2]|0;d=h;h=b-r|0;c[v>>2]=j-e;c[w>>2]=(p|0)%2|0;r=(b|0)==(r|0);if(!r){m=j<<2;b=0;while(1){a=_(b,A)|0;l=q+(a<<2)|0;if(e){d=l;f=z+(c[w>>2]<<2)|0;while(1){e=e+-1|0;c[f>>2]=c[d>>2];if(!e)break;else{d=d+4|0;f=f+8|0}}}d=c[v>>2]|0;if(d){e=q+((c[t>>2]|0)+a<<2)|0;f=z+(1-(c[w>>2]|0)<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+4|0;f=f+8|0}}}Qg(B);Ui(l|0,z|0,m|0)|0;b=b+1|0;if((b|0)==(h|0))break;e=c[t>>2]|0}d=c[u>>2]|0;b=c[n>>2]|0}c[x>>2]=h-d;c[y>>2]=(b|0)%2|0;a:do{if((o|0)!=(p|0)){b=0;while(1){if(d){e=q+(b<<2)|0;f=z+(c[y>>2]<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+(A<<2)|0;f=f+8|0}}}d=c[x>>2]|0;if(d){e=q+((_(c[u>>2]|0,A)|0)+b<<2)|0;f=z+(1-(c[y>>2]|0)<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+(A<<2)|0;f=f+8|0}}}Qg(C);if(!r){d=0;do{c[q+((_(d,A)|0)+b<<2)>>2]=c[z+(d<<2)>>2];d=d+1|0}while((d|0)!=(h|0))}b=b+1|0;if((b|0)==(j|0))break a;d=c[u>>2]|0}}}while(0);g=g+-1|0}while((g|0)!=0)}Sc(z);C=1;i=D;return C|0}function Hg(a){a=a|0;if(!a){a=0;return a|0}a=(a+-1|0)>>>0<2?1:2;return a|0}function Ig(a,b){a=a|0;b=b|0;return+ +h[56+(b*80|0)+(a<<3)>>3]}function Jg(a){a=a|0;return Pg(a,2)|0}function Kg(a){a=a|0;return 0}function Lg(a,b){a=a|0;b=b|0;return+ +h[376+(b*80|0)+(a<<3)>>3]}function Mg(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+4|0;l=((c[k>>2]|0)*3|0)+-2|0;if(!l)return;m=a+20|0;n=a+24|0;o=0;do{if(!o){e=0;f=0}else{f=o+-1|0;e=((f>>>0)/3|0)+1|0;f=((f>>>0)%3|0)+1|0}if((f|0)==0|(c[m>>2]|0)==0)g=0;else g=(f+-1|0)>>>0<2?1:2;if(!(c[n>>2]|0))d=1.0;else d=+(1<>2]|0)+~e<<3)>>3];j=~~+M(+(d*8192.0));i=g+b|0;if((j|0)>1){e=j;f=0;while(1){e=e>>1;if((e|0)<=1)break;else f=f+1|0}g=j;e=0;do{g=g>>1;e=e+1|0}while((g|0)>1);f=f+-12|0}else{f=-13;e=0}g=11-e|0;c[a+28+(o<<3)+4>>2]=((g|0)<0?j>>0-g:j<>2]=i-f;o=o+1|0}while((o|0)!=(l|0));return}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=i;i=i+32|0;Q=T+16|0;R=T;m=c[a+24>>2]|0;n=c[m+8>>2]|0;o=c[m>>2]|0;k=c[m+12>>2]|0;l=c[m+4>>2]|0;P=a+8|0;h=c[P>>2]|0;j=c[a>>2]|0;O=h-j|0;g=b+-1|0;f=(g|0)==0;if(f)b=80;else{d=m;e=g;b=0;do{N=d;d=d+136|0;M=(c[N+144>>2]|0)-(c[d>>2]|0)|0;b=b>>>0>>0?M:b;N=(c[N+148>>2]|0)-(c[N+140>>2]|0)|0;b=b>>>0>>0?N:b;e=e+-1|0}while((e|0)!=0);b=(b<<4)+80|0}N=Rc(b)|0;c[Q>>2]=N;if(!N){S=0;i=T;return S|0}c[R>>2]=N;a:do{if(!f){y=a+32|0;z=a+12|0;A=a+4|0;B=Q+8|0;C=R+8|0;D=Q+4|0;E=Q+12|0;F=R+4|0;G=R+12|0;H=O<<1;I=O<<2;J=O*3|0;L=j<<2;M=h<<2;K=L-M|0;L=M-L|0;M=h-j<<2;b=g;d=N;g=h;e=j;r=k-l|0;f=m;h=n-o|0;while(1){s=c[y>>2]|0;e=_((c[z>>2]|0)-(c[A>>2]|0)|0,g-e|0)|0;c[B>>2]=h;c[C>>2]=r;w=f+136|0;p=c[f+144>>2]|0;q=c[w>>2]|0;x=p-q|0;u=c[f+148>>2]|0;n=f+140|0;t=c[n>>2]|0;v=u-t|0;c[D>>2]=x-h;c[E>>2]=(q|0)%2|0;if((v|0)>3){g=(x|0)>0;h=(u+-4-t|0)>>>2;m=_(K,h)|0;h=s+(L+(_(M,h)|0)<<2)|0;j=s;k=e;l=v;while(1){Sg(Q,j,O,k);Tg(Q);if(g){f=x;do{o=f;f=f+-1|0;c[j+(f<<2)>>2]=c[N+(f<<4)>>2];c[j+(f+O<<2)>>2]=c[N+(f<<4)+4>>2];c[j+(f+H<<2)>>2]=c[N+(f<<4)+8>>2];c[j+(f+J<<2)>>2]=c[N+(f<<4)+12>>2]}while((o|0)>1)}l=l+-4|0;if((l|0)<=3)break;else{j=j+(I<<2)|0;k=k-I|0}}e=K+e+m|0}else h=s;g=v&3;b:do{if(!g)S=21;else{Sg(Q,h,O,e);Tg(Q);if((x|0)>0)e=x;else{k=v-r|0;c[F>>2]=k;g=(c[n>>2]|0)%2|0;c[G>>2]=g;l=r;j=s;break}while(1){f=e;e=e+-1|0;switch(g|0){case 3:{c[h+(e+H<<2)>>2]=c[N+(e<<4)+8>>2];S=18;break}case 2:{S=18;break}case 1:{S=19;break}default:{}}if((S|0)==18){c[h+(e+O<<2)>>2]=c[N+(e<<4)+4>>2];S=19}if((S|0)==19){S=0;c[h+(e<<2)>>2]=c[N+(e<<4)>>2]}if((f|0)<=1){S=21;break b}}}}while(0);if((S|0)==21){S=0;k=v-r|0;c[F>>2]=k;g=(c[n>>2]|0)%2|0;c[G>>2]=g;if((x|0)>3){o=(u|0)==(t|0);p=p+-4-q|0;n=c[C>>2]|0;l=(n|0)>0;j=1-g|0;m=(k|0)>0;f=s;h=x;while(1){if(l){e=0;do{r=d+((e<<1)+g<<4)|0;q=f+((_(e,O)|0)<<2)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(n|0))}if(m){e=0;do{r=d+(j+(e<<1)<<4)|0;q=f+((_(e+n|0,O)|0)<<2)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(k|0))}Tg(R);if(!o){d=c[R>>2]|0;e=0;do{r=f+((_(e,O)|0)<<2)|0;q=d+(e<<4)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(v|0))}h=h+-4|0;if((h|0)<=3)break;else f=f+16|0}l=n;j=s+((p+4&-4)<<2)|0}else{l=r;j=s}}h=x&3;if(h){d=c[R>>2]|0;if((l|0)>0){e=h<<2;f=0;do{Ui(d+((f<<1)+g<<4)|0,j+((_(f,O)|0)<<2)|0,e|0)|0;f=f+1|0}while((f|0)!=(l|0))}e=1-g|0;if((k|0)>0){f=h<<2;g=0;do{Ui(d+(e+(g<<1)<<4)|0,j+((_(g+l|0,O)|0)<<2)|0,f|0)|0;g=g+1|0}while((g|0)!=(k|0))}Tg(R);if((u|0)!=(t|0)){e=h<<2;f=0;do{Ui(j+((_(f,O)|0)<<2)|0,d+(f<<4)|0,e|0)|0;f=f+1|0}while((f|0)!=(v|0))}}b=b+-1|0;if(!b)break a;g=c[P>>2]|0;e=c[a>>2]|0;r=v;f=w;h=x}}}while(0);Sc(N);S=1;i=T;return S|0}function Og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(!e){e=(b|0)>0;if(!(e|(d|0)>1))return;if(e){e=a+((d<<1)+-2<<2)|0;f=0;do{j=f;f=f+1|0;k=a+((j<<1|1)<<2)|0;c[k>>2]=(c[k>>2]|0)-((c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((j|0)<(d|0)?a+(j<<1<<2)|0:e)>>2]|0)>>1)}while((f|0)!=(b|0))}if((d|0)<=0)return;f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;k=a+(h<<1<<2)|0;c[k>>2]=((c[e>>2]|0)+2+(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)>>2)+(c[k>>2]|0);h=h+1|0}while((h|0)!=(d|0));return}if((b|0)==1&(d|0)==0){c[a>>2]=c[a>>2]<<1;return}if((b|0)>0){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;i=a+(i<<2)|0;c[i>>2]=(c[i>>2]|0)-((c[e>>2]|0)+j>>1);k=k+1|0}while((k|0)!=(b|0))}if((d|0)<=0)return;e=a+((b<<1)+-2<<2)|0;f=0;do{j=f;f=f+1|0;k=a+((j<<1|1)<<2)|0;c[k>>2]=((c[((j|0)<(b|0)?a+(j<<1<<2)|0:e)>>2]|0)+2+(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)>>2)+(c[k>>2]|0)}while((f|0)!=(d|0));return}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=(c[a+8>>2]|0)-(c[a>>2]|0)|0;g=c[a+16>>2]|0;i=g+-1|0;x=c[a+32>>2]|0;h=c[a+24>>2]|0;f=(i|0)==0;if(f)a=0;else{d=h;e=i;a=0;do{v=d;d=d+136|0;u=(c[v+144>>2]|0)-(c[d>>2]|0)|0;a=a>>>0>>0?u:a;v=(c[v+148>>2]|0)-(c[v+140>>2]|0)|0;a=a>>>0>>0?v:a;e=e+-1|0}while((e|0)!=0);a=a<<2}v=Pc(a)|0;if(!((a|0)==0|(v|0)!=0)){b=0;return b|0}if(!f){t=g+-2|0;u=t;a=h+(i*136|0)|0;t=h+(t*136|0)|0;while(1){q=c[a>>2]|0;s=(c[a+8>>2]|0)-q|0;m=c[a+4>>2]|0;o=(c[a+12>>2]|0)-m|0;p=(c[t+8>>2]|0)-(c[t>>2]|0)|0;a=c[t+12>>2]|0;d=c[t+4>>2]|0;l=a-d|0;q=q&1;m=m&1;n=o-l|0;r=(s|0)>0;a:do{if(r){f=(a|0)==(d|0);i=(o|0)==(l|0);j=v+((m^1)<<2)|0;k=_(l,w)|0;h=v+(m<<2)|0;if((o|0)>0){g=0;while(1){d=x+(g<<2)|0;a=0;do{c[v+(a<<2)>>2]=c[x+((_(a,w)|0)+g<<2)>>2];a=a+1|0}while((a|0)!=(o|0));ab[b&3](v,n,l,m);if(!f){e=l;a=h;while(1){e=e+-1|0;c[d>>2]=c[a>>2];if(!e)break;else{d=d+(w<<2)|0;a=a+8|0}}}if(!i){a=n;d=x+(g+k<<2)|0;e=j;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}}g=g+1|0;if((g|0)==(s|0))break a}}if(f){d=0;while(1){ab[b&3](v,n,l,m);if(!i){a=n;e=x+(d+k<<2)|0;f=j;while(1){a=a+-1|0;c[e>>2]=c[f>>2];if(!a)break;else{e=e+(w<<2)|0;f=f+8|0}}}d=d+1|0;if((d|0)==(s|0))break a}}else f=0;do{ab[b&3](v,n,l,m);a=l;d=x+(f<<2)|0;e=h;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}if(!i){a=n;d=x+(f+k<<2)|0;e=j;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}}f=f+1|0}while((f|0)!=(s|0))}}while(0);g=s-p|0;if((o|0)>0){h=(p|0)>0;i=v+(q<<2)|0;j=(g|0)>0;k=v+((q^1)<<2)|0;l=0;do{f=_(l,w)|0;d=x+(f<<2)|0;if(r){a=0;do{c[v+(a<<2)>>2]=c[x+(a+f<<2)>>2];a=a+1|0}while((a|0)!=(s|0))}ab[b&3](v,g,p,q);if(h){e=0;a=i;while(1){c[d>>2]=c[a>>2];e=e+1|0;if((e|0)==(p|0))break;else{d=d+4|0;a=a+8|0}}}if(j){e=0;a=x+(f+p<<2)|0;d=k;while(1){c[a>>2]=c[d>>2];e=e+1|0;if((e|0)==(g|0))break;else{a=a+4|0;d=d+8|0}}}l=l+1|0}while((l|0)!=(o|0))}if(!u)break;else{a=t;u=u+-1|0;t=t+-136|0}}}Uc(v);b=1;return b|0}function Qg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=c[a+4>>2]|0;k=c[a+8>>2]|0;if(!(c[a+12>>2]|0)){e=(j|0)>0;if(!(e|(k|0)>1))return;if((k|0)>0){b=i+4|0;d=(j<<1)+-1|0;f=0;do{if((f|0)<1)a=b;else a=i+((((f|0)>(j|0)?j:f)<<1)+-1<<2)|0;g=f<<1;h=i+(g<<2)|0;c[h>>2]=(c[h>>2]|0)-((c[a>>2]|0)+2+(c[i+(((f|0)<(j|0)?g|1:d)<<2)>>2]|0)>>2);f=f+1|0}while((f|0)!=(k|0))}if(!e)return;a=i+((k<<1)+-2<<2)|0;b=0;do{g=b<<1;f=b;b=b+1|0;h=i+((g|1)<<2)|0;c[h>>2]=((c[((b|0)<(k|0)?i+(b<<1<<2)|0:a)>>2]|0)+(c[((f|0)<(k|0)?i+(g<<2)|0:a)>>2]|0)>>1)+(c[h>>2]|0)}while((b|0)!=(j|0));return}if((j|0)==1&(k|0)==0){c[i>>2]=(c[i>>2]|0)/2|0;return}if((k|0)>0){a=i+((j<<1)+-2<<2)|0;b=0;do{g=b<<1;f=b;b=b+1|0;h=i+((g|1)<<2)|0;c[h>>2]=(c[h>>2]|0)-((c[((f|0)<(j|0)?i+(g<<2)|0:a)>>2]|0)+2+(c[((b|0)<(j|0)?i+(b<<1<<2)|0:a)>>2]|0)>>2)}while((b|0)!=(k|0))}if((j|0)<=0)return;b=i+4|0;d=(k<<1)+-1|0;e=i+(d<<2)|0;h=0;do{f=h<<1;g=c[i+(((h|0)<(k|0)?f|1:d)<<2)>>2]|0;if((h|0)>=1)if((h|0)>(k|0))a=e;else a=i+(f+-1<<2)|0;else a=b;f=i+(f<<2)|0;c[f>>2]=((c[a>>2]|0)+g>>1)+(c[f>>2]|0);h=h+1|0}while((h|0)!=(j|0));return}function Rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!e){j=(b|0)>0;if(!(j|(d|0)>1))return;if(j){e=a+((d<<1)+-2<<2)|0;f=0;do{m=f;f=f+1|0;l=(c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((m|0)<(d|0)?a+(m<<1<<2)|0:e)>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,12993,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+((m<<1|1)<<2)|0;c[m>>2]=(c[m>>2]|0)-l}while((f|0)!=(b|0))}i=(d|0)>0;if(i){f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;l=(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)+(c[e>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,434,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+(h<<1<<2)|0;c[m>>2]=(c[m>>2]|0)-l;h=h+1|0}while((h|0)!=(d|0))}if(j){e=a+((d<<1)+-2<<2)|0;f=0;do{m=f;f=f+1|0;l=(c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((m|0)<(d|0)?a+(m<<1<<2)|0:e)>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,7233,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+((m<<1|1)<<2)|0;c[m>>2]=l+(c[m>>2]|0)}while((f|0)!=(b|0))}if(i){f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;l=(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)+(c[e>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,3633,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+(h<<1<<2)|0;c[m>>2]=l+(c[m>>2]|0);h=h+1|0}while((h|0)!=(d|0))}if(j){e=0;do{m=a+((e<<1|1)<<2)|0;l=c[m>>2]|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,5038,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;c[m>>2]=l;e=e+1|0}while((e|0)!=(b|0))}if(i)e=0;else return;do{b=a+(e<<1<<2)|0;m=c[b>>2]|0;m=Zi(m|0,((m|0)<0)<<31>>31|0,6659,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;c[b>>2]=m;e=e+1|0}while((e|0)!=(d|0));return}m=(d|0)>0;if(!((b|0)>1|m))return;l=(b|0)>0;if(l){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;e=(c[e>>2]|0)+j|0;e=Zi(e|0,((e|0)<0)<<31>>31|0,12993,0)|0;e=Si(e|0,C|0,4096,0)|0;e=Ti(e|0,C|0,13)|0;j=a+(i<<2)|0;c[j>>2]=(c[j>>2]|0)-e;k=k+1|0}while((k|0)!=(b|0))}if(m){e=a+((b<<1)+-2<<2)|0;f=0;do{k=f;f=f+1|0;j=(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((k|0)<(b|0)?a+(k<<1<<2)|0:e)>>2]|0)|0;j=Zi(j|0,((j|0)<0)<<31>>31|0,434,0)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;k=a+((k<<1|1)<<2)|0;c[k>>2]=(c[k>>2]|0)-j}while((f|0)!=(d|0))}if(l){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;e=(c[e>>2]|0)+j|0;e=Zi(e|0,((e|0)<0)<<31>>31|0,7233,0)|0;e=Si(e|0,C|0,4096,0)|0;e=Ti(e|0,C|0,13)|0;j=a+(i<<2)|0;c[j>>2]=e+(c[j>>2]|0);k=k+1|0}while((k|0)!=(b|0))}if(m){e=a+((b<<1)+-2<<2)|0;f=0;do{k=f;f=f+1|0;j=(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((k|0)<(b|0)?a+(k<<1<<2)|0:e)>>2]|0)|0;j=Zi(j|0,((j|0)<0)<<31>>31|0,3633,0)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;k=a+((k<<1|1)<<2)|0;c[k>>2]=j+(c[k>>2]|0)}while((f|0)!=(d|0))}if(l){e=0;do{l=a+(e<<1<<2)|0;k=c[l>>2]|0;k=Zi(k|0,((k|0)<0)<<31>>31|0,5038,0)|0;k=Si(k|0,C|0,4096,0)|0;k=Ti(k|0,C|0,13)|0;c[l>>2]=k;e=e+1|0}while((e|0)!=(b|0))}if(m)e=0;else return;do{b=a+((e<<1|1)<<2)|0;m=c[b>>2]|0;m=Zi(m|0,((m|0)<0)<<31>>31|0,6659,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;c[b>>2]=m;e=e+1|0}while((e|0)!=(d|0));return}function Sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=c[a>>2]|0;i=c[a+12>>2]|0;q=c[a+8>>2]|0;n=d*3|0;l=1-i|0;k=a+4|0;j=q;a=0;while(1){h=m+(i<<4)|0;if(((j+n|0)<(e|0)?(b&15|0)==0:0)?((h|d)&15|0)==0:0){if((j|0)>0){f=0;do{h=f<<3;c[m+(i<<4)+(h<<2)>>2]=c[b+(f<<2)>>2];g=f+d|0;c[m+(i<<4)+((h|1)<<2)>>2]=c[b+(g<<2)>>2];g=g+d|0;c[m+(i<<4)+((h|2)<<2)>>2]=c[b+(g<<2)>>2];c[m+(i<<4)+((h|3)<<2)>>2]=c[b+(g+d<<2)>>2];f=f+1|0}while((f|0)!=(j|0))}}else r=3;if((r|0)==3?(r=0,(j|0)>0):0){h=0;do{f=h<<3;c[m+(i<<4)+(f<<2)>>2]=c[b+(h<<2)>>2];g=h+d|0;if(((g|0)<(e|0)?(c[m+(i<<4)+((f|1)<<2)>>2]=c[b+(g<<2)>>2],o=g+d|0,(o|0)<(e|0)):0)?(c[m+(i<<4)+((f|2)<<2)>>2]=c[b+(o<<2)>>2],p=o+d|0,(p|0)<(e|0)):0)c[m+(i<<4)+((f|3)<<2)>>2]=c[b+(p<<2)>>2];h=h+1|0}while((h|0)!=(j|0))}a=a+1|0;if((a|0)==2)break;else{b=b+(q<<2)|0;e=e-q|0;i=l;j=c[k>>2]|0}}return}function Tg(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0;do{if(!(c[a+12>>2]|0)){d=c[a+8>>2]|0;if((c[a+4>>2]|0)>0){b=c[a>>2]|0;if((d|0)>0){i=0;f=1;j=9;break}else{i=0;h=1;break}}if((d|0)>1){e=0;f=1;j=7}else return}else{d=c[a+8>>2]|0;if((d|0)<=0)if((c[a+4>>2]|0)>1){b=c[a>>2]|0;i=1;h=0;break}else return;else{e=1;f=0;j=7}}}while(0);if((j|0)==7){b=c[a>>2]|0;i=e;j=9}if((j|0)==9){e=0;do{j=e<<3;o=b+(i<<4)+(j<<2)|0;m=b+(i<<4)+((j|1)<<2)|0;n=+g[m>>2];h=b+(i<<4)+((j|2)<<2)|0;l=+g[h>>2];j=b+(i<<4)+((j|3)<<2)|0;k=+g[j>>2];g[o>>2]=+g[o>>2]*1.2301740646362305;g[m>>2]=n*1.2301740646362305;g[h>>2]=l*1.2301740646362305;g[j>>2]=k*1.2301740646362305;e=e+1|0}while((e|0)!=(d|0));h=f}e=c[a+4>>2]|0;if((e|0)>0){f=0;do{o=f<<3;j=b+(h<<4)+(o<<2)|0;a=b+(h<<4)+((o|1)<<2)|0;k=+g[a>>2];m=b+(h<<4)+((o|2)<<2)|0;l=+g[m>>2];o=b+(h<<4)+((o|3)<<2)|0;n=+g[o>>2];g[j>>2]=+g[j>>2]*1.625732421875;g[a>>2]=k*1.625732421875;g[m>>2]=l*1.625732421875;g[o>>2]=n*1.625732421875;f=f+1|0}while((f|0)!=(e|0))}p=b+(h<<4)|0;f=b+(i+1<<4)|0;j=e-i|0;j=(d|0)<(j|0)?d:j;Ug(p,f,d,j,-.4435068666934967);a=b+(i<<4)|0;m=b+(h+1<<4)|0;o=d-h|0;o=(e|0)<(o|0)?e:o;Ug(a,m,e,o,-.8829110860824585);Ug(p,f,d,j,.05298011749982834);Ug(a,m,e,o,1.5861343145370483);return}function Ug(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0;if((d|0)>0){m=d<<1;l=m+-2|0;h=+g[a>>2];i=+g[a+4>>2];j=+g[a+8>>2];f=+g[a+12>>2];a=b;k=0;while(1){w=a+-16|0;t=a+-12|0;v=+g[t>>2];q=a+-8|0;s=+g[q>>2];n=a+-4|0;p=+g[n>>2];x=h;h=+g[a>>2];u=i;i=+g[a+4>>2];r=j;j=+g[a+8>>2];o=f;f=+g[a+12>>2];g[w>>2]=+g[w>>2]+(x+h)*e;g[t>>2]=v+(u+i)*e;g[q>>2]=s+(r+j)*e;g[n>>2]=p+(o+f)*e;k=k+1|0;if((k|0)==(d|0))break;else a=a+32|0}a=b+(l<<4)|0;b=b+(m<<4)|0}if((d|0)>=(c|0))return;f=e+e;h=f*+g[a>>2];i=f*+g[a+4>>2];j=f*+g[a+8>>2];f=f*+g[a+12>>2];while(1){n=b+-16|0;q=b+-12|0;u=+g[q>>2];t=b+-8|0;v=+g[t>>2];w=b+-4|0;x=+g[w>>2];g[n>>2]=h+ +g[n>>2];g[q>>2]=i+u;g[t>>2]=j+v;g[w>>2]=f+x;d=d+1|0;if((d|0)==(c|0))break;else b=b+32|0}return}function Vg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=d<<2;y=Pc(d<<4)|0;if(!y){a=0;return a|0}z=y+x|0;Qi(y|0,0,x|0)|0;v=d+-1|0;u=(d|0)==0;if(!u){e=0;f=y;while(1){c[f>>2]=e;e=e+1|0;if((e|0)==(d|0))break;else f=f+4|0}}a:do{if(v){q=v;j=0;e=0;r=a;s=1;t=y;while(1){k=r+(j<<2)|0;if(j>>>0>>0){i=j;f=k;h=0.0}else break;while(1){o=+g[f>>2];o=o>0.0?o:-o;w=o>h;e=w?i:e;h=w?o:h;i=i+1|0;if((i|0)==(d|0))break;else f=f+(d<<2)|0}if(h==0.0)break;if((e|0)!=(j|0)){w=e-j|0;p=t+(w<<2)|0;n=c[t>>2]|0;c[t>>2]=c[p>>2];c[p>>2]=n;w=r+((_(w,d)|0)<<2)|0;Ui(z|0,w|0,x|0)|0;Ui(w|0,r|0,x|0)|0;Ui(r|0,z|0,x|0)|0}f=j;p=j+1|0;o=+g[k>>2];if(s>>>0>>0){l=r+(p<<2)|0;n=p+q|0;m=s;i=r+(f+d<<2)|0;while(1){h=+g[i>>2]/o;g[i>>2]=h;f=s;j=i;k=l;while(1){j=j+4|0;g[j>>2]=+g[j>>2]-h*+g[k>>2];f=f+1|0;if((f|0)==(d|0))break;else k=k+4|0}m=m+1|0;if((m|0)==(d|0))break;else i=i+(n<<2)|0}}if(p>>>0>>0){q=q+-1|0;j=p;r=r+(d<<2)|0;s=s+1|0;t=t+4|0}else break a}Uc(y);a=0;return a|0}}while(0);e=d<<1;w=z+(e<<2)|0;if(!u){u=z+(v+d<<2)|0;q=z+(e+v<<2)|0;r=a+((_(d,d)|0)+-1<<2)|0;s=~d;t=0;p=b;while(1){Qi(z|0,0,x|0)|0;g[z+(t<<2)>>2]=1.0;j=0;k=1;l=y;m=w;n=a;while(1){if(!j)h=0.0;else{e=1;f=w;i=n;h=0.0;while(1){h=h+ +g[i>>2]*+g[f>>2];e=e+1|0;if((e|0)==(k|0))break;else{f=f+4|0;i=i+4|0}}}g[m>>2]=+g[z+(c[l>>2]<<2)>>2]-h;j=j+1|0;if((j|0)==(d|0)){j=d;k=u;l=w;m=q;n=r;break}else{k=k+1|0;l=l+4|0;m=m+4|0;n=n+(d<<2)|0}}while(1){e=j;j=j+-1|0;o=+g[n>>2];if(e>>>0>>0){f=l;i=n;h=0.0;while(1){i=i+4|0;h=h+ +g[i>>2]*+g[f>>2];e=e+1|0;if((e|0)==(d|0))break;else f=f+4|0}}else h=0.0;l=l+-4|0;g[k>>2]=(+g[m>>2]-h)/o;if(!j){e=0;f=p;break}else{k=k+-4|0;m=m+-4|0;n=n+(s<<2)|0}}while(1){c[f>>2]=c[z+(e+d<<2)>>2];e=e+1|0;if((e|0)==(d|0))break;else f=f+(d<<2)|0}t=t+1|0;if((t|0)==(d|0))break;else p=p+4|0}}Uc(y);a=1;return a|0}function Wg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=Qc(1,44)|0;if(!g){g=0;return g|0}h=hh()|0;c[g>>2]=h;if(!h){ih(0);c[g>>2]=0;h=g+4|0;yh(c[h>>2]|0);c[h>>2]=0;if((c[g+40>>2]|0)==0?(d=g+8|0,b=c[d>>2]|0,(b|0)!=0):0){Sc(b);c[d>>2]=0}b=g+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(g);h=0;return h|0}h=xh()|0;b=g+4|0;c[b>>2]=h;if(h){c[g+40>>2]=a;h=g;return h|0}ih(c[g>>2]|0);c[g>>2]=0;yh(c[b>>2]|0);c[b>>2]=0;if((c[g+40>>2]|0)==0?(e=g+8|0,f=c[e>>2]|0,(f|0)!=0):0){Sc(f);c[e>>2]=0}b=g+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(g);h=0;return h|0}function Xg(a){a=a|0;var b=0,d=0,e=0;if(!a)return;ih(c[a>>2]|0);c[a>>2]=0;e=a+4|0;yh(c[e>>2]|0);c[e>>2]=0;if((c[a+40>>2]|0)==0?(b=a+8|0,d=c[b>>2]|0,(d|0)!=0):0){Sc(d);c[b>>2]=0}b=a+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(a);return}function Yg(a,f,h){a=a|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,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;ya=(c[f+8>>2]|0)-(c[f>>2]|0)|0;za=f+20|0;i=c[za>>2]|0;if(!i){a=1;return a|0}Aa=f+24|0;Ba=h+808|0;Ca=h+16|0;ta=a+4|0;va=a+8|0;wa=a+16|0;xa=a+20|0;sa=h+20|0;pa=f+32|0;qa=a+32|0;ra=a+12|0;h=i;oa=0;a:while(1){ma=c[Aa>>2]|0;na=ma+(oa*136|0)+24|0;f=c[na>>2]|0;if(f){ja=ma+(oa*136|0)+16|0;ka=ma+(oa*136|0)+20|0;la=oa+-1|0;h=c[ka>>2]|0;i=c[ja>>2]|0;ia=0;do{if(_(h,i)|0){da=ma+(oa*136|0)+28+(ia*36|0)+20|0;ea=ma+(oa*136|0)+28+(ia*36|0)+16|0;fa=ma+(oa*136|0)+28+(ia*36|0)|0;ga=ma+(oa*136|0)+28+(ia*36|0)+4|0;ha=ma+(oa*136|0)+28+(ia*36|0)+32|0;ca=0;do{f=c[da>>2]|0;aa=f+(ca*40|0)+16|0;ba=f+(ca*40|0)+20|0;if(_(c[ba>>2]|0,c[aa>>2]|0)|0){Z=f+(ca*40|0)+24|0;$=0;do{h=c[Z>>2]|0;S=c[ea>>2]|0;j=c[Ba>>2]|0;f=c[Ca>>2]|0;T=c[ta>>2]|0;U=c[a>>2]|0;V=h+($*56|0)+8|0;Y=h+($*56|0)+12|0;if(!(_g(a,(c[h+($*56|0)+16>>2]|0)-(c[V>>2]|0)|0,(c[h+($*56|0)+20>>2]|0)-(c[Y>>2]|0)|0)|0)){h=0;G=201;break a}W=h+($*56|0)+24|0;k=c[W>>2]|0;qh(U);rh(U,18,0,46);rh(U,17,0,3);rh(U,0,0,4);X=h+($*56|0)+48|0;i=c[X>>2]|0;if(i){N=h+($*56|0)+4|0;O=(f&1|0)!=0;P=(f&2|0)==0;Q=(f&8|0)==0;R=S<<8;M=(f&32|0)==0;f=k+j|0;h=2;L=0;do{k=c[N>>2]|0;K=O&(h>>>0<2?(f|0)<=((c[W>>2]|0)+-4|0):0);j=c[k+(L<<5)>>2]|0;if(j){i=(c[j>>2]|0)+(c[k+(L<<5)+4>>2]|0)|0;j=c[k+(L<<5)+16>>2]|0;if(!K){if(!(vh(U,i,j)|0)){h=0;G=201;break a}}else zh(T,i,j);I=k+(L<<5)+12|0;b:do{if(c[I>>2]|0){J=P|K;H=0;while(1){c:do{switch(h|0){case 0:{if(K){w=1<>1|w;j=c[xa>>2]|0;if(!j)break c;v=0-w|0;i=c[wa>>2]|0;u=0;while(1){t=u;u=u+4|0;if(!i)i=0;else{q=(t|0)==-4;r=t|3;s=0;do{d:do{if(!q)if(Q){o=t;do{if(o>>>0>=(c[xa>>2]|0)>>>0)break d;m=o;o=o+1|0;i=(_(c[qa>>2]|0,o)|0)+s|0;j=i+1|0;k=c[ra>>2]|0;l=k+(j<<1)|0;m=(_(c[wa>>2]|0,m)|0)+s|0;m=(c[va>>2]|0)+(m<<2)|0;n=c[ta>>2]|0;G=b[l>>1]|0;if((G&255|0)!=0&(G&20480|0)==0){if(Ah(n)|0){D=Ah(n)|0;c[m>>2]=(D|0)!=0?v:w;F=c[qa>>2]|0;G=k+(j-F<<1)|0;E=k+(F+j<<1)|0;C=k+(j+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=i+2|0;C=k+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=k+(i<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[l>>1]=e[l>>1]|4096;C=k+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=k+(F+i<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=k+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[l>>1]=e[l>>1]|16384}}while(o>>>0>>0)}else{p=t;do{i=c[xa>>2]|0;if(p>>>0>=i>>>0)break d;F=p;p=p+1|0;j=(_(c[qa>>2]|0,p)|0)+s|0;k=j+1|0;l=c[ra>>2]|0;m=l+(k<<1)|0;n=(_(c[wa>>2]|0,F)|0)+s|0;n=(c[va>>2]|0)+(n<<2)|0;o=c[ta>>2]|0;G=b[m>>1]|0;G=(F|0)==(r|0)|(F|0)==(i+-1|0)?G&-1095:G;if((G&255|0)!=0&(G&20480|0)==0){if(Ah(o)|0){D=Ah(o)|0;c[n>>2]=(D|0)!=0?v:w;F=c[qa>>2]|0;G=l+(k-F<<1)|0;E=l+(F+k<<1)|0;C=l+(k+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=j+2|0;C=l+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=l+(j<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[m>>1]=e[m>>1]|4096;C=l+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=l+(F+j<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=l+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[m>>1]=e[m>>1]|16384}}while(p>>>0>>0)}}while(0);s=s+1|0;i=c[wa>>2]|0}while(s>>>0>>0);j=c[xa>>2]|0}if(u>>>0>=j>>>0){G=163;break c}}}if(Q){k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;r=1<>1|r;i=c[xa>>2]|0;j=c[wa>>2]|0;if(i>>>0>3){o=j;n=0;while(1){if(!j){j=o;m=0}else{j=0;do{G=(c[qa>>2]|0)+j|0;$g(a,l+(G<<1)|0,k+(j<<2)|0,S,r);i=(c[wa>>2]|0)+j|0;G=(c[qa>>2]|0)+G|0;$g(a,l+(G<<1)|0,k+(i<<2)|0,S,r);i=(c[wa>>2]|0)+i|0;G=(c[qa>>2]|0)+G|0;$g(a,l+(G<<1)|0,k+(i<<2)|0,S,r);$g(a,l+((c[qa>>2]|0)+G<<1)|0,k+((c[wa>>2]|0)+i<<2)|0,S,r);j=j+1|0;i=c[wa>>2]|0}while(j>>>0>>0);j=i;m=i;i=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=l+(c[qa>>2]<<2<<1)|0;n=n+4|0;if(n>>>0<(i&-4)>>>0){o=j;j=m}else{q=l;p=n;break}}}else{q=l;p=0}if(!j){G=163;break c}else o=0;while(1){if(p>>>0>>0){l=k+(o<<2)|0;m=q+(o<<1)|0;n=p;while(1){m=m+(c[qa>>2]<<1)|0;$g(a,m,l,S,r);j=c[wa>>2]|0;n=n+1|0;i=c[xa>>2]|0;if(n>>>0>=i>>>0)break;else l=l+(j<<2)|0}}o=o+1|0;if(o>>>0>=j>>>0){G=163;break c}}}w=1<>1|w;i=c[xa>>2]|0;if(!i){G=163;break c}x=0-w|0;j=c[wa>>2]|0;l=j;v=0;while(1){u=v;v=v+4|0;do{if(!j){k=l;j=0}else{t=u|3;if((u|0)==-4){k=l;j=l;break}else s=0;do{r=u;do{i=c[xa>>2]|0;if(r>>>0>=i>>>0)break;G=r;r=r+1|0;l=(_(c[qa>>2]|0,r)|0)+s|0;m=l+1|0;n=c[ra>>2]|0;o=n+(m<<1)|0;p=(_(c[wa>>2]|0,G)|0)+s|0;p=(c[va>>2]|0)+(p<<2)|0;q=c[a>>2]|0;j=b[o>>1]|0;i=(G|0)==(t|0)|(G|0)==(i+-1|0)?j&-1095:j;j=i&255;if((j|0)!=0&(i&20480|0)==0){k=q+100|0;c[k>>2]=q+24+(d[20267+(j|R)>>0]<<2);if(wh(q)|0){F=i>>>4&255;c[k>>2]=q+24+(d[21291+F>>0]<<2);G=wh(q)|0;F=d[21547+F>>0]|0;D=F^G;c[p>>2]=(G|0)!=(F|0)?x:w;F=c[qa>>2]|0;G=n+(m-F<<1)|0;E=n+(F+m<<1)|0;C=n+(m+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=l+2|0;C=n+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=n+(l<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[o>>1]=e[o>>1]|4096;C=n+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=n+(F+l<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=n+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[o>>1]=e[o>>1]|16384}}while(r>>>0>>0);s=s+1|0;i=c[wa>>2]|0}while(s>>>0>>0);k=i;j=i;i=c[xa>>2]|0}}while(0);if(v>>>0>=i>>>0){G=163;break}else l=k}break}case 1:{if(K){q=1<>1;r=(f|0)>0?0-q|0:-1;j=c[xa>>2]|0;if(!j)break c;k=c[wa>>2]|0;i=k;p=0;while(1){o=p;p=p+4|0;if(!k){l=i;k=0}else{n=(o|0)==-4;m=0;do{l=m;m=m+1|0;if(!n){k=o;do{if(k>>>0>=(c[xa>>2]|0)>>>0)break;j=k;k=k+1|0;i=(_(c[qa>>2]|0,k)|0)+m|0;i=(c[ra>>2]|0)+(i<<1)|0;j=(_(c[wa>>2]|0,j)|0)+l|0;j=(c[va>>2]|0)+(j<<2)|0;if((b[i>>1]&20480)==4096){F=(Ah(c[ta>>2]|0)|0)!=0;F=F?q:r;G=c[j>>2]|0;c[j>>2]=((G|0)<0?0-F|0:F)+G;b[i>>1]=e[i>>1]|8192}}while(k>>>0

>>0);i=c[wa>>2]|0}}while(m>>>0>>0);l=i;k=i;j=c[xa>>2]|0}if(p>>>0>=j>>>0){G=163;break c}else i=l}}if(!Q){t=1<>1;u=(f|0)>0?0-t|0:-1;i=c[xa>>2]|0;if(!i){G=163;break c}j=c[wa>>2]|0;k=j;s=0;while(1){r=s;s=s+4|0;if(!j)j=0;else{p=(r|0)==-4;q=r|3;i=k;o=0;do{n=o;o=o+1|0;if(!p){l=r;do{i=c[xa>>2]|0;if(l>>>0>=i>>>0)break;F=l;l=l+1|0;j=(_(c[qa>>2]|0,l)|0)+o|0;j=(c[ra>>2]|0)+(j<<1)|0;k=(_(c[wa>>2]|0,F)|0)+n|0;k=(c[va>>2]|0)+(k<<2)|0;m=c[a>>2]|0;G=b[j>>1]|0;i=(F|0)==(q|0)|(F|0)==(i+-1|0)?G&-1095:G;if((i&20480|0)==4096){c[m+100>>2]=m+24+(((i&8192|0)!=0?16:(i&255|0)!=0?15:14)<<2);F=(wh(m)|0)!=0;F=F?t:u;G=c[k>>2]|0;c[k>>2]=((G|0)<0?0-F|0:F)+G;b[j>>1]=e[j>>1]|8192}}while(l>>>0>>0);i=c[wa>>2]|0}}while(o>>>0>>0);k=i;j=i;i=c[xa>>2]|0}if(s>>>0>=i>>>0){G=163;break c}}}k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;v=1<>1;w=(f|0)>0?0-v|0:-1;i=c[xa>>2]|0;j=c[wa>>2]|0;if(i>>>0>3){n=j;t=l;u=0;while(1){if(!j){j=n;m=0}else{i=n;s=0;do{j=k+(s<<2)|0;n=c[qa>>2]|0;p=n+s|0;l=t+(p<<1)|0;o=c[a>>2]|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[o+100>>2]=o+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);n=(wh(o)|0)!=0;n=n?v:w;i=c[j>>2]|0;c[j>>2]=((i|0)<0?0-n|0:n)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}else{j=n;n=o}q=i+s|0;o=k+(q<<2)|0;r=j+p|0;l=t+(r<<1)|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);j=(wh(n)|0)!=0;j=j?v:w;i=c[o>>2]|0;c[o>>2]=((i|0)<0?0-j|0:j)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}p=i+q|0;o=k+(p<<2)|0;q=j+r|0;l=t+(q<<1)|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);j=(wh(n)|0)!=0;j=j?v:w;i=c[o>>2]|0;c[o>>2]=((i|0)<0?0-j|0:j)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}m=k+(i+p<<2)|0;j=t+(j+q<<1)|0;l=b[j>>1]|0;if((l&20480|0)==4096){c[n+100>>2]=n+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);G=(wh(n)|0)!=0;G=G?v:w;i=c[m>>2]|0;c[m>>2]=((i|0)<0?0-G|0:G)+i;b[j>>1]=e[j>>1]|8192;i=c[wa>>2]|0}s=s+1|0}while(s>>>0>>0);j=i;m=i;i=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=t+(c[qa>>2]<<2<<1)|0;o=u+4|0;if(o>>>0<(i&-4)>>>0){n=j;j=m;t=l;u=o}else{s=o;break}}}else s=0;if(!j){G=163;break c}else r=0;do{if(s>>>0>>0){o=k+(r<<2)|0;p=l+(r<<1)|0;q=s;while(1){p=p+(c[qa>>2]<<1)|0;n=c[a>>2]|0;m=b[p>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);i=(wh(n)|0)!=0;i=i?v:w;m=c[o>>2]|0;c[o>>2]=((m|0)<0?0-i|0:i)+m;b[p>>1]=e[p>>1]|8192;m=c[wa>>2]|0;i=c[xa>>2]|0}else m=j;q=q+1|0;if(q>>>0>=i>>>0){j=m;break}else{j=m;o=o+(m<<2)|0}}}r=r+1|0}while(r>>>0>>0);G=163;break}case 2:{E=c[a>>2]|0;F=1<>1|F;do{if(Q){k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;j=c[xa>>2]|0;if(j>>>0>3){w=E+92|0;x=E+100|0;y=E+96|0;z=0-F|0;m=c[wa>>2]|0;i=m;o=0;while(1){if(!m)m=0;else{r=o|1;s=r+1|0;t=o|3;u=r+3|0;v=0;do{i=c[qa>>2]|0;j=v;v=v+1|0;D=(_(i,r)|0)+v|0;G=c[ra>>2]|0;D=b[G+((_(i,s)|0)+v<<1)>>1]|b[G+(D<<1)>>1];D=D|b[G+((_(i,t)|0)+v<<1)>>1];e:do{if(!((D|b[G+((_(i,u)|0)+v<<1)>>1])&20735)){c[x>>2]=w;if(!(wh(E)|0))break;c[x>>2]=y;p=(wh(E)|0)<<1;p=p|(wh(E)|0);if(p>>>0>=4)break;q=k+((_(c[wa>>2]|0,p)|0)+j<<2)|0;j=l+((_(c[qa>>2]|0,p)|0)+j<<1)|0;n=p;while(1){if(n>>>0>=(c[xa>>2]|0)>>>0)break e;i=c[qa>>2]|0;m=j;j=j+(i<<1)|0;if((n|0)==(p|0)){G=c[a>>2]|0;D=(e[j>>1]|0)>>>4&255;c[G+100>>2]=G+24+(d[21291+D>>0]<<2);G=wh(G)|0;D=d[21547+D>>0]|0;B=D^G;c[q>>2]=(G|0)!=(D|0)?z:F;D=c[qa>>2]|0;G=m+(i-D<<1)|0;C=m+(D+i<<1)|0;A=m+(i+~D<<1)|0;b[A>>1]=e[A>>1]|2;b[G>>1]=b[G>>1]|b[3436+(B<<1)>>1];G=i+1|0;A=m+(G-D<<1)|0;b[A>>1]=e[A>>1]|4;A=i+-1|0;i=m+(A<<1)|0;b[i>>1]=b[i>>1]|b[3436+(B+2<<1)>>1];b[j>>1]=e[j>>1]|4096;i=m+(G<<1)|0;b[i>>1]=b[i>>1]|b[3436+(B+4<<1)>>1];A=m+(D+A<<1)|0;b[A>>1]=e[A>>1]|1;b[C>>1]=b[C>>1]|b[3436+(B+6<<1)>>1];G=m+(D+G<<1)|0;b[G>>1]=e[G>>1]|8;b[j>>1]=e[j>>1]&49151}else ah(a,j,q,S,F);n=n+1|0;if(n>>>0>=4)break;else q=q+(c[wa>>2]<<2)|0}}else{D=i+j|0;ah(a,l+(D<<1)|0,k+(j<<2)|0,S,F);G=(c[wa>>2]|0)+j|0;D=(c[qa>>2]|0)+D|0;ah(a,l+(D<<1)|0,k+(G<<2)|0,S,F);G=(c[wa>>2]|0)+G|0;D=(c[qa>>2]|0)+D|0;ah(a,l+(D<<1)|0,k+(G<<2)|0,S,F);ah(a,l+((c[qa>>2]|0)+D<<1)|0,k+((c[wa>>2]|0)+G<<2)|0,S,F)}}while(0);i=c[wa>>2]|0}while(v>>>0>>0);m=i;j=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=l+(c[qa>>2]<<2<<1)|0;o=o+4|0;if(o>>>0>=(j&-4)>>>0){q=k;p=l;break}}}else{i=c[wa>>2]|0;q=k;p=l;o=0}if(!i)break;else n=0;do{if(o>>>0>>0){k=q+(n<<2)|0;l=p+(n<<1)|0;m=o;while(1){l=l+(c[qa>>2]<<1)|0;ah(a,l,k,S,F);i=c[wa>>2]|0;m=m+1|0;j=c[xa>>2]|0;if(m>>>0>=j>>>0)break;else k=k+(i<<2)|0}}n=n+1|0}while(n>>>0>>0)}else{i=c[xa>>2]|0;if(!i)break;A=E+92|0;B=E+100|0;C=E+96|0;D=0-F|0;j=c[wa>>2]|0;z=0;while(1){if(!j){k=z+4|0;j=0}else{v=z|3;w=z|1;x=w+1|0;y=w+3|0;k=z+4|0;u=0;while(1){do{if(v>>>0>>0){i=c[qa>>2]|0;l=u+1|0;t=(_(i,w)|0)+l|0;j=c[ra>>2]|0;if(b[j+(t<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,x)|0)+l<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,v)|0)+l<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,y)|0)+l<<1)>>1]&20665){t=0;i=0;G=127;break}c[B>>2]=A;if(!(wh(E)|0))break;c[B>>2]=C;i=(wh(E)|0)<<1;t=1;i=i|(wh(E)|0);G=127}else{t=0;i=0;G=127}}while(0);if((G|0)==127){G=0;l=i+z|0;f:do{if(l>>>0>>0){s=l;do{i=c[xa>>2]|0;if(s>>>0>=i>>>0)break f;Da=s;s=s+1|0;m=(_(c[qa>>2]|0,s)|0)+u|0;n=m+1|0;o=c[ra>>2]|0;p=o+(n<<1)|0;q=(_(c[wa>>2]|0,Da)|0)+u|0;q=(c[va>>2]|0)+(q<<2)|0;r=c[a>>2]|0;j=b[p>>1]|0;j=(Da|0)==(v|0)|(Da|0)==(i+-1|0)?j&-1095:j;do{if(!(t&(Da|0)==(l|0))){if(j&20480)break;i=r+100|0;c[i>>2]=r+24+(d[20267+(j&255|R)>>0]<<2);if(wh(r)|0)G=133}else{i=r+100|0;G=133}}while(0);if((G|0)==133){G=0;j=j>>>4&255;c[i>>2]=r+24+(d[21291+j>>0]<<2);Da=wh(r)|0;r=d[21547+j>>0]|0;j=r^Da;c[q>>2]=(Da|0)!=(r|0)?D:F;r=c[qa>>2]|0;Da=o+(n-r<<1)|0;q=o+(r+n<<1)|0;n=o+(n+~r<<1)|0;b[n>>1]=e[n>>1]|2;b[Da>>1]=b[Da>>1]|b[3436+(j<<1)>>1];Da=m+2|0;n=o+(Da-r<<1)|0;b[n>>1]=e[n>>1]|4;n=o+(m<<1)|0;b[n>>1]=b[n>>1]|b[3436+(j+2<<1)>>1];b[p>>1]=e[p>>1]|4096;n=o+(Da<<1)|0;b[n>>1]=b[n>>1]|b[3436+(j+4<<1)>>1];n=o+(r+m<<1)|0;b[n>>1]=e[n>>1]|1;b[q>>1]=b[q>>1]|b[3436+(j+6<<1)>>1];Da=o+(r+Da<<1)|0;b[Da>>1]=e[Da>>1]|8}b[p>>1]=e[p>>1]&49151}while(s>>>0>>0)}}while(0);l=u+1|0}j=c[wa>>2]|0;i=c[xa>>2]|0;if(l>>>0>>0)u=l;else break}}if(k>>>0>>0)z=k;else break}}}while(0);if(M){G=163;break c}c[E+100>>2]=E+96;wh(E)|0;wh(E)|0;wh(E)|0;wh(E)|0;G=163;break}default:G=163}}while(0);do{if((G|0)==163){G=0;if(J)break;qh(U);rh(U,18,0,46);rh(U,17,0,3);rh(U,0,0,4)}}while(0);h=h+1|0;Da=(h|0)==3;f=(Da<<31>>31)+f|0;h=Da?0:h;H=H+1|0;if(H>>>0>=(c[I>>2]|0)>>>0)break b}}}while(0);i=c[X>>2]|0}L=L+1|0}while(L>>>0>>0)}h=(c[V>>2]|0)-(c[fa>>2]|0)|0;f=(c[Y>>2]|0)-(c[ga>>2]|0)|0;i=c[ea>>2]|0;if(i&1){Da=c[Aa>>2]|0;h=(c[Da+(la*136|0)+8>>2]|0)+h-(c[Da+(la*136|0)>>2]|0)|0}if(i&2){Da=c[Aa>>2]|0;f=(c[Da+(la*136|0)+12>>2]|0)+f-(c[Da+(la*136|0)+4>>2]|0)|0}p=c[va>>2]|0;q=c[wa>>2]|0;r=c[xa>>2]|0;i=c[Ba>>2]|0;if((i|0)!=0?(ua=1<>2]|0;m=(l|0)>-1?l:0-l|0;if((m|0)>=(ua|0)){Da=m>>c[Ba>>2];c[k>>2]=(l|0)<0?0-Da|0:Da}n=n+1|0}while((n|0)!=(q|0))}o=o+1|0}while((o|0)!=(r|0))}n=(_(f,ya)|0)+h|0;o=c[pa>>2]|0;h=(r|0)==0;if((c[sa>>2]|0)==1){if(!h){h=(q|0)==0;k=0;do{if(!h){f=_(k,q)|0;i=(_(k,ya)|0)+n|0;j=0;do{c[o+(i+j<<2)>>2]=(c[p+(j+f<<2)>>2]|0)/2|0;j=j+1|0}while((j|0)!=(q|0))}k=k+1|0}while((k|0)!=(r|0))}}else if(!h){m=(q|0)==0;h=p;l=0;k=o+(n<<2)|0;while(1){if(!m){f=h;i=0;j=k;while(1){g[j>>2]=+(c[f>>2]|0)*+g[ha>>2];i=i+1|0;if((i|0)==(q|0))break;else{f=f+4|0;j=j+4|0}}h=h+(q<<2)|0}l=l+1|0;if((l|0)==(r|0))break;else k=k+(ya<<2)|0}}$=$+1|0}while($>>>0<(_(c[ba>>2]|0,c[aa>>2]|0)|0)>>>0);h=c[ka>>2]|0;i=c[ja>>2]|0}ca=ca+1|0}while(ca>>>0<(_(h,i)|0)>>>0);f=c[na>>2]|0}ia=ia+1|0}while(ia>>>0>>0);h=c[za>>2]|0}oa=oa+1|0;if(oa>>>0>=h>>>0){h=1;G=201;break}}if((G|0)==201)return h|0;return 0}function Zg(f,i,j,k,l){f=f|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0.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;Ya=i+32|0;h[Ya>>3]=0.0;Za=i+16|0;m=c[Za>>2]|0;if(!m){_a=1;return _a|0}Xa=i+20|0;Sa=j+5584|0;Ta=f+16|0;Ua=f+20|0;Va=f+8|0;Wa=f+36|0;Pa=(k|0)!=0;Qa=f+32|0;Ra=f+12|0;i=m;Oa=0;a:while(1){j=c[Xa>>2]|0;m=c[Sa>>2]|0;Ma=(c[j+(Oa*52|0)+8>>2]|0)-(c[j+(Oa*52|0)>>2]|0)|0;Na=j+(Oa*52|0)+16|0;n=c[Na>>2]|0;if(n){La=j+(Oa*52|0)+24|0;Ja=j+(Oa*52|0)+32|0;Ka=m+(Oa*1080|0)+20|0;Ga=m+(Oa*1080|0)+16|0;Ia=Pa&Oa>>>0>>0;Ha=k+(Oa<<3)|0;i=n;Fa=0;do{Da=c[La>>2]|0;Ea=Da+(Fa*136|0)+24|0;j=c[Ea>>2]|0;if(j){za=Da+(Fa*136|0)+16|0;Aa=Da+(Fa*136|0)+20|0;Ba=~Fa;Ca=Fa+-1|0;i=c[Aa>>2]|0;m=c[za>>2]|0;ya=0;do{xa=Da+(Fa*136|0)+28+(ya*36|0)+32|0;if(_(i,m)|0){ra=67108864/(~~+M(+(+g[xa>>2]*8192.0))|0)|0;sa=Da+(Fa*136|0)+28+(ya*36|0)+20|0;ta=Da+(Fa*136|0)+28+(ya*36|0)|0;ua=Da+(Fa*136|0)+28+(ya*36|0)+4|0;va=Da+(Fa*136|0)+28+(ya*36|0)+16|0;wa=((ra|0)<0)<<31>>31;qa=0;do{j=c[sa>>2]|0;oa=j+(qa*40|0)+16|0;pa=j+(qa*40|0)+20|0;if(_(c[pa>>2]|0,c[oa>>2]|0)|0){ma=j+(qa*40|0)+24|0;na=0;do{la=c[ma>>2]|0;n=c[la+(na*52|0)+12>>2]|0;i=n-(c[ta>>2]|0)|0;o=c[la+(na*52|0)+16>>2]|0;j=o-(c[ua>>2]|0)|0;m=c[va>>2]|0;if(m&1){ka=c[La>>2]|0;i=(c[ka+(Ca*136|0)+8>>2]|0)+i-(c[ka+(Ca*136|0)>>2]|0)|0}if(m&2){ka=c[La>>2]|0;j=(c[ka+(Ca*136|0)+12>>2]|0)+j-(c[ka+(Ca*136|0)+4>>2]|0)|0}if(!(_g(f,(c[la+(na*52|0)+20>>2]|0)-n|0,(c[la+(na*52|0)+24>>2]|0)-o|0)|0)){i=0;_a=173;break a}p=c[Ta>>2]|0;q=c[Ua>>2]|0;r=Ma-p|0;u=(_(j,Ma)|0)+i|0;v=c[Ja>>2]|0;c[Va>>2]=v+(u<<2);c[Wa>>2]=Ma;i=(q|0)==0;if((c[Ka>>2]|0)==1){if(!i){n=(p|0)==0;o=0;i=0;while(1){if(!n){j=0;m=i;while(1){ka=v+(m+u<<2)|0;c[ka>>2]=c[ka>>2]<<6;j=j+1|0;if((j|0)==(p|0))break;else m=m+1|0}i=p+i|0}o=o+1|0;if((o|0)==(q|0))break;else i=i+r|0}}}else if(!i){n=(p|0)==0;o=0;i=0;while(1){if(!n){j=0;m=i;while(1){ka=v+(m+u<<2)|0;ja=c[ka>>2]|0;ja=Zi(ja|0,((ja|0)<0)<<31>>31|0,ra|0,wa|0)|0;ja=Si(ja|0,C|0,4096,0)|0;ja=Ti(ja|0,C|0,18)|0;c[ka>>2]=ja;j=j+1|0;if((j|0)==(p|0))break;else m=m+1|0}i=p+i|0}o=o+1|0;if((o|0)==(q|0))break;else i=i+r|0}}ga=c[va>>2]|0;ha=(c[Na>>2]|0)+Ba|0;r=c[Ka>>2]|0;ia=+g[xa>>2];ja=c[Ga>>2]|0;ka=c[f>>2]|0;n=c[Ta>>2]|0;do{if(!n)i=0;else{o=c[Ua>>2]|0;p=(o|0)==0;q=0;i=0;do{if(!p){j=c[Wa>>2]|0;m=0;do{fa=c[v+(u+((_(m,j)|0)+q)<<2)>>2]|0;fa=(fa|0)>-1?fa:0-fa|0;i=(i|0)>(fa|0)?i:fa;m=m+1|0}while((m|0)!=(o|0))}q=q+1|0}while((q|0)!=(n|0));if(!i){i=0;break}if((i|0)>1){j=i;i=0}else{i=-5;break}while(1){j=j>>1;if((j|0)<=1)break;else i=i+1|0}i=i+-4|0}}while(0);ea=la+(na*52|0)+28|0;c[ea>>2]=i;i=i+-1|0;qh(ka);rh(ka,18,0,46);rh(ka,17,0,3);rh(ka,0,0,4);fa=la+(na*52|0)|0;kh(ka,c[fa>>2]|0);b:do{if((i|0)>-1){ca=la+(na*52|0)+8|0;W=ja&1;da=(W|0)!=0;X=(r|0)==1;Y=(ja&4|0)==0;W=(W|0)==0;Z=(ja&2|0)==0;$=(ja&8|0)==0;aa=ga<<8;ba=(ja&32|0)==0;j=0;T=i;U=0.0;i=0;V=2;while(1){S=c[ca>>2]|0;I=da&(V>>>0<2?(T|0)<((c[ea>>2]|0)+-4|0):0);c:do{switch(V|0){case 0:{G=1<>2]|0;if(!j){n=0;break c}H=(T|0)==0;o=c[Ta>>2]|0;m=o;n=0;F=0;do{E=F;F=F+4|0;if(!m)m=0;else{B=(E|0)==-4;D=E|3;m=o;A=0;do{if(!B){z=E;do{j=c[Ua>>2]|0;if(z>>>0>=j>>>0)break;do{if($)j=0;else{if((z|0)==(D|0)){j=1;break}j=(z|0)==(j+-1|0)}}while(0);p=z;z=z+1|0;u=(_(c[Qa>>2]|0,z)|0)+A|0;v=u+1|0;w=c[Ra>>2]|0;y=w+(v<<1)|0;p=(_(c[Wa>>2]|0,p)|0)+A|0;p=(c[Va>>2]|0)+(p<<2)|0;x=c[f>>2]|0;q=b[y>>1]|0;q=j?q&-1095:q;j=q&255;if((j|0)!=0&(q&20480|0)==0){m=c[p>>2]|0;m=(((m|0)<0?0-m|0:m)&G|0)!=0;o=m&1;r=x+100|0;c[r>>2]=x+24+(d[20267+(j|aa)>>0]<<2);if(I)oh(x,o);else lh(x,o);if(m){j=c[p>>2]|0;m=j>>>31;j=(j|0)<0?0-j|0:j;if(H)j=3708+((j&127)<<1)|0;else j=3452+((j>>>T&127)<<1)|0;n=(b[j>>1]|0)+n|0;j=q>>>4&255;c[r>>2]=x+24+(d[21291+j>>0]<<2);if(I)oh(x,m);else lh(x,d[21547+j>>0]^m);Q=c[Qa>>2]|0;R=w+(v-Q<<1)|0;P=w+(Q+v<<1)|0;O=w+(v+~Q<<1)|0;b[O>>1]=e[O>>1]|2;b[R>>1]=b[R>>1]|b[3436+(m<<1)>>1];R=u+2|0;O=w+(R-Q<<1)|0;b[O>>1]=e[O>>1]|4;O=w+(u<<1)|0;b[O>>1]=b[O>>1]|b[3436+((m|2)<<1)>>1];b[y>>1]=e[y>>1]|4096;O=w+(R<<1)|0;b[O>>1]=b[O>>1]|b[3436+((m|4)<<1)>>1];O=w+(Q+u<<1)|0;b[O>>1]=e[O>>1]|1;b[P>>1]=b[P>>1]|b[3436+((m|6)<<1)>>1];R=w+(Q+R<<1)|0;b[R>>1]=e[R>>1]|8}b[y>>1]=e[y>>1]|16384}}while(z>>>0>>0);m=c[Ta>>2]|0}A=A+1|0}while(A>>>0>>0);j=c[Ua>>2]|0;o=m}}while(F>>>0>>0);break}case 1:{A=1<>2]|0;if(!j){n=0;break c}B=(T|0)==0;o=c[Ta>>2]|0;m=o;n=0;z=0;do{y=z;z=z+4|0;if(!m)m=0;else{w=(y|0)==-4;x=y|3;m=o;v=0;do{u=v;v=v+1|0;if(!w){r=y;do{j=c[Ua>>2]|0;if(r>>>0>=j>>>0)break;do{if($)j=0;else{if((r|0)==(x|0)){j=1;break}j=(r|0)==(j+-1|0)}}while(0);m=r;r=r+1|0;p=(_(c[Qa>>2]|0,r)|0)+v|0;p=(c[Ra>>2]|0)+(p<<1)|0;q=c[f>>2]|0;o=b[p>>1]|0;o=j?o&-1095:o;if((o&20480|0)==4096){m=c[(c[Va>>2]|0)+((_(c[Wa>>2]|0,m)|0)+u<<2)>>2]|0;m=(m|0)<0?0-m|0:m;if(B)j=4220+((m&127)<<1)|0;else j=3964+((m>>>T&127)<<1)|0;n=(b[j>>1]|0)+n|0;j=(m&A|0)!=0&1;c[q+100>>2]=q+24+(((o&8192|0)!=0?16:(o&255|0)!=0?15:14)<<2);if(I)oh(q,j);else lh(q,j);b[p>>1]=e[p>>1]|8192}}while(r>>>0>>0);m=c[Ta>>2]|0}}while(v>>>0>>0);j=c[Ua>>2]|0;o=m}}while(z>>>0>>0);break}case 2:{L=c[f>>2]|0;N=1<>2]|0;if(!m)j=0;else{O=L+92|0;P=L+100|0;Q=L+96|0;R=(T|0)==0;n=c[Ta>>2]|0;j=0;K=0;while(1){if(!n){o=K+4|0;n=0}else{D=K|3;E=K|1;F=E+1|0;G=E+3|0;o=K+4|0;H=K+1|0;I=K+2|0;J=K+3|0;B=0;while(1){do{if(D>>>0>>0){m=c[Qa>>2]|0;q=B+1|0;p=(_(m,E)|0)+q|0;n=c[Ra>>2]|0;p=b[n+(p<<1)>>1]|0;if($){A=b[n+((_(m,F)|0)+q<<1)>>1]|p;A=A|b[n+((_(m,D)|0)+q<<1)>>1];m=((A|b[n+((_(m,G)|0)+q<<1)>>1])&20735)==0&1}else{do{if(!(p&20735)){if(b[n+((_(m,F)|0)+q<<1)>>1]&20735){m=1;break}if(b[n+((_(m,D)|0)+q<<1)>>1]&20735){m=1;break}m=(b[n+((_(m,G)|0)+q<<1)>>1]&20665)!=0}else m=1}while(0);m=m&1^1}if(!m){A=0;m=0;_a=109;break}m=c[Wa>>2]|0;n=c[Va>>2]|0;A=c[n+((_(m,K)|0)+B<<2)>>2]|0;do{if(!(((A|0)<0?0-A|0:A)&N)){A=c[n+((_(m,H)|0)+B<<2)>>2]|0;if(((A|0)<0?0-A|0:A)&N){m=1;break}A=c[n+((_(m,I)|0)+B<<2)>>2]|0;if(((A|0)<0?0-A|0:A)&N){m=2;break}m=c[n+((_(m,J)|0)+B<<2)>>2]|0;m=(((m|0)<0?0-m|0:m)&N|0)==0?4:3}else m=0}while(0);c[P>>2]=O;lh(L,(m|0)!=4&1);if((m|0)==4){p=q;break}c[P>>2]=Q;lh(L,m>>>1);lh(L,m&1);A=1;_a=109}else{A=0;m=0;_a=109}}while(0);if((_a|0)==109){_a=0;z=m+K|0;d:do{if(z>>>0>>0){y=z;do{m=c[Ua>>2]|0;if(y>>>0>=m>>>0)break d;do{if($)m=0;else{if((y|0)==(D|0)){m=1;break}m=(y|0)==(m+-1|0)}}while(0);$a=y;y=y+1|0;r=(_(c[Qa>>2]|0,y)|0)+B|0;u=r+1|0;v=c[Ra>>2]|0;x=v+(u<<1)|0;n=(_(c[Wa>>2]|0,$a)|0)+B|0;n=(c[Va>>2]|0)+(n<<2)|0;w=c[f>>2]|0;p=b[x>>1]|0;q=m?p&-1095:p;do{if(!(A&($a|0)==(z|0))){if(p&20480)break;c[w+100>>2]=w+24+(d[20267+(q&255|aa)>>0]<<2);$a=c[n>>2]|0;$a=((($a|0)<0?0-$a|0:$a)&N|0)!=0;lh(w,$a&1);if($a)_a=117}else _a=117}while(0);if((_a|0)==117){_a=0;n=c[n>>2]|0;m=(n|0)<0?0-n|0:n;if(R)m=3708+((m&127)<<1)|0;else m=3452+((m>>>T&127)<<1)|0;j=(b[m>>1]|0)+j|0;$a=q>>>4&255;c[w+100>>2]=w+24+(d[21291+$a>>0]<<2);p=n>>>31;lh(w,d[21547+$a>>0]^p);w=c[Qa>>2]|0;$a=v+(u-w<<1)|0;q=v+(w+u<<1)|0;u=v+(u+~w<<1)|0;b[u>>1]=e[u>>1]|2;b[$a>>1]=b[$a>>1]|b[3436+(p<<1)>>1];$a=r+2|0;u=v+($a-w<<1)|0;b[u>>1]=e[u>>1]|4;u=v+(r<<1)|0;b[u>>1]=b[u>>1]|b[3436+((p|2)<<1)>>1];b[x>>1]=e[x>>1]|4096;u=v+($a<<1)|0;b[u>>1]=b[u>>1]|b[3436+((p|4)<<1)>>1];u=v+(w+r<<1)|0;b[u>>1]=e[u>>1]|1;b[q>>1]=b[q>>1]|b[3436+((p|6)<<1)>>1];$a=v+(w+$a<<1)|0;b[$a>>1]=e[$a>>1]|8}b[x>>1]=e[x>>1]&49151}while(y>>>0>>0)}}while(0);p=B+1|0}n=c[Ta>>2]|0;m=c[Ua>>2]|0;if(p>>>0>>0)B=p;else break}}if(o>>>0>>0)K=o;else break}}if(ba){n=j;break c}uh(ka);n=j;break}default:n=j}}while(0);if(Ia)s=+h[Ha>>3];else s=1.0;if(X)t=+Ig(ha,ga);else t=+Lg(ha,ga);t=+(1<>3]=+h[Ya>>3]+t;do{if(Y)_a=137;else{if((T|0)<1&(V|0)==2){_a=137;break}mh(ka);m=S+(i*24|0)+20|0;j=a[m>>0]|1;a[m>>0]=j;m=1}}while(0);do{if((_a|0)==137){j=(c[ea>>2]|0)+-4|0;if((V|0)!=0&(T|0)<(j|0))if(W)_a=141;else _a=140;else if(W|((V|0)!=2|(T|0)!=(j|0)))_a=141;else _a=140;if((_a|0)==140){_a=0;mh(ka);m=S+(i*24|0)+20|0;j=a[m>>0]|1;a[m>>0]=j;m=1;break}else if((_a|0)==141){_a=0;m=S+(i*24|0)+20|0;j=a[m>>0]&-2;a[m>>0]=j;m=3;break}}}while(0);R=V+1|0;$a=(R|0)==3;V=$a?0:R;T=($a<<31>>31)+T|0;do{if((T|0)>0&(j&1)!=0)if(da&(V>>>0<2?(T|0)<((c[ea>>2]|0)+-4|0):0)){nh(ka);break}else{sh(ka);break}}while(0);h[S+(i*24|0)+8>>3]=U;c[S+(i*24|0)>>2]=(jh(ka)|0)+m;if(!Z)ph(ka);i=i+1|0;if((T|0)<=-1)break b;else j=n}}else i=0}while(0);do{if(!(ja&16)){if(ja&1)break;mh(ka)}else th(ka)}while(0);q=la+(na*52|0)+48|0;c[q>>2]=i;if(i){n=la+(na*52|0)+8|0;p=0;do{o=c[n>>2]|0;j=o+(p*24|0)|0;$a=c[j>>2]|0;if($a>>>0>(jh(ka)|0)>>>0){i=jh(ka)|0;c[j>>2]=i}else i=c[j>>2]|0;do{if(i>>>0>1){m=i+-1|0;if((a[(c[fa>>2]|0)+m>>0]|0)!=-1)break;c[j>>2]=m;i=m}}while(0);if(!p)j=0;else j=c[(c[n>>2]|0)+((p+-1|0)*24|0)>>2]|0;c[o+(p*24|0)+16>>2]=i-j;p=p+1|0}while(p>>>0<(c[q>>2]|0)>>>0)}na=na+1|0}while(na>>>0<(_(c[pa>>2]|0,c[oa>>2]|0)|0)>>>0);i=c[Aa>>2]|0;m=c[za>>2]|0}qa=qa+1|0}while(qa>>>0<(_(i,m)|0)>>>0);j=c[Ea>>2]|0}ya=ya+1|0}while(ya>>>0>>0);i=c[Na>>2]|0}Fa=Fa+1|0}while(Fa>>>0>>0);i=c[Za>>2]|0}Oa=Oa+1|0;if(Oa>>>0>=i>>>0){i=1;_a=173;break}}if((_a|0)==173)return i|0;return 0}function _g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=_(d,b)|0;if(!(c[a+40>>2]|0)){h=a+24|0;i=a+8|0;e=c[i>>2]|0;do{if(g>>>0>(c[h>>2]|0)>>>0){Sc(e);f=g<<2;e=Rc(f)|0;c[i>>2]=e;if(!e){b=0;return b|0}else{c[h>>2]=g;break}}else f=g<<2}while(0);Qi(e|0,0,f|0)|0}g=b+2|0;c[a+32>>2]=g;g=_(d+2|0,g)|0;h=a+28|0;i=a+12|0;e=c[i>>2]|0;do{if(g>>>0>(c[h>>2]|0)>>>0){Sc(e);f=g<<1;e=Rc(f)|0;c[i>>2]=e;if(!e){b=0;return b|0}else{c[h>>2]=g;break}}else f=g<<1}while(0);Qi(e|0,0,f|0)|0;c[a+16>>2]=b;c[a+20>>2]=d;b=1;return b|0}function $g(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=c[a>>2]|0;l=b[f>>1]|0;m=l&255;if(!((m|0)!=0&(l&20480|0)==0))return;k=j+100|0;c[k>>2]=j+24+(d[20267+(m|h<<8)>>0]<<2);if(wh(j)|0){h=l>>>4&255;c[k>>2]=j+24+(d[21291+h>>0]<<2);l=wh(j)|0;h=d[21547+h>>0]|0;m=h^l;c[g>>2]=(l|0)!=(h|0)?0-i|0:i;a=c[a+32>>2]|0;i=f+(0-a<<1)|0;h=f+(a<<1)|0;g=f+(~a<<1)|0;b[g>>1]=e[g>>1]|2;b[i>>1]=b[i>>1]|b[3436+(m<<1)>>1];i=f+(1-a<<1)|0;b[i>>1]=e[i>>1]|4;i=f+-2|0;b[i>>1]=b[i>>1]|b[3436+(m+2<<1)>>1];b[f>>1]=e[f>>1]|4096;i=f+2|0;b[i>>1]=b[i>>1]|b[3436+(m+4<<1)>>1];i=f+(a+-1<<1)|0;b[i>>1]=e[i>>1]|1;b[h>>1]=b[h>>1]|b[3436+(m+6<<1)>>1];a=f+(a+1<<1)|0;b[a>>1]=e[a>>1]|8}b[f>>1]=e[f>>1]|16384;return}function ah(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=c[a>>2]|0;l=b[f>>1]|0;if(l&20480){a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}k=j+100|0;c[k>>2]=j+24+(d[20267+(l&255|h<<8)>>0]<<2);if(!(wh(j)|0)){a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}h=l>>>4&255;c[k>>2]=j+24+(d[21291+h>>0]<<2);k=wh(j)|0;h=d[21547+h>>0]|0;l=h^k;c[g>>2]=(k|0)!=(h|0)?0-i|0:i;a=c[a+32>>2]|0;i=f+(0-a<<1)|0;h=f+(a<<1)|0;g=f+(~a<<1)|0;b[g>>1]=e[g>>1]|2;b[i>>1]=b[i>>1]|b[3436+(l<<1)>>1];i=f+(1-a<<1)|0;b[i>>1]=e[i>>1]|4;i=f+-2|0;b[i>>1]=b[i>>1]|b[3436+(l+2<<1)>>1];b[f>>1]=e[f>>1]|4096;i=f+2|0;b[i>>1]=b[i>>1]|b[3436+(l+4<<1)>>1];i=f+(a+-1<<1)|0;b[i>>1]=e[i>>1]|1;b[h>>1]=b[h>>1]|b[3436+(l+6<<1)>>1];a=f+(a+1<<1)|0;b[a>>1]=e[a>>1]|8;a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}function bh(a,e,f,g,h,j,k,l,m,n,o,p){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+16|0;H=I;c[H>>2]=0;q=c[a>>2]|0;D=c[a+4>>2]|0;a=c[D+76>>2]|0;F=a+(e*5640|0)|0;s=(b[D>>1]|0)==4?2:1;t=D+80|0;if(!(c[t>>2]|0))r=1;else r=c[q+16>>2]|0;G=(c[a+(e*5640|0)+420>>2]|0)+1|0;E=Lf(q,D,e,p)|0;if(!E){e=0;i=I;return e|0}c[j>>2]=0;a:do{if(!p){if(r){a=0;b:while(1){p=0;o=E;q=0;while(1){Mf(E,D,e,q,a,n,0);if((c[o+80>>2]|0)==-1){a=9;break b}m=o+36|0;c:while(1){do{if(!(Of(o)|0))break c}while((c[m>>2]|0)>>>0>=g>>>0);c[H>>2]=0;if(!(fh(e,f,F,o,h,H,k,l)|0)){a=13;break b}B=c[H>>2]|0;c[j>>2]=(c[j>>2]|0)+B;k=k-B|0;p=B+p|0;h=h+B|0}B=c[t>>2]|0;if((B|0)!=0&p>>>0>B>>>0){a=17;break b}q=q+1|0;if(q>>>0>>0)o=o+232|0;else break}a=a+1|0;if(a>>>0>=r>>>0)break a}if((a|0)==9){Kf(E,G);e=0;i=I;return e|0}else if((a|0)==13){Kf(E,G);e=0;i=I;return e|0}else if((a|0)==17){Kf(E,G);e=0;i=I;return e|0}}}else{Mf(E,D,e,o,m,n,p);z=E+(o*232|0)|0;if((c[E+(o*232|0)+80>>2]|0)==-1){Kf(E,G);e=0;i=I;return e|0}n=E+(o*232|0)+36|0;u=(l|0)==0;v=f+840|0;w=l+12|0;x=l+8|0;y=l+88|0;t=D+93|0;s=a+(e*5640|0)+5636|0;while(1){do{if(!(Of(z)|0))break a}while((c[n>>2]|0)>>>0>=g>>>0);c[H>>2]=0;if(!(fh(e,f,F,z,h,H,k,l)|0))break;r=c[H>>2]|0;h=h+r|0;k=k-r|0;c[j>>2]=(c[j>>2]|0)+r;if(!u){if(!(c[w>>2]|0))a=c[x>>2]|0;else{q=c[y>>2]|0;a=c[x>>2]|0;o=c[q+(e*592|0)+548>>2]|0;p=o+(a<<5)|0;if(!a){m=(c[q+(e*592|0)+12>>2]|0)+1|0;q=((m|0)<0)<<31>>31;D=p;c[D>>2]=m;c[D+4>>2]=q}else{if((((d[s>>0]|0)>>>2|(d[t>>0]|0)>>>3)&1)!=0?(B=p,A=c[B>>2]|0,B=c[B+4>>2]|0,!((A|0)==0&(B|0)==0)):0){m=A;q=B}else{m=o+(a+-1<<5)+16|0;m=Si(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;q=C}D=p;c[D>>2]=m;c[D+4>>2]=q}p=Si(m|0,q|0,-1,-1)|0;m=C;r=Si(p|0,m|0,r|0,0)|0;D=o+(a<<5)+16|0;c[D>>2]=r;c[D+4>>2]=C;D=o+(a<<5)+8|0;r=D;r=Si(p|0,m|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[D>>2]=r;c[D+4>>2]=C}c[x>>2]=a+1}c[v>>2]=(c[v>>2]|0)+1}Kf(E,G);e=0;i=I;return e|0}}while(0);Kf(E,G);e=1;i=I;return e|0}function ch(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0;$=i;i=i+112|0;W=$+64|0;X=$+32|0;S=$;R=$+96|0;Q=$+92|0;k=c[a>>2]|0;M=a+4|0;Z=c[M>>2]|0;h=c[Z+76>>2]|0;O=h+(b*5640|0)|0;P=h+(b*5640|0)+420|0;Y=(c[P>>2]|0)+1|0;Z=Jf(k,Z,b)|0;if(!Z){aa=0;i=$;return aa|0}N=k+16|0;L=h+(b*5640|0)+12|0;K=d+20|0;J=k+24|0;b=g;a=e;H=Z;I=0;a:while(1){if((c[H+80>>2]|0)==-1){aa=4;break}h=Pc(c[N>>2]<<2)|0;if(!h){aa=6;break}Qi(h|0,1,c[N>>2]<<2|0)|0;if(Of(H)|0){g=H+24|0;d=H+28|0;G=H+36|0;k=H+32|0;F=b;E=a;while(1){if((c[L>>2]|0)>>>0>(c[G>>2]|0)>>>0){b=c[g>>2]|0;a=c[K>>2]|0;if((c[d>>2]|0)>>>0<(c[a+(b*52|0)+20>>2]|0)>>>0){c[h+(b<<2)>>2]=0;D=c[M>>2]|0;c[Q>>2]=0;if(!(gh(D,a,O,H,R,E,Q,F,j)|0)){aa=45;break a}C=c[Q>>2]|0;if(!(c[R>>2]|0))a=C;else{B=F-C|0;z=E+C|0;c[Q>>2]=0;b=c[d>>2]|0;l=c[(c[K>>2]|0)+((c[g>>2]|0)*52|0)+24>>2]|0;x=l+(b*136|0)+24|0;a=c[x>>2]|0;b:do{if(!a){a=z;aa=43}else{y=E+F|0;m=a;D=0;w=l+(b*136|0)+28|0;l=z;c:while(1){a=c[k>>2]|0;b=c[w+20>>2]|0;if(((c[w+8>>2]|0)!=(c[w>>2]|0)?(c[w+12>>2]|0)!=(c[w+4>>2]|0):0)?(V=_(c[b+(a*40|0)+20>>2]|0,c[b+(a*40|0)+16>>2]|0)|0,(V|0)!=0):0){A=0;a=c[b+(a*40|0)+24>>2]|0;p=l;while(1){u=a+40|0;if(!(c[u>>2]|0))b=p;else{v=a+44|0;b=c[v>>2]|0;do{if(!b){o=c[a+4>>2]|0;c[v>>2]=1;c[a+36>>2]=0}else{l=b+-1|0;m=c[a+4>>2]|0;if((c[m+(l<<5)+8>>2]|0)!=(c[m+(l<<5)+20>>2]|0)){o=m+(l<<5)|0;break}c[v>>2]=b+1;o=m+(b<<5)|0}}while(0);t=a+36|0;b=a+32|0;s=p;n=o+28|0;l=c[n>>2]|0;if((l+s|0)>>>0>>0|(p+l|0)>>>0>y>>>0){b=D;a=A;break c}m=c[t>>2]|0;s=p;r=o;while(1){o=l+m|0;if(o>>>0>>0){b=D;a=A;aa=29;break a}p=c[a>>2]|0;if(o>>>0>(c[b>>2]|0)>>>0){l=Tc(p,o)|0;if(!l){aa=32;break a}m=c[t>>2]|0;q=c[n>>2]|0;c[b>>2]=q+m;c[a>>2]=l;p=l;l=q}Ui(p+m|0,s|0,l|0)|0;l=r+8|0;m=c[l>>2]|0;if(!m){c[r>>2]=a;o=c[t>>2]|0;c[r+4>>2]=o}else o=c[t>>2]|0;p=c[n>>2]|0;q=s;s=s+p|0;n=c[r+24>>2]|0;m=n+m|0;c[l>>2]=m;l=c[u>>2]|0;c[u>>2]=l-n;c[r+12>>2]=m;m=p+o|0;c[t>>2]=m;o=r+16|0;c[o>>2]=(c[o>>2]|0)+p;if((l|0)==(n|0)){b=s;break}c[v>>2]=(c[v>>2]|0)+1;o=s;n=r+60|0;l=c[n>>2]|0;if((l+o|0)>>>0>>0?1:(q+(l+p)|0)>>>0>y>>>0){b=D;a=A;break c}else r=r+32|0}c[a+48>>2]=c[v>>2]}A=A+1|0;if(A>>>0>=V>>>0){a=b;break}else{a=a+56|0;p=b}}b=c[x>>2]|0}else{b=m;a=l}D=D+1|0;if(D>>>0>=b>>>0){aa=43;break b}else{m=b;w=w+36|0;l=a}}z=c[k>>2]|0;A=c[d>>2]|0;D=c[g>>2]|0;c[S>>2]=l;c[S+4>>2]=B;c[S+8>>2]=a;c[S+12>>2]=z;c[S+16>>2]=b;c[S+20>>2]=A;c[S+24>>2]=D;Ub(j,2,21803,S)|0;a=c[Q>>2]|0}}while(0);if((aa|0)==43){aa=0;a=a-z|0;c[Q>>2]=a}a=a+C|0}l=c[g>>2]|0;C=c[d>>2]|0;b=(c[J>>2]|0)+(l*52|0)+36|0;D=c[b>>2]|0;c[b>>2]=C>>>0>D>>>0?C:D;b=a}else aa=47}else{a=c[K>>2]|0;aa=47}if((aa|0)==47){aa=0;D=c[M>>2]|0;c[Q>>2]=0;if(!(gh(D,a,O,H,R,E,Q,F,j)|0)){aa=69;break a}u=c[Q>>2]|0;if(!(c[R>>2]|0))a=u;else{l=F-u|0;w=c[d>>2]|0;x=c[g>>2]|0;a=c[(c[K>>2]|0)+(x*52|0)+24>>2]|0;c[Q>>2]=0;t=c[a+(w*136|0)+24>>2]|0;if(!t)a=0;else{v=c[k>>2]|0;b=0;s=a+(w*136|0)+28|0;while(1){m=c[s+20>>2]|0;if(((c[s+8>>2]|0)!=(c[s>>2]|0)?(c[s+12>>2]|0)!=(c[s+4>>2]|0):0)?(T=_(c[m+(v*40|0)+20>>2]|0,c[m+(v*40|0)+16>>2]|0)|0,(T|0)!=0):0){a=0;r=c[m+(v*40|0)+24>>2]|0;while(1){p=r+40|0;d:do{if(c[p>>2]|0){q=r+44|0;m=c[q>>2]|0;do{if(!m){o=c[r+4>>2]|0;c[q>>2]=1;c[r+36>>2]=0}else{n=m+-1|0;o=c[r+4>>2]|0;if((c[o+(n<<5)+8>>2]|0)!=(c[o+(n<<5)+20>>2]|0)){o=o+(n<<5)|0;break}c[q>>2]=m+1;o=o+(m<<5)|0}}while(0);D=c[Q>>2]|0;m=c[o+28>>2]|0;n=m+D|0;if(n>>>0>>0|n>>>0>l>>>0){g=v;d=w;k=x;aa=65;break a}while(1){c[Q>>2]=n;D=c[o+24>>2]|0;C=o+8|0;c[C>>2]=(c[C>>2]|0)+D;C=c[p>>2]|0;c[p>>2]=C-D;if((C|0)==(D|0))break d;c[q>>2]=(c[q>>2]|0)+1;D=c[Q>>2]|0;m=c[o+60>>2]|0;n=m+D|0;if(n>>>0>>0|n>>>0>l>>>0){g=v;d=w;k=x;aa=65;break a}else o=o+32|0}}}while(0);a=a+1|0;if(a>>>0>=T>>>0)break;else r=r+56|0}}b=b+1|0;if(b>>>0>=t>>>0)break;else s=s+36|0}a=c[Q>>2]|0}a=a+u|0}l=c[g>>2]|0;b=a}if((c[h+(l<<2)>>2]|0)!=0?(U=(c[J>>2]|0)+(l*52|0)+36|0,(c[U>>2]|0)==0):0)c[U>>2]=(c[(c[K>>2]|0)+(l*52|0)+20>>2]|0)+-1;a=E+b|0;b=F-b|0;if(!(Of(H)|0))break;else{F=b;E=a}}}Uc(h);I=I+1|0;if(I>>>0>(c[P>>2]|0)>>>0){h=a;aa=75;break}else H=H+232|0}if((aa|0)==4){Kf(Z,Y);aa=0;i=$;return aa|0}else if((aa|0)==6){Kf(Z,Y);aa=0;i=$;return aa|0}else if((aa|0)==29){f=c[k>>2]|0;e=c[d>>2]|0;W=c[g>>2]|0;c[X>>2]=l;c[X+4>>2]=m;c[X+8>>2]=~l;c[X+12>>2]=a;c[X+16>>2]=f;c[X+20>>2]=b;c[X+24>>2]=e;c[X+28>>2]=W;Ub(j,1,21888,X)|0;aa=45}else if((aa|0)==32){Uc(c[a>>2]|0);c[a>>2]=0;c[b>>2]=0;aa=45}else if((aa|0)==65){c[W>>2]=m;c[W+4>>2]=l;c[W+8>>2]=a;c[W+12>>2]=g;c[W+16>>2]=b;c[W+20>>2]=d;c[W+24>>2]=k;Ub(j,1,21987,W)|0;aa=69}else if((aa|0)==75){Kf(Z,Y);c[f>>2]=h-e;aa=1;i=$;return aa|0}if((aa|0)==45){Kf(Z,Y);Uc(h);aa=0;i=$;return aa|0}else if((aa|0)==69){Kf(Z,Y);Uc(h);aa=0;i=$;return aa|0}return 0}function dh(a,b){a=a|0;b=b|0;var d=0;d=Qc(1,8)|0;if(!d){a=0;return a|0}c[d>>2]=a;c[d+4>>2]=b;a=d;return a|0}function eh(a){a=a|0;if(!a)return;Uc(a);return}function fh(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0;s=c[f+28>>2]|0;J=c[f+32>>2]|0;K=c[f+36>>2]|0;r=c[(c[d+20>>2]|0)+((c[f+24>>2]|0)*52|0)+24>>2]|0;if(!(c[e>>2]&2))G=g;else{a[g>>0]=-1;a[g+1>>0]=-111;a[g+2>>0]=0;a[g+3>>0]=4;G=d+840|0;a[g+4>>0]=(c[G>>2]|0)>>>8;a[g+5>>0]=c[G>>2];j=j+-6|0;G=g+6|0}if((K|0)==0?(q=r+(s*136|0)+24|0,(c[q>>2]|0)!=0):0){o=r+(s*136|0)+28|0;p=0;while(1){f=c[o+20>>2]|0;kg(c[f+(J*40|0)+32>>2]|0);m=f+(J*40|0)+36|0;kg(c[m>>2]|0);n=_(c[f+(J*40|0)+20>>2]|0,c[f+(J*40|0)+16>>2]|0)|0;if(n){f=f+(J*40|0)+24|0;d=o+28|0;l=0;do{H=c[f>>2]|0;c[H+(l*52|0)+40>>2]=0;ng(c[m>>2]|0,l,(c[d>>2]|0)-(c[H+(l*52|0)+28>>2]|0)|0);l=l+1|0}while((l|0)!=(n|0))}p=p+1|0;if(p>>>0>=(c[q>>2]|0)>>>0)break;else o=o+36|0}}E=wg()|0;if(!E){i=0;return i|0}zg(E,G,j);Bg(E,1,1);F=r+(s*136|0)+28|0;H=r+(s*136|0)+24|0;if(c[H>>2]|0){A=K+1|0;C=F;D=0;while(1){n=c[C+20>>2]|0;B=_(c[n+(J*40|0)+20>>2]|0,c[n+(J*40|0)+16>>2]|0)|0;o=n+(J*40|0)+24|0;f=(B|0)==0;if(!f){d=n+(J*40|0)+32|0;l=c[o>>2]|0;m=0;while(1){if((c[l+40>>2]|0)==0?(c[(c[l+4>>2]|0)+(K*24|0)>>2]|0)!=0:0)ng(c[d>>2]|0,m,K);m=m+1|0;if((m|0)==(B|0))break;else l=l+52|0}if(!f){z=n+(J*40|0)+32|0;y=n+(J*40|0)+36|0;w=c[o>>2]|0;x=0;while(1){f=(c[w+4>>2]|0)+(K*24|0)|0;v=w+40|0;if(!(c[v>>2]|0))og(E,c[z>>2]|0,x,A);else Bg(E,(c[f>>2]|0)!=0&1,1);d=c[f>>2]|0;if(d){if(!(c[v>>2]|0)){c[w+32>>2]=3;og(E,c[y>>2]|0,x,999);d=c[f>>2]|0}a:do{switch(d|0){case 1:{Bg(E,0,1);break}case 2:{Bg(E,2,2);break}default:{if(d>>>0<6){Bg(E,d+-3|12,4);break a}if(d>>>0<37){Bg(E,d+-6|480,9);break a}if(d>>>0<165)Bg(E,d+-37|65408,16)}}}while(0);o=c[v>>2]|0;d=c[f>>2]|0;u=d+o|0;t=w+8|0;if(o>>>0>>0){s=w+32|0;q=o+-1+d|0;m=0;n=0;l=0;r=(c[t>>2]|0)+(o*24|0)|0;while(1){l=l+1|0;n=(c[r+16>>2]|0)+n|0;if((a[r+20>>0]&1)!=0|(o|0)==(q|0)){if((n|0)>1){d=0;do{n=n>>1;d=d+1|0}while((n|0)>1)}else d=0;p=c[s>>2]|0;if((l|0)>1){n=0;do{l=l>>1;n=n+1|0}while((l|0)>1);l=n}else l=0;n=d+1-p-l|0;m=(m|0)>(n|0)?m:n;n=0;l=0}o=o+1|0;if((o|0)==(u|0))break;else r=r+24|0}if((m|0)>0){d=m;while(1){Bg(E,1,1);if((d|0)>1)d=d+-1|0;else{d=n;break}}}else d=n}else{m=0;d=0;l=0}Bg(E,0,1);q=w+32|0;c[q>>2]=(c[q>>2]|0)+m;m=c[v>>2]|0;if(m>>>0>>0){p=(c[t>>2]|0)+(m*24|0)|0;while(1){l=l+1|0;n=(c[p+16>>2]|0)+d|0;if((a[p+20>>0]&1)==0?(m|0)!=((c[v>>2]|0)+-1+(c[f>>2]|0)|0):0)d=n;else{o=c[q>>2]|0;if((l|0)>1){d=0;do{l=l>>1;d=d+1|0}while((l|0)>1)}else d=0;Bg(E,n,d+o|0);d=0;l=0}m=m+1|0;if((m|0)==(u|0))break;else p=p+24|0}}}x=x+1|0;if((x|0)==(B|0))break;else w=w+52|0}}}D=D+1|0;if(D>>>0>=(c[H>>2]|0)>>>0)break;else C=C+36|0}}if(!(Dg(E)|0)){xg(E);i=0;return i|0}d=yg(E)|0;f=G+d|0;j=j-d|0;xg(E);if(c[e>>2]&4){a[f>>0]=-1;a[G+(d+1)>>0]=-110;j=j+-2|0;f=G+(d+2)|0}t=(k|0)!=0;if(t?(c[k+12>>2]|0)!=0:0){G=f-g|0;e=(c[(c[k+88>>2]|0)+(b*592|0)+548>>2]|0)+(c[k+8>>2]<<5)+8|0;c[e>>2]=G;c[e+4>>2]=((G|0)<0)<<31>>31}d=c[H>>2]|0;b:do{if(d){u=k+12|0;v=k+8|0;w=k+88|0;r=F;s=0;c:while(1){l=c[r+20>>2]|0;q=_(c[l+(J*40|0)+20>>2]|0,c[l+(J*40|0)+16>>2]|0)|0;l=c[l+(J*40|0)+24>>2]|0;if(q){if(t){p=0;while(1){o=c[l+4>>2]|0;d=o+(K*24|0)|0;if(c[d>>2]|0){m=o+(K*24|0)+4|0;n=c[m>>2]|0;if(n>>>0>j>>>0){f=0;j=81;break c}Ui(f|0,c[o+(K*24|0)+16>>2]|0,n|0)|0;e=l+40|0;c[e>>2]=(c[e>>2]|0)+(c[d>>2]|0);e=c[m>>2]|0;f=f+e|0;j=j-e|0;if((c[u>>2]|0)!=0?(e=(c[(c[w>>2]|0)+(b*592|0)+548>>2]|0)+(c[v>>2]<<5)+24|0,I=+h[o+(K*24|0)+8>>3]+ +h[e>>3],h[e>>3]=I,+h[k>>3]>3]=I}p=p+1|0;if(p>>>0>=q>>>0)break;else l=l+52|0}}else{p=0;while(1){d=c[l+4>>2]|0;m=d+(K*24|0)|0;if(c[m>>2]|0){n=d+(K*24|0)+4|0;o=c[n>>2]|0;if(o>>>0>j>>>0){f=0;j=81;break c}Ui(f|0,c[d+(K*24|0)+16>>2]|0,o|0)|0;e=l+40|0;c[e>>2]=(c[e>>2]|0)+(c[m>>2]|0);e=c[n>>2]|0;j=j-e|0;f=f+e|0}p=p+1|0;if(p>>>0>=q>>>0)break;else l=l+52|0}}d=c[H>>2]|0}s=s+1|0;if(s>>>0>=d>>>0)break b;else r=r+36|0}if((j|0)==81)return f|0}}while(0);c[i>>2]=f-g+(c[i>>2]|0);i=1;return i|0}function gh(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+64|0;L=N+40|0;K=N+32|0;x=N+24|0;w=N+16|0;u=N+8|0;t=N;v=N+48|0;M=N+44|0;c[M>>2]=h;z=c[f+28>>2]|0;J=f+24|0;y=c[d+((c[J>>2]|0)*52|0)+24>>2]|0;H=f+36|0;if((c[H>>2]|0)==0?(s=y+(z*136|0)+24|0,m=c[s>>2]|0,(m|0)!=0):0){r=f+32|0;p=0;q=y+(z*136|0)+28|0;while(1){d=c[r>>2]|0;n=c[q+20>>2]|0;if((c[q+8>>2]|0)!=(c[q>>2]|0)?(c[q+12>>2]|0)!=(c[q+4>>2]|0):0){kg(c[n+(d*40|0)+32>>2]|0);kg(c[n+(d*40|0)+36>>2]|0);m=_(c[n+(d*40|0)+20>>2]|0,c[n+(d*40|0)+16>>2]|0)|0;if(m){o=0;d=c[n+(d*40|0)+24>>2]|0;while(1){c[d+44>>2]=0;c[d+48>>2]=0;o=o+1|0;if((o|0)==(m|0))break;else d=d+56|0}}m=c[s>>2]|0}p=p+1|0;if(p>>>0>=m>>>0)break;else q=q+36|0}}do{if(c[e>>2]&2){if(k>>>0<6){Ub(l,2,22072,t)|0;break}d=c[M>>2]|0;if((a[d>>0]|0)==-1?(a[d+1>>0]|0)==-111:0){c[M>>2]=d+6;break}Ub(l,2,22114,u)|0}}while(0);G=wg()|0;if(!G){h=0;i=N;return h|0}do{if(!(a[b+96>>0]&1))if(!(a[e+5636>>0]&2)){E=c[M>>2]|0;c[v>>2]=h+k-E;F=M;break}else{F=e+5168|0;E=c[F>>2]|0;v=e+5180|0;break}else{F=b+40|0;E=c[F>>2]|0;v=b+44|0}}while(0);Ag(G,E,c[v>>2]|0);if(!(Cg(G,1)|0)){Eg(G)|0;m=yg(G)|0;d=E+m|0;xg(G);do{if(c[e>>2]&4){if(((c[v>>2]|0)-d+(c[F>>2]|0)|0)>>>0<2){Ub(l,2,22135,w)|0;break}if((a[d>>0]|0)==-1?(a[E+(m+1)>>0]|0)==-110:0){d=E+(m+2)|0;break}Ub(l,2,22177,x)|0}}while(0);c[v>>2]=(c[v>>2]|0)+((c[F>>2]|0)-d);c[F>>2]=d;c[g>>2]=0;c[j>>2]=(c[M>>2]|0)-h;h=1;i=N;return h|0}D=y+(z*136|0)+24|0;d=c[D>>2]|0;a:do{if(d){B=f+32|0;C=e+5584|0;A=0;y=y+(z*136|0)+28|0;b:while(1){m=c[B>>2]|0;n=c[y+20>>2]|0;if(((c[y+8>>2]|0)!=(c[y>>2]|0)?(c[y+12>>2]|0)!=(c[y+4>>2]|0):0)?(I=_(c[n+(m*40|0)+20>>2]|0,c[n+(m*40|0)+16>>2]|0)|0,(I|0)!=0):0){b=n+(m*40|0)+32|0;f=n+(m*40|0)+36|0;w=y+28|0;x=0;k=c[n+(m*40|0)+24>>2]|0;while(1){m=k+44|0;if(!(c[m>>2]|0))d=pg(G,c[b>>2]|0,x,(c[H>>2]|0)+1|0)|0;else d=Cg(G,1)|0;c:do{if(!d)c[k+40>>2]=0;else{if(!(c[m>>2]|0)){d=0;while(1)if(!(pg(G,c[f>>2]|0,x,d)|0))d=d+1|0;else break;c[k+24>>2]=1-d+(c[w>>2]|0);c[k+28>>2]=3}do{if(Cg(G,1)|0)if(Cg(G,1)|0){d=Cg(G,2)|0;if((d|0)!=3){d=d+3|0;break}d=Cg(G,5)|0;if((d|0)==31){d=(Cg(G,7)|0)+37|0;break}else{d=d+6|0;break}}else d=2;else d=1}while(0);t=k+40|0;c[t>>2]=d;d=0;while(1)if(!(Cg(G,1)|0))break;else d=d+1|0;u=k+28|0;c[u>>2]=(c[u>>2]|0)+d;m=c[m>>2]|0;do{if(!m){n=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;d=k+52|0;if(!(c[d>>2]|0)){c[d>>2]=10;o=k+4|0;m=Tc(c[o>>2]|0,320)|0;if(!m){m=d;n=o;d=o;o=66;break b}c[o>>2]=m}else m=c[k+4>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;if(n&4){c[m+20>>2]=1;m=0;break}m=m+20|0;if(!(n&1)){c[m>>2]=109;m=0;break}else{c[m>>2]=10;m=0;break}}else{q=m+-1|0;r=k+4|0;n=c[r>>2]|0;if((c[n+(q<<5)+8>>2]|0)!=(c[n+(q<<5)+20>>2]|0)){d=k+52|0;m=q;break}p=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;d=k+52|0;o=c[d>>2]|0;if((m+1|0)>>>0>o>>>0){z=o+10|0;c[d>>2]=z;n=Tc(n,z<<5)|0;if(!n){n=r;m=d;d=r;o=77;break b}c[r>>2]=n}z=n+(m<<5)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(p&4){c[n+(m<<5)+20>>2]=1;break}if(!(p&1)){c[n+(m<<5)+20>>2]=109;break}else{z=c[n+(q<<5)+20>>2]|0;c[n+(m<<5)+20>>2]=(z|0)==1|(z|0)==10?2:1;break}}}while(0);s=k+4|0;q=c[t>>2]|0;while(1){p=c[s>>2]|0;n=(c[p+(m<<5)+20>>2]|0)-(c[p+(m<<5)+8>>2]|0)|0;n=(n|0)<(q|0)?n:q;c[p+(m<<5)+24>>2]=n;p=c[u>>2]|0;if(n>>>0>1){o=0;while(1){o=o+1|0;if(n>>>0>3)n=n>>>1;else{n=o;break}}}else n=0;p=Cg(G,n+p|0)|0;n=c[s>>2]|0;c[n+(m<<5)+28>>2]=p;p=q-(c[n+(m<<5)+24>>2]|0)|0;if((p|0)<=0)break c;q=m+1|0;r=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;o=c[d>>2]|0;if((m+2|0)>>>0>o>>>0){z=o+10|0;c[d>>2]=z;n=Tc(n,z<<5)|0;if(!n){n=s;m=s;o=90;break b}c[s>>2]=n}z=n+(q<<5)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(r&4){c[n+(q<<5)+20>>2]=1;m=q;q=p;continue}if(!(r&1)){c[n+(q<<5)+20>>2]=109;m=q;q=p;continue}else{z=c[n+(m<<5)+20>>2]|0;c[n+(q<<5)+20>>2]=(z|0)==1|(z|0)==10?2:1;m=q;q=p;continue}}}}while(0);x=x+1|0;if(x>>>0>=I>>>0)break;else k=k+56|0}d=c[D>>2]|0}A=A+1|0;if(A>>>0>=d>>>0)break a;else y=y+36|0}if((o|0)==66){Uc(c[d>>2]|0);c[n>>2]=0;c[m>>2]=0;xg(G);h=0;i=N;return h|0}else if((o|0)==77){Uc(c[d>>2]|0);c[n>>2]=0;c[m>>2]=0;xg(G);h=0;i=N;return h|0}else if((o|0)==90){Uc(c[m>>2]|0);c[n>>2]=0;c[d>>2]=0;xg(G);h=0;i=N;return h|0}}}while(0);if(!(Eg(G)|0)){xg(G);h=0;i=N;return h|0}m=yg(G)|0;d=E+m|0;xg(G);do{if(c[e>>2]&4){if(((c[v>>2]|0)-d+(c[F>>2]|0)|0)>>>0<2){Ub(l,2,22135,K)|0;break}if((a[d>>0]|0)==-1?(a[E+(m+1)>>0]|0)==-110:0){d=E+(m+2)|0;break}Ub(l,2,22177,L)|0}}while(0);c[v>>2]=(c[v>>2]|0)+((c[F>>2]|0)-d);c[F>>2]=d;c[g>>2]=1;c[j>>2]=(c[M>>2]|0)-h;h=1;i=N;return h|0}function hh(){return Pc(104)|0}function ih(a){a=a|0;if(!a)return;Uc(a);return}function jh(a){a=a|0;return(c[a+12>>2]|0)-(c[a+16>>2]|0)|0}function kh(b,d){b=b|0;d=d|0;var e=0,f=0;c[b+100>>2]=b+24;c[b+4>>2]=32768;c[b>>2]=0;f=d+-1|0;c[b+12>>2]=f;e=b+8|0;c[e>>2]=12;c[e>>2]=(a[f>>0]|0)==-1?13:12;c[b+16>>2]=d;return}function lh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=c[b+100>>2]|0;h=c[g>>2]|0;j=(c[h+4>>2]|0)==(d|0);f=c[h>>2]|0;k=b+4|0;d=(c[k>>2]|0)-f|0;c[k>>2]=d;if(!j){if(d>>>0>>0){j=(c[b>>2]|0)+f|0;c[b>>2]=j;f=d;d=j;j=b}else{c[k>>2]=f;d=c[b>>2]|0;j=b}c[g>>2]=c[h+12>>2];i=b+8|0;h=b+12|0;g=d;d=c[i>>2]|0;while(1){f=f<<1;c[k>>2]=f;e=g<<1;c[j>>2]=e;d=d+-1|0;c[i>>2]=d;if(!d){d=c[h>>2]|0;f=a[d>>0]|0;do{if(f<<24>>24!=-1){if(!(e&134217728)){e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>18;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}a[d>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){b=c[j>>2]&134217727;c[j>>2]=b;e=d+1|0;c[h>>2]=e;a[e>>0]=b>>>20;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[h>>2]=e;a[e>>0]=(c[j>>2]|0)>>>19;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}}else{e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>19;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7}}while(0);f=c[k>>2]|0}if(!(f&32768))g=e;else break}return}if(d&32768){c[b>>2]=(c[b>>2]|0)+f;return}if(d>>>0>>0){c[k>>2]=f;e=c[b>>2]|0;j=b}else{e=(c[b>>2]|0)+f|0;c[b>>2]=e;f=d;j=b}c[g>>2]=c[h+8>>2];i=b+8|0;h=b+12|0;g=e;d=c[i>>2]|0;while(1){f=f<<1;c[k>>2]=f;e=g<<1;c[j>>2]=e;d=d+-1|0;c[i>>2]=d;if(!d){d=c[h>>2]|0;f=a[d>>0]|0;do{if(f<<24>>24!=-1){if(!(e&134217728)){e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>18;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}a[d>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){b=c[j>>2]&134217727;c[j>>2]=b;e=d+1|0;c[h>>2]=e;a[e>>0]=b>>>20;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[h>>2]=e;a[e>>0]=(c[j>>2]|0)>>>19;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}}else{e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>19;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7}}while(0);f=c[k>>2]|0}if(!(f&32768))g=e;else break}return}function mh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[b>>2]|0;f=h|65535;g=b+8|0;f=(f>>>0<((c[b+4>>2]|0)+h|0)>>>0?f:f+-32768|0)<>2];c[b>>2]=f;h=b+12|0;d=c[h>>2]|0;e=a[d>>0]|0;do{if(e<<24>>24!=-1){if(!(f&134217728)){d=d+1|0;c[h>>2]=d;a[d>>0]=f>>>19;d=c[b>>2]&524287;c[b>>2]=d;c[g>>2]=8;e=8;break}a[d>>0]=e+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){e=c[b>>2]&134217727;c[b>>2]=e;d=d+1|0;c[h>>2]=d;a[d>>0]=e>>>20;d=c[b>>2]&1048575;c[b>>2]=d;c[g>>2]=7;e=7;break}else{d=d+1|0;c[h>>2]=d;a[d>>0]=(c[b>>2]|0)>>>19;d=c[b>>2]&524287;c[b>>2]=d;c[g>>2]=8;e=8;break}}else{d=d+1|0;c[h>>2]=d;a[d>>0]=f>>>20;d=c[b>>2]&1048575;c[b>>2]=d;c[g>>2]=7;e=7}}while(0);d=d<>2]=d;e=c[h>>2]|0;f=a[e>>0]|0;do{if(f<<24>>24!=-1){if(!(d&134217728)){f=e+1|0;c[h>>2]=f;a[f>>0]=d>>>19;c[b>>2]=c[b>>2]&524287;c[g>>2]=8;break}a[e>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){e=c[b>>2]&134217727;c[b>>2]=e;f=d+1|0;c[h>>2]=f;a[f>>0]=e>>>20;c[b>>2]=c[b>>2]&1048575;c[g>>2]=7;break}else{f=d+1|0;c[h>>2]=f;a[f>>0]=(c[b>>2]|0)>>>19;c[b>>2]=c[b>>2]&524287;c[g>>2]=8;break}}else{f=e+1|0;c[h>>2]=f;a[f>>0]=d>>>20;c[b>>2]=c[b>>2]&1048575;c[g>>2]=7}}while(0);d=c[h>>2]|0;if((a[d>>0]|0)==-1)return;c[h>>2]=d+1;return}function nh(a){a=a|0;c[a>>2]=0;c[a+8>>2]=8;return}function oh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+8|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;d=(d<>2]|0)|0;c[b>>2]=d;if(f)return;f=b+12|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;a[g>>0]=d;c[e>>2]=8;c[e>>2]=(a[c[f>>2]>>0]|0)==-1?7:8;c[b>>2]=0;return}function ph(a){a=a|0;c[a+28>>2]=1156;c[a+32>>2]=1156;c[a+36>>2]=1156;c[a+40>>2]=1156;c[a+44>>2]=1156;c[a+48>>2]=1156;c[a+52>>2]=1156;c[a+56>>2]=1156;c[a+60>>2]=1156;c[a+64>>2]=1156;c[a+68>>2]=1156;c[a+72>>2]=1156;c[a+76>>2]=1156;c[a+80>>2]=1156;c[a+84>>2]=1156;c[a+88>>2]=1156;c[a+96>>2]=2628;c[a+92>>2]=1252;c[a+24>>2]=1284;return}function qh(a){a=a|0;c[a+24>>2]=1156;c[a+28>>2]=1156;c[a+32>>2]=1156;c[a+36>>2]=1156;c[a+40>>2]=1156;c[a+44>>2]=1156;c[a+48>>2]=1156;c[a+52>>2]=1156;c[a+56>>2]=1156;c[a+60>>2]=1156;c[a+64>>2]=1156;c[a+68>>2]=1156;c[a+72>>2]=1156;c[a+76>>2]=1156;c[a+80>>2]=1156;c[a+84>>2]=1156;c[a+88>>2]=1156;c[a+92>>2]=1156;c[a+96>>2]=1156;return}function rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+24+(b<<2)>>2]=1156+((e<<1)+d<<4);return}function sh(b){b=b|0;var d=0,e=0;c[b+100>>2]=b+24;c[b+4>>2]=32768;c[b>>2]=0;d=b+8|0;c[d>>2]=12;e=b+12|0;b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if((a[b>>0]|0)!=-1)return;c[d>>2]=13;return}function th(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=b+8|0;d=c[i>>2]|0;f=12-d|0;if((f|0)>0){g=b+12|0;e=c[b>>2]|0;do{d=e<>2]=d;c[i>>2]=0;e=c[g>>2]|0;h=a[e>>0]|0;do{if(h<<24>>24!=-1){if(!(d&134217728)){e=e+1|0;c[g>>2]=e;a[e>>0]=d>>>19;e=c[b>>2]&524287;c[b>>2]=e;c[i>>2]=8;d=8;break}a[e>>0]=h+1<<24>>24;d=c[g>>2]|0;if((a[d>>0]|0)==-1){h=c[b>>2]&134217727;c[b>>2]=h;e=d+1|0;c[g>>2]=e;a[e>>0]=h>>>20;e=c[b>>2]&1048575;c[b>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[g>>2]=e;a[e>>0]=(c[b>>2]|0)>>>19;e=c[b>>2]&524287;c[b>>2]=e;c[i>>2]=8;d=8;break}}else{e=e+1|0;c[g>>2]=e;a[e>>0]=d>>>20;e=c[b>>2]&1048575;c[b>>2]=e;c[i>>2]=7;d=7}}while(0);f=f-d|0}while((f|0)>0)}else g=b+12|0;d=c[g>>2]|0;e=a[d>>0]|0;if(e<<24>>24==-1)return;f=c[b>>2]|0;if(!(f&134217728)){h=d+1|0;c[g>>2]=h;a[h>>0]=f>>>19;c[b>>2]=c[b>>2]&524287;c[i>>2]=8;return}a[d>>0]=e+1<<24>>24;d=c[g>>2]|0;if((a[d>>0]|0)==-1){f=c[b>>2]&134217727;c[b>>2]=f;h=d+1|0;c[g>>2]=h;a[h>>0]=f>>>20;c[b>>2]=c[b>>2]&1048575;c[i>>2]=7;return}else{h=d+1|0;c[g>>2]=h;a[h>>0]=(c[b>>2]|0)>>>19;c[b>>2]=c[b>>2]&524287;c[i>>2]=8;return}}function uh(a){a=a|0;c[a+100>>2]=a+96;lh(a,1);lh(a,0);lh(a,1);lh(a,0);return}function vh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[b+100>>2]=b+24;c[b+16>>2]=e;c[b+20>>2]=e+f;h=b+12|0;c[h>>2]=e;do{if(f){i=d[e>>0]<<16;c[b>>2]=i;g=e+1|0;if((f|0)==1)f=255;else f=d[g>>0]|0;if((a[e>>0]|0)!=-1){c[h>>2]=g;g=i|f<<8;c[b>>2]=g;f=b+8|0;c[f>>2]=8;h=b;i=1;break}if(f>>>0>143){g=i|65280;c[b>>2]=g;f=b+8|0;c[f>>2]=8;h=b;i=1;break}else{c[h>>2]=g;g=i+(f<<9)|0;c[b>>2]=g;f=b+8|0;c[f>>2]=7;h=b;i=0;break}}else{c[b>>2]=16776960;f=b+8|0;c[f>>2]=8;g=16776960;h=b;i=1}}while(0);c[h>>2]=g<<7;c[f>>2]=i;c[b+4>>2]=32768;return 1}function wh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[b+100>>2]|0;g=c[f>>2]|0;j=c[g>>2]|0;n=b+4|0;i=(c[n>>2]|0)-j|0;c[n>>2]=i;h=c[b>>2]|0;if(h>>>16>>>0>>0){c[n>>2]=j;e=c[g+4>>2]|0;if(i>>>0>>0)c[f>>2]=c[g+8>>2];else{c[f>>2]=c[g+12>>2];e=1-e|0}k=b+8|0;l=b+12|0;m=b+20|0;g=c[k>>2]|0;f=h;do{do{if(!g){h=c[l>>2]|0;g=c[m>>2]|0;if((h|0)==(g|0)){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}i=h+1|0;if((i|0)==(g|0))g=255;else g=d[i>>0]|0;if((a[h>>0]|0)!=-1){c[l>>2]=i;f=f+(g<<8)|0;c[b>>2]=f;c[k>>2]=8;g=8;break}if(g>>>0>143){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}else{c[l>>2]=i;f=f+(g<<9)|0;c[b>>2]=f;c[k>>2]=7;g=7;break}}}while(0);j=j<<1;c[n>>2]=j;f=f<<1;c[b>>2]=f;g=g+-1|0;c[k>>2]=g}while(j>>>0<32768);return e|0}h=h-(j<<16)|0;c[b>>2]=h;if(i&32768){b=c[g+4>>2]|0;return b|0}e=c[g+4>>2]|0;if(j>>>0>i>>>0){c[f>>2]=c[g+12>>2];e=1-e|0}else c[f>>2]=c[g+8>>2];k=b+8|0;l=b+12|0;m=b+20|0;g=c[k>>2]|0;f=h;j=i;do{do{if(!g){h=c[l>>2]|0;g=c[m>>2]|0;if((h|0)==(g|0)){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}i=h+1|0;if((i|0)==(g|0))g=255;else g=d[i>>0]|0;if((a[h>>0]|0)!=-1){c[l>>2]=i;f=f+(g<<8)|0;c[b>>2]=f;c[k>>2]=8;g=8;break}if(g>>>0>143){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}else{c[l>>2]=i;f=f+(g<<9)|0;c[b>>2]=f;c[k>>2]=7;g=7;break}}}while(0);j=j<<1;c[n>>2]=j;f=f<<1;c[b>>2]=f;g=g+-1|0;c[k>>2]=g}while(j>>>0<32768);return e|0}function xh(){return Pc(28)|0}function yh(a){a=a|0;if(!a)return;Uc(a);return}function zh(b,d,e){b=b|0;d=d|0;e=e|0;c[b+20>>2]=d;c[b+8>>2]=e;c[b+12>>2]=0;a[b>>0]=0;c[b+4>>2]=0;return}function Ah(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=b+4|0;d=c[g>>2]|0;do{if(!d){c[g>>2]=8;e=b+12|0;f=c[e>>2]|0;if((f|0)==(c[b+8>>2]|0)){a[b>>0]=-1;d=8;e=-1;break}if((a[b>>0]|0)==-1){c[g>>2]=7;d=7}else d=8;h=a[(c[b+20>>2]|0)+f>>0]|0;a[b>>0]=h;c[e>>2]=f+1;e=h}else e=a[b>>0]|0}while(0);h=d+-1|0;c[g>>2]=h;return(e&255)>>>h&1|0}function Bh(){var a=0;if(!(c[665]|0))a=2712;else a=c[(Ca()|0)+60>>2]|0;return a|0}function Ch(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[22198+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=22286;e=5;break}}if((e|0)==2)if(!c)b=22286;else{b=22286;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function Dh(a){a=a|0;if(a>>>0>4294963200){c[(Bh()|0)>>2]=0-a;a=-1}return a|0}function Eh(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Ti(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Eh(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return+a}function Fh(a,b){a=+a;b=b|0;return+ +Eh(a,b)}function Gh(a,b){a=+a;b=b|0;return+ +Jh(a,b)}function Hh(a){a=+a;return~~+Ih(a)|0}function Ih(a){a=+a;var b=0;b=(g[k>>2]=a,c[k>>2]|0);if((b&2130706432)>>>0<=1249902592){b=(b|0)<0;a=b?a+-8388608.0+8388608.0:a+8388608.0+-8388608.0;if(a==0.0)a=b?-0.0:0.0}return+a}function Jh(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ri(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return+(a*+h[k>>3])}function Kh(b,d,e){b=b|0;d=d|0;e=e|0;do{if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(Bh()|0)>>2]=84;b=-1;break}}else b=1}while(0);return b|0}function Lh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Kh(a,b,0)|0;return a|0}function Mh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(ri(24090,f<<24>>24,4)|0){e=Fi(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(ti(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(ti(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ra(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ra(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ra(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Fa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=60;c[e+36>>2]=61;c[e+40>>2]=3;c[e+12>>2]=1;if(!(c[666]|0))c[e+76>>2]=-1;Ia(2688);f=c[671]|0;c[e+56>>2]=f;if(f)c[f+52>>2]=e;c[671]=e;Ga(2688)}}else{c[(Bh()|0)>>2]=22;e=0}i=o;return e|0}function Nh(b){b=b|0;var c=0,d=0,e=0;d=(ti(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(ti(b,120)|0)==0;d=e?d:d|128;b=(ti(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return(c<<24>>24==97?b|1024:b)|0}function Oh(a){a=a|0;return 0}function Ph(a){a=a|0;return}function Qh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Xh(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do{if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Ra[c[b+36>>2]&63](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}}while(0);i=m;return f|0}function Rh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=Dh(Ja(6,d|0)|0)|0;i=b;return a|0}function Sh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[665]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Dh(Na(145,h|0)|0)|0}else{ua(5,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Dh(Na(145,g|0)|0)|0;qa(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Dh(Ma(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[665]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Dh(Oa(146,n|0)|0)|0}else{ua(6,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Dh(Oa(146,m|0)|0)|0;qa(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Vh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=61;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Fa(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Uh(b,d,e)|0;i=g;return f|0}function Wh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Ra[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Xh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Yh(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ia(2688);d=c[a+52>>2]|0;b=a+56|0;if(d)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b)c[b+52>>2]=d;if((c[671]|0)==(a|0))c[671]=b;Ga(2688)}b=Zh(a)|0;b=Wa[c[a+12>>2]&15](a)|0|b;d=c[a+92>>2]|0;if(d)Gi(d);if(!e)Gi(a);return b|0}function Zh(a){a=a|0;var b=0,d=0;do{if(a){if((c[a+76>>2]|0)<=-1){b=zi(a)|0;break}d=(Oh(a)|0)==0;b=zi(a)|0;if(!d)Ph(a)}else{if(!(c[677]|0))b=0;else b=Zh(c[677]|0)|0;Ia(2688);a=c[671]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Oh(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=zi(a)|0|b;if(d)Ph(a);a=c[a+56>>2]|0}while((a|0)!=0);Ga(2688)}}while(0);return b|0}function _h(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(ri(24090,a[d>>0]|0,4)|0){h=Nh(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Dh(Ka(5,e|0)|0)|0;if((e|0)>=0){b=Mh(e,d)|0;if(!b){c[f>>2]=e;Ja(6,f|0)|0;b=0}}else b=0}else{c[(Bh()|0)>>2]=22;b=0}i=g;return b|0}function $h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=oi(a,b,f)|0;i=e;return d|0}function ai(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Oh(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Qh(d,b)|0;Ph(d)}else i=3;do{if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Qh(d,b)|0}}while(0);return e|0}function bi(a,b){a=a|0;b=b|0;return(ki(a,wi(a)|0,1,b)|0)+-1|0}function ci(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Oh(f)|0;else k=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:j;Ui(b|0,h|0,i|0)|0;c[g>>2]=h+i;b=b+i|0;g=j-i|0}else g=j;a:do{if(!g)l=13;else{i=f+32|0;h=g;while(1){if(Wh(f)|0){e=h;break}g=Ra[c[i>>2]&63](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k)Ph(f);e=((j-e|0)>>>0)/(d>>>0)|0}}while(0);if((l|0)==13)if(k)Ph(f);return e|0}function di(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;f=a+20|0;e=a+28|0;if((c[f>>2]|0)>>>0>(c[e>>2]|0)>>>0?(Ra[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[e>>2]=0;c[f>>2]=0;if((Ra[c[a+40>>2]&63](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Oh(a)|0)==0;b=di(a,b,d)|0;if(!e)Ph(a)}else b=di(a,b,d)|0;return b|0}function fi(a,b,c){a=a|0;b=b|0;c=c|0;return ei(a,b,c)|0}function gi(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Ra[c[a+40>>2]&63](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function hi(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Oh(a)|0)==0;a=gi(a)|0}else a=gi(a)|0;return a|0}function ii(a){a=a|0;return hi(a)|0}function ji(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Xh(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do{if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Ra[c[e+36>>2]&63](e,b,d)|0;break}b:do{if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Ra[c[e+36>>2]&63](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}}while(0);Ui(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}}while(0);return f|0}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=_(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Oh(e)|0)==0;a=ji(a,f,e)|0;if(!g)Ph(e)}else a=ji(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function li(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=oi(c[676]|0,a,e)|0;i=d;return b|0}function mi(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[676]|0;if((c[f+76>>2]|0)>-1)g=Oh(f)|0;else g=0;do{if((bi(b,f)|0)<0)d=1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;d=0;break}d=(Qh(f,10)|0)<0}}while(0);if(g)Ph(f);return d<<31>>31|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=qi(a,b,f)|0;i=e;return d|0}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=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;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((Ai(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Oh(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=Ai(b,d,o,q,r)|0;if(h){Ra[c[b+36>>2]&63](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=Ai(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Ph(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function pi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=2716;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Bh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=oi(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return pi(a,2147483647,b,c)|0}function ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do{if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5}while(0);if((i|0)==5)if(f)i=6;else e=0;b:do{if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=_(h,16843009)|0;c:do{if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11}while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}}while(0);return((e|0)!=0?b:0)|0}function si(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do{if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8}while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ti(b,c){b=b|0;c=c|0;b=ui(b,c)|0;return((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function ui(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do{if(!f)b=b+(wi(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do{if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009)break b;b=b+4|0;e=c[b>>2]|0}while(((e&-2139062144^-2139062144)&e+-16843009|0)==0)}while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}}while(0);return b|0}function vi(a,b){a=a|0;b=b|0;si(a,b)|0;return a|0}function wi(b){b=b|0;var d=0,e=0,f=0;f=b;a:do{if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do{b=b+1|0}while((a[b>>0]|0)!=0)}return b-f|0}function xi(a){a=a|0;if(!(c[a+68>>2]|0))Ph(a);return}function yi(a){a=a|0;if(!(c[a+68>>2]|0))Ph(a);return}function zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ra[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ra[c[a+40>>2]&63](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Ai(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;$=X;aa=$-Z|0;O=-2-Z|0;P=$+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do{if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(Bh()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do{if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)ji(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do{if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}}while(0);do{if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}}while(0);e:do{if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1}while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[25126+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do{if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Ci(ba,s,g)}}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do{switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=Ti(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=25606;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=25606;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=Oi(0,0,n|0,o|0)|0;o=C;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=25606;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?25606:25608;L=76}else{p=1;s=25607;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=25606;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=25606;n=N;break}case 109:{n=Ch(c[(Bh()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:25616;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){Ei(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?25624:25629}else{G=1;H=25626}else{q=-q;G=1;H=25623}h[k>>3]=q;F=c[k+4>>2]&2146435072;do{if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+Fh(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;D=u|32;if((D|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do{if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v}while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Di(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[25590+H>>0]|w;q=(q-+(H|0))*16.0;do{if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;Ei(e,32,K,p,I);if(!(c[e>>2]&32))ji(y,x,e)|0;Ei(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))ji(da,n,e)|0;o=$-t|0;Ei(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))ji(t,o,e)|0;Ei(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do{if(r>>>0>>0)r=s;else{o=0;do{B=Ri(c[r>>2]|0,0,t|0)|0;B=Si(B|0,C|0,o|0,0)|0;o=C;A=$i(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=_i(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(D|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do{if(w>>>0

>>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0

>>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w}while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do{if(w>>>0

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0}while(0);A=(D|0)==103;B=(n|0)!=0;r=n-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do{if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do{if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}}while(0);do{if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}}while(0);D=r+4|0;w=s;p=p>>>0>D>>>0?D:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;D=p;break}}do{if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do{if(z){p=c[D+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9}while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8}while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Di(r,((r|0)<0)<<31>>31,X)|0;if(($-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while(($-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=$-E|0;u=E}y=G+1+n+s+o|0;Ei(e,32,K,y,I);if(!(c[e>>2]&32))ji(H,G,e)|0;Ei(e,48,K,y,I^65536);do{if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Di(c[o>>2]|0,0,R)|0;do{if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}}while(0);if(!(c[e>>2]&32))ji(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do{if(x){if(c[e>>2]&32)break;ji(25658,1,e)|0}}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Di(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))ji(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}Ei(e,48,n+9|0,9,0)}else{t=z?D:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Di(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do{if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))ji(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}ji(25658,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}}while(0);p=S-o|0;if(!(c[e>>2]&32))ji(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}Ei(e,48,n+18|0,18,0);if(c[e>>2]&32)break;ji(u,$-u|0,e)|0}}while(0);Ei(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Ei(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){ji(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))ji(s?t?25650:25654:t?25642:25646,3,e)|0;Ei(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=25606;n=N}}}while(0);g:do{if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[25590+(o&15)>>0]|s;o=Ti(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=25606;L=77}else{o=t;t=2;s=25606+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=25606;L=77}}else if((L|0)==76){n=Di(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=ri(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=25606;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Lh(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}Ei(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Lh(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))ji(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}}while(0);if((L|0)==98){L=0;Ei(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;Ei(e,32,n,r,p);if(!(c[e>>2]&32))ji(u,t,e)|0;Ei(e,48,n,r,p^65536);Ei(e,48,o,s,0);if(!(c[e>>2]&32))ji(w,s,e)|0;Ei(e,32,n,r,p^8192);w=J}h:do{if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Ci(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0}while(0);i=ha;return m|0}function Bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;Ui(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Ci(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do{if(b>>>0<=20)do{switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}}while(0)}while(0);return}function Di(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=$i(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=_i(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function Ei(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do{if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;Qi(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){ji(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;ji(h,f,a)|0}}while(0);i=j;return}function Fi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do{if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[735]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=2980+(e<<2)|0;e=2980+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do{if((d|0)!=(h|0)){if(h>>>0<(c[739]|0)>>>0)ta();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else ta()}else c[735]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[737]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=2980+(e<<2)|0;e=2980+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do{if((d|0)!=(f|0)){if(f>>>0<(c[739]|0)>>>0)ta();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[737]|0;break}else ta()}else{c[735]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[740]|0;d=k>>>3;b=d<<1;e=2980+(b<<2)|0;a=c[735]|0;d=1<>2]|0;if(b>>>0<(c[739]|0)>>>0)ta();else{l=a;m=b}}else{c[735]=a|d;l=2980+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[737]=h;c[740]=i;M=j;return M|0}a=c[736]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[3244+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[739]|0;if(e>>>0>>0)ta();i=e+o|0;if(e>>>0>=i>>>0)ta();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do{if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)ta();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)ta();b=f+12|0;if((c[b>>2]|0)!=(e|0))ta();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else ta()}}while(0);do{if(h){b=c[e+28>>2]|0;a=3244+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[739]|0;if(n>>>0>>0)ta();c[n+24>>2]=h;b=c[e+16>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[n+16>>2]=b;c[b+24>>2]=n;break}}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[737]|0;if(b){g=c[740]|0;d=b>>>3;b=d<<1;f=2980+(b<<2)|0;a=c[735]|0;d=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{p=b;q=a}}else{c[735]=a|d;p=2980+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[737]=j;c[740]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[736]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[3244+(k<<2)>>2]|0;a:do{if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[3244+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[737]|0)-m|0)>>>0:0){f=c[739]|0;if(j>>>0>>0)ta();h=j+m|0;if(j>>>0>=h>>>0)ta();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do{if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)ta();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)ta();b=e+12|0;if((c[b>>2]|0)!=(j|0))ta();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else ta()}}while(0);do{if(g){b=c[j+28>>2]|0;a=3244+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[739]|0;if(o>>>0>>0)ta();c[o+24>>2]=g;b=c[j+16>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[o+16>>2]=b;c[b+24>>2]=o;break}}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}}while(0);b:do{if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{s=b;t=a}}else{c[735]=d|b;s=2980+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=3244+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[736]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do{if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b}while(0);b=y+8|0;a=c[b>>2]|0;M=c[739]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else ta()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1}while(0);d=c[737]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[740]|0;if(b>>>0>15){c[740]=a+q;c[737]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[737]=0;c[740]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[738]|0;if(a>>>0>q>>>0){L=a-q|0;c[738]=L;M=c[741]|0;c[741]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do{if(!(c[853]|0)){a=za(30)|0;if(!(a+-1&a)){c[855]=a;c[854]=a;c[856]=-1;c[857]=-1;c[858]=0;c[846]=0;c[853]=(La(0)|0)&-16^1431655768;break}else ta()}}while(0);j=q+48|0;i=c[855]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[845]|0;if((a|0)!=0?(t=c[843]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do{if(!(c[846]&4)){a=c[741]|0;e:do{if(a){f=3388;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[738]|0)&i;if(d>>>0<2147483647){f=xa(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174}while(0);do{if((v|0)==174){g=xa(0)|0;if((g|0)!=(-1|0)){a=g;d=c[854]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[843]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[845]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=xa(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}}while(0);f:do{if((v|0)==184){g=0-d|0;do{if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[855]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((xa(u|0)|0)==(-1|0)){xa(g|0)|0;break f}else{d=u+d|0;break}}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}}while(0);c[846]=c[846]|4;v=191}else{a=0;v=191}}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=xa(l|0)|0,x=xa(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[843]|0)+p|0;c[843]=a;if(a>>>0>(c[844]|0)>>>0)c[844]=a;h=c[741]|0;g:do{if(h){g=3388;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[738]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[741]=h+L;c[738]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[742]=c[857];break}a=c[739]|0;if(w>>>0>>0){c[739]=w;a=w}d=w+p|0;g=3388;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=3388;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do{if((b|0)!=(h|0)){if((b|0)==(c[740]|0)){M=(c[737]|0)+l|0;c[737]=M;c[740]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do{if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do{if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)ta();a=f+12|0;if((c[a>>2]|0)!=(b|0))ta();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else ta()}}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=3244+(a<<2)|0;do{if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[739]|0)>>>0)ta();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[736]=c[736]&~(1<>>0>>0)ta();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do{if(a)if(a>>>0>>0)ta();else{c[J+16>>2]=a;c[a+24>>2]=J;break}}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[739]|0)>>>0)ta();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=2980+(g<<1<<2)|0;do{if((e|0)!=(d|0)){if(e>>>0>>0)ta();if((c[e+12>>2]|0)==(b|0))break;ta()}}while(0);if((f|0)==(e|0)){c[735]=c[735]&~(1<>>0>>0)ta();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}ta()}}while(0);c[e+12>>2]=f;c[F>>2]=e}}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0>=(c[739]|0)>>>0){K=b;L=a;break}ta()}}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do{if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);b=3244+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[736]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do{if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b}while(0);b=M+8|0;a=c[b>>2]|0;L=c[739]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else ta()}else{M=(c[738]|0)+l|0;c[738]=M;c[741]=o;c[w+(m+4)>>2]=M|1}}while(0);M=w+(n|8)|0;return M|0}else d=3388;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[741]=w+d;c[738]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[742]=c[857];d=a+4|0;c[d>>2]=27;c[b>>2]=c[847];c[b+4>>2]=c[848];c[b+8>>2]=c[849];c[b+12>>2]=c[850];c[847]=w;c[848]=p;c[850]=0;c[849]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{G=b;H=a}}else{c[735]=d|b;G=2980+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=3244+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[736]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do{if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b}while(0);b=I+8|0;a=c[b>>2]|0;M=c[739]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else ta()}}else{M=c[739]|0;if((M|0)==0|w>>>0>>0)c[739]=w;c[847]=w;c[848]=p;c[850]=0;c[744]=c[853];c[743]=-1;b=0;do{M=b<<1;L=2980+(M<<2)|0;c[2980+(M+3<<2)>>2]=L;c[2980+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[741]=w+M;c[738]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[742]=c[857]}}while(0);b=c[738]|0;if(b>>>0>q>>>0){L=b-q|0;c[738]=L;M=c[741]|0;c[741]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(Bh()|0)>>2]=12;M=0;return M|0}function Gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[739]|0;if(b>>>0>>0)ta();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)ta();o=d&-8;q=a+(o+-8)|0;do{if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)ta();if((l|0)==(c[740]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[737]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=2980+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)ta();if((c[e+12>>2]|0)!=(l|0))ta()}if((d|0)==(e|0)){c[735]=c[735]&~(1<>>0>>0)ta();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else ta()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do{if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)ta();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)ta();b=f+12|0;if((c[b>>2]|0)!=(l|0))ta();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else ta()}}while(0);if(h){b=c[a+(j+28)>>2]|0;d=3244+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[739]|0;if(k>>>0>>0)ta();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[k+16>>2]=b;c[b+24>>2]=k;break}}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}}while(0);if(u>>>0>=q>>>0)ta();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))ta();if(!(d&2)){if((q|0)==(c[741]|0)){t=(c[738]|0)+g|0;c[738]=t;c[741]=u;c[u+4>>2]=t|1;if((u|0)!=(c[740]|0))return;c[740]=0;c[737]=0;return}if((q|0)==(c[740]|0)){t=(c[737]|0)+g|0;c[737]=t;c[740]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do{if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do{if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[739]|0)>>>0)ta();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[739]|0)>>>0)ta();e=d+12|0;if((c[e>>2]|0)!=(q|0))ta();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else ta()}}while(0);if(h){b=c[a+(o+20)>>2]|0;d=3244+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[739]|0;if(p>>>0>>0)ta();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[p+16>>2]=b;c[b+24>>2]=p;break}}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=2980+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[739]|0)>>>0)ta();if((c[e+12>>2]|0)!=(q|0))ta()}if((d|0)==(e|0)){c[735]=c[735]&~(1<>>0<(c[739]|0)>>>0)ta();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else ta()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[740]|0)){c[737]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=2980+(d<<2)|0;e=c[735]|0;b=1<>2]|0;if(d>>>0<(c[739]|0)>>>0)ta();else{r=b;s=d}}else{c[735]=e|b;r=2980+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=3244+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[736]|0;e=1<>2]|0;b:do{if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[739]|0)>>>0)ta();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b}while(0);b=t+8|0;d=c[b>>2]|0;s=c[739]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else ta()}else{c[736]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}}while(0);u=(c[743]|0)+-1|0;c[743]=u;if(!u)b=3396;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[743]=-1;return}function Hi(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Fi(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;Qi(b|0,0,d|0)|0;return b|0}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Fi(b)|0;return a|0}if(b>>>0>4294967231){c[(Bh()|0)>>2]=12;a=0;return a|0}d=Ki(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Fi(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;Ui(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Gi(a);a=d;return a|0}function Ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do{if((b|0)!=8){e=b>>>2;if((b&3|0)!=0|(e|0)==0){a=22;return a|0}if(e+1073741823&e){a=22;return a|0}if((-64-b|0)>>>0>>0){a=12;return a|0}else{e=Li(b>>>0<16?16:b,d)|0;break}}else e=Fi(d)|0}while(0);if(!e){a=12;return a|0}c[a>>2]=e;a=0;return a|0}function Ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[739]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))ta();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))ta();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[855]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Mi(a+b|0,d);return a|0}if((l|0)==(c[741]|0)){d=(c[738]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[741]=a+b;c[738]=n;return a|0}if((l|0)==(c[740]|0)){e=(c[737]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[737]=d;c[740]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do{if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do{if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)ta();d=f+12|0;if((c[d>>2]|0)!=(l|0))ta();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else ta()}}while(0);if(h){d=c[a+(j+28)>>2]|0;e=3244+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[739]|0;if(k>>>0>>0)ta();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do{if(d)if(d>>>0>>0)ta();else{c[k+16>>2]=d;c[d+24>>2]=k;break}}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(l|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else ta()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Mi(a+b|0,n);return a|0}return 0}function Li(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0<16?16:a;if(a+-1&a){d=16;while(1)if(d>>>0>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(Bh()|0)>>2]=12;i=0;return i|0}h=b>>>0<11?16:b+11&-8;e=Fi(h+12+a|0)|0;if(!e){i=0;return i|0}b=e+-8|0;d=a+-1|0;do{if(e&d){f=e+d&0-a;d=f+-8|0;g=b;f=(d-g|0)>>>0>15?d:f+(a+-8)|0;g=f-g|0;a=e+-4|0;e=c[a>>2]|0;d=(e&-8)-g|0;if(!(e&3)){c[f>>2]=(c[b>>2]|0)+g;c[f+4>>2]=d;b=f;break}else{e=f+4|0;c[e>>2]=d|c[e>>2]&1|2;d=f+(d+4)|0;c[d>>2]=c[d>>2]|1;c[a>>2]=g|c[a>>2]&1|2;c[e>>2]=c[e>>2]|1;Mi(b,g);b=f;break}}}while(0);a=b+4|0;d=c[a>>2]|0;if((d&3|0)!=0?(i=d&-8,i>>>0>(h+16|0)>>>0):0){g=i-h|0;c[a>>2]=h|d&1|2;c[b+(h|4)>>2]=g|3;i=b+(i|4)|0;c[i>>2]=c[i>>2]|1;Mi(b+h|0,g)}i=b+8|0;return i|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do{if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[739]|0;if(n>>>0>>0)ta();if((n|0)==(c[740]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[737]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(n|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else ta()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do{if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)ta();d=g+12|0;if((c[d>>2]|0)!=(n|0))ta();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else ta()}}while(0);if(i){d=c[a+(28-k)>>2]|0;e=3244+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[739]|0;if(l>>>0>>0)ta();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do{if(e)if(e>>>0>>0)ta();else{c[l+16>>2]=e;c[e+24>>2]=l;break}}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}}while(0);j=c[739]|0;if(q>>>0>>0)ta();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[741]|0)){s=(c[738]|0)+h|0;c[738]=s;c[741]=t;c[t+4>>2]=s|1;if((t|0)!=(c[740]|0))return;c[740]=0;c[737]=0;return}if((q|0)==(c[740]|0)){s=(c[737]|0)+h|0;c[737]=s;c[740]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do{if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do{if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)ta();d=g+12|0;if((c[d>>2]|0)!=(q|0))ta();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else ta()}}while(0);if(i){d=c[a+(b+28)>>2]|0;e=3244+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[739]|0;if(p>>>0>>0)ta();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do{if(d)if(d>>>0>>0)ta();else{c[p+16>>2]=d;c[d+24>>2]=p;break}}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(q|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else ta()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[740]|0)){c[737]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=2980+(e<<2)|0;f=c[735]|0;d=1<>2]|0;if(e>>>0<(c[739]|0)>>>0)ta();else{r=d;s=e}}else{c[735]=f|d;r=2980+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=3244+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[736]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do{if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[739]|0)>>>0)ta();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}}while(0);e=d+8|0;f=c[e>>2]|0;s=c[739]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))ta();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Ni(){}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return(C=d,a-c>>>0|0)|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<>c-32|0}function Qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>>0;return(C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Ui(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return ya(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Vi(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)>>0]|0)+24|0}function Wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return(C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Oi(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return Oi((aj(h,g,Oi(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function Yi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=Oi(h^a,g^b,h,g)|0;b=C;aj(a,b,Oi(l^d,k^e,l,k)|0,C,j)|0;e=Oi(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return(C=d,e)|0}function Zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=Wi(e,f)|0;a=C;return(C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function _i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return aj(a,b,c,d,0)|0}function $i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;aj(a,b,d,e,f)|0;i=g;return(C=c[f+4>>2]|0,c[f>>2]|0)|0}function aj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return(C=n,f)|0}else{if(!g){n=0;f=0;return(C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return(C=n,f)|0}}g=(i|0)==0;do{if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return(C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return(C=o,p)|0}else{p=Vi(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return(C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return(C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return(C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Vi(i|0)|0)>>>0);return(C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return(C=o,p)|0}}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Si(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Oi(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Oi(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return(C=o,p)|0}function bj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Qa[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function cj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ra[a&63](b|0,c|0,d|0)|0}function dj(a,b){a=a|0;b=b|0;return+Sa[a&3](b|0)}function ej(a,b){a=a|0;b=b|0;Ta[a&7](b|0)}function fj(a,b,c){a=a|0;b=b|0;c=c|0;Ua[a&7](b|0,c|0)}function gj(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 Va[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function hj(a,b){a=a|0;b=b|0;return Wa[a&15](b|0)|0}function ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Xa[a&15](b|0,c|0,d|0)}function jj(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;return Ya[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function kj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Za[a&63](b|0,c|0,d|0,e|0)|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return _a[a&7](b|0,c|0)|0}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;return $a[a&3](b|0,c|0,d|0,e|0,f|0)|0}function nj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ab[a&3](b|0,c|0,d|0,e|0)}function oj(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;ba(0);return 0}function pj(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function qj(a){a=a|0;ba(2);return 0.0}function rj(a){a=a|0;ba(3)}function sj(a,b){a=a|0;b=b|0;ba(4)}function tj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(5);return 0}function uj(a){a=a|0;ba(6);return 0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;ba(7)}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;ba(8);return 0}function xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(9);return 0}function yj(a,b){a=a|0;b=b|0;ba(10);return 0}function zj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function Aj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)}var Qa=[oj,ed,We,oj];var Ra=[pj,Bi,Vh,Th,Ab,Bb,Cb,Db,Hc,Ic,Kc,$c,nd,Oe,af,od,pd,Ne,Pe,Lc,Mc,Nc,Oc,td,ud,vd,wd,yd,zd,Bd,Cd,Dd,Ed,Fd,Gd,Hd,Id,Jd,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Vd,Wd,Xd,ef,ff,gf,hf,jf,kf,lf,mf,Sh,Uh,pj,pj];var Sa=[qj,Yd,Zd,qj];var Ta=[rj,Yc,Ve,gg,hg,xi,yi,rj];var Ua=[sj,mb,nb,ob,Wb,Wc,Le,sj];var Va=[tj,dd,Ue,rd,Te,tj,tj,tj];var Wa=[uj,Rh,jd,kd,$e,_e,Yh,Kg,Hg,uj,uj,uj,uj,uj,uj,uj];var Xa=[vj,Ge,He,Ie,Je,Ae,Be,Ce,De,we,xe,ye,ze,gd,Ze,vj];var Ya=[wj,cd,Se,wj];var Za=[xj,de,ee,fe,ge,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,xf,yf,zf,rf,sf,tf,uf,vf,wf,wb,xb,yb,zb,ld,ad,Ke,Re,qd,Zc,Qe,Me,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj];var _a=[yj,Jc,nf,of,pf,qf,yj,yj];var $a=[zj,md,Xe,zj];var ab=[Aj,Og,Rg,Aj];return{_opj_stream_destroy:Fb,_opj_stream_set_read_function:Gb,_opj_read_tile_header:mc,_opj_set_warning_handler:cc,_opj_destroy_cstr_info:Cc,_opj_image_create:Yb,_opj_set_error_handler:dc,_opj_stream_set_user_data:Kb,_opj_end_decompress:wc,_bitshift64Lshr:Ti,_opj_stream_set_seek_function:Hb,_opj_decode:kc,_opj_set_decoded_resolution_factor:pc,_i64Add:Si,_opj_stream_create_default_file_stream:Fc,_opj_set_default_decoder_parameters:hc,_bitshift64Ashr:Pi,_opj_get_decoded_tile:oc,_memset:Qi,_opj_version:fc,_memcpy:Ui,_opj_destroy_cstr_index:Ec,_opj_stream_set_user_data_length:Lb,_opj_stream_set_skip_function:Jb,_opj_image_destroy:Zb,_opj_stream_create_file_stream:Gc,_opj_setup_encoder:sc,_opj_stream_default_create:Eb,_bitshift64Shl:Ri,_opj_stream_create:vb,_jp2_version:lb,_i64Subtract:Oi,_opj_get_cstr_index:Dc,_opj_encode:uc,_opj_read_header:jc,_opj_get_cstr_info:Bc,_opj_set_default_encoder_parameters:rc,_opj_set_decode_area:lc,_opj_stream_set_write_function:Ib,_opj_dump_codec:Ac,_opj_create_decompress:gc,_opj_decode_tile_data:nc,_free:Gi,_opj_image_tile_create:ac,_opj_set_MCT:xc,_opj_set_info_handler:bc,_opj_start_compress:tc,_opj_write_tile:yc,_opj_setup_decoder:ic,_malloc:Fi,_opj_end_compress:vc,_opj_destroy_codec:zc,_jp2_decode:kb,_opj_stream_create_buffer_stream:ec,_opj_create_compress:qc,runPostSets:Ni,stackAlloc:bb,stackSave:cb,stackRestore:db,establishStackSpace:eb,setThrew:fb,setTempRet0:ib,getTempRet0:jb,dynCall_iiiiiiii:bj,dynCall_iiii:cj,dynCall_di:dj,dynCall_vi:ej,dynCall_vii:fj,dynCall_iiiiiii:gj,dynCall_ii:hj,dynCall_viii:ij,dynCall_iiiiiiiiiiii:jj,dynCall_iiiii:kj,dynCall_iii:lj,dynCall_iiiiii:mj,dynCall_viiii:nj}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _opj_stream_destroy=Module["_opj_stream_destroy"]=asm["_opj_stream_destroy"];var _opj_stream_set_read_function=Module["_opj_stream_set_read_function"]=asm["_opj_stream_set_read_function"];var _opj_read_tile_header=Module["_opj_read_tile_header"]=asm["_opj_read_tile_header"];var _opj_set_warning_handler=Module["_opj_set_warning_handler"]=asm["_opj_set_warning_handler"];var _opj_destroy_cstr_info=Module["_opj_destroy_cstr_info"]=asm["_opj_destroy_cstr_info"];var _opj_image_create=Module["_opj_image_create"]=asm["_opj_image_create"];var _opj_set_error_handler=Module["_opj_set_error_handler"]=asm["_opj_set_error_handler"];var _opj_image_tile_create=Module["_opj_image_tile_create"]=asm["_opj_image_tile_create"];var _opj_end_decompress=Module["_opj_end_decompress"]=asm["_opj_end_decompress"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _opj_stream_set_seek_function=Module["_opj_stream_set_seek_function"]=asm["_opj_stream_set_seek_function"];var _opj_decode=Module["_opj_decode"]=asm["_opj_decode"];var _opj_set_decoded_resolution_factor=Module["_opj_set_decoded_resolution_factor"]=asm["_opj_set_decoded_resolution_factor"];var _opj_stream_create_default_file_stream=Module["_opj_stream_create_default_file_stream"]=asm["_opj_stream_create_default_file_stream"];var _opj_encode=Module["_opj_encode"]=asm["_opj_encode"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _opj_get_decoded_tile=Module["_opj_get_decoded_tile"]=asm["_opj_get_decoded_tile"];var _memset=Module["_memset"]=asm["_memset"];var _opj_version=Module["_opj_version"]=asm["_opj_version"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _opj_destroy_cstr_index=Module["_opj_destroy_cstr_index"]=asm["_opj_destroy_cstr_index"];var _opj_stream_set_user_data_length=Module["_opj_stream_set_user_data_length"]=asm["_opj_stream_set_user_data_length"];var _opj_stream_set_skip_function=Module["_opj_stream_set_skip_function"]=asm["_opj_stream_set_skip_function"];var _opj_image_destroy=Module["_opj_image_destroy"]=asm["_opj_image_destroy"];var _opj_stream_create_file_stream=Module["_opj_stream_create_file_stream"]=asm["_opj_stream_create_file_stream"];var _opj_setup_encoder=Module["_opj_setup_encoder"]=asm["_opj_setup_encoder"];var _opj_stream_default_create=Module["_opj_stream_default_create"]=asm["_opj_stream_default_create"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _opj_stream_create=Module["_opj_stream_create"]=asm["_opj_stream_create"];var _jp2_version=Module["_jp2_version"]=asm["_jp2_version"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _opj_get_cstr_index=Module["_opj_get_cstr_index"]=asm["_opj_get_cstr_index"];var _opj_set_default_decoder_parameters=Module["_opj_set_default_decoder_parameters"]=asm["_opj_set_default_decoder_parameters"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _opj_get_cstr_info=Module["_opj_get_cstr_info"]=asm["_opj_get_cstr_info"];var _opj_set_default_encoder_parameters=Module["_opj_set_default_encoder_parameters"]=asm["_opj_set_default_encoder_parameters"];var _opj_set_decode_area=Module["_opj_set_decode_area"]=asm["_opj_set_decode_area"];var _opj_stream_set_write_function=Module["_opj_stream_set_write_function"]=asm["_opj_stream_set_write_function"];var _opj_dump_codec=Module["_opj_dump_codec"]=asm["_opj_dump_codec"];var _opj_read_header=Module["_opj_read_header"]=asm["_opj_read_header"];var _opj_create_decompress=Module["_opj_create_decompress"]=asm["_opj_create_decompress"];var _opj_decode_tile_data=Module["_opj_decode_tile_data"]=asm["_opj_decode_tile_data"];var _opj_set_info_handler=Module["_opj_set_info_handler"]=asm["_opj_set_info_handler"];var _opj_stream_set_user_data=Module["_opj_stream_set_user_data"]=asm["_opj_stream_set_user_data"];var _opj_set_MCT=Module["_opj_set_MCT"]=asm["_opj_set_MCT"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _opj_start_compress=Module["_opj_start_compress"]=asm["_opj_start_compress"];var _opj_write_tile=Module["_opj_write_tile"]=asm["_opj_write_tile"];var _opj_setup_decoder=Module["_opj_setup_decoder"]=asm["_opj_setup_decoder"];var _malloc=Module["_malloc"]=asm["_malloc"];var _opj_end_compress=Module["_opj_end_compress"]=asm["_opj_end_compress"];var _opj_destroy_codec=Module["_opj_destroy_codec"]=asm["_opj_destroy_codec"];var _jp2_decode=Module["_jp2_decode"]=asm["_jp2_decode"];var _opj_stream_create_buffer_stream=Module["_opj_stream_create_buffer_stream"]=asm["_opj_stream_create_buffer_stream"];var _opj_create_compress=Module["_opj_create_compress"]=asm["_opj_create_compress"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",function(){process["exit"](status)});console.log(" ");setTimeout(function(){process["exit"](status)},500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach(function(decorator){output=decorator(output,what)})}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();return Module};!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.pako=t()}}(function(){return function t(e,a,i){function n(s,o){if(!a[s]){if(!e[s]){var l="function"==typeof require&&require;if(!o&&l)return l(s,!0);if(r)return r(s,!0);var h=new Error("Cannot find module '"+s+"'");throw h.code="MODULE_NOT_FOUND",h}var d=a[s]={exports:{}};e[s][0].call(d.exports,function(t){var a=e[s][1][t];return n(a?a:t)},d,d.exports,t,e,a,i)}return a[s].exports}for(var r="function"==typeof require&&require,s=0;s0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new d,this.strm.avail_out=0;var a=s.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==c)throw new Error(h[a]);e.header&&s.deflateSetHeader(this.strm,e.header)};v.prototype.push=function(t,e){var a,i,n=this.strm,r=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:e===!0?u:_,"string"==typeof t?n.input=l.string2buf(t):"[object ArrayBuffer]"===f.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new o.Buf8(r),n.next_out=0,n.avail_out=r),a=s.deflate(n,i),a!==b&&a!==c)return this.onEnd(a),this.ended=!0,!1;(0===n.avail_out||0===n.avail_in&&(i===u||i===g))&&this.onData("string"===this.options.to?l.buf2binstring(o.shrinkBuf(n.output,n.next_out)):o.shrinkBuf(n.output,n.next_out))}while((n.avail_in>0||0===n.avail_out)&&a!==b);return i===u?(a=s.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===c):i===g?(this.onEnd(c),n.avail_out=0,!0):!0},v.prototype.onData=function(t){this.chunks.push(t)},v.prototype.onEnd=function(t){t===c&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Deflate=v,a.deflate=i,a.deflateRaw=n,a.gzip=r},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate.js":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(t,e,a){"use strict";function i(t,e){var a=new u(e);if(a.push(t,!0),a.err)throw a.msg;return a.result}function n(t,e){return e=e||{},e.raw=!0,i(t,e)}var r=t("./zlib/inflate.js"),s=t("./utils/common"),o=t("./utils/strings"),l=t("./zlib/constants"),h=t("./zlib/messages"),d=t("./zlib/zstream"),f=t("./zlib/gzheader"),_=Object.prototype.toString,u=function(t){this.options=s.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new d,this.strm.avail_out=0;var a=r.inflateInit2(this.strm,e.windowBits);if(a!==l.Z_OK)throw new Error(h[a]);this.header=new f,r.inflateGetHeader(this.strm,this.header)};u.prototype.push=function(t,e){var a,i,n,h,d,f=this.strm,u=this.options.chunkSize,c=!1;if(this.ended)return!1;i=e===~~e?e:e===!0?l.Z_FINISH:l.Z_NO_FLUSH,"string"==typeof t?f.input=o.binstring2buf(t):"[object ArrayBuffer]"===_.call(t)?f.input=new Uint8Array(t):f.input=t,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new s.Buf8(u),f.next_out=0,f.avail_out=u),a=r.inflate(f,l.Z_NO_FLUSH),a===l.Z_BUF_ERROR&&c===!0&&(a=l.Z_OK,c=!1),a!==l.Z_STREAM_END&&a!==l.Z_OK)return this.onEnd(a),this.ended=!0,!1;f.next_out&&(0===f.avail_out||a===l.Z_STREAM_END||0===f.avail_in&&(i===l.Z_FINISH||i===l.Z_SYNC_FLUSH))&&("string"===this.options.to?(n=o.utf8border(f.output,f.next_out),h=f.next_out-n,d=o.buf2string(f.output,n),f.next_out=h,f.avail_out=u-h,h&&s.arraySet(f.output,f.output,n,h,0),this.onData(d)):this.onData(s.shrinkBuf(f.output,f.next_out))),0===f.avail_in&&0===f.avail_out&&(c=!0)}while((f.avail_in>0||0===f.avail_out)&&a!==l.Z_STREAM_END);return a===l.Z_STREAM_END&&(i=l.Z_FINISH),i===l.Z_FINISH?(a=r.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===l.Z_OK):i===l.Z_SYNC_FLUSH?(this.onEnd(l.Z_OK),f.avail_out=0,!0):!0},u.prototype.onData=function(t){this.chunks.push(t)},u.prototype.onEnd=function(t){t===l.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=s.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Inflate=u,a.inflate=i,a.inflateRaw=n,a.ungzip=i},{"./utils/common":3,"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate.js":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(t,e,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;a.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(var i in a)a.hasOwnProperty(i)&&(t[i]=a[i])}}return t},a.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,a,i,n){if(e.subarray&&t.subarray)return void t.set(e.subarray(a,a+i),n);for(var r=0;i>r;r++)t[n+r]=e[a+r]},flattenChunks:function(t){var e,a,i,n,r,s;for(i=0,e=0,a=t.length;a>e;e++)i+=t[e].length;for(s=new Uint8Array(i),n=0,e=0,a=t.length;a>e;e++)r=t[e],s.set(r,n),n+=r.length;return s}},r={arraySet:function(t,e,a,i,n){for(var r=0;i>r;r++)t[n+r]=e[a+r]},flattenChunks:function(t){return[].concat.apply([],t)}};a.setTyped=function(t){t?(a.Buf8=Uint8Array,a.Buf16=Uint16Array,a.Buf32=Int32Array,a.assign(a,n)):(a.Buf8=Array,a.Buf16=Array,a.Buf32=Array,a.assign(a,r))},a.setTyped(i)},{}],4:[function(t,e,a){"use strict";function i(t,e){if(65537>e&&(t.subarray&&s||!t.subarray&&r))return String.fromCharCode.apply(null,n.shrinkBuf(t,e));for(var a="",i=0;e>i;i++)a+=String.fromCharCode(t[i]);return a}var n=t("./common"),r=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(o){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(o){s=!1}for(var l=new n.Buf8(256),h=0;256>h;h++)l[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;l[254]=l[254]=1,a.string2buf=function(t){var e,a,i,r,s,o=t.length,l=0;for(r=0;o>r;r++)a=t.charCodeAt(r),55296===(64512&a)&&o>r+1&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),l+=128>a?1:2048>a?2:65536>a?3:4;for(e=new n.Buf8(l),s=0,r=0;l>s;r++)a=t.charCodeAt(r),55296===(64512&a)&&o>r+1&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),128>a?e[s++]=a:2048>a?(e[s++]=192|a>>>6,e[s++]=128|63&a):65536>a?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},a.buf2binstring=function(t){return i(t,t.length)},a.binstring2buf=function(t){for(var e=new n.Buf8(t.length),a=0,i=e.length;i>a;a++)e[a]=t.charCodeAt(a);return e},a.buf2string=function(t,e){var a,n,r,s,o=e||t.length,h=new Array(2*o);for(n=0,a=0;o>a;)if(r=t[a++],128>r)h[n++]=r;else if(s=l[r],s>4)h[n++]=65533,a+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&o>a;)r=r<<6|63&t[a++],s--;s>1?h[n++]=65533:65536>r?h[n++]=r:(r-=65536,h[n++]=55296|r>>10&1023,h[n++]=56320|1023&r)}return i(h,n)},a.utf8border=function(t,e){var a;for(e=e||t.length,e>t.length&&(e=t.length),a=e-1;a>=0&&128===(192&t[a]);)a--;return 0>a?e:0===a?e:a+l[t[a]]>e?a:e}},{"./common":3}],5:[function(t,e,a){"use strict";function i(t,e,a,i){for(var n=65535&t|0,r=t>>>16&65535|0,s=0;0!==a;){s=a>2e3?2e3:a,a-=s;do{n=n+e[i++]|0,r=r+n|0}while(--s);n%=65521,r%=65521}return n|r<<16|0}e.exports=i},{}],6:[function(t,e,a){e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(t,e,a){"use strict";function i(){for(var t,e=[],a=0;256>a;a++){t=a;for(var i=0;8>i;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}function n(t,e,a,i){var n=r,s=i+a;t=-1^t;for(var o=i;s>o;o++)t=t>>>8^n[255&(t^e[o])];return-1^t}var r=i();e.exports=n},{}],8:[function(t,e,a){"use strict";function i(t,e){return t.msg=N[e],e}function n(t){return(t<<1)-(t>4?9:0)}function r(t){for(var e=t.length;--e>=0;)t[e]=0}function s(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(A.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function o(t,e){Z._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,s(t.strm)}function l(t,e){t.pending_buf[t.pending++]=e}function h(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function d(t,e,a,i){var n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,A.arraySet(e,t.input,t.next_in,n,a),1===t.state.wrap?t.adler=R(t.adler,e,n,a):2===t.state.wrap&&(t.adler=C(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)}function f(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-ht?t.strstart-(t.w_size-ht):0,h=t.window,d=t.w_mask,f=t.prev,_=t.strstart+lt,u=h[r+s-1],c=h[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(a=e,h[a+s]===c&&h[a+s-1]===u&&h[a]===h[r]&&h[++a]===h[r+1]){r+=2,a++;do{}while(h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&_>r);if(i=lt-(_-r),r=_-lt,i>s){if(t.match_start=e,s=i,i>=o)break;u=h[r+s-1],c=h[r+s]}}}while((e=f[e&d])>l&&0!==--n);return s<=t.lookahead?s:t.lookahead}function _(t){var e,a,i,n,r,s=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=s+(s-ht)){A.arraySet(t.window,t.window,s,s,0),t.match_start-=s,t.strstart-=s,t.block_start-=s,a=t.hash_size,e=a;do{i=t.head[--e],t.head[e]=i>=s?i-s:0}while(--a);a=s,e=a;do{i=t.prev[--e],t.prev[e]=i>=s?i-s:0}while(--a);n+=s}if(0===t.strm.avail_in)break;if(a=d(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=a,t.lookahead+t.insert>=ot)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=(t.ins_h<t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(_(t),0===t.lookahead&&e===O)return wt;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,o(t,!1),0===t.strm.avail_out))return wt;if(t.strstart-t.block_start>=t.w_size-ht&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?vt:kt):t.strstart>t.block_start&&(o(t,!1),0===t.strm.avail_out)?wt:wt}function c(t,e){for(var a,i;;){if(t.lookahead=ot&&(t.ins_h=(t.ins_h<=ot)if(i=Z._tr_tally(t,t.strstart-t.match_start,t.match_length-ot),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=ot){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<=ot&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=ot-1)),t.prev_length>=ot&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-ot,i=Z._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-ot),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=(t.ins_h<=ot&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){r=t.strstart+lt;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&r>n);t.match_length=lt-(r-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=ot?(a=Z._tr_tally(t,1,t.match_length-ot),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function m(t,e){for(var a;;){if(0===t.lookahead&&(_(t),0===t.lookahead)){if(e===O)return wt;break}if(t.match_length=0,a=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function w(t){t.window_size=2*t.w_size,r(t.head),t.max_lazy_match=E[t.level].max_lazy,t.good_match=E[t.level].good_length,t.nice_match=E[t.level].nice_length,t.max_chain_length=E[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ot-1,t.match_available=0,t.ins_h=0}function p(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=J,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new A.Buf16(2*rt),this.dyn_dtree=new A.Buf16(2*(2*it+1)),this.bl_tree=new A.Buf16(2*(2*nt+1)),r(this.dyn_ltree),r(this.dyn_dtree),r(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new A.Buf16(st+1),this.heap=new A.Buf16(2*at+1),r(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new A.Buf16(2*at+1),r(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function v(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=W,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?ft:gt,t.adler=2===e.wrap?0:1,e.last_flush=O,Z._tr_init(e),D):i(t,H)}function k(t){var e=v(t);return e===D&&w(t.state),e}function x(t,e){return t&&t.state?2!==t.state.wrap?H:(t.state.gzhead=e,D):H}function y(t,e,a,n,r,s){if(!t)return H;var o=1;if(e===M&&(e=6),0>n?(o=0,n=-n):n>15&&(o=2,n-=16),1>r||r>Q||a!==J||8>n||n>15||0>e||e>9||0>s||s>G)return i(t,H);8===n&&(n=9);var l=new p;return t.state=l,l.strm=t,l.wrap=o,l.gzhead=null,l.w_bits=n,l.w_size=1<>1,l.l_buf=3*l.lit_bufsize,l.level=e,l.strategy=s,l.method=a,k(t)}function z(t,e){return y(t,e,J,V,$,X)}function B(t,e){var a,o,d,f;if(!t||!t.state||e>T||0>e)return t?i(t,H):H;if(o=t.state,!t.output||!t.input&&0!==t.avail_in||o.status===mt&&e!==F)return i(t,0===t.avail_out?K:H);if(o.strm=t,a=o.last_flush,o.last_flush=e,o.status===ft)if(2===o.wrap)t.adler=0,l(o,31),l(o,139),l(o,8),o.gzhead?(l(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),l(o,255&o.gzhead.time),l(o,o.gzhead.time>>8&255),l(o,o.gzhead.time>>16&255),l(o,o.gzhead.time>>24&255),l(o,9===o.level?2:o.strategy>=Y||o.level<2?4:0),l(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(l(o,255&o.gzhead.extra.length),l(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(t.adler=C(t.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=_t):(l(o,0),l(o,0),l(o,0),l(o,0),l(o,0),l(o,9===o.level?2:o.strategy>=Y||o.level<2?4:0),l(o,xt),o.status=gt);else{var _=J+(o.w_bits-8<<4)<<8,u=-1;u=o.strategy>=Y||o.level<2?0:o.level<6?1:6===o.level?2:3,_|=u<<6,0!==o.strstart&&(_|=dt),_+=31-_%31,o.status=gt,h(o,_),0!==o.strstart&&(h(o,t.adler>>>16),h(o,65535&t.adler)),t.adler=1}if(o.status===_t)if(o.gzhead.extra){for(d=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending!==o.pending_buf_size));)l(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=ut)}else o.status=ut;if(o.status===ut)if(o.gzhead.name){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.gzindex=0,o.status=ct)}else o.status=ct;if(o.status===ct)if(o.gzhead.comment){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.status=bt)}else o.status=bt;if(o.status===bt&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&s(t),o.pending+2<=o.pending_buf_size&&(l(o,255&t.adler),l(o,t.adler>>8&255),t.adler=0,o.status=gt)):o.status=gt),0!==o.pending){if(s(t),0===t.avail_out)return o.last_flush=-1,D}else if(0===t.avail_in&&n(e)<=n(a)&&e!==F)return i(t,K);if(o.status===mt&&0!==t.avail_in)return i(t,K);if(0!==t.avail_in||0!==o.lookahead||e!==O&&o.status!==mt){var c=o.strategy===Y?m(o,e):o.strategy===q?g(o,e):E[o.level].func(o,e);if((c===vt||c===kt)&&(o.status=mt),c===wt||c===vt)return 0===t.avail_out&&(o.last_flush=-1),D;if(c===pt&&(e===I?Z._tr_align(o):e!==T&&(Z._tr_stored_block(o,0,0,!1),e===U&&(r(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),s(t),0===t.avail_out))return o.last_flush=-1,D}return e!==F?D:o.wrap<=0?L:(2===o.wrap?(l(o,255&t.adler),l(o,t.adler>>8&255),l(o,t.adler>>16&255),l(o,t.adler>>24&255),l(o,255&t.total_in),l(o,t.total_in>>8&255),l(o,t.total_in>>16&255),l(o,t.total_in>>24&255)):(h(o,t.adler>>>16),h(o,65535&t.adler)),s(t),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?D:L)}function S(t){var e;return t&&t.state?(e=t.state.status,e!==ft&&e!==_t&&e!==ut&&e!==ct&&e!==bt&&e!==gt&&e!==mt?i(t,H):(t.state=null,e===gt?i(t,j):D)):H}var E,A=t("../utils/common"),Z=t("./trees"),R=t("./adler32"),C=t("./crc32"),N=t("./messages"),O=0,I=1,U=3,F=4,T=5,D=0,L=1,H=-2,j=-3,K=-5,M=-1,P=1,Y=2,q=3,G=4,X=0,W=2,J=8,Q=9,V=15,$=8,tt=29,et=256,at=et+1+tt,it=30,nt=19,rt=2*at+1,st=15,ot=3,lt=258,ht=lt+ot+1,dt=32,ft=42,_t=69,ut=73,ct=91,bt=103,gt=113,mt=666,wt=1,pt=2,vt=3,kt=4,xt=3,yt=function(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n};E=[new yt(0,0,0,0,u),new yt(4,4,8,4,c),new yt(4,5,16,8,c),new yt(4,6,32,32,c),new yt(4,4,16,16,b),new yt(8,16,32,32,b),new yt(8,16,128,128,b),new yt(8,32,128,256,b),new yt(32,128,258,1024,b),new yt(32,258,258,4096,b)],a.deflateInit=z,a.deflateInit2=y,a.deflateReset=k,a.deflateResetKeep=v,a.deflateSetHeader=x,a.deflate=B,a.deflateEnd=S,a.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./messages":13,"./trees":14}],9:[function(t,e,a){"use strict";function i(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}e.exports=i},{}],10:[function(t,e,a){"use strict";var i=30,n=12;e.exports=function(t,e){var a,r,s,o,l,h,d,f,_,u,c,b,g,m,w,p,v,k,x,y,z,B,S,E,A;a=t.state,r=t.next_in,E=t.input,s=r+(t.avail_in-5),o=t.next_out,A=t.output,l=o-(e-t.avail_out),h=o+(t.avail_out-257),d=a.dmax,f=a.wsize,_=a.whave,u=a.wnext,c=a.window,b=a.hold,g=a.bits,m=a.lencode,w=a.distcode,p=(1<g&&(b+=E[r++]<>>24,b>>>=x,g-=x,x=k>>>16&255,0===x)A[o++]=65535&k;else{if(!(16&x)){if(0===(64&x)){k=m[(65535&k)+(b&(1<g&&(b+=E[r++]<>>=x,g-=x),15>g&&(b+=E[r++]<>>24,b>>>=x,g-=x,x=k>>>16&255,!(16&x)){if(0===(64&x)){k=w[(65535&k)+(b&(1<g&&(b+=E[r++]<g&&(b+=E[r++]<d){t.msg="invalid distance too far back",a.mode=i;break t}if(b>>>=x,g-=x,x=o-l,z>x){if(x=z-x,x>_&&a.sane){t.msg="invalid distance too far back",a.mode=i;break t}if(B=0,S=c,0===u){if(B+=f-x,y>x){y-=x;do{A[o++]=c[B++]}while(--x);B=o-z,S=A}}else if(x>u){if(B+=f+u-x,x-=u,y>x){y-=x;do{A[o++]=c[B++]}while(--x);if(B=0,y>u){x=u,y-=x;do{A[o++]=c[B++]}while(--x);B=o-z,S=A}}}else if(B+=u-x,y>x){y-=x;do{A[o++]=c[B++]}while(--x);B=o-z,S=A}for(;y>2;)A[o++]=S[B++],A[o++]=S[B++],A[o++]=S[B++],y-=3;y&&(A[o++]=S[B++],y>1&&(A[o++]=S[B++]))}else{B=o-z;do{A[o++]=A[B++],A[o++]=A[B++],A[o++]=A[B++],y-=3}while(y>2);y&&(A[o++]=A[B++],y>1&&(A[o++]=A[B++]))}break}}break}}while(s>r&&h>o);y=g>>3,r-=y,g-=y<<3,b&=(1<r?5+(s-r):5-(r-s),t.avail_out=h>o?257+(h-o):257-(o-h),a.hold=b,a.bits=g}},{}],11:[function(t,e,a){"use strict";function i(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new m.Buf16(320),this.work=new m.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function r(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=F,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new m.Buf32(ct),e.distcode=e.distdyn=new m.Buf32(bt),e.sane=1,e.back=-1,A):C}function s(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,r(t)):C}function o(t,e){var a,i;return t&&t.state?(i=t.state,0>e?(a=0,e=-e):(a=(e>>4)+1,48>e&&(e&=15)),e&&(8>e||e>15)?C:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,s(t))):C}function l(t,e){var a,i;return t?(i=new n,t.state=i,i.window=null,a=o(t,e),a!==A&&(t.state=null),a):C}function h(t){return l(t,mt)}function d(t){if(wt){var e;for(b=new m.Buf32(512),g=new m.Buf32(32),e=0;144>e;)t.lens[e++]=8;for(;256>e;)t.lens[e++]=9;for(;280>e;)t.lens[e++]=7;for(;288>e;)t.lens[e++]=8;for(k(y,t.lens,0,288,b,0,t.work,{bits:9}),e=0;32>e;)t.lens[e++]=5;k(z,t.lens,0,32,g,0,t.work,{bits:5}),wt=!1}t.lencode=b,t.lenbits=9,t.distcode=g,t.distbits=5}function f(t,e,a,i){var n,r=t.state;return null===r.window&&(r.wsize=1<=r.wsize?(m.arraySet(r.window,e,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),m.arraySet(r.window,e,a-i,n,r.wnext),i-=n,i?(m.arraySet(r.window,e,a-i,i,0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whaveu;){if(0===l)break t;l--,_+=n[s++]<>>8&255,a.check=p(a.check,Et,2,0),_=0,u=0,a.mode=T;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",a.mode=ft;break}if((15&_)!==U){t.msg="unknown compression method",a.mode=ft;break}if(_>>>=4,u-=4,xt=(15&_)+8,0===a.wbits)a.wbits=xt;else if(xt>a.wbits){t.msg="invalid window size",a.mode=ft;break}a.dmax=1<u;){if(0===l)break t;l--,_+=n[s++]<>8&1),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0,a.mode=D;case D:for(;32>u;){if(0===l)break t;l--,_+=n[s++]<>>8&255,Et[2]=_>>>16&255,Et[3]=_>>>24&255,a.check=p(a.check,Et,4,0)),_=0,u=0,a.mode=L;case L:for(;16>u;){if(0===l)break t;l--,_+=n[s++]<>8),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0,a.mode=H;case H:if(1024&a.flags){for(;16>u;){if(0===l)break t;l--,_+=n[s++]<>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0}else a.head&&(a.head.extra=null);a.mode=j;case j:if(1024&a.flags&&(g=a.length,g>l&&(g=l),g&&(a.head&&(xt=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),m.arraySet(a.head.extra,n,s,g,xt)),512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,a.length-=g),a.length))break t;a.length=0,a.mode=K;case K:if(2048&a.flags){if(0===l)break t;g=0;do{xt=n[s+g++],a.head&&xt&&a.length<65536&&(a.head.name+=String.fromCharCode(xt))}while(xt&&l>g);if(512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,xt)break t}else a.head&&(a.head.name=null);a.length=0,a.mode=M;case M:if(4096&a.flags){if(0===l)break t;g=0;do{xt=n[s+g++],a.head&&xt&&a.length<65536&&(a.head.comment+=String.fromCharCode(xt))}while(xt&&l>g);if(512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,xt)break t}else a.head&&(a.head.comment=null);a.mode=P;case P:if(512&a.flags){for(;16>u;){if(0===l)break t;l--,_+=n[s++]<>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=G;break;case Y:for(;32>u;){if(0===l)break t;l--,_+=n[s++]<>>=7&u,u-=7&u,a.mode=lt;break}for(;3>u;){if(0===l)break t;l--,_+=n[s++]<>>=1,u-=1,3&_){case 0:a.mode=W;break;case 1:if(d(a),a.mode=et,e===E){_>>>=2,u-=2;break t}break;case 2:a.mode=V;break;case 3:t.msg="invalid block type",a.mode=ft}_>>>=2,u-=2;break;case W:for(_>>>=7&u,u-=7&u;32>u;){if(0===l)break t;l--,_+=n[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=ft;break}if(a.length=65535&_,_=0,u=0,a.mode=J,e===E)break t;case J:a.mode=Q;case Q:if(g=a.length){if(g>l&&(g=l),g>h&&(g=h),0===g)break t;m.arraySet(r,n,s,g,o),l-=g,s+=g,h-=g,o+=g,a.length-=g;break}a.mode=G;break;case V:for(;14>u;){if(0===l)break t;l--,_+=n[s++]<>>=5,u-=5,a.ndist=(31&_)+1,_>>>=5,u-=5,a.ncode=(15&_)+4,_>>>=4,u-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=ft;break}a.have=0,a.mode=$;case $:for(;a.haveu;){if(0===l)break t;l--,_+=n[s++]<>>=3,u-=3}for(;a.have<19;)a.lens[At[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,zt={bits:a.lenbits},yt=k(x,a.lens,0,19,a.lencode,0,a.work,zt),a.lenbits=zt.bits,yt){t.msg="invalid code lengths set",a.mode=ft;break}a.have=0,a.mode=tt;case tt:for(;a.have>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<wt)_>>>=gt,u-=gt,a.lens[a.have++]=wt;else{if(16===wt){for(Bt=gt+2;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,0===a.have){t.msg="invalid bit length repeat",a.mode=ft;break}xt=a.lens[a.have-1],g=3+(3&_),_>>>=2,u-=2}else if(17===wt){for(Bt=gt+3;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,xt=0,g=3+(7&_),_>>>=3,u-=3}else{for(Bt=gt+7;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,xt=0,g=11+(127&_),_>>>=7,u-=7}if(a.have+g>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=ft;break}for(;g--;)a.lens[a.have++]=xt}}if(a.mode===ft)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=ft;break}if(a.lenbits=9,zt={bits:a.lenbits},yt=k(y,a.lens,0,a.nlen,a.lencode,0,a.work,zt),a.lenbits=zt.bits,yt){t.msg="invalid literal/lengths set",a.mode=ft;break}if(a.distbits=6,a.distcode=a.distdyn,zt={bits:a.distbits},yt=k(z,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,zt),a.distbits=zt.bits,yt){t.msg="invalid distances set",a.mode=ft;break}if(a.mode=et,e===E)break t;case et:a.mode=at;case at:if(l>=6&&h>=258){t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,v(t,b),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,a.mode===G&&(a.back=-1);break}for(a.back=0;St=a.lencode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=pt+gt);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,a.length=wt,0===mt){a.mode=ot;break}if(32&mt){a.back=-1,a.mode=G;break}if(64&mt){t.msg="invalid literal/length code",a.mode=ft;break}a.extra=15&mt,a.mode=it;case it:if(a.extra){for(Bt=a.extra;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=a.extra,u-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=nt;case nt:for(;St=a.distcode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=pt+gt);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,64&mt){t.msg="invalid distance code",a.mode=ft;break}a.offset=wt,a.extra=15&mt,a.mode=rt;case rt:if(a.extra){for(Bt=a.extra;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=a.extra,u-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=ft;break}a.mode=st;case st:if(0===h)break t;if(g=b-h,a.offset>g){if(g=a.offset-g,g>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=ft;break}g>a.wnext?(g-=a.wnext,ct=a.wsize-g):ct=a.wnext-g,g>a.length&&(g=a.length),bt=a.window}else bt=r,ct=o-a.offset,g=a.length;g>h&&(g=h),h-=g,a.length-=g;do{r[o++]=bt[ct++]}while(--g);0===a.length&&(a.mode=at);break;case ot:if(0===h)break t;r[o++]=a.length,h--,a.mode=at;break;case lt:if(a.wrap){for(;32>u;){if(0===l)break t;l--,_|=n[s++]<u;){if(0===l)break t;l--,_+=n[s++]<=Z;Z++)j[Z]=0;for(R=0;c>R;R++)j[e[a+R]]++;for(O=A,N=n;N>=1&&0===j[N];N--);if(O>N&&(O=N),0===N)return b[g++]=20971520,b[g++]=20971520,w.bits=1,0;for(C=1;N>C&&0===j[C];C++);for(C>O&&(O=C),F=1,Z=1;n>=Z;Z++)if(F<<=1,F-=j[Z],0>F)return-1;if(F>0&&(t===o||1!==N))return-1;for(K[1]=0,Z=1;n>Z;Z++)K[Z+1]=K[Z]+j[Z];for(R=0;c>R;R++)0!==e[a+R]&&(m[K[e[a+R]]++]=R);if(t===o?(L=M=m,z=19):t===l?(L=d,H-=257,M=f,P-=257,z=256):(L=_,M=u,z=-1),D=0,R=0,Z=C,y=g,I=O,U=0,k=-1,T=1<r||t===h&&T>s)return 1;for(var Y=0;;){Y++,B=Z-U,m[R]z?(S=M[P+m[R]],E=L[H+m[R]]):(S=96,E=0),p=1<>U)+v]=B<<24|S<<16|E|0}while(0!==v);for(p=1<>=1;if(0!==p?(D&=p-1,D+=p):D=0,R++,0===--j[Z]){if(Z===N)break;Z=e[a+m[R]]}if(Z>O&&(D&x)!==k){for(0===U&&(U=O),y+=C,I=Z-U,F=1<I+U&&(F-=j[I+U],!(0>=F));)I++,F<<=1;if(T+=1<r||t===h&&T>s)return 1;k=D&x,b[k]=O<<24|I<<16|y-g|0}}return 0!==D&&(b[y+D]=Z-U<<24|64<<16|0),w.bits=O,0}},{"../utils/common":3}],13:[function(t,e,a){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(t,e,a){"use strict";function i(t){for(var e=t.length;--e>=0;)t[e]=0}function n(t){return 256>t?st[t]:st[256+(t>>>7)]}function r(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function s(t,e,a){t.bi_valid>G-a?(t.bi_buf|=e<>G-t.bi_valid,t.bi_valid+=a-G):(t.bi_buf|=e<>>=1,a<<=1}while(--e>0);return a>>>1}function h(t){16===t.bi_valid?(r(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function d(t,e){var a,i,n,r,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,f=e.stat_desc.has_stree,_=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,b=0;for(r=0;q>=r;r++)t.bl_count[r]=0;for(l[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;Y>a;a++)i=t.heap[a],r=l[2*l[2*i+1]+1]+1,r>c&&(r=c,b++),l[2*i+1]=r,i>h||(t.bl_count[r]++,s=0,i>=u&&(s=_[i-u]),o=l[2*i],t.opt_len+=o*(r+s),f&&(t.static_len+=o*(d[2*i+1]+s)));if(0!==b){do{for(r=c-1;0===t.bl_count[r];)r--;t.bl_count[r]--,t.bl_count[r+1]+=2,t.bl_count[c]--,b-=2}while(b>0);for(r=c;0!==r;r--)for(i=t.bl_count[r];0!==i;)n=t.heap[--a],n>h||(l[2*n+1]!==r&&(t.opt_len+=(r-l[2*n+1])*l[2*n],l[2*n+1]=r),i--)}}function f(t,e,a){var i,n,r=new Array(q+1),s=0;for(i=1;q>=i;i++)r[i]=s=s+a[i-1]<<1;for(n=0;e>=n;n++){var o=t[2*n+1];0!==o&&(t[2*n]=l(r[o]++,o))}}function _(){var t,e,a,i,n,r=new Array(q+1);for(a=0,i=0;H-1>i;i++)for(lt[i]=a,t=0;t<1<<$[i];t++)ot[a++]=i;for(ot[a-1]=i,n=0,i=0;16>i;i++)for(ht[i]=n,t=0;t<1<>=7;M>i;i++)for(ht[i]=n<<7,t=0;t<1<=e;e++)r[e]=0;for(t=0;143>=t;)nt[2*t+1]=8,t++,r[8]++;for(;255>=t;)nt[2*t+1]=9,t++,r[9]++;for(;279>=t;)nt[2*t+1]=7,t++,r[7]++;for(;287>=t;)nt[2*t+1]=8,t++,r[8]++;for(f(nt,K+1,r),t=0;M>t;t++)rt[2*t+1]=5,rt[2*t]=l(t,5);dt=new ut(nt,$,j+1,K,q),ft=new ut(rt,tt,0,M,q),_t=new ut(new Array(0),et,0,P,X)}function u(t){var e;for(e=0;K>e;e++)t.dyn_ltree[2*e]=0;for(e=0;M>e;e++)t.dyn_dtree[2*e]=0;for(e=0;P>e;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*W]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function c(t){t.bi_valid>8?r(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function b(t,e,a,i){c(t),i&&(r(t,a),r(t,~a)),R.arraySet(t.pending_buf,t.window,e,a,t.pending),t.pending+=a}function g(t,e,a,i){var n=2*e,r=2*a;return t[n]a;a++)0!==r[2*a]?(t.heap[++t.heap_len]=h=a,t.depth[a]=0):r[2*a+1]=0;for(;t.heap_len<2;)n=t.heap[++t.heap_len]=2>h?++h:0,r[2*n]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=s[2*n+1]);for(e.max_code=h,a=t.heap_len>>1;a>=1;a--)m(t,r,a);n=l;do{a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],m(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,m(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],d(t,e),f(r,h,t.bl_count)}function v(t,e,a){var i,n,r=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;a>=i;i++)n=s,s=e[2*(i+1)+1],++oo?t.bl_tree[2*n]+=o:0!==n?(n!==r&&t.bl_tree[2*n]++,t.bl_tree[2*J]++):10>=o?t.bl_tree[2*Q]++:t.bl_tree[2*V]++,o=0,r=n,0===s?(l=138,h=3):n===s?(l=6,h=3):(l=7,h=4))}function k(t,e,a){var i,n,r=-1,l=e[1],h=0,d=7,f=4;for(0===l&&(d=138,f=3),i=0;a>=i;i++)if(n=l,l=e[2*(i+1)+1],!(++hh){do{o(t,n,t.bl_tree)}while(0!==--h)}else 0!==n?(n!==r&&(o(t,n,t.bl_tree),h--),o(t,J,t.bl_tree),s(t,h-3,2)):10>=h?(o(t,Q,t.bl_tree),s(t,h-3,3)):(o(t,V,t.bl_tree),s(t,h-11,7));h=0,r=n,0===l?(d=138,f=3):n===l?(d=6,f=3):(d=7,f=4)}}function x(t){var e;for(v(t,t.dyn_ltree,t.l_desc.max_code),v(t,t.dyn_dtree,t.d_desc.max_code),p(t,t.bl_desc),e=P-1;e>=3&&0===t.bl_tree[2*at[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}function y(t,e,a,i){var n;for(s(t,e-257,5),s(t,a-1,5),s(t,i-4,4),n=0;i>n;n++)s(t,t.bl_tree[2*at[n]+1],3);k(t,t.dyn_ltree,e-1),k(t,t.dyn_dtree,a-1)}function z(t){var e,a=4093624447;for(e=0;31>=e;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return N;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return O;for(e=32;j>e;e++)if(0!==t.dyn_ltree[2*e])return O;return N}function B(t){bt||(_(),bt=!0),t.l_desc=new ct(t.dyn_ltree,dt),t.d_desc=new ct(t.dyn_dtree,ft),t.bl_desc=new ct(t.bl_tree,_t),t.bi_buf=0,t.bi_valid=0,u(t)}function S(t,e,a,i){s(t,(U<<1)+(i?1:0),3),b(t,e,a,!0)}function E(t){s(t,F<<1,3),o(t,W,nt),h(t)}function A(t,e,a,i){var n,r,o=0;t.level>0?(t.strm.data_type===I&&(t.strm.data_type=z(t)),p(t,t.l_desc),p(t,t.d_desc),o=x(t),n=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,n>=r&&(n=r)):n=r=a+5,n>=a+4&&-1!==e?S(t,e,a,i):t.strategy===C||r===n?(s(t,(F<<1)+(i?1:0),3),w(t,nt,rt)):(s(t,(T<<1)+(i?1:0),3),y(t,t.l_desc.max_code+1,t.d_desc.max_code+1,o+1),w(t,t.dyn_ltree,t.dyn_dtree)),u(t),i&&c(t)}function Z(t,e,a){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(ot[a]+j+1)]++,t.dyn_dtree[2*n(e)]++),t.last_lit===t.lit_bufsize-1}var R=t("../utils/common"),C=4,N=0,O=1,I=2,U=0,F=1,T=2,D=3,L=258,H=29,j=256,K=j+1+H,M=30,P=19,Y=2*K+1,q=15,G=16,X=7,W=256,J=16,Q=17,V=18,$=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],tt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],et=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],at=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],it=512,nt=new Array(2*(K+2));i(nt);var rt=new Array(2*M);i(rt);var st=new Array(it);i(st);var ot=new Array(L-D+1);i(ot);var lt=new Array(H);i(lt);var ht=new Array(M);i(ht);var dt,ft,_t,ut=function(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length},ct=function(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e},bt=!1;a._tr_init=B,a._tr_stored_block=S,a._tr_flush_block=A,a._tr_tally=Z,a._tr_align=E},{"../utils/common":3}],15:[function(t,e,a){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=i},{}],"/":[function(t,e,a){"use strict";var i=t("./lib/utils/common").assign,n=t("./lib/deflate"),r=t("./lib/inflate"),s=t("./lib/zlib/constants"),o={};i(o,n,r,s),e.exports=o},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")}); diff --git a/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderWebWorker.es5.js b/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderWebWorker.es5.js deleted file mode 100644 index 408bfff09..000000000 --- a/Packages/ohif-cornerstone/public/js/cornerstoneWADOImageLoaderWebWorker.es5.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! cornerstone-wado-image-loader - 2.1.2 - 2018-06-05 | (c) 2016 Chris Hafey | https://github.com/cornerstonejs/cornerstoneWADOImageLoader */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("cornerstoneWADOImageLoaderWebWorker",[],t):"object"==typeof exports?exports.cornerstoneWADOImageLoaderWebWorker=t():e.cornerstoneWADOImageLoaderWebWorker=t()}(this,function(){return function(e){var t={};function r(a){if(t[a])return t[a].exports;var n=t[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,a){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(a,n,function(t){return e[t]}.bind(null,n));return a},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=48)}([,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){for(var t=e[0],r=e[0],a=void 0,n=e.length,i=1;i1&&(e.photometricInterpretation="RGB"),e}function i(e){if(!e.usePDFJS&&"undefined"==typeof OpenJPEG)throw new Error("OpenJPEG decoder not loaded");if(!(a||(a=OpenJPEG())&&a._jp2_decode))throw new Error("OpenJPEG failed to initialize")}t.default=function(e,t,r){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return i(r),a.usePDFJS||r.usePDFJS?function(e,t){var r=new JpxImage;r.parse(t);var a=r.tiles.length;if(1!==a)throw new Error("JPEG2000 decoder returned a tileCount of "+a+", when 1 is expected");return e.columns=r.width,e.rows=r.height,e.pixelData=r.tiles[0].items,e}(e,t):n(e,t)},t.initializeJPEG2000=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=void 0;function n(){if("undefined"==typeof CharLS)throw new Error("No JPEG-LS decoder loaded");if(!(a||(a=CharLS())&&a._jpegls_decode))throw new Error("JPEG-LS failed to initialize")}t.default=function(e,t){n();var r=function(e,t){var r=a._malloc(e.length);a.writeArrayToMemory(e,r);var n=a._malloc(4),i=a._malloc(4),o=a._malloc(4),l=a._malloc(4),f=a._malloc(4),s=a._malloc(4),u=a._malloc(4),d=a._malloc(4),c=a._malloc(4),p={result:a.ccall("jpegls_decode","number",["number","number","number","number","number","number","number","number","number","number","number"],[r,e.length,n,i,o,l,f,s,d,u,c]),width:a.getValue(o,"i32"),height:a.getValue(l,"i32"),bitsPerSample:a.getValue(f,"i32"),stride:a.getValue(s,"i32"),components:a.getValue(d,"i32"),allowedLossyError:a.getValue(u,"i32"),interleaveMode:a.getValue(c,"i32"),pixelData:void 0},m=a.getValue(n,"*");return p.bitsPerSample<=8?(p.pixelData=new Uint8Array(p.width*p.height*p.components),p.pixelData.set(new Uint8Array(a.HEAP8.buffer,m,p.pixelData.length))):t?(p.pixelData=new Int16Array(p.width*p.height*p.components),p.pixelData.set(new Int16Array(a.HEAP16.buffer,m,p.pixelData.length))):(p.pixelData=new Uint16Array(p.width*p.height*p.components),p.pixelData.set(new Uint16Array(a.HEAP16.buffer,m,p.pixelData.length))),a._free(r),a._free(m),a._free(n),a._free(i),a._free(o),a._free(l),a._free(f),a._free(s),a._free(d),a._free(c),p}(t,1===e.pixelRepresentation);if(0!==r.result&&6!==r.result)throw new Error("JPEG-LS decoder failed to decode frame (error code "+r.result+")");return e.columns=r.width,e.rows=r.height,e.pixelData=r.pixelData,e},t.initializeJPEGLS=n},,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default="2.1.2"},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=(0,i.default)(e.pixelData),a=!(o(e.smallestPixelValue)&&o(e.largestPixelValue));!0!==t||a?(e.smallestPixelValue=r.min,e.largestPixelValue=r.max):(e.smallestPixelValue!==r.min&&console.warn("Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably."),e.largestPixelValue!==r.max&&console.warn("Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably."))};var a,n=r(1),i=(a=n)&&a.__esModule?a:{default:a};function o(e){return"number"==typeof e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("undefined"==typeof jpeg||void 0===jpeg.lossless||void 0===jpeg.lossless.Decoder)throw new Error("No JPEG Lossless decoder loaded");var r=e.bitsAllocated<=8?1:2,a=t.buffer,n=(new jpeg.lossless.Decoder).decode(a,t.byteOffset,t.length,r);return 0===e.pixelRepresentation?16===e.bitsAllocated?(e.pixelData=new Uint16Array(n.buffer),e):(e.pixelData=new Uint8Array(n.buffer),e):(e.pixelData=new Int16Array(n.buffer),e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("undefined"==typeof JpegImage)throw new Error("No JPEG Baseline decoder loaded");var r=new JpegImage;return r.parse(t),r.colorTransform=!1,8===e.bitsAllocated?(e.pixelData=r.getData(e.columns,e.rows),e):16===e.bitsAllocated?(e.pixelData=r.getData16(e.columns,e.rows),e):void 0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(8===e.bitsAllocated)return e.planarConfiguration?function(e,t){for(var r=t,a=e.rows*e.columns,n=new ArrayBuffer(a*e.samplesPerPixel),i=new DataView(r.buffer,r.byteOffset),o=new Int8Array(r.buffer,r.byteOffset),l=new Int8Array(n),f=0,s=i.getInt32(0,!0),u=0;u=0&&m<=127)for(var g=0;g=-127)for(var y=o[d++],b=0;b<1-m&&f=0&&m<=127)for(var g=0;g=-127)for(var y=o[d++],b=0;b<1-m&&f=0&&m<=127)for(var g=0;g=-127)for(var y=o[c++],b=0;b<1-m&&u>8&255}else 8===e.bitsAllocated&&(e.pixelData=t);var o;return e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=t.buffer,a=t.byteOffset,n=t.length;return 16===e.bitsAllocated?(a%2&&(r=r.slice(a),a=0),0===e.pixelRepresentation?e.pixelData=new Uint16Array(r,a,n/2):e.pixelData=new Int16Array(r,a,n/2)):8===e.bitsAllocated||1===e.bitsAllocated?e.pixelData=t:32===e.bitsAllocated&&(a%2&&(r=r.slice(a),a=0),e.pixelData=new Float32Array(r,a,n/4)),e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=u(r(15)),n=u(r(14)),i=u(r(13)),o=u(r(12)),l=u(r(11)),f=u(r(3)),s=u(r(2));function u(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t,r,u,d){var c=(new Date).getTime();if("1.2.840.10008.1.2"===t)e=(0,a.default)(e,r);else if("1.2.840.10008.1.2.1"===t)e=(0,a.default)(e,r);else if("1.2.840.10008.1.2.2"===t)e=(0,n.default)(e,r);else if("1.2.840.10008.1.2.1.99"===t)e=(0,a.default)(e,r);else if("1.2.840.10008.1.2.5"===t)e=(0,i.default)(e,r);else if("1.2.840.10008.1.2.4.50"===t)e=(0,o.default)(e,r);else if("1.2.840.10008.1.2.4.51"===t)e=(0,o.default)(e,r);else if("1.2.840.10008.1.2.4.57"===t)e=(0,l.default)(e,r);else if("1.2.840.10008.1.2.4.70"===t)e=(0,l.default)(e,r);else if("1.2.840.10008.1.2.4.80"===t)e=(0,f.default)(e,r);else if("1.2.840.10008.1.2.4.81"===t)e=(0,f.default)(e,r);else if("1.2.840.10008.1.2.4.90"===t)e=(0,s.default)(e,r,u,d);else{if("1.2.840.10008.1.2.4.91"!==t)throw new Error("no decoder for transfer syntax "+t);e=(0,s.default)(e,r,u,d)}var p=void 0!==e.pixelRepresentation&&1===e.pixelRepresentation,m=p&&void 0!==e.bitsStored?32-e.bitsStored:void 0;if(p&&void 0!==m)for(var g=0;g>m;var y=(new Date).getTime();return e.decodeTimeInMS=y-c,e}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=r(2),n=r(3),i=l(r(10)),o=l(r(16));function l(e){return e&&e.__esModule?e:{default:e}}var f=!1,s=void 0;function u(e){f||(self.importScripts(e.decodeTask.codecsPath),f=!0,e.decodeTask.initializeCodecsOnStartup&&((0,a.initializeJPEG2000)(e.decodeTask),(0,n.initializeJPEGLS)(e.decodeTask)))}t.default={taskType:"decodeTask",handler:function(e,t){u(s);var r=s&&s.decodeTask&&s.decodeTask.strict,a=e.data.imageFrame,n=new Uint8Array(e.data.pixelData);if((0,o.default)(a,e.data.transferSyntax,n,s.decodeTask,e.data.options),!a.pixelData)throw new Error("decodeTask: imageFrame.pixelData is undefined after decoding");(0,i.default)(a,r),a.pixelData=a.pixelData.buffer,t(a,[a.pixelData])},initialize:function(e){s=e,e.decodeTask.loadCodecsOnStartup&&u(e)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.registerTaskHandler=function(e){if(a[e.taskType])return console.log('attempt to register duplicate task handler "',e.taskType,'"'),!1;a[e.taskType]=e,n&&e.initialize(i.taskConfiguration)};var a={},n=!1,i=void 0;self.onmessage=function(e){var t;{if("initialize"!==e.data.taskType)return"loadWebWorkerTask"===e.data.taskType?(t=e.data,i=t.config,void self.importScripts(t.sourcePath)):void(a[e.data.taskType]?a[e.data.taskType].handler(e.data,function(t,r){self.postMessage({taskType:e.data.taskType,status:"success",result:t,workerIndex:e.data.workerIndex},r)}):(console.log("no task handler for ",e.data.taskType),console.log(a),self.postMessage({taskType:e.data.taskType,status:"failed - no task handler registered",workerIndex:e.data.workerIndex})));!function(e){if(!n){if(i=e.config,e.config.webWorkerTaskPaths)for(var t=0;t 1) {\r\n imageFrame.photometricInterpretation = 'RGB';\r\n }\r\n\r\n return imageFrame;\r\n}\r\n\r\nfunction initializeJPEG2000 (decodeConfig) {\r\n // check to make sure codec is loaded\r\n if (!decodeConfig.usePDFJS) {\r\n if (typeof OpenJPEG === 'undefined') {\r\n throw new Error('OpenJPEG decoder not loaded');\r\n }\r\n }\r\n\r\n if (!openJPEG) {\r\n openJPEG = OpenJPEG();\r\n if (!openJPEG || !openJPEG._jp2_decode) {\r\n throw new Error('OpenJPEG failed to initialize');\r\n }\r\n }\r\n}\r\n\r\nfunction decodeJPEG2000 (imageFrame, pixelData, decodeConfig, options = {}) {\r\n initializeJPEG2000(decodeConfig);\r\n\r\n if (options.usePDFJS || decodeConfig.usePDFJS) {\r\n // OHIF image-JPEG2000 https://github.com/OHIF/image-JPEG2000\r\n // console.log('PDFJS')\r\n return decodeJpx(imageFrame, pixelData);\r\n }\r\n\r\n // OpenJPEG2000 https://github.com/jpambrun/openjpeg\r\n // console.log('OpenJPEG')\r\n return decodeOpenJpeg2000(imageFrame, pixelData);\r\n}\r\n\r\nexport default decodeJPEG2000;\r\nexport { initializeJPEG2000 };\r\n","let charLS;\r\n\r\nfunction jpegLSDecode (data, isSigned) {\r\n // prepare input parameters\r\n const dataPtr = charLS._malloc(data.length);\r\n\r\n charLS.writeArrayToMemory(data, dataPtr);\r\n\r\n // prepare output parameters\r\n const imagePtrPtr = charLS._malloc(4);\r\n const imageSizePtr = charLS._malloc(4);\r\n const widthPtr = charLS._malloc(4);\r\n const heightPtr = charLS._malloc(4);\r\n const bitsPerSamplePtr = charLS._malloc(4);\r\n const stridePtr = charLS._malloc(4);\r\n const allowedLossyErrorPtr = charLS._malloc(4);\r\n const componentsPtr = charLS._malloc(4);\r\n const interleaveModePtr = charLS._malloc(4);\r\n\r\n // Decode the image\r\n const result = charLS.ccall(\r\n 'jpegls_decode',\r\n 'number',\r\n ['number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number'],\r\n [dataPtr, data.length, imagePtrPtr, imageSizePtr, widthPtr, heightPtr, bitsPerSamplePtr, stridePtr, componentsPtr, allowedLossyErrorPtr, interleaveModePtr]\r\n );\r\n\r\n // Extract result values into object\r\n const image = {\r\n result,\r\n width: charLS.getValue(widthPtr, 'i32'),\r\n height: charLS.getValue(heightPtr, 'i32'),\r\n bitsPerSample: charLS.getValue(bitsPerSamplePtr, 'i32'),\r\n stride: charLS.getValue(stridePtr, 'i32'),\r\n components: charLS.getValue(componentsPtr, 'i32'),\r\n allowedLossyError: charLS.getValue(allowedLossyErrorPtr, 'i32'),\r\n interleaveMode: charLS.getValue(interleaveModePtr, 'i32'),\r\n pixelData: undefined\r\n };\r\n\r\n // Copy image from emscripten heap into appropriate array buffer type\r\n const imagePtr = charLS.getValue(imagePtrPtr, '*');\r\n\r\n if (image.bitsPerSample <= 8) {\r\n image.pixelData = new Uint8Array(image.width * image.height * image.components);\r\n image.pixelData.set(new Uint8Array(charLS.HEAP8.buffer, imagePtr, image.pixelData.length));\r\n } else if (isSigned) {\r\n image.pixelData = new Int16Array(image.width * image.height * image.components);\r\n image.pixelData.set(new Int16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\r\n } else {\r\n image.pixelData = new Uint16Array(image.width * image.height * image.components);\r\n image.pixelData.set(new Uint16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\r\n }\r\n\r\n // free memory and return image object\r\n charLS._free(dataPtr);\r\n charLS._free(imagePtr);\r\n charLS._free(imagePtrPtr);\r\n charLS._free(imageSizePtr);\r\n charLS._free(widthPtr);\r\n charLS._free(heightPtr);\r\n charLS._free(bitsPerSamplePtr);\r\n charLS._free(stridePtr);\r\n charLS._free(componentsPtr);\r\n charLS._free(interleaveModePtr);\r\n\r\n return image;\r\n}\r\n\r\nfunction initializeJPEGLS () {\r\n // check to make sure codec is loaded\r\n if (typeof CharLS === 'undefined') {\r\n throw new Error('No JPEG-LS decoder loaded');\r\n }\r\n\r\n // Try to initialize CharLS\r\n // CharLS https://github.com/cornerstonejs/charls\r\n if (!charLS) {\r\n charLS = CharLS();\r\n if (!charLS || !charLS._jpegls_decode) {\r\n throw new Error('JPEG-LS failed to initialize');\r\n }\r\n }\r\n\r\n}\r\n\r\nfunction decodeJPEGLS (imageFrame, pixelData) {\r\n initializeJPEGLS();\r\n\r\n const image = jpegLSDecode(pixelData, imageFrame.pixelRepresentation === 1);\r\n\r\n // throw error if not success or too much data\r\n if (image.result !== 0 && image.result !== 6) {\r\n throw new Error(`JPEG-LS decoder failed to decode frame (error code ${image.result})`);\r\n }\r\n\r\n imageFrame.columns = image.width;\r\n imageFrame.rows = image.height;\r\n imageFrame.pixelData = image.pixelData;\r\n\r\n return imageFrame;\r\n}\r\n\r\nexport default decodeJPEGLS;\r\nexport { initializeJPEGLS };\r\n","export default '2.1.2';\n","import getMinMax from './getMinMax.js';\r\n\r\n/**\r\n * Check the minimum and maximum values in the imageFrame pixel data\r\n * match with the provided smallestPixelValue and largestPixelValue metaData.\r\n *\r\n * If 'strict' is true, log to the console a warning if these values do not match.\r\n * Otherwise, correct them automatically.\r\n *\r\n * @param {Object} imageFrame\r\n * @param {Boolean} strict If 'strict' is true, log to the console a warning if these values do not match.\r\n * Otherwise, correct them automatically.Default is true.\r\n */\r\nexport default function calculateMinMax (imageFrame, strict = true) {\r\n const minMax = getMinMax(imageFrame.pixelData);\r\n const mustAssign = !(isNumber(imageFrame.smallestPixelValue) && isNumber(imageFrame.largestPixelValue));\r\n\r\n\r\n if (strict === true && !mustAssign) {\r\n if (imageFrame.smallestPixelValue !== minMax.min) {\r\n console.warn('Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\r\n }\r\n\r\n if (imageFrame.largestPixelValue !== minMax.max) {\r\n console.warn('Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\r\n }\r\n } else {\r\n imageFrame.smallestPixelValue = minMax.min;\r\n imageFrame.largestPixelValue = minMax.max;\r\n }\r\n}\r\n\r\nfunction isNumber(numValue) {\r\n return typeof numValue === \"number\";\r\n}\r\n","\r\n\r\nfunction decodeJPEGLossless (imageFrame, pixelData) {\r\n // check to make sure codec is loaded\r\n if (typeof jpeg === 'undefined' ||\r\n typeof jpeg.lossless === 'undefined' ||\r\n typeof jpeg.lossless.Decoder === 'undefined') {\r\n throw new Error('No JPEG Lossless decoder loaded');\r\n }\r\n\r\n const byteOutput = imageFrame.bitsAllocated <= 8 ? 1 : 2;\r\n // console.time('jpeglossless');\r\n const buffer = pixelData.buffer;\r\n const decoder = new jpeg.lossless.Decoder();\r\n const decompressedData = decoder.decode(buffer, pixelData.byteOffset, pixelData.length, byteOutput);\r\n // console.timeEnd('jpeglossless');\r\n\r\n if (imageFrame.pixelRepresentation === 0) {\r\n if (imageFrame.bitsAllocated === 16) {\r\n imageFrame.pixelData = new Uint16Array(decompressedData.buffer);\r\n\r\n return imageFrame;\r\n }\r\n // untested!\r\n imageFrame.pixelData = new Uint8Array(decompressedData.buffer);\r\n\r\n return imageFrame;\r\n\r\n }\r\n imageFrame.pixelData = new Int16Array(decompressedData.buffer);\r\n\r\n return imageFrame;\r\n\r\n}\r\n\r\nexport default decodeJPEGLossless;\r\n","\r\n\r\nfunction decodeJPEGBaseline (imageFrame, pixelData) {\r\n // check to make sure codec is loaded\r\n if (typeof JpegImage === 'undefined') {\r\n throw new Error('No JPEG Baseline decoder loaded');\r\n }\r\n const jpeg = new JpegImage();\r\n\r\n jpeg.parse(pixelData);\r\n\r\n // Do not use the internal jpeg.js color transformation,\r\n // since we will handle this afterwards\r\n jpeg.colorTransform = false;\r\n\r\n if (imageFrame.bitsAllocated === 8) {\r\n imageFrame.pixelData = jpeg.getData(imageFrame.columns, imageFrame.rows);\r\n\r\n return imageFrame;\r\n } else if (imageFrame.bitsAllocated === 16) {\r\n imageFrame.pixelData = jpeg.getData16(imageFrame.columns, imageFrame.rows);\r\n\r\n return imageFrame;\r\n }\r\n}\r\n\r\nexport default decodeJPEGBaseline;\r\n","function decodeRLE (imageFrame, pixelData) {\r\n if (imageFrame.bitsAllocated === 8) {\r\n if (imageFrame.planarConfiguration) {\r\n return decode8Planar(imageFrame, pixelData);\r\n }\r\n\r\n return decode8(imageFrame, pixelData);\r\n } else if (imageFrame.bitsAllocated === 16) {\r\n return decode16(imageFrame, pixelData);\r\n }\r\n\r\n throw new Error('unsupported pixel format for RLE');\r\n}\r\n\r\nfunction decode8 (imageFrame, pixelData) {\r\n const frameData = pixelData;\r\n const frameSize = imageFrame.rows * imageFrame.columns;\r\n const outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\r\n const header = new DataView(frameData.buffer, frameData.byteOffset);\r\n const data = new Int8Array(frameData.buffer, frameData.byteOffset);\r\n const out = new Int8Array(outFrame);\r\n\r\n let outIndex = 0;\r\n const numSegments = header.getInt32(0, true);\r\n\r\n for (let s = 0; s < numSegments; ++s) {\r\n outIndex = s;\r\n\r\n let inIndex = header.getInt32((s + 1) * 4, true);\r\n let maxIndex = header.getInt32((s + 2) * 4, true);\r\n\r\n if (maxIndex === 0) {\r\n maxIndex = frameData.length;\r\n }\r\n\r\n const endOfSegment = frameSize * numSegments;\r\n\r\n while (inIndex < maxIndex) {\r\n const n = data[inIndex++];\r\n\r\n if (n >= 0 && n <= 127) {\r\n // copy n bytes\r\n for (let i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\r\n out[outIndex] = data[inIndex++];\r\n outIndex += imageFrame.samplesPerPixel;\r\n }\r\n } else if (n <= -1 && n >= -127) {\r\n const value = data[inIndex++];\r\n // run of n bytes\r\n\r\n for (let j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\r\n out[outIndex] = value;\r\n outIndex += imageFrame.samplesPerPixel;\r\n }\r\n }/* else if (n === -128) {\r\n\r\n } // do nothing */\r\n }\r\n }\r\n imageFrame.pixelData = new Uint8Array(outFrame);\r\n\r\n return imageFrame;\r\n}\r\n\r\nfunction decode8Planar (imageFrame, pixelData) {\r\n const frameData = pixelData;\r\n const frameSize = imageFrame.rows * imageFrame.columns;\r\n const outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\r\n const header = new DataView(frameData.buffer, frameData.byteOffset);\r\n const data = new Int8Array(frameData.buffer, frameData.byteOffset);\r\n const out = new Int8Array(outFrame);\r\n\r\n let outIndex = 0;\r\n const numSegments = header.getInt32(0, true);\r\n\r\n for (let s = 0; s < numSegments; ++s) {\r\n outIndex = s * frameSize;\r\n\r\n let inIndex = header.getInt32((s + 1) * 4, true);\r\n let maxIndex = header.getInt32((s + 2) * 4, true);\r\n\r\n if (maxIndex === 0) {\r\n maxIndex = frameData.length;\r\n }\r\n\r\n const endOfSegment = frameSize * numSegments;\r\n\r\n while (inIndex < maxIndex) {\r\n const n = data[inIndex++];\r\n\r\n if (n >= 0 && n <= 127) {\r\n // copy n bytes\r\n for (let i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\r\n out[outIndex] = data[inIndex++];\r\n outIndex++;\r\n }\r\n } else if (n <= -1 && n >= -127) {\r\n const value = data[inIndex++];\r\n // run of n bytes\r\n\r\n for (let j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\r\n out[outIndex] = value;\r\n outIndex++;\r\n }\r\n }/* else if (n === -128) {\r\n\r\n } // do nothing */\r\n }\r\n }\r\n imageFrame.pixelData = new Uint8Array(outFrame);\r\n\r\n return imageFrame;\r\n}\r\n\r\nfunction decode16 (imageFrame, pixelData) {\r\n const frameData = pixelData;\r\n const frameSize = imageFrame.rows * imageFrame.columns;\r\n const outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel * 2);\r\n\r\n const header = new DataView(frameData.buffer, frameData.byteOffset);\r\n const data = new Int8Array(frameData.buffer, frameData.byteOffset);\r\n const out = new Int8Array(outFrame);\r\n\r\n const numSegments = header.getInt32(0, true);\r\n\r\n for (let s = 0; s < numSegments; ++s) {\r\n let outIndex = 0;\r\n const highByte = (s === 0 ? 1 : 0);\r\n\r\n let inIndex = header.getInt32((s + 1) * 4, true);\r\n let maxIndex = header.getInt32((s + 2) * 4, true);\r\n\r\n if (maxIndex === 0) {\r\n maxIndex = frameData.length;\r\n }\r\n\r\n while (inIndex < maxIndex) {\r\n const n = data[inIndex++];\r\n\r\n if (n >= 0 && n <= 127) {\r\n for (let i = 0; i < n + 1 && outIndex < frameSize; ++i) {\r\n out[(outIndex * 2) + highByte] = data[inIndex++];\r\n outIndex++;\r\n }\r\n } else if (n <= -1 && n >= -127) {\r\n const value = data[inIndex++];\r\n\r\n for (let j = 0; j < -n + 1 && outIndex < frameSize; ++j) {\r\n out[(outIndex * 2) + highByte] = value;\r\n outIndex++;\r\n }\r\n }/* else if (n === -128) {\r\n\r\n } // do nothing */\r\n }\r\n }\r\n if (imageFrame.pixelRepresentation === 0) {\r\n imageFrame.pixelData = new Uint16Array(outFrame);\r\n } else {\r\n imageFrame.pixelData = new Int16Array(outFrame);\r\n }\r\n\r\n return imageFrame;\r\n}\r\n\r\nexport default decodeRLE;\r\n","/* eslint no-bitwise: 0 */\r\nfunction swap16 (val) {\r\n return ((val & 0xFF) << 8) |\r\n ((val >> 8) & 0xFF);\r\n}\r\n\r\n\r\nfunction decodeBigEndian (imageFrame, pixelData) {\r\n if (imageFrame.bitsAllocated === 16) {\r\n let arrayBuffer = pixelData.buffer;\r\n let offset = pixelData.byteOffset;\r\n const length = pixelData.length;\r\n // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\r\n // buffers on it\r\n\r\n if (offset % 2) {\r\n arrayBuffer = arrayBuffer.slice(offset);\r\n offset = 0;\r\n }\r\n\r\n if (imageFrame.pixelRepresentation === 0) {\r\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\r\n } else {\r\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\r\n }\r\n // Do the byte swap\r\n for (let i = 0; i < imageFrame.pixelData.length; i++) {\r\n imageFrame.pixelData[i] = swap16(imageFrame.pixelData[i]);\r\n }\r\n\r\n } else if (imageFrame.bitsAllocated === 8) {\r\n imageFrame.pixelData = pixelData;\r\n }\r\n\r\n return imageFrame;\r\n}\r\n\r\nexport default decodeBigEndian;\r\n","function decodeLittleEndian (imageFrame, pixelData) {\r\n let arrayBuffer = pixelData.buffer;\r\n let offset = pixelData.byteOffset;\r\n const length = pixelData.length;\r\n\r\n if (imageFrame.bitsAllocated === 16) {\r\n // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\r\n // buffers on it\r\n if (offset % 2) {\r\n arrayBuffer = arrayBuffer.slice(offset);\r\n offset = 0;\r\n }\r\n\r\n if (imageFrame.pixelRepresentation === 0) {\r\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\r\n } else {\r\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\r\n }\r\n } else if (imageFrame.bitsAllocated === 8 || imageFrame.bitsAllocated === 1) {\r\n imageFrame.pixelData = pixelData;\r\n } else if (imageFrame.bitsAllocated === 32) {\r\n // if pixel data is not aligned on even boundary, shift it\r\n if (offset % 2) {\r\n arrayBuffer = arrayBuffer.slice(offset);\r\n offset = 0;\r\n }\r\n\r\n imageFrame.pixelData = new Float32Array(arrayBuffer, offset, length / 4);\r\n }\r\n\r\n return imageFrame;\r\n}\r\n\r\nexport default decodeLittleEndian;\r\n","import decodeLittleEndian from './decoders/decodeLittleEndian.js';\r\nimport decodeBigEndian from './decoders/decodeBigEndian.js';\r\nimport decodeRLE from './decoders/decodeRLE.js';\r\nimport decodeJPEGBaseline from './decoders/decodeJPEGBaseline.js';\r\nimport decodeJPEGLossless from './decoders/decodeJPEGLossless.js';\r\nimport decodeJPEGLS from './decoders/decodeJPEGLS.js';\r\nimport decodeJPEG2000 from './decoders/decodeJPEG2000.js';\r\n\r\nfunction decodeImageFrame (imageFrame, transferSyntax, pixelData, decodeConfig, options) {\r\n const start = new Date().getTime();\r\n\r\n if (transferSyntax === '1.2.840.10008.1.2') {\r\n // Implicit VR Little Endian\r\n imageFrame = decodeLittleEndian(imageFrame, pixelData);\r\n } else if (transferSyntax === '1.2.840.10008.1.2.1') {\r\n // Explicit VR Little Endian\r\n imageFrame = decodeLittleEndian(imageFrame, pixelData);\r\n } else if (transferSyntax === '1.2.840.10008.1.2.2') {\r\n // Explicit VR Big Endian (retired)\r\n imageFrame = decodeBigEndian(imageFrame, pixelData);\r\n } else if (transferSyntax === '1.2.840.10008.1.2.1.99') {\r\n // Deflate transfer syntax (deflated by dicomParser)\r\n imageFrame = decodeLittleEndian(imageFrame, pixelData);\r\n } else if (transferSyntax === '1.2.840.10008.1.2.5') {\r\n // RLE Lossless\r\n imageFrame = decodeRLE(imageFrame, pixelData);\r\n } else if (transferSyntax === '1.2.840.10008.1.2.4.50') {\r\n // JPEG Baseline lossy process 1 (8 bit)\r\n imageFrame = decodeJPEGBaseline(imageFrame, pixelData);\r\n } else if (transferSyntax === '1.2.840.10008.1.2.4.51') {\r\n // JPEG Baseline lossy process 2 & 4 (12 bit)\r\n imageFrame = decodeJPEGBaseline(imageFrame, pixelData);\r\n } else if (transferSyntax === '1.2.840.10008.1.2.4.57') {\r\n // JPEG Lossless, Nonhierarchical (Processes 14)\r\n imageFrame = decodeJPEGLossless(imageFrame, pixelData);\r\n } else if (transferSyntax === '1.2.840.10008.1.2.4.70') {\r\n // JPEG Lossless, Nonhierarchical (Processes 14 [Selection 1])\r\n imageFrame = decodeJPEGLossless(imageFrame, pixelData);\r\n } else if (transferSyntax === '1.2.840.10008.1.2.4.80') {\r\n // JPEG-LS Lossless Image Compression\r\n imageFrame = decodeJPEGLS(imageFrame, pixelData);\r\n } else if (transferSyntax === '1.2.840.10008.1.2.4.81') {\r\n // JPEG-LS Lossy (Near-Lossless) Image Compression\r\n imageFrame = decodeJPEGLS(imageFrame, pixelData);\r\n } else if (transferSyntax === '1.2.840.10008.1.2.4.90') {\r\n // JPEG 2000 Lossless\r\n imageFrame = decodeJPEG2000(imageFrame, pixelData, decodeConfig, options);\r\n } else if (transferSyntax === '1.2.840.10008.1.2.4.91') {\r\n // JPEG 2000 Lossy\r\n imageFrame = decodeJPEG2000(imageFrame, pixelData, decodeConfig, options);\r\n } else {\r\n throw new Error(`no decoder for transfer syntax ${transferSyntax}`);\r\n }\r\n\r\n /* Don't know if these work...\r\n // JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only)\r\n else if(transferSyntax === \"1.2.840.10008.1.2.4.92\")\r\n {\r\n return decodeJPEG2000(dataSet, frame);\r\n }\r\n // JPEG 2000 Part 2 Multicomponent Image Compression\r\n else if(transferSyntax === \"1.2.840.10008.1.2.4.93\")\r\n {\r\n return decodeJPEG2000(dataSet, frame);\r\n }\r\n */\r\n\r\n const shouldShift = imageFrame.pixelRepresentation !== undefined && imageFrame.pixelRepresentation === 1;\r\n const shift = (shouldShift && imageFrame.bitsStored !== undefined) ? (32 - imageFrame.bitsStored) : undefined;\r\n\r\n if (shouldShift && shift !== undefined) {\r\n for (let i = 0; i < imageFrame.pixelData.length; i++) {\r\n // eslint-disable-next-line no-bitwise\r\n imageFrame.pixelData[i] = (imageFrame.pixelData[i] << shift >> shift);\r\n }\r\n }\r\n\r\n const end = new Date().getTime();\r\n\r\n imageFrame.decodeTimeInMS = end - start;\r\n\r\n return imageFrame;\r\n}\r\n\r\nexport default decodeImageFrame;\r\n","import { initializeJPEG2000 } from '../../shared/decoders/decodeJPEG2000.js';\r\nimport { initializeJPEGLS } from '../../shared/decoders/decodeJPEGLS.js';\r\nimport calculateMinMax from '../../shared/calculateMinMax.js';\r\nimport decodeImageFrame from '../../shared/decodeImageFrame.js';\r\n\r\n// flag to ensure codecs are loaded only once\r\nlet codecsLoaded = false;\r\n\r\n// the configuration object for the decodeTask\r\nlet decodeConfig;\r\n\r\n/**\r\n * Function to control loading and initializing the codecs\r\n * @param config\r\n */\r\nfunction loadCodecs (config) {\r\n // prevent loading codecs more than once\r\n if (codecsLoaded) {\r\n return;\r\n }\r\n\r\n // Load the codecs\r\n // console.time('loadCodecs');\r\n self.importScripts(config.decodeTask.codecsPath);\r\n codecsLoaded = true;\r\n // console.timeEnd('loadCodecs');\r\n\r\n // Initialize the codecs\r\n if (config.decodeTask.initializeCodecsOnStartup) {\r\n // console.time('initializeCodecs');\r\n initializeJPEG2000(config.decodeTask);\r\n initializeJPEGLS(config.decodeTask);\r\n // console.timeEnd('initializeCodecs');\r\n }\r\n}\r\n\r\n/**\r\n * Task initialization function\r\n */\r\nfunction initialize (config) {\r\n decodeConfig = config;\r\n if (config.decodeTask.loadCodecsOnStartup) {\r\n loadCodecs(config);\r\n }\r\n}\r\n\r\n/**\r\n * Task handler function\r\n */\r\nfunction handler (data, doneCallback) {\r\n // Load the codecs if they aren't already loaded\r\n loadCodecs(decodeConfig);\r\n\r\n const strict = decodeConfig && decodeConfig.decodeTask && decodeConfig.decodeTask.strict;\r\n const imageFrame = data.data.imageFrame;\r\n\r\n // convert pixel data from ArrayBuffer to Uint8Array since web workers support passing ArrayBuffers but\r\n // not typed arrays\r\n const pixelData = new Uint8Array(data.data.pixelData);\r\n\r\n decodeImageFrame(\r\n imageFrame,\r\n data.data.transferSyntax,\r\n pixelData,\r\n decodeConfig.decodeTask,\r\n data.data.options);\r\n\r\n if (!imageFrame.pixelData) {\r\n throw new Error('decodeTask: imageFrame.pixelData is undefined after decoding');\r\n }\r\n\r\n calculateMinMax(imageFrame, strict);\r\n\r\n // convert from TypedArray to ArrayBuffer since web workers support passing ArrayBuffers but not\r\n // typed arrays\r\n imageFrame.pixelData = imageFrame.pixelData.buffer;\r\n\r\n // invoke the callback with our result and pass the pixelData in the transferList to move it to\r\n // UI thread without making a copy\r\n doneCallback(imageFrame, [imageFrame.pixelData]);\r\n}\r\n\r\nexport default {\r\n taskType: 'decodeTask',\r\n handler,\r\n initialize\r\n};\r\n","// an object of task handlers\r\nconst taskHandlers = {};\r\n\r\n// Flag to ensure web worker is only initialized once\r\nlet initialized = false;\r\n\r\n// the configuration object passed in when the web worker manager is initialized\r\nlet config;\r\n\r\n/**\r\n * Initialization function that loads additional web workers and initializes them\r\n * @param data\r\n */\r\nfunction initialize (data) {\r\n // console.log('web worker initialize ', data.workerIndex);\r\n // prevent initialization from happening more than once\r\n if (initialized) {\r\n return;\r\n }\r\n\r\n // save the config data\r\n config = data.config;\r\n\r\n // load any additional web worker tasks\r\n if (data.config.webWorkerTaskPaths) {\r\n for (let i = 0; i < data.config.webWorkerTaskPaths.length; i++) {\r\n self.importScripts(data.config.webWorkerTaskPaths[i]);\r\n }\r\n }\r\n\r\n // initialize each task handler\r\n Object.keys(taskHandlers).forEach(function (key) {\r\n taskHandlers[key].initialize(config.taskConfiguration);\r\n });\r\n\r\n // tell main ui thread that we have completed initialization\r\n self.postMessage({\r\n taskType: 'initialize',\r\n status: 'success',\r\n result: {\r\n },\r\n workerIndex: data.workerIndex\r\n });\r\n\r\n initialized = true;\r\n}\r\n\r\n/**\r\n * Function exposed to web worker tasks to register themselves\r\n * @param taskHandler\r\n */\r\nexport function registerTaskHandler (taskHandler) {\r\n if (taskHandlers[taskHandler.taskType]) {\r\n console.log('attempt to register duplicate task handler \"', taskHandler.taskType, '\"');\r\n\r\n return false;\r\n }\r\n taskHandlers[taskHandler.taskType] = taskHandler;\r\n if (initialized) {\r\n taskHandler.initialize(config.taskConfiguration);\r\n }\r\n}\r\n\r\n/**\r\n * Function to load a new web worker task with updated configuration\r\n * @param data\r\n */\r\nfunction loadWebWorkerTask (data) {\r\n config = data.config;\r\n self.importScripts(data.sourcePath);\r\n}\r\n\r\n/**\r\n * Web worker message handler - dispatches messages to the registered task handlers\r\n * @param msg\r\n */\r\nself.onmessage = function (msg) {\r\n // console.log('web worker onmessage', msg.data);\r\n\r\n // handle initialize message\r\n if (msg.data.taskType === 'initialize') {\r\n initialize(msg.data);\r\n\r\n return;\r\n }\r\n\r\n // handle loadWebWorkerTask message\r\n if (msg.data.taskType === 'loadWebWorkerTask') {\r\n loadWebWorkerTask(msg.data);\r\n\r\n return;\r\n }\r\n\r\n // dispatch the message if there is a handler registered for it\r\n if (taskHandlers[msg.data.taskType]) {\r\n taskHandlers[msg.data.taskType].handler(msg.data, function (result, transferList) {\r\n self.postMessage({\r\n taskType: msg.data.taskType,\r\n status: 'success',\r\n result,\r\n workerIndex: msg.data.workerIndex\r\n }, transferList);\r\n });\r\n\r\n return;\r\n }\r\n\r\n // not task handler registered - send a failure message back to ui thread\r\n console.log('no task handler for ', msg.data.taskType);\r\n console.log(taskHandlers);\r\n self.postMessage({\r\n taskType: msg.data.taskType,\r\n status: 'failed - no task handler registered',\r\n workerIndex: msg.data.workerIndex\r\n });\r\n};\r\n","import { registerTaskHandler } from './webWorker.js';\r\nimport decodeTask from './decodeTask/decodeTask.js';\r\n\r\n// register our task\r\nregisterTaskHandler(decodeTask);\r\n\r\nexport { registerTaskHandler };\r\nexport { default as version } from '../version.js';\r\n"],"sourceRoot":""} diff --git a/Packages/ohif-hanging-protocols/assets/dots.svg b/Packages/ohif-hanging-protocols/assets/dots.svg deleted file mode 100644 index daf0dada2..000000000 --- a/Packages/ohif-hanging-protocols/assets/dots.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/classes/Protocol.js b/Packages/ohif-hanging-protocols/client/classes/Protocol.js deleted file mode 100644 index 4690bab7e..000000000 --- a/Packages/ohif-hanging-protocols/client/classes/Protocol.js +++ /dev/null @@ -1,243 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { OHIF } from 'ohif-core'; - -// Local imports -import { removeFromArray } from '../lib/removeFromArray'; - -/** - * This class represents a Hanging Protocol at the highest level - * - * @type {Protocol} - */ -HP.Protocol = class Protocol { - /** - * The Constructor for the Class to create a Protocol with the bare - * minimum information - * - * @param name The desired name for the Protocol - */ - constructor(name) { - // Create a new UUID for this Protocol - this.id = OHIF.utils.guid(); - - // Store a value which determines whether or not a Protocol is locked - // This is probably temporary, since we will eventually have role / user - // checks for editing. For now we just need it to prevent changes to the - // default protocols. - this.locked = false; - - // Boolean value to indicate if the protocol has updated priors information - // it's set in "updateNumberOfPriorsReferenced" function - this.hasUpdatedPriorsInformation = false; - - // Apply the desired name - this.name = name; - - // Set the created and modified dates to Now - this.createdDate = new Date(); - this.modifiedDate = new Date(); - - // If we are logged in while creating this Protocol, - // store this information as well - if (OHIF.user && OHIF.user.userLoggedIn && OHIF.user.userLoggedIn()) { - this.createdBy = OHIF.user.getUserId(); - this.modifiedBy = OHIF.user.getUserId(); - } - - // Create two empty Sets specifying which roles - // have read and write access to this Protocol - this.availableTo = new Set(); - this.editableBy = new Set(); - - // Define empty arrays for the Protocol matching rules - // and Stages - this.protocolMatchingRules = []; - this.stages = []; - - // Define auxiliary values for priors - this.numberOfPriorsReferenced = -1; - } - - getNumberOfPriorsReferenced(skipCache = false) { - let numberOfPriorsReferenced = skipCache !== true ? this.numberOfPriorsReferenced : -1; - - // Check if information is cached already - if (numberOfPriorsReferenced > -1) { - return numberOfPriorsReferenced; - } - - numberOfPriorsReferenced = 0; - - // Search each study matching rule for prior rules - // Each stage can have many viewports that can have - // multiple study matching rules. - this.stages.forEach(stage => { - if (!stage.viewports) { - return; - } - - stage.viewports.forEach(viewport => { - if (!viewport.studyMatchingRules) { - return; - } - - viewport.studyMatchingRules.forEach(rule => { - // If the current rule is not a priors rule, it will return -1 then numberOfPriorsReferenced will continue to be 0 - const priorsReferenced = rule.getNumberOfPriorsReferenced(); - if (priorsReferenced > numberOfPriorsReferenced) { - numberOfPriorsReferenced = priorsReferenced; - } - }); - }); - }); - - this.numberOfPriorsReferenced = numberOfPriorsReferenced; - - return numberOfPriorsReferenced - } - - updateNumberOfPriorsReferenced() { - this.getNumberOfPriorsReferenced(true); - } - - /** - * Method to update the modifiedDate when the Protocol - * has been changed - */ - protocolWasModified() { - // If we are logged in while modifying this Protocol, - // store this information as well - if (OHIF.user && OHIF.user.userLoggedIn && OHIF.user.userLoggedIn()) { - this.modifiedBy = OHIF.user.getUserId(); - } - - // Protocol has been modified, so mark priors information - // as "outdated" - this.hasUpdatedPriorsInformation = false; - - // Update number of priors referenced info - this.updateNumberOfPriorsReferenced(); - - // Update the modifiedDate with the current Date/Time - this.modifiedDate = new Date(); - } - - /** - * Occasionally the Protocol class needs to be instantiated from a JavaScript Object - * containing the Protocol data. This function fills in a Protocol with the Object - * data. - * - * @param input A Protocol as a JavaScript Object, e.g. retrieved from MongoDB or JSON - */ - fromObject(input) { - // Check if the input already has an ID - // If so, keep it. It not, create a new UUID - this.id = input.id || OHIF.utils.guid(); - - // Assign the input name to the Protocol - this.name = input.name; - - // Retrieve locked status, use !! to make it truthy - // so that undefined values will be set to false - this.locked = !!input.locked; - - // TODO: Check how to regenerate Set from Object - //this.availableTo = new Set(input.availableTo); - //this.editableBy = new Set(input.editableBy); - - // If the input contains Protocol matching rules - if (input.protocolMatchingRules) { - input.protocolMatchingRules.forEach(ruleObject => { - // Create new Rules from the stored data - var rule = new HP.ProtocolMatchingRule(); - rule.fromObject(ruleObject); - - // Add them to the Protocol - this.protocolMatchingRules.push(rule); - }); - } - - // If the input contains data for various Stages in the - // display set sequence - if (input.stages) { - input.stages.forEach(stageObject => { - // Create Stages from the stored data - var stage = new HP.Stage(); - stage.fromObject(stageObject); - - // Add them to the Protocol - this.stages.push(stage); - }); - } - } - - /** - * Creates a clone of the current Protocol with a new name - * - * @param name - * @returns {Protocol|*} - */ - createClone(name) { - // Create a new JavaScript independent of the current Protocol - var currentProtocol = Object.assign({}, this); - - // Create a new Protocol to return - var clonedProtocol = new HP.Protocol(); - - // Apply the desired properties - currentProtocol.id = clonedProtocol.id; - clonedProtocol.fromObject(currentProtocol); - - // If we have specified a name, assign it - if (name) { - clonedProtocol.name = name; - } - - // Unlock the clone - clonedProtocol.locked = false; - - // Return the cloned Protocol - return clonedProtocol; - } - - /** - * Adds a Stage to this Protocol's display set sequence - * - * @param stage - */ - addStage(stage) { - this.stages.push(stage); - - // Update the modifiedDate and User that last - // modified this Protocol - this.protocolWasModified(); - } - - /** - * Adds a Rule to this Protocol's array of matching rules - * - * @param rule - */ - addProtocolMatchingRule(rule) { - this.protocolMatchingRules.push(rule); - - // Update the modifiedDate and User that last - // modified this Protocol - this.protocolWasModified(); - } - - /** - * Removes a Rule from this Protocol's array of matching rules - * - * @param rule - */ - removeProtocolMatchingRule(rule) { - var wasRemoved = removeFromArray(this.protocolMatchingRules, rule); - - // Update the modifiedDate and User that last - // modified this Protocol - if (wasRemoved) { - this.protocolWasModified(); - } - } -}; diff --git a/Packages/ohif-hanging-protocols/client/classes/Rule.js b/Packages/ohif-hanging-protocols/client/classes/Rule.js deleted file mode 100644 index 508e6a1bd..000000000 --- a/Packages/ohif-hanging-protocols/client/classes/Rule.js +++ /dev/null @@ -1,172 +0,0 @@ -import { OHIF } from 'ohif-core'; -import { comparators } from '../lib/comparators'; - -const EQUALS_REGEXP = /^equals$/; - -/** - * This Class represents a Rule to be evaluated given a set of attributes - * Rules have: - * - An attribute (e.g. 'seriesDescription') - * - A constraint Object, in the form required by Validate.js: - * - * rule.constraint = { - * contains: { - * value: 'T-1' - * } - * }; - * - * Note: In this example we use the 'contains' Validator, which is a custom Validator defined in Viewerbase - * - * - A value for whether or not they are Required to be matched (default: False) - * - A value for their relative weighting during Protocol or Image matching (default: 1) - */ -export class Rule { - /** - * The Constructor for the Class to create a Rule with the bare - * minimum information - * - * @param name The desired name for the Rule - */ - constructor(attribute, constraint, required, weight) { - // Create a new UUID for this Rule - this.id = OHIF.utils.guid(); - - // Set the Rule's weight (defaults to 1) - this.weight = weight || 1; - - // If an attribute is specified, assign it - if (attribute) { - this.attribute = attribute; - } - - // If a constraint is specified, assign it - if (constraint) { - this.constraint = constraint; - } - - // If a value for 'required' is specified, assign it - if (required === undefined) { - // If no value was specified, default to False - this.required = false; - } else { - this.required = required; - } - - // Cache for constraint info object - this._constraintInfo = void 0; - - // Cache for validator and value object - this._validatorAndValue = void 0; - } - - /** - * Occasionally the Rule class needs to be instantiated from a JavaScript Object. - * This function fills in a Protocol with the Object data. - * - * @param input A Rule as a JavaScript Object, e.g. retrieved from MongoDB or JSON - */ - fromObject(input) { - // Check if the input already has an ID - // If so, keep it. It not, create a new UUID - this.id = input.id || OHIF.utils.guid(); - - // Assign the specified input data to the Rule - this.required = input.required; - this.weight = input.weight; - this.attribute = input.attribute; - this.constraint = input.constraint; - } - - /** - * Get the constraint info object for the current constraint - * @return {Object\undefined} Constraint object or undefined if current constraint - * is not valid or not found in comparators list - */ - getConstraintInfo() { - let constraintInfo = this._constraintInfo; - // Check if info is cached already - if (constraintInfo !== void 0) { - return constraintInfo; - } - - const ruleConstraint = Object.keys(this.constraint)[0]; - - if (ruleConstraint !== void 0) { - constraintInfo = comparators.find(comparator => ruleConstraint === comparator.id) - } - - // Cache this information for later use - this._constraintInfo = constraintInfo; - - return constraintInfo; - } - - /** - * Check if current rule is related to priors - * @return {Boolean} True if a rule is related to priors or false otherwise - */ - isRuleForPrior() { - // @TODO: Should we check this too? this.attribute === 'relativeTime' - return this.attribute === 'abstractPriorValue'; - } - - /** - * If the current rule is a rule for priors, returns the number of referenced priors. Otherwise, returns -1. - * @return {Number} The number of referenced priors or -1 if not applicable. Returns zero if the actual value could not be determined. - */ - getNumberOfPriorsReferenced() { - if (!this.isRuleForPrior()) { - return -1; - } - - // Get rule's validator and value - const ruleValidatorAndValue = this.getConstraintValidatorAndValue(); - const { value, validator } = ruleValidatorAndValue; - const intValue = parseInt(value, 10) || 0; // avoid possible NaN - - // "Equal to" validators - if (EQUALS_REGEXP.test(validator)) { - // In this case, -1 (the oldest prior) indicates that at least one study is used - return intValue < 0 ? 1 : intValue; - } - - // Default cases return value - return 0; - } - - /** - * Get the constraint validator and value - * @return {Object|undefined} Returns an object containing the validator and it's value or undefined - */ - getConstraintValidatorAndValue() { - let validatorAndValue = this._validatorAndValue; - - // Check if validator and value are cached already - if (validatorAndValue !== void 0) { - return validatorAndValue; - } - - // Get the constraint info object - const constraintInfo = this.getConstraintInfo(); - - // Constraint info object exists and is valid - if (constraintInfo !== void 0) { - const validator = constraintInfo.validator; - const currentValidator = this.constraint[validator]; - - if (currentValidator) { - const constraintValidator = constraintInfo.validatorOption; - const constraintValue = currentValidator[constraintValidator]; - - validatorAndValue = { - value: constraintValue, - validator: constraintInfo.id - }; - - this._validatorAndValue = validatorAndValue; - } - } - - return validatorAndValue; - } -} diff --git a/Packages/ohif-hanging-protocols/client/classes/Stage.js b/Packages/ohif-hanging-protocols/client/classes/Stage.js deleted file mode 100644 index 96a9abdef..000000000 --- a/Packages/ohif-hanging-protocols/client/classes/Stage.js +++ /dev/null @@ -1,87 +0,0 @@ -import { OHIF } from 'ohif-core'; - -/** - * A Stage is one step in the Display Set Sequence for a Hanging Protocol - * - * Stages are defined as a ViewportStructure and an array of Viewports - * - * @type {Stage} - */ -HP.Stage = class Stage { - constructor(ViewportStructure, name) { - // Create a new UUID for this Stage - this.id = OHIF.utils.guid(); - - // Assign the name and ViewportStructure provided - this.name = name; - this.viewportStructure = ViewportStructure; - - // Create an empty array for the Viewports - this.viewports = []; - - // Set the created date to Now - this.createdDate = new Date(); - } - - /** - * Creates a clone of the current Stage with a new name - * - * Note! This method absolutely cannot be renamed 'clone', because - * Minimongo's insert method uses 'clone' internally and this - * somehow causes very bizarre behaviour - * - * @param name - * @returns {Stage|*} - */ - createClone(name) { - // Create a new JavaScript independent of the current Protocol - var currentStage = Object.assign({}, this); - - // Create a new Stage to return - var clonedStage = new HP.Stage(); - - // Assign the desired properties - currentStage.id = clonedStage.id; - clonedStage.fromObject(currentStage); - - // If we have specified a name, assign it - if (name) { - clonedStage.name = name; - } - - // Return the cloned Stage - return clonedStage; - } - - /** - * Occasionally the Stage class needs to be instantiated from a JavaScript Object. - * This function fills in a Protocol with the Object data. - * - * @param input A Stage as a JavaScript Object, e.g. retrieved from MongoDB or JSON - */ - fromObject(input) { - // Check if the input already has an ID - // If so, keep it. It not, create a new UUID - this.id = input.id || OHIF.utils.guid(); - - // Assign the input name to the Stage - this.name = input.name; - - // If a ViewportStructure is present in the input, add it from the - // input data - this.viewportStructure = new HP.ViewportStructure(); - this.viewportStructure.fromObject(input.viewportStructure); - - // If any viewports are present in the input object - if (input.viewports) { - input.viewports.forEach(viewportObject => { - // Create a new Viewport with their data - var viewport = new HP.Viewport(); - viewport.fromObject(viewportObject); - - // Add it to the viewports array - this.viewports.push(viewport); - }); - } - } -}; diff --git a/Packages/ohif-hanging-protocols/client/classes/Viewport.js b/Packages/ohif-hanging-protocols/client/classes/Viewport.js deleted file mode 100644 index 38fbaeff1..000000000 --- a/Packages/ohif-hanging-protocols/client/classes/Viewport.js +++ /dev/null @@ -1,81 +0,0 @@ -// Local imports -import { removeFromArray } from '../lib/removeFromArray'; - -/** - * This Class defines a Viewport in the Hanging Protocol Stage. A Viewport contains - * arrays of Rules that are matched in the ProtocolEngine in order to determine which - * images should be hung. - * - * @type {Viewport} - */ -HP.Viewport = class Viewport { - constructor() { - this.viewportSettings = {}; - this.imageMatchingRules = []; - this.seriesMatchingRules = []; - this.studyMatchingRules = []; - } - - /** - * Occasionally the Viewport class needs to be instantiated from a JavaScript Object. - * This function fills in a Viewport with the Object data. - * - * @param input The Viewport as a JavaScript Object, e.g. retrieved from MongoDB or JSON - */ - fromObject(input) { - // If ImageMatchingRules exist, create them from the Object data - // and add them to the Viewport's imageMatchingRules array - if (input.imageMatchingRules) { - input.imageMatchingRules.forEach(ruleObject => { - var rule = new HP.ImageMatchingRule(); - rule.fromObject(ruleObject); - this.imageMatchingRules.push(rule); - }); - } - - // If SeriesMatchingRules exist, create them from the Object data - // and add them to the Viewport's seriesMatchingRules array - if (input.seriesMatchingRules) { - input.seriesMatchingRules.forEach(ruleObject => { - var rule = new HP.SeriesMatchingRule(); - rule.fromObject(ruleObject); - this.seriesMatchingRules.push(rule); - }); - } - - // If StudyMatchingRules exist, create them from the Object data - // and add them to the Viewport's studyMatchingRules array - if (input.studyMatchingRules) { - input.studyMatchingRules.forEach(ruleObject => { - var rule = new HP.StudyMatchingRule(); - rule.fromObject(ruleObject); - this.studyMatchingRules.push(rule); - }); - } - - // If ViewportSettings exist, add them to the current protocol - if (input.viewportSettings) { - this.viewportSettings = input.viewportSettings; - } - } - - /** - * Finds and removes a rule from whichever array it exists in. - * It is not required to specify if it exists in studyMatchingRules, - * seriesMatchingRules, or imageMatchingRules - * - * @param rule - */ - removeRule(rule) { - var array; - if (rule instanceof HP.StudyMatchingRule) { - array = this.studyMatchingRules; - } else if (rule instanceof HP.SeriesMatchingRule) { - array = this.seriesMatchingRules; - } else if (rule instanceof HP.ImageMatchingRule) { - array = this.imageMatchingRules; - } - - removeFromArray(array, rule); - } -}; \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/classes/ViewportStructure.js b/Packages/ohif-hanging-protocols/client/classes/ViewportStructure.js deleted file mode 100644 index df4416c90..000000000 --- a/Packages/ohif-hanging-protocols/client/classes/ViewportStructure.js +++ /dev/null @@ -1,53 +0,0 @@ -/** - * The ViewportStructure class represents the layout and layout properties that - * Viewports are displayed in. ViewportStructure has a type, which corresponds to - * a layout template, and a set of properties, which depend on the type. - * - * @type {ViewportStructure} - */ -HP.ViewportStructure = class ViewportStructure { - constructor(type, properties) { - this.type = type; - this.properties = properties; - } - - /** - * Occasionally the ViewportStructure class needs to be instantiated from a JavaScript Object. - * This function fills in a ViewportStructure with the Object data. - * - * @param input The ViewportStructure as a JavaScript Object, e.g. retrieved from MongoDB or JSON - */ - fromObject(input) { - this.type = input.type; - this.properties = input.properties; - } - - /** - * Retrieve the layout template name based on the layout type - * - * @returns {string} - */ - getLayoutTemplateName() { - // Viewport structure can be updated later when we build more complex display layouts - switch (this.type) { - case 'grid': - return 'gridLayout'; - } - } - - /** - * Retrieve the number of Viewports required for this layout - * given the layout type and properties - * - * @returns {string} - */ - getNumViewports() { - // Viewport structure can be updated later when we build more complex display layouts - switch (this.type) { - case 'grid': - // For the typical grid layout, we only need to multiply rows by columns to - // obtain the number of viewports - return this.properties.rows * this.properties.columns; - } - } -}; \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/classes/rules/ImageMatchingRule.js b/Packages/ohif-hanging-protocols/client/classes/rules/ImageMatchingRule.js deleted file mode 100644 index 492b939cf..000000000 --- a/Packages/ohif-hanging-protocols/client/classes/rules/ImageMatchingRule.js +++ /dev/null @@ -1,9 +0,0 @@ -import { Rule } from '../Rule'; - -/** - * The ImageMatchingRule class extends the Rule Class. - * - * At present it does not add any new methods or attributes - * @type {ImageMatchingRule} - */ -HP.ImageMatchingRule = class ImageMatchingRule extends Rule {}; \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/classes/rules/ProtocolMatchingRule.js b/Packages/ohif-hanging-protocols/client/classes/rules/ProtocolMatchingRule.js deleted file mode 100644 index 7ee5174fc..000000000 --- a/Packages/ohif-hanging-protocols/client/classes/rules/ProtocolMatchingRule.js +++ /dev/null @@ -1,9 +0,0 @@ -import { Rule } from '../Rule'; - -/** - * The ProtocolMatchingRule Class extends the Rule Class. - * - * At present it does not add any new methods or attributes - * @type {ProtocolMatchingRule} - */ -HP.ProtocolMatchingRule = class ProtocolMatchingRule extends Rule {}; \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/classes/rules/SeriesMatchingRule.js b/Packages/ohif-hanging-protocols/client/classes/rules/SeriesMatchingRule.js deleted file mode 100644 index 8dd3f4488..000000000 --- a/Packages/ohif-hanging-protocols/client/classes/rules/SeriesMatchingRule.js +++ /dev/null @@ -1,9 +0,0 @@ -import { Rule } from '../Rule'; - -/** - * The SeriesMatchingRule Class extends the Rule Class. - * - * At present it does not add any new methods or attributes - * @type {SeriesMatchingRule} - */ -HP.SeriesMatchingRule = class SeriesMatchingRule extends Rule {}; \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/classes/rules/StudyMatchingRule.js b/Packages/ohif-hanging-protocols/client/classes/rules/StudyMatchingRule.js deleted file mode 100644 index 7ff7f7b53..000000000 --- a/Packages/ohif-hanging-protocols/client/classes/rules/StudyMatchingRule.js +++ /dev/null @@ -1,9 +0,0 @@ -import { Rule } from '../Rule'; - -/** - * The StudyMatchingRule Class extends the Rule Class. - * - * At present it does not add any new methods or attributes - * @type {StudyMatchingRule} - */ -HP.StudyMatchingRule = class StudyMatchingRule extends Rule {}; diff --git a/Packages/ohif-hanging-protocols/client/collections.js b/Packages/ohif-hanging-protocols/client/collections.js deleted file mode 100644 index 284acd245..000000000 --- a/Packages/ohif-hanging-protocols/client/collections.js +++ /dev/null @@ -1,15 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { comparators } from './lib/comparators'; - -MatchedProtocols = new Meteor.Collection(null); -MatchedProtocols._debugName = 'MatchedProtocols'; - -HangingProtocols = new Meteor.Collection(null); -HangingProtocols._debugName = 'HangingProtocols'; - -Comparators = new Meteor.Collection(null); -Comparators._debugName = 'Comparators'; - -comparators.forEach(item => { - Comparators.insert(item); -}); diff --git a/Packages/ohif-hanging-protocols/client/components/matchedProtocols/matchedProtocols.html b/Packages/ohif-hanging-protocols/client/components/matchedProtocols/matchedProtocols.html deleted file mode 100644 index fe0e65d52..000000000 --- a/Packages/ohif-hanging-protocols/client/components/matchedProtocols/matchedProtocols.html +++ /dev/null @@ -1,26 +0,0 @@ - \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/components/matchedProtocols/matchedProtocols.js b/Packages/ohif-hanging-protocols/client/components/matchedProtocols/matchedProtocols.js deleted file mode 100644 index 394396c9f..000000000 --- a/Packages/ohif-hanging-protocols/client/components/matchedProtocols/matchedProtocols.js +++ /dev/null @@ -1,20 +0,0 @@ -import { OHIF } from 'ohif-core'; - -Template.matchedProtocols.helpers({ - /** - * Reactively re-render the MatchedProtocols Collection contents - */ - matchedProtocols() { - return MatchedProtocols.find(); - } -}); - -Template.matchedProtocols.events({ - /** - * Instruct the ProtocolEngine to apply the specified Hanging Protocol - */ - 'click .matchedProtocol': function() { - var protocol = this; - ProtocolEngine.setHangingProtocol(protocol); - } -}); diff --git a/Packages/ohif-hanging-protocols/client/components/matchedProtocols/matchedProtocols.styl b/Packages/ohif-hanging-protocols/client/components/matchedProtocols/matchedProtocols.styl deleted file mode 100644 index 17b54d85f..000000000 --- a/Packages/ohif-hanging-protocols/client/components/matchedProtocols/matchedProtocols.styl +++ /dev/null @@ -1,14 +0,0 @@ -#matchedProtocols - ul.dropdown-menu - li - a - cursor: pointer - - &:selected - color: #4fbfff - - h5 - display: block; - padding: 3px 20px; - clear: both; - line-height: 1.42857143; \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/components/nextPresentationGroupButton/nextPresentationGroupButton.html b/Packages/ohif-hanging-protocols/client/components/nextPresentationGroupButton/nextPresentationGroupButton.html deleted file mode 100644 index 0e9ca24c2..000000000 --- a/Packages/ohif-hanging-protocols/client/components/nextPresentationGroupButton/nextPresentationGroupButton.html +++ /dev/null @@ -1,19 +0,0 @@ - \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/components/nextPresentationGroupButton/nextPresentationGroupButton.js b/Packages/ohif-hanging-protocols/client/components/nextPresentationGroupButton/nextPresentationGroupButton.js deleted file mode 100644 index 7ef33ebbb..000000000 --- a/Packages/ohif-hanging-protocols/client/components/nextPresentationGroupButton/nextPresentationGroupButton.js +++ /dev/null @@ -1,43 +0,0 @@ -Template.nextPresentationGroupButton.helpers({ - /** - * Check if a later stage exists for the user to switch to - * - * @returns {boolean} Whether or not a later stage exists - */ - nextNotAvailable() { - // Run this helper whenever the ProtocolEngine / LayoutManager has changed - - // If no ProtocolEngine has been defined yet, stop here - if (!ProtocolEngine) { - return; - } - - // Return whether or not the current stage is the last stage - return ProtocolEngine.stage === ProtocolEngine.getNumProtocolStages() - 1; - } -}); - -Template.nextPresentationGroupButton.events({ - /** - * Switch to the next Presentation group - * - * @param event The click event on the button - */ - 'click #nextPresentationGroup'(event) { - // If no ProtocolEngine has been defined yet, do nothing - if (!ProtocolEngine) { - return; - } - - // Stop here if the tool is disabled - if ($(event.currentTarget).hasClass('disabled')) { - return; - } - - // Hide the button's Bootstrap tooltip in case it was shown - $(event.currentTarget).tooltip('hide'); - - // Instruct the ProtocolEngine to switch to the next stage - ProtocolEngine.nextProtocolStage(); - } -}); diff --git a/Packages/ohif-hanging-protocols/client/components/previousPresentationGroupButton/previousPresentationGroupButton.html b/Packages/ohif-hanging-protocols/client/components/previousPresentationGroupButton/previousPresentationGroupButton.html deleted file mode 100644 index eb1973b14..000000000 --- a/Packages/ohif-hanging-protocols/client/components/previousPresentationGroupButton/previousPresentationGroupButton.html +++ /dev/null @@ -1,19 +0,0 @@ - \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/components/previousPresentationGroupButton/previousPresentationGroupButton.js b/Packages/ohif-hanging-protocols/client/components/previousPresentationGroupButton/previousPresentationGroupButton.js deleted file mode 100644 index 5630e10ee..000000000 --- a/Packages/ohif-hanging-protocols/client/components/previousPresentationGroupButton/previousPresentationGroupButton.js +++ /dev/null @@ -1,43 +0,0 @@ -Template.previousPresentationGroupButton.helpers({ - /** - * Check if an earlier stage exists for the user to switch to - * - * @returns {boolean} Whether or not an earlier stage exists - */ - previousNotAvailable() { - // Run this helper whenever the ProtocolEngine / LayoutManager has changed - - // If no ProtocolEngine has been defined yet, stop here - if (!ProtocolEngine) { - return; - } - - // Return whether or not the current stage is the first stage - return ProtocolEngine.stage === 0; - } -}); - -Template.previousPresentationGroupButton.events({ - /** - * Switch to the previous Presentation group - * - * @param event The click event on the button - */ - 'click #previousPresentationGroup'(event) { - // If no ProtocolEngine has been defined yet, do nothing - if (!ProtocolEngine) { - return; - } - - // Stop here if the tool is disabled - if ($(event.currentTarget).hasClass('disabled')) { - return; - } - - // Hide the button's Bootstrap tooltip in case it was shown - $(event.currentTarget).tooltip('hide'); - - // Instruct the ProtocolEngine to switch to the next stage - ProtocolEngine.previousProtocolStage(); - } -}); diff --git a/Packages/ohif-hanging-protocols/client/components/protocolEditor/protocolEditor.html b/Packages/ohif-hanging-protocols/client/components/protocolEditor/protocolEditor.html deleted file mode 100644 index e2e33bed3..000000000 --- a/Packages/ohif-hanging-protocols/client/components/protocolEditor/protocolEditor.html +++ /dev/null @@ -1,126 +0,0 @@ - diff --git a/Packages/ohif-hanging-protocols/client/components/protocolEditor/protocolEditor.js b/Packages/ohif-hanging-protocols/client/components/protocolEditor/protocolEditor.js deleted file mode 100644 index 1b89676c2..000000000 --- a/Packages/ohif-hanging-protocols/client/components/protocolEditor/protocolEditor.js +++ /dev/null @@ -1,384 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Template } from 'meteor/templating'; -import { Session } from 'meteor/session'; -import $ from 'jquery'; - -import { OHIF } from 'ohif-core'; -import 'meteor/ohif:viewerbase'; - -/** - * Updates the Hanging Protocol Select2 Input - */ -function updateProtocolSelect() { - if (!ProtocolEngine) { - return; - } - - // Loop through the available hanging protocols - // to create an array with the protocols that includes - // a property labelled 'text', so that Select2 has something - // to display - var protocolsSelect2Data = HP.ProtocolStore.getProtocol().map(function(protocol) { - return { - id: protocol.id, - text: protocol.name - }; - }); - - // Select the Protocol select DOM element - var protocolSelect = $('#protocolSelect'); - - // Empty the element using Select2 for rerendering - protocolSelect.select2().empty(); - - // Initialize the select element with Select2 using the - // array of protocols - protocolSelect.select2({ - data: protocolsSelect2Data - }); - - // Update the ProtocolSelector to display the current active Protocol - protocolSelect.select2().val(ProtocolEngine.protocol.id).trigger('change'); -} - -Template.protocolEditor.onRendered(() => { - const instance = Template.instance(); - - instance.timeAgoInterval = Meteor.setInterval(() => { - // Run this every minute - Session.set('timeAgoVariable', new Date()); - }, 60000); - - // Update the Protocol select box when the hanging protocol store is ready - HP.ProtocolStore.onReady(() => { - updateProtocolSelect(); - }); -}); - -Template.protocolEditor.onDestroyed(() => { - const instance = Template.instance(); - - Meteor.clearInterval(instance.timeAgoInterval); -}); - -Template.protocolEditor.helpers({ - /** - * Reactively updates the active Protocol - * - * @returns {*} The currently active Protocol Model - */ - activeProtocol() { - // Whenever the Layout Manager is updated, trigger this helper - - // If no ProtocolEngine, protocol, or stage is defined, stop here - if (!ProtocolEngine || - !ProtocolEngine.protocol || - !ProtocolEngine.LayoutManager || - ProtocolEngine.stage === undefined) { - return; - } - - // Update the Protocol Select box - updateProtocolSelect(); - - // Make sure that the number of referenced priors is correct - ProtocolEngine.protocol.updateNumberOfPriorsReferenced(); - - // Otherwise, return the active Hanging Protocol - return ProtocolEngine.protocol; - }, - /** - * Reactively updates the active Protocol Stage - * - * @returns {*} The current Protocol's active Stage model - */ - activeStage() { - // Whenever the Layout Manager is updated, trigger this helper - - - // If no ProtocolEngine, protocol, or stage is defined, stop here - if (!ProtocolEngine || - !ProtocolEngine.protocol || - !ProtocolEngine.LayoutManager || - ProtocolEngine.stage === undefined) { - return; - } - - // Retrieve the Stage Model for the current Protocol's active Stage - var stage = ProtocolEngine.getCurrentStageModel(); - if (!stage) { - return; - } - - // Update active Stage's layout template and properties based on the displayed - // layout properties. This is used to update the Stage Model when the user modifies - // the layout in the viewer - stage.viewportStructure.layoutTemplateName = ProtocolEngine.LayoutManager.layoutTemplateName; - stage.viewportStructure.properties = ProtocolEngine.LayoutManager.layoutProps; - - // If there is a discrepancy between the Stage's number of viewports and the - // the number of required viewports given the properties above, rectify it - // by removing or adding Viewports to the stage - // - // First, calculate the difference, if any exists - var difference = stage.viewportStructure.getNumViewports() - stage.viewports.length; - - if (difference < 0) { - // Make the viewport difference into a positive value - var absDifference = Math.abs(difference); - - // If there are more Viewports defined than necessary, remove the extraneous Viewports - var position = stage.viewports.length - absDifference; - - // Splice extra viewports from the Stage's viewports array - stage.viewports.splice(position, absDifference); - } else if (difference > 0) { - // If there are less Viewports defined than necessary, add viewports until we reach the - // required amount - - // Count up until the difference in number of Viewports - for (var i = 0; i < difference; i++) { - // Instantiate a new Viewport Model - var viewport = new HP.Viewport(); - - // Add new Viewports to the Stage's viewports array - stage.viewports.push(viewport); - } - } - - // Return the current Stage model for the active Protocol - return ProtocolEngine.getCurrentStageModel(); - }, - activeViewportUndefined() { - const viewportIndex = window.store.getState().viewports.activeViewport; - return (viewportIndex === undefined); - } -}); - -Template.protocolEditor.events({ - /** - * Creates a new Hanging Protocol and displays it in the Viewer - */ - 'click #newProtocol'() { - // Clone the default Protocol - var protocol = HP.defaultProtocol.createClone(); - - // Change the Protocol name to state that it is New, and give it a timestamp - protocol.name = 'New (created ' + moment().format('h:mm:ss a') + ')'; - - // Change the Protocol ID from the default value - protocol.id = OHIF.utils.guid(); - - // Insert the protocol - HP.ProtocolStore.addProtocol(protocol); - - // Activate the new Protocol using the ProtocolEngine - ProtocolEngine.setHangingProtocol(protocol); - - // Update the protocol selector to display the new Protocols - updateProtocolSelect(); - }, - /** - * Rename the current Protocol - */ - 'click #renameProtocol'() { - var selectedProtocol = this; - if (selectedProtocol.locked) { - return; - } - - // Define some details for the text entry dialog - var title = 'Rename Protocol'; - var instructions = 'Enter a new name'; - var currentValue = selectedProtocol.name; - - // Open the text entry dialog with the details above - // and fire the callback function when finished. - openTextEntryDialog(title, instructions, currentValue, function(value) { - // Update the name with the entered text - selectedProtocol.name = value; - - // Update the protocol - HP.ProtocolStore.updateProtocol(selectedProtocol.id, selectedProtocol); - - // Update the protocol selector - updateProtocolSelect(); - }); - }, - /** - * Import a Protocol - */ - 'click #importProtocol'() { - // Hide the protocol dropdown manually, because it is not hidden automatically - // when it has input as a child - $("#protocolDropdown").dropdown('toggle'); - }, - /** - * Triggers a custom event when for the HTML5 File input when files are selected - * - * @param event The Change event for the input - */ - 'change .btn-file :file': function(event) { - // http://www.abeautifulsite.net/whipping-file-inputs-into-shape-with-bootstrap-3/ - - // Find the Input in the DOM - var input = $(event.currentTarget); - - // Get the number of selected files - var numFiles = input.get(0).files ? input.get(0).files.length : 1; - - // Get the label of the file - var label = input.val().replace(/\\/g, '/').replace(/.*\//, ''); - - // Trigger our custom event with the number of files and label - input.trigger('fileselect', [numFiles, label]); - }, - /** - * Imports files selected by the user into the Hanging Protocols Collection - * - * @param event The custom fileselect event - */ - 'fileselect .btn-file :file': function(event) { - // Retreieve the FileList - var files = event.target.files; - - // Create an HTML5 File Reader - var reader = new FileReader(); - - reader.onload = () => { - var protocolToImport = JSON.parse(reader.result); - - // Insert the protocol - HP.ProtocolStore.addProtocol(protocolToImport); - - // Update the protocol selector to display the imported Protocol - updateProtocolSelect(); - }; - - // Instruct the FileReader to read the (first) selected file - // TODO: Update to allow batch uploads? - reader.readAsText(files[0], 'utf-8'); - }, - /** - * Set the Hanging Protocol when the select box is changed - * - * @param event The select2:select event - */ - 'select2:select #protocolSelect': function(event) { - // Retrieve the protocolId - var protocolId = event.params.data.id; - - // Retrieve the protocol from the protocol store - var selectedProtocol = HP.ProtocolStore.getProtocol(protocolId); - - // If it doesn't exist, stop here - if (!selectedProtocol) { - return; - } - - // Set the current Hanging Protocol to the user-specified Protocol - ProtocolEngine.setHangingProtocol(selectedProtocol); - }, - /** - * Allow the Protocols / Stage navigation tabs to toggle the - * 'active' class when clicked - */ - 'click .navigationButtons a'() { - $(this).addClass('active').siblings().removeClass('active'); - }, - /** - * Update the protocol with the latest changes to the current Protocol - */ - 'click #saveProtocol'() { - var selectedProtocol = this; - if (selectedProtocol.locked) { - return; - } - - // Update the Protocol's modifiedDate and modifiedBy User details - selectedProtocol.protocolWasModified(); - - // Update the current Protocol in the database with the latest changes - HP.ProtocolStore.updateProtocol(selectedProtocol.id, selectedProtocol); - }, - /** - * Save the current Protocol as a new document - */ - 'click #saveAsProtocol'() { - var selectedProtocol = this; - - // Clone the selected Protocol - var protocol = selectedProtocol.createClone(); - - // Define some details for the text entry dialog - var title = 'Save Protocol As'; - var instructions = 'Enter a new name'; - var currentValue = protocol.name; - - // Open the text entry dialog with the details above - // and fire the callback function when finished. - openTextEntryDialog(title, instructions, currentValue, function(value) { - // Create a new ID for the protocol - protocol.id = OHIF.utils.guid(); - - // Update the name with the entered text - protocol.name = value; - - // Unlock the protocol - protocol.locked = false; - - // Update the Protocol's modifiedDate and modifiedBy User details - protocol.protocolWasModified(); - - // Insert the new Protocol - HP.ProtocolStore.addProtocol(protocol); - - // Activate the new Protocol using the ProtocolEngine - ProtocolEngine.setHangingProtocol(protocol); - - // Update the protocol selector to display the new Protocols - updateProtocolSelect(); - }); - }, - /** - * Export the currently selected Protocol as a JSON file - */ - 'click #exportJSON'() { - var selectedProtocol = this; - - var protocolJSON = JSON.stringify(selectedProtocol, null, 2), - currentDate = new Date(), - filename = selectedProtocol.name + '-' + (currentDate.getTime().toString()) + '.json', - protocolBlob = new Blob([protocolJSON], { type: 'application/json' }); - - var downloadElement = document.getElementById('downloadElement'); - downloadElement.href = URL.createObjectURL(protocolBlob); - downloadElement.download = filename; - downloadElement.click(); - }, - /** - * Delete the currently selected Protocol - */ - 'click #deleteProtocol'() { - var selectedProtocol = this; - if (selectedProtocol.locked) { - return; - } - - var options = { - title: 'Delete Protocol', - text: 'Are you sure you would like to remove this Protocol? This cannot be reversed.' - }; - - OHIF.viewerbase.dialogUtils.showConfirmDialog(() => { - // Remove the Protocol - HP.ProtocolStore.removeProtocol(selectedProtocol.id); - - // Reset the ProtocolEngine to the next best match - ProtocolEngine.reset(); - - // Update the protocol selector - updateProtocolSelect(); - }, options); - } -}); diff --git a/Packages/ohif-hanging-protocols/client/components/protocolEditor/protocolEditor.styl b/Packages/ohif-hanging-protocols/client/components/protocolEditor/protocolEditor.styl deleted file mode 100644 index 304e7b7db..000000000 --- a/Packages/ohif-hanging-protocols/client/components/protocolEditor/protocolEditor.styl +++ /dev/null @@ -1,152 +0,0 @@ -@import "{ohif:viewerbase}/app" - -$height = 20px - -#protocolEditor - theme('background', '$primaryBackgroundColor') - height: 100% - width: 450px - padding: 10px 0 - position: absolute - top: 0 - - .navigationButtonsContainer - margin-left: 0 - margin-right: 0 - - .navigationButtons - ul - margin: 0 auto - width: 300px - - li - text-align: center - width: 150px - margin: 0 - - &:first-child:not(:last-child) - a - border-top-right-radius: 0 - border-bottom-right-radius: 0 - - &:last-child:not(:first-child) - a - border-top-left-radius: 0 - border-bottom-left-radius: 0 - - a - padding: 3px 9px - cursor: pointer - text-decoration: none - outline: none - theme('background-color', '$uiGrayDark') - theme('border', '2px solid $uiBorderColorDark') - theme('color', '$textSecondaryColor') - transition($sidebarTransition) - border-radius: $height - - &.active a - theme('background-color', '$activeColor') - theme('border-color', '$uiBorderColorActive') - theme('color', '$textColorActive') - transition($sidebarTransition) - - p - h2 - h3 - h4 - theme('color', '$defaultColor') - - label - ul - theme('color', '$defaultColor') - font-weight: 400 - - label - margin-right: 10px - width: 25% - - input[type='number'] - input[type='text'] - min-width: 50px - width: 40% - border: none - background: #212121 - theme('color', '$defaultColor') - text-align: center - - button.btn - background: #ffffff - color: #3e3e3e - - .tab-content - height: calc(100% - 60px) - overflow: auto; - - .protocolEditorSection - padding: 10px - margin: 10px 0 - - #protocolOptions - text-align: center - position: absolute - bottom: 0 - width: 100% - margin-bottom: 0 - theme('background', '$uiGrayDarker') - - p - font-size: 8pt - theme('color', '$defaultColor') - margin: 0 10px - display: inline-block - - #editProtocol - overflow-y: auto - overflow-x: hidden - padding-right: 16px - padding-left: 20px - margin-right: -16px - width: 100% - height: calc(100% - 50px) - &::-webkit-scrollbar - display: none - - #selectProtocol - text-align: center - - .btn-file - position: relative - overflow: hidden - - .btn-file input[type=file] - position: absolute - top: 0 - right: 0 - min-width: 100% - min-height: 100% - font-size: 100px - text-align: right - filter: 'alpha(opacity=0)' - opacity: 0 - outline: none - background: white - cursor: inherit - display: block - - .protocolDropdown - display: inline-block - - ul - li - a - cursor: pointer - - #activeViewportEditor - padding: 10px - - .noActiveViewport - padding: 40px - - h3 - theme('color', '$defaultColor') diff --git a/Packages/ohif-hanging-protocols/client/components/ruleEntryDialog/ruleEntryDialog.html b/Packages/ohif-hanging-protocols/client/components/ruleEntryDialog/ruleEntryDialog.html deleted file mode 100644 index 40d428830..000000000 --- a/Packages/ohif-hanging-protocols/client/components/ruleEntryDialog/ruleEntryDialog.html +++ /dev/null @@ -1,47 +0,0 @@ - \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/components/ruleEntryDialog/ruleEntryDialog.js b/Packages/ohif-hanging-protocols/client/components/ruleEntryDialog/ruleEntryDialog.js deleted file mode 100644 index a82951fcf..000000000 --- a/Packages/ohif-hanging-protocols/client/components/ruleEntryDialog/ruleEntryDialog.js +++ /dev/null @@ -1,420 +0,0 @@ -import $ from 'jquery'; -import { Session } from 'meteor/session'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Template } from 'meteor/templating'; -import { Blaze } from 'meteor/blaze'; - -import { OHIF } from 'ohif-core'; -import { Viewerbase } from 'meteor/ohif:viewerbase'; - -const keys = { - ESC: 27 -}; - -/** - * Close the specified dialog element and return browser - * focus to the active viewport. - * - * @param dialog The DOM element of the dialog to close - */ -function closeHandler(dialog) { - // Hide the lesion dialog - $(dialog).css('display', 'none'); - - // Remove the backdrop - $('.removableBackdrop').remove(); - - // Restore the focus to the active viewport - Viewerbase.setFocusToActiveViewport(); -} - -/** - * Displays and updates the UI of the Rule Entry Dialog given a new set of - * attributes, the rule level (protocol, study, series, or instance), and an - * optional rule to edit. - * - * @param attributes List of attributes the user can set - * @param level Level of the Rule to create / edit - * @param rule Optional Rule - */ -openRuleEntryDialog = function(attributes, level, rule) { - // Get the lesion location dialog - var dialog = $('.ruleEntryDialog'); - - // Clear any input that is still on the page - var currentValueInput = dialog.find('input.currentValue'); - currentValueInput.val(''); - - // Store the Dialog DOM data, rule level and rule in the template data - Template.ruleEntryDialog.dialog = dialog; - Template.ruleEntryDialog.level = level; - Template.ruleEntryDialog.rule = rule; - - // Initialize the Select2 search box for the attribute list - var attributeSelect = dialog.find('.attributes'); - attributeSelect.html('').select2({ - data: attributes, - placeholder: 'Select an attribute', - allowClear: true - }); - - // If a rule has been provided, set the value of the attribute Select2 input - // to the attribute set in the rule. - if (rule && rule.attribute) { - attributeSelect.val(rule.attribute); - } - - // Event data to be passed to the event handler - let eventData; - - // If a rule has been provided, use its constraint to find the relevant Comparator - if (rule && rule.constraint) { - var validator = Object.keys(rule.constraint)[0]; - var validatorOption = Object.keys(rule.constraint[validator])[0]; - var comparator = Comparators.findOne({ - validator: validator, - validatorOption: validatorOption - }); - - // Set the current value input based on the rule constraint - var currentValue = rule.constraint[validator][validatorOption]; - currentValueInput.val(currentValue); - - eventData = currentValue; - - // If a Comparator was found, set the default value of the Comparators select2 box - // to the comparatorId in the input rule - if (comparator) { - // Trigger('change') is used to update the Select2 choice in the UI - dialog.find('.comparators').val(comparator.id).trigger('change'); - } - } - - // Trigger('change') is used to update the Select2 choice in the UI and so - // that the currentValue is updated based on the current attribute - attributeSelect.trigger('change', eventData); - - // Update the dialog's CSS so that it is visible on the page - dialog.css('display', 'block'); - - // Show the backdrop - Blaze.render(Template.removableBackdrop, document.body); - - // Make sure the context menu is closed when the user clicks away - $('.removableBackdrop').one('mousedown touchstart', function() { - closeHandler(dialog); - }); -}; - -/** - * Retrieves the current active element's imageId using Cornerstone - */ -function getActiveViewportImageId() { - const enabledElement = Viewerbase.viewportUtils.getEnabledElementForActiveElement(); - - if (!enabledElement) { - return; - } - - // Return the enabled element's imageId - return enabledElement.image.imageId; -} - -function getAbstractPriorValue(imageId) { - // @TypeSafeStudies - // Retrieves the first study of the collection using the given sort order. - // Since we're only interrested in the first record, "null" will be used - // as search criteria (thus no actual search will be made). - const currentStudy = OHIF.viewer.Studies.findBy(null, { - sort: [ ['studyDate', 'desc'] ] - }); - - if (!currentStudy) { - return; - } - - const priorStudy = cornerstone.metaData.get('study', imageId); - if (!priorStudy) { - return; - } - - const studies = OHIF.studylist.collections.Studies.find({ - patientId: currentStudy.patientId, - studyDate: { - $lt: currentStudy.studyDate - } - }, { - sort: { - studyDate: -1 - } - }); - - let priorIndex = 0; - - // TODO: Check what the abstract prior value should equal for an unrelated study? - studies.forEach(function(study, index) { - if (study.studyInstanceUid === priorStudy.studyInstanceUid) { - // Abstract prior index starts from 1 in the DICOM standard - // so we add 1 here - priorIndex = index + 1; - return false; - } - }); - - return priorIndex; -} - -/** - * Retrieve the current value of a metadata tag or property. It searches the value in different levels (study, series or instance) - * @param {String} tagOrProperty DICOM Tag or Property name (Ex: 'x00100020', 'patientId') - * @return {Any} The value of the DICOM tag or property name - */ -const getCurrentTagOrPropertyValue = tagOrProperty => { - // Retrieve the active viewport's imageId. If none exists, stop here - const imageId = getActiveViewportImageId(); - if (!imageId) { - return; - } - - if (tagOrProperty === 'abstractPriorValue') { - return getAbstractPriorValue(imageId); - } - - // Create the object for the instance metadata - let instance; - - OHIF.viewer.StudyMetadataList.find(studyMetadata => { - // Search for the instance that has the current imageId - instance = studyMetadata.findInstance(instance => { - return instance.getImageId() === imageId; - }); - - // If instance if found stop the search - return !!instance; - }); - - // No instance found - if (!instance) { - return; - } - - // Get the value for the given tag - // It searches the value in different levels (study, series or instance) - const tagOrPropertyValue = instance.getTagValue(tagOrProperty); - - // If not found, is a custom Hanging Protocol attribute - if (tagOrPropertyValue === void 0) { - return HP.attributeDefaults[tagOrProperty]; - } - - return tagOrPropertyValue; -}; - -Template.ruleEntryDialog.onCreated(function() { - // Define the ReactiveVars that will be used to link aspects of the UI - var template = this; - // Note: currentValue's initial value must be a string so the template renders properly - template.currentValue = new ReactiveVar(''); - template.attribute = new ReactiveVar(); - template.comparatorId = new ReactiveVar(); -}); - -Template.ruleEntryDialog.onRendered(function() { - // Initialize the Comparators Select2 box - var template = Template.instance(); - template.$('.comparators').select2(); - - // Get the default Comparator from the Select2 box and use it to - // initialize the comparatorId ReactiveVar - var comparatorId = template.$('.comparators').val(); - template.comparatorId.set(comparatorId); - - const dialog = template.$('.ruleEntryDialog'); - dialog.draggable(); -}); - -Template.ruleEntryDialog.helpers({ - /** - * Returns the Comparators Collection to the Template with reactive rerendering - */ - comparators: function() { - return Comparators.find(); - }, - /** - * Reactively updates the current value of the selected attribute for the selected image - * - * @returns {*} Attribute value for the active image - */ - currentValue: function() { - return Template.instance().currentValue.get(); - } -}); - -Template.ruleEntryDialog.events({ - /** - * Save a rule that is being edited - * - * @param event the Click event - * @param template The template context - */ - 'click #save': function(event, template) { - // Retrieve the input properties to the template - var dialog = Template.ruleEntryDialog.dialog; - var level = Template.ruleEntryDialog.level; - - // Retrieve the current values for the attribute value and comparatorId - var attribute = template.attribute.get(); - var comparatorId = template.comparatorId.get(); - var currentValue = template.currentValue.get(); - - // If currentValue input is undefined, prevent saving this rule - if (currentValue === undefined) { - return; - } - - // Check if we are editing a rule or creating a new one - var rule; - if (Template.ruleEntryDialog.rule) { - // If we are editing a rule, change the rule data - rule = Template.ruleEntryDialog.rule; - } else { - // If we are creating a rule, obtain the active Viewport model - // from the Protocol and Stage - var viewport = getActiveViewportModel(); - - // Create a rule depending on the level property of this dialog - switch (level) { - case 'protocol': - rule = new HP.ProtocolMatchingRule(); - ProtocolEngine.protocol.addProtocolMatchingRule(rule); - break; - case 'study': - rule = new HP.StudyMatchingRule(); - viewport.studyMatchingRules.push(rule); - break; - case 'series': - rule = new HP.SeriesMatchingRule(); - viewport.seriesMatchingRules.push(rule); - break; - case 'instance': - rule = new HP.ImageMatchingRule(); - viewport.imageMatchingRules.push(rule); - break; - } - } - - // Find the Comparator from the Comparators Collection given its ID - var comparator = Comparators.findOne({ - id: comparatorId - }); - - // Create a new constraint to add to the rule - var constraint = {}; - constraint[comparator.validator] = {}; - constraint[comparator.validator][comparator.validatorOption] = currentValue; - - // Set the attribute and constraint of the rule - rule.attribute = attribute; - rule.constraint = constraint; - - // Instruct the Protocol Engine to update the Layout Manager with new data - var viewportIndex = window.store.getState().viewports.activeViewport; - ProtocolEngine.updateViewports(viewportIndex); - - // Close the dialog - closeHandler(dialog); - }, - /** - * Allow the user to click the Cancel button to close the dialog - */ - 'click #cancel': function() { - var dialog = Template.ruleEntryDialog.dialog; - closeHandler(dialog); - }, - /** - * Allow Esc keydown events to close the dialog - * - * @param event The Keydown event details - * @returns {boolean} Return false to prevent bubbling of the event - */ - 'keydown .ruleEntryDialog': function(event) { - var dialog = Template.ruleEntryDialog.dialog; - - // If Esc key is pressed, close the dialog - if (event.which === keys.ESC) { - closeHandler(dialog); - return false; - } - }, - /** - * Update the currentValue ReactiveVar if the user changes the attribute - * - * @param event The Change event for the select box - * @param template The current template context - */ - 'change select.attributes'(event, template, currentValue) { - // Obtain the user-specified attribute to test against - const attribute = $(event.currentTarget).val(); - - // Store it in the ReactiveVar - template.attribute.set(attribute); - - // Store this attribute in the template data context - Template.ruleEntryDialog.selectedAttribute = attribute; - - // // Get the level of this dialog - // var level = Template.ruleEntryDialog.level; - - let value; - - // Preset currentValue, use it - if (currentValue) { - value = currentValue; - } - else { - // Retrieve the current value of the attribute for the active viewport model - value = getCurrentTagOrPropertyValue(attribute); - } - - // Update the ReactiveVar with the user-specified value - template.currentValue.set(value); - - // Enforce to update the input value (Otherwise, ReactiveVar does not update input value with the same values) - const currentValueInput = $('.ruleEntryDialog').find('input.currentValue'); - currentValueInput.val(value); - }, - /** - * Update the currentValue ReactiveVar if the user changes the attribute value - * - * @param event The Change event for the input - * @param template The current template context - */ - 'change input.currentValue': function(event, template) { - // Get the DOM element representing the input box - var input = $(event.currentTarget); - - // Get the current value of the input - var value = input.val(); - - // If the input is of type 'number', parse it as a Float - if (input.attr('type') === 'number') { - value = parseFloat(value); - } - - // Update the ReactiveVar with the user-specified value - template.currentValue.set(value); - }, - /** - * Update the comparatorId ReactiveVar whenever the Comparators select box is changed - * - * @param event The Change event for the select box - * @param template The current template context - */ - 'change select.comparators': function(event, template) { - // Get the current value of the select box - var comparatorId = $(event.currentTarget).val(); - - // Update the ReactiveVar with the value of the Comparators select box - template.comparatorId.set(comparatorId); - } -}); diff --git a/Packages/ohif-hanging-protocols/client/components/ruleEntryDialog/ruleEntryDialog.styl b/Packages/ohif-hanging-protocols/client/components/ruleEntryDialog/ruleEntryDialog.styl deleted file mode 100644 index e9d65c3f6..000000000 --- a/Packages/ohif-hanging-protocols/client/components/ruleEntryDialog/ruleEntryDialog.styl +++ /dev/null @@ -1,44 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.ruleEntryDialog - theme('background', '$uiGrayDarkest', 0.95) - theme('border', '1px solid $uiBorderColor', 0.95) - theme('color', '$textSecondaryColor') - position: absolute - top: 0 - bottom: 0 - left: 0 - right: 0 - z-index: 100 - width: 350px - height: 230px - margin: auto - padding: 10px - background-color: rgba(255,255,255,1) - outline: none - border-radius: 8px - - .dialogContent - text-align: center - margin-bottom: 10px - - .row - margin: 15px 0 - - .btn - text-decoration: none - - #cancel - float: left - - #save - float: right - - input.currentValue - width: 95% - text-align: center - padding: 4px - color: black - height: 30px - border-radius: 2px - border: 0 diff --git a/Packages/ohif-hanging-protocols/client/components/ruleTable/ruleTable.html b/Packages/ohif-hanging-protocols/client/components/ruleTable/ruleTable.html deleted file mode 100644 index 3af9e7e65..000000000 --- a/Packages/ohif-hanging-protocols/client/components/ruleTable/ruleTable.html +++ /dev/null @@ -1,32 +0,0 @@ - \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/components/ruleTable/ruleTable.js b/Packages/ohif-hanging-protocols/client/components/ruleTable/ruleTable.js deleted file mode 100644 index e379d91aa..000000000 --- a/Packages/ohif-hanging-protocols/client/components/ruleTable/ruleTable.js +++ /dev/null @@ -1,130 +0,0 @@ -Template.ruleTable.helpers({ - /** - * Retrieve validation data on each rule for the active viewport - * - * @returns {boolean} Whether or not the current rule passed for the active viewport - */ - rulePassed: function() { - // Retrieve the latest match details given the active viewport index - var viewportIndex = window.store.getState().viewports.activeViewport; - var details = ProtocolEngine.matchDetails[viewportIndex]; - - // If no match was found, stop here - if (!details || !details.bestMatch) { - return; - } - - // Retrieve the list of failed rules for this Viewport - var failed = details.bestMatch.matchDetails.failed; - - // Check if the current rule failed or not - var rule = this; - var hasPassed = true; - failed.forEach(function(failedRuleData) { - var failedRule = failedRuleData.rule; - if (failedRule.id === rule.id) { - hasPassed = false; - return false; - } - }); - - // Return a boolean representing whether or not the rule passed - return hasPassed; - } -}); - -Template.ruleTable.events({ - /** - * Opens the Rule Entry dialog to allow the user to create a new rule - * Specifies attributes and rule level for the Rule Entry dialog - * based on the data given to this template. - */ - 'click .addRule': function() { - // Get the current template data - var data = Template.currentData(); - - // Retrieve the rule attributes and level (e.g. study / series / instance) - var attributes = data.attributes; - var level = data.level; - - // Open the Rule Entry Dialog with the attributes, level, and rule - openRuleEntryDialog(attributes, level); - }, - /** - * Opens the Rule Entry dialog to allow the user to edit an existing - * rule. Passes rule details to the dialog so its current properties - * can be displayed. - * - * Specifies attributes and rule level for the Rule Entry dialog - * based on the data given to this template. - */ - 'click .editRule': function() { - // Get the current template data - var data = Template.currentData(); - - // Retrieve the rule attribtes and level (e.g. study / series / instance) - var attributes = data.attributes; - var level = data.level; - - // Get the properties of the current rule - var rule = this; - - // Open the Rule Entry Dialog with the attributes, level, and rule - openRuleEntryDialog(attributes, level, rule); - }, - /** - * Removes a rule from the current Viewport or Protocol depending on - * the type of rule - */ - 'click .deleteRule': function() { - // Get the properties of the current rule - var rule = this; - - if (rule instanceof HP.ProtocolMatchingRule) { - // If this Rule is evaluated at the protocol level, - // remove it from the current Protocol - ProtocolEngine.protocol.removeProtocolMatchingRule(rule); - } else { - // If this Rule is evaluated at the Viewport level, - // remove it from the active viewport model - var viewport = getActiveViewportModel(); - viewport.removeRule(rule); - } - - // Instruct the Protocol Engine to update the Layout Manager with new data - var viewportIndex = window.store.getState().viewports.activeViewport; - ProtocolEngine.updateViewports(viewportIndex); - }, - /** - * Updates a Rule's weight in response to user input - * - * @param event The input change event - */ - 'change .ruleWeight': function(event) { - // Get the properties of the current rule - var rule = this; - - // Update the value of the rule weight - rule.weight = $(event.currentTarget).val(); - - // Instruct the Protocol Engine to update the Layout Manager with new data - var viewportIndex = window.store.getState().viewports.activeViewport; - ProtocolEngine.updateViewports(viewportIndex); - }, - /** - * Updates a Rule's 'required' property in response to user input - * - * @param event The input change event - */ - 'change .ruleRequired': function(event) { - // Get the properties of the current rule - var rule = this; - - // Update the value of the 'required' property - rule.required = $(event.currentTarget).prop('checked'); - - // Instruct the Protocol Engine to update the Layout Manager with new data - var viewportIndex = window.store.getState().viewports.activeViewport; - ProtocolEngine.updateViewports(viewportIndex); - } -}); diff --git a/Packages/ohif-hanging-protocols/client/components/ruleTable/ruleTable.styl b/Packages/ohif-hanging-protocols/client/components/ruleTable/ruleTable.styl deleted file mode 100644 index f4609808a..000000000 --- a/Packages/ohif-hanging-protocols/client/components/ruleTable/ruleTable.styl +++ /dev/null @@ -1,58 +0,0 @@ -@import "{ohif:viewerbase}/app" - -table.ruleTable - thead - tr - th - theme('color', '$defaultColor') - text-align: center - - th:first-child - text-align: left - - tbody - tr - td - theme('color', '$defaultColor') - text-align: center - - .failWarning - color: red - - .editRule - .deleteRule - &:hover, &:active - cursor: pointer - transition(all 0.1s ease) - - &:hover - theme('color', '$hoverColor') - - &:active - theme('color', '$activeColor') - - td:first-child - text-align: left - overflow-wrap: break-word - word-wrap: break-word - -ms-word-break: break-word - word-break: break-word - -ms-hyphens: auto - -moz-hyphens: auto - -webkit-hyphens: auto - hyphens: auto - -.addRuleContainer - margin: 10px 0 - text-align: center - theme('color', '$defaultColor') - - .addRule - cursor: pointer - transition(all 0.1s ease) - - &:hover - theme('color', '$hoverColor') - - &:active - theme('color', '$activeColor') diff --git a/Packages/ohif-hanging-protocols/client/components/settingEntryDialog/settingEntryDialog.html b/Packages/ohif-hanging-protocols/client/components/settingEntryDialog/settingEntryDialog.html deleted file mode 100644 index 3825d8c43..000000000 --- a/Packages/ohif-hanging-protocols/client/components/settingEntryDialog/settingEntryDialog.html +++ /dev/null @@ -1,25 +0,0 @@ - \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/components/settingEntryDialog/settingEntryDialog.js b/Packages/ohif-hanging-protocols/client/components/settingEntryDialog/settingEntryDialog.js deleted file mode 100644 index 1358fbb9a..000000000 --- a/Packages/ohif-hanging-protocols/client/components/settingEntryDialog/settingEntryDialog.js +++ /dev/null @@ -1,246 +0,0 @@ -import { Template } from 'meteor/templating'; -import { Session } from 'meteor/session'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Blaze } from 'meteor/blaze'; -import $ from 'jquery'; - -import { Viewerbase } from 'meteor/ohif:viewerbase'; - -const keys = { - ESC: 27 -}; - -/** - * Close the specified dialog element and return browser - * focus to the active viewport. - * - * @param dialog The DOM element of the dialog to close - */ -function closeHandler(dialog) { - // Hide the lesion dialog - $(dialog).css('display', 'none'); - - // Remove the backdrop - $('.removableBackdrop').remove(); - - // Restore the focus to the active viewport - Viewerbase.setFocusToActiveViewport(); -} - -/** - * Displays and updates the UI of the Setting Entry Dialog given an - * optional setting to edit. - * - * @param settingObject - */ -openSettingEntryDialog = function(settingObject) { - // Get the lesion location dialog - var dialog = $('.settingEntryDialog'); - - // Store the Dialog DOM data, setting level and setting in the template data - Template.settingEntryDialog.dialog = dialog; - Template.settingEntryDialog.settingObject = settingObject; - - // Initialize the Select2 search box for the attribute list - var settings = Object.keys(HP.displaySettings); - settings.concat(Object.keys(HP.CustomViewportSettings)); - - var displaySettingsOptions = Object.keys(HP.displaySettings).map(key => { - return { - id: key, - text: HP.displaySettings[key].text - }; - }); - - var customSettingsOptions = Object.keys(HP.CustomViewportSettings).map(key => { - return { - id: key, - text: HP.CustomViewportSettings[key].text - }; - }); - - var settingsOptions = displaySettingsOptions.concat(customSettingsOptions); - - var settingSelect = dialog.find('.settings'); - settingSelect.html('').select2({ - data: settingsOptions, - placeholder: 'Select a setting', - allowClear: true - }); - - var settingDetails = { - options: [] - }; - - if (settingObject && HP.displaySettings[settingObject.id]) { - settingDetails = HP.displaySettings[settingObject.id]; - } else if (settingObject && HP.CustomViewportSettings[settingObject.id]) { - settingDetails = HP.CustomViewportSettings[settingObject.id]; - } - - var valueSelect = dialog.find('.currentValue'); - valueSelect.html('').select2({ - data: settingDetails.options, - placeholder: 'Select a value', - allowClear: true - }); - - // If a setting has been provided, set the value of the attribute Select2 input - // to the attribute set in the setting. - if (settingObject && settingObject.id) { - settingSelect.val(settingObject.id); - } - - // Trigger('change') is used to update the Select2 choice in the UI - // This is done after setting the value in case no setting was provided - settingSelect.trigger('change'); - - // If a setting has been provided, display its current value - if (settingObject && settingObject.value !== undefined) { - valueSelect.val(settingObject.value).trigger('change'); - } - - // Update the dialog's CSS so that it is visible on the page - dialog.css('display', 'block'); - - // Show the backdrop - Blaze.render(Template.removableBackdrop, document.body); - - // Make sure the context menu is closed when the user clicks away - $('.removableBackdrop').one('mousedown touchstart', function() { - closeHandler(dialog); - }); -}; - -Template.settingEntryDialog.onCreated(function() { - // Define the ReactiveVars that will be used to link aspects of the UI - var template = this; - - // Note: currentValue's initial value must be a string so the template renders properly - template.currentValue = new ReactiveVar(''); - template.setting = new ReactiveVar(); -}); - -Template.settingEntryDialog.onRendered(function() { - const template = this; - const dialog = template.$('.settingEntryDialog'); - dialog.draggable(); -}); - -Template.settingEntryDialog.events({ - /** - * Save a setting that is being edited - * - * @param event the Click event - * @param template The template context - */ - 'click #save': function(event, template) { - // Retrieve the input properties to the template - var dialog = Template.settingEntryDialog.dialog; - - // Retrieve the current values for the id and current value - var setting = template.setting.get(); - var currentValue = template.currentValue.get(); - - // If currentValue input is undefined, prevent saving this setting - if (currentValue === undefined) { - return; - } - - var viewportSetting = { - id: setting, - value: currentValue - }; - - // Obtain the active Viewport model from the Protocol and Stage - var viewport = getActiveViewportModel(); - - // Remove any old rules if the ID has been changes - var originalSettingObject = Template.settingEntryDialog.settingObject; - if (originalSettingObject && originalSettingObject.id) { - delete viewport.viewportSettings[originalSettingObject.id]; - } - - // Update the active Viewport model' viewportSettings dictionary - viewport.viewportSettings[viewportSetting.id] = viewportSetting.value; - - // Instruct the Protocol Engine to update the Layout Manager with new data - var viewportIndex = window.store.getState().viewports.activeViewport; - ProtocolEngine.updateViewports(viewportIndex); - - // Close the dialog - closeHandler(dialog); - }, - /** - * Allow the user to click the Cancel button to close the dialog - */ - 'click #cancel': function() { - var dialog = Template.settingEntryDialog.dialog; - closeHandler(dialog); - }, - /** - * Allow Esc keydown events to close the dialog - * - * @param event The Keydown event details - * @returns {boolean} Return false to prevent bubbling of the event - */ - 'keydown .settingEntryDialog': function(event) { - var dialog = Template.settingEntryDialog.dialog; - - // If Esc key is pressed, close the dialog - if (event.which === keys.ESC) { - closeHandler(dialog); - return false; - } - }, - /** - * Update the currentValue ReactiveVar if the user changes the attribute - * - * @param event The Change event for the select box - * @param template The current template context - */ - 'change select.settings': function(event, template) { - // Obtain the user-specified attribute to test against - var settingId = $(event.currentTarget).val(); - - // Store it in the ReactiveVar - template.setting.set(settingId); - - // Retrieve the current value from the attribute - var settingDetails = { - options: [] - }; - if (settingId && HP.displaySettings[settingId]) { - settingDetails = HP.displaySettings[settingId]; - } else if (settingId && HP.CustomViewportSettings[settingId]) { - settingDetails = HP.CustomViewportSettings[settingId]; - } - - var dialog = Template.settingEntryDialog.dialog; - var valueSelect = dialog.find('.currentValue'); - valueSelect.html('').select2({ - data: settingDetails.options, - placeholder: 'Select a value', - allowClear: true - }); - - // Update the ReactiveVar with the user-specified value - if (settingDetails && settingDetails.defaultValue) { - template.currentValue.set(settingDetails.defaultValue); - valueSelect.val(settingDetails.defaultValue).trigger('change'); - } - }, - /** - * Update the currentValue ReactiveVar if the user changes the current value - * - * @param event The Change event for the input - * @param template The current template context - */ - 'change select.currentValue': function(event, template) { - // Get the current value of the select box - var value = $(event.currentTarget).val(); - - // Update the ReactiveVar with the user-specified value - template.currentValue.set(value); - } -}); diff --git a/Packages/ohif-hanging-protocols/client/components/settingEntryDialog/settingEntryDialog.styl b/Packages/ohif-hanging-protocols/client/components/settingEntryDialog/settingEntryDialog.styl deleted file mode 100644 index d0bbb7254..000000000 --- a/Packages/ohif-hanging-protocols/client/components/settingEntryDialog/settingEntryDialog.styl +++ /dev/null @@ -1,43 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.settingEntryDialog - theme('border', '1px solid $uiBorderColor', 0.95) - theme('background', '$uiGrayDarkest', 0.95) - theme('color', '$textSecondaryColor') - position: absolute - top: 0 - bottom: 0 - left: 0 - right: 0 - z-index: 100 - width: 300px - height: 200px - margin: auto - padding: 10px - outline: none - border-radius: 8px - - .dialogContent - text-align: center - margin-bottom: 10px - - .row - margin: 15px 0 - - .btn - text-decoration: none - - #cancel - float: left - - #save - float: right - - input.currentValue - width: 95% - text-align: center - padding: 4px - color: black - height: 30px - border-radius: 2px - border: 0 diff --git a/Packages/ohif-hanging-protocols/client/components/settingsTable/settingsTable.html b/Packages/ohif-hanging-protocols/client/components/settingsTable/settingsTable.html deleted file mode 100644 index b89caf25d..000000000 --- a/Packages/ohif-hanging-protocols/client/components/settingsTable/settingsTable.html +++ /dev/null @@ -1,31 +0,0 @@ - \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/components/settingsTable/settingsTable.js b/Packages/ohif-hanging-protocols/client/components/settingsTable/settingsTable.js deleted file mode 100644 index 126b5415e..000000000 --- a/Packages/ohif-hanging-protocols/client/components/settingsTable/settingsTable.js +++ /dev/null @@ -1,57 +0,0 @@ -Template.settingsTable.events({ - /** - * Opens the Setting Entry dialog to allow the user to create a new setting - * Specifies attributes and setting level for the Setting Entry dialog - * based on the data given to this template. - */ - 'click .addSetting': function() { - // Open the Setting Entry Dialog - openSettingEntryDialog(); - }, - /** - * Opens the Setting Entry dialog to allow the user to edit an existing - * setting. Passes setting details to the dialog so its current properties - * can be displayed. - * - * Specifies attributes for the Setting Entry dialog - * based on the data given to this template. - */ - 'click .editSetting': function() { - // Get the properties of the current setting - var setting = this; - - // Open the Setting Entry Dialog with the setting - openSettingEntryDialog(setting); - }, - /** - * Removes a setting from the current Viewport - */ - 'click .deleteSetting': function() { - // Get the properties of the current setting - var setting = this; - - // Retrieve the current viewport model - var viewport = getActiveViewportModel(); - - // Remove the specified setting - delete viewport.viewportSettings[setting.key]; - - // Instruct the Protocol Engine to update the Layout Manager with new data - var viewportIndex = window.store.getState().viewports.activeViewport; - ProtocolEngine.updateViewports(viewportIndex); - } -}); - -Template.settingsTable.helpers({ - getSettingText: function() { - var setting = this; - if (HP.CustomViewportSettings[setting.key]) { - return HP.CustomViewportSettings[setting.key].text; - } else if (HP.displaySettings[setting.key]) { - return HP.displaySettings[setting.key].text; - } else { - return Blaze._globalHelpers['prettyPrintStringify'](setting.key); - } - - } -}); diff --git a/Packages/ohif-hanging-protocols/client/components/settingsTable/settingsTable.styl b/Packages/ohif-hanging-protocols/client/components/settingsTable/settingsTable.styl deleted file mode 100644 index 9fda337df..000000000 --- a/Packages/ohif-hanging-protocols/client/components/settingsTable/settingsTable.styl +++ /dev/null @@ -1,48 +0,0 @@ -@import "{ohif:viewerbase}/app" - -table.settingsTable - thead - tr - th - theme('color', '$defaultColor') - text-align: center - - th:first-child - text-align: left - - tbody - background: #3e3e3e - - tr - td - theme('color', '$defaultColor') - text-align: center - - .editSetting - .deleteSetting - cursor: pointer - transition(all 0.1s ease) - - &:hover - theme('color', '$hoverColor') - - &:active - theme('color', '$activeColor') - - td:first-child - text-align: left - -.addSettingContainer - margin: 10px 0 - text-align: center - theme('color', '$defaultColor') - - .addSetting - cursor: pointer - transition(all 0.1s ease) - - &:hover - theme('color', '$hoverColor') - - &:active - theme('color', '$activeColor') diff --git a/Packages/ohif-hanging-protocols/client/components/stageDetails/stageDetails.html b/Packages/ohif-hanging-protocols/client/components/stageDetails/stageDetails.html deleted file mode 100644 index 6d00dd4a0..000000000 --- a/Packages/ohif-hanging-protocols/client/components/stageDetails/stageDetails.html +++ /dev/null @@ -1,33 +0,0 @@ - \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/components/stageDetails/stageDetails.js b/Packages/ohif-hanging-protocols/client/components/stageDetails/stageDetails.js deleted file mode 100644 index 0c1c4de39..000000000 --- a/Packages/ohif-hanging-protocols/client/components/stageDetails/stageDetails.js +++ /dev/null @@ -1,38 +0,0 @@ -getActiveViewportModel = function() { - // If no ProtocolEngine has been defined yet, or there is - // no currently displayed Protocol or Stage, stop here - if (!ProtocolEngine || - !ProtocolEngine.protocol || - ProtocolEngine.stage === undefined) { - return; - } - - // Retrieve the model of the currently displayed stage - var stage = ProtocolEngine.getCurrentStageModel(); - - // Retrieve the index of the active viewport - var activeViewport = window.store.getState().viewports.activeViewport; - - // If the active viewport index is outside the bounds of the - // number of Viewports defined for this Stage, stop here - if (activeViewport >= stage.viewports.length) { - return; - } - - // Return the Viewport model for this viewport index in the - // current stage - return stage.viewports[activeViewport]; -}; - -Template.stageDetails.helpers({ - /** - * Retrieves the ViewportModel for the active viewport from the - * currently displayed Protocol and display sequence Stage - * - * @returns {*} The Viewport model for the active viewport - */ - activeViewport: function() { - - return getActiveViewportModel(); - } -}); diff --git a/Packages/ohif-hanging-protocols/client/components/stageDetails/stageDetails.styl b/Packages/ohif-hanging-protocols/client/components/stageDetails/stageDetails.styl deleted file mode 100644 index 002ab039b..000000000 --- a/Packages/ohif-hanging-protocols/client/components/stageDetails/stageDetails.styl +++ /dev/null @@ -1,32 +0,0 @@ -@import "{ohif:viewerbase}/app" - -#stageDetails - overflow-y: auto - overflow-x: hidden - padding-right: 16px - padding-left: 20px - margin-right: -16px - width: 100% - height: 100% - - &::-webkit-scrollbar - display: none - - h3 - label - theme('color', '$defaultColor') - - label - margin-right: 10px - width: 25% - - input - theme('background-color', '$boxBackgroundColor') - min-width: 50px - width: 40% - border: none - theme('color', '$defaultColor') - text-align: center - - .stageEditorSection - margin: 30px 0 diff --git a/Packages/ohif-hanging-protocols/client/components/stageSortable/stageSortable.html b/Packages/ohif-hanging-protocols/client/components/stageSortable/stageSortable.html deleted file mode 100644 index 5ec7b7000..000000000 --- a/Packages/ohif-hanging-protocols/client/components/stageSortable/stageSortable.html +++ /dev/null @@ -1,30 +0,0 @@ - \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/components/stageSortable/stageSortable.js b/Packages/ohif-hanging-protocols/client/components/stageSortable/stageSortable.js deleted file mode 100644 index 7ddd8e569..000000000 --- a/Packages/ohif-hanging-protocols/client/components/stageSortable/stageSortable.js +++ /dev/null @@ -1,243 +0,0 @@ -import { Template } from 'meteor/templating'; -import { Session } from 'meteor/session'; - -import { OHIF } from 'ohif-core'; -import 'meteor/ohif:viewerbase'; - -/** - * Add an array index swapping function so we can swap stages more easily - */ -move = function(array, oldIndex, newIndex) { - var value = array[oldIndex]; - - newIndex = Math.max(0, newIndex); - newIndex = Math.min(array.length, newIndex); - - array.splice(oldIndex, 1); - array.splice(newIndex, 0, value); - return array; -}; - -/** - * Helper function to obtain the current index of a stage in the - * current protocol - * - * @param protocol The Hanging Protocol to search within - * @param id The id of the current stage to search for - * @returns {number} The index of the specified stage within the Protocol, - * or undefined if it is not present. - */ -function getStageIndex(protocol, id) { - var stageIndex; - if (!protocol || !protocol.stages) { - return; - } - - protocol.stages.forEach(function(stage, index) { - if (stage.id === id) { - stageIndex = index; - return false; - } - }); - - return stageIndex; -} - -Template.stageSortable.helpers({ - /** - * Checks a specified stage to see if it is currently being displayed - * - * @returns {boolean} Whether or not the stage is currently being displayed - */ - isActiveStage: function() { - // Rerun this function every time the layout manager has been updated - - // If no Protocol Engine has been defined yet, stop here to prevent errors - if (!ProtocolEngine) { - return; - } - - var currentStage = ProtocolEngine.getCurrentStageModel(); - if (!currentStage) { - return false; - } - - // Return a boolean representing if the active stage and the specified stage index are equal - return (this.id === currentStage.id); - }, - /** - * Retrieves the index of the stage at the point it was last saved - * - * @returns {number|*} - */ - stageLabel: function() { - var stage = this; - - // If no Protocol Engine has been defined yet, stop here to prevent errors - if (!ProtocolEngine) { - return; - } - - // Retrieve the last saved copy of the current protocol - var lastSavedCopy = HP.ProtocolStore.getProtocol(ProtocolEngine.protocol.id); - - // Try to find the index of this stage in the previously saved copy - var stageIndex = getStageIndex(lastSavedCopy, stage.id); - - // If the stage is new, and therefore wasn't present in the last save, - // retrieve it's index in the array of new stage ids and use that for - // the label. Also include the time since it was created. - if (stageIndex === undefined) { - // Reactively update this helper every minute - Session.get('timeAgoVariable'); - - // Find the index of the stage in the array of newly created stage IDs - var newStageNumber = ProtocolEngine.newStageIds.indexOf(stage.id) + 1; - - // Use Moment.js to format the createdDate of this stage relative to the - // current time - var dateCreatedFromNow = moment(stage.createdDate).fromNow(); - - // Return the label for the new stage, - // e.g. "New Stage 1 (created a few seconds ago)" - return 'New Stage ' + newStageNumber + ' (created ' + dateCreatedFromNow + ')'; - } - - // If the stage is not new, label it by the index it held in the stages array - // at the previous saved point - return 'Stage ' + ++stageIndex; - }, - /** - * Check if a later stage exists for the user to switch to - * - * @returns {boolean} Whether or not a later stage exists - */ - isNextAvailable: function() { - // If no ProtocolEngine has been defined yet, stop here - if (!ProtocolEngine) { - return; - } - - // Return whether or not the current stage is the last stage - return ProtocolEngine.stage < ProtocolEngine.getNumProtocolStages() - 1; - }, - /** - * Check if an earlier stage exists for the user to switch to - * - * @returns {boolean} Whether or not an earlier stage exists - */ - isPreviousAvailable: function() { - // Run this helper whenever the ProtocolEngine / LayoutManager has changed - - // If no ProtocolEngine has been defined yet, stop here - if (!ProtocolEngine) { - return; - } - - // Return whether or not the current stage is the first stage - return ProtocolEngine.stage > 0; - } -}); - -Template.stageSortable.events({ - /** - * Displays a stage when its title is clicked - */ - 'click .sortable-item span': function() { - // Retrieve the index of this stage in the display set sequences - var stageIndex = getStageIndex(ProtocolEngine.protocol, this.id); - - // Display the selected stage - ProtocolEngine.setCurrentProtocolStage(stageIndex - ProtocolEngine.stage); - }, - /** - * Creates a new stage and adds it to the currently loaded Protocol at - * the end of the display set sequence - */ - 'click #addStage': function() { - // Retrieve the model describing the current stage - var stage = ProtocolEngine.getCurrentStageModel(); - - // Clone this stage to create a new stage - var newStage = stage.createClone(); - - // Remove the stage's name if it has one - delete newStage.name; - - // Append this new stage to the end of the display set sequence - ProtocolEngine.protocol.stages.push(newStage); - - // Append the new stage the list of new stage IDs, so we can label it properly - ProtocolEngine.newStageIds.push(newStage.id); - - // Switch to the next stage in the display set sequence - ProtocolEngine.setCurrentProtocolStage(1); - }, - /** - * Deletes a stage from the currently loaded Protocol by removing it from - * the stages array. If it is the currently active stage, the current stage is - * set to one stage earlier in the display set sequence. - */ - 'click .deleteStage': function() { - // If this is the only stage in the Protocol, stop here - if (ProtocolEngine.protocol.stages.length === 1) { - return; - } - - var stageId = this.id; - - var options = { - title: 'Remove Protocol Stage', - text: 'Are you sure you would like to remove this Protocol Stage? This cannot be reversed.' - }; - - OHIF.viewerbase.dialogUtils.showConfirmDialog(function() { - // Retrieve the index of this stage in the display set sequences - var stageIndex = getStageIndex(ProtocolEngine.protocol, stageId); - - // Remove it from the display set sequence - ProtocolEngine.protocol.stages.splice(stageIndex, 1); - - // If we have removed the currently active stage, switch to the one before it - if (ProtocolEngine.stage === stageIndex) { - // Display the previous stage - ProtocolEngine.setCurrentProtocolStage(-1); - } - }, options); - }, - - 'click .moveStageUp': function() { - // Get the old and new indices following a 'sort' event - var oldIndex = ProtocolEngine.stage; - var newIndex = Math.max(ProtocolEngine.stage - 1, 0); - - if (oldIndex === newIndex) { - return; - } - - // Swap the stages in the current Protocol's display set sequence - // using our addition to the Array prototype - ProtocolEngine.protocol.stages = move(ProtocolEngine.protocol.stages, oldIndex, newIndex); - - // If the currently displayed stage was reordered into a new position, - // update the value for the stage index in the displayed Protocol - ProtocolEngine.stage = newIndex; - }, - 'click .moveStageDown': function() { - // Get the old and new indices following a 'sort' event - var oldIndex = ProtocolEngine.stage; - var newIndex = Math.min(ProtocolEngine.stage + 1, ProtocolEngine.protocol.stages.length - 1); - - if (oldIndex === newIndex) { - return; - } - - // Swap the stages in the current Protocol's display set sequence - // using our addition to the Array prototype - ProtocolEngine.protocol.stages = move(ProtocolEngine.protocol.stages.move, oldIndex, newIndex); - - // If the currently displayed stage was reordered into a new position, - // update the value for the stage index in the displayed Protocol - ProtocolEngine.stage = newIndex; - } -}); diff --git a/Packages/ohif-hanging-protocols/client/components/stageSortable/stageSortable.styl b/Packages/ohif-hanging-protocols/client/components/stageSortable/stageSortable.styl deleted file mode 100644 index bdc2ef877..000000000 --- a/Packages/ohif-hanging-protocols/client/components/stageSortable/stageSortable.styl +++ /dev/null @@ -1,81 +0,0 @@ -@import "{ohif:viewerbase}/app" - -#stageSortingContainer - padding: 0 20px - - #stageSortable - .sortable-item - padding: 3px - - span - theme('color', '$defaultColor') - cursor: pointer - - &:hover - theme('color', '$hoverColor') - - &.active - theme('color', '$activeColor') - - .sortable-handle - cursor: move - cursor: -webkit-grabbing - width: 15px - height: 15px - margin: 0 5px - filter: invert(100%) - -webkit-filter: invert(100%) - background-image: unquote("url(/packages/hangingprotocols/assets/dots.svg)") - - .sortable.target - flex: 1 1 auto - margin-left: 1em - - .sortable-ghost - opacity: 0.6 - - .deleteStage - cursor: pointer - theme('color', '$defaultColor') - transition(all 0.1s ease) - - &:hover - theme('color', '$hoverColor') - - &:active - theme('color', '$activeColor') - - .addStage - margin: 10px 0 - text-align: center - theme('color', '$defaultColor') - - #addStage - transition(all 0.1s ease) - - &:hover - theme('color', '$hoverColor') - - &:active - theme('color', '$activeColor') - - .moveStageButtons - margin: 10px 0 - text-align: center - - a - theme('color', '$defaultColor') - cursor: pointer - text-decoration: none - transition(all 0.1s ease) - - &:hover - theme('color', '$hoverColor') - - &:active - theme('color', '$activeColor') - - &[disabled="true"] - opacity: 0.7 - cursor: disabled - pointer-events: none diff --git a/Packages/ohif-hanging-protocols/client/components/textEntryDialog/textEntryDialog.html b/Packages/ohif-hanging-protocols/client/components/textEntryDialog/textEntryDialog.html deleted file mode 100644 index 7e4aa6f88..000000000 --- a/Packages/ohif-hanging-protocols/client/components/textEntryDialog/textEntryDialog.html +++ /dev/null @@ -1,23 +0,0 @@ - \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/components/textEntryDialog/textEntryDialog.js b/Packages/ohif-hanging-protocols/client/components/textEntryDialog/textEntryDialog.js deleted file mode 100644 index c30f4cda4..000000000 --- a/Packages/ohif-hanging-protocols/client/components/textEntryDialog/textEntryDialog.js +++ /dev/null @@ -1,144 +0,0 @@ -import { Blaze } from 'meteor/blaze'; -import $ from 'jquery'; -import { Template } from 'meteor/templating'; - -import { Viewerbase } from 'meteor/ohif:viewerbase'; - -const keys = { - ESC: 27, - ENTER: 13 -}; - -/** - * Close the specified dialog element and returns the browser - * focus to the active viewport. - * - * @param dialog The DOM element of the dialog to close - */ -function closeHandler(dialog) { - // Hide the lesion dialog - $(dialog).css('display', 'none'); - - // Remove the backdrop - $('.removableBackdrop').remove(); - - // Restore the focus to the active viewport - Viewerbase.setFocusToActiveViewport(); -} - -/** - * Displays and updates the UI of the Text Entry Dialog given a new title, - * instructions, and doneCallback - * - * @param title Title of the dialog box - * @param instructions Instructions to display to the user - * @param doneCallback Function to execute when the dialog has been closed - */ -openTextEntryDialog = function(title, instructions, currentValue, doneCallback) { - // Get the lesion location dialog - var dialog = $('.textEntryDialog'); - - // Clear any input that is still on the page - var currentValueInput = dialog.find('input.currentValue'); - currentValueInput.val(currentValue); - - // Store the Dialog DOM data, rule level and rule in the template data - Template.textEntryDialog.dialog = dialog; - Template.textEntryDialog.title = title; - Template.textEntryDialog.instructions = instructions; - Template.textEntryDialog.doneCallback = doneCallback; - - dialog.find('.title').html(title); - dialog.find('.instructions').html(instructions); - - // Update the dialog's CSS so that it is visible on the page - dialog.css('display', 'block'); - - // Show the backdrop - UI.render(Template.removableBackdrop, document.body); - - // Make sure the context menu is closed when the user clicks away - $('.removableBackdrop').one('mousedown touchstart', function() { - closeHandler(dialog); - }); -}; - -Template.textEntryDialog.onRendered(() => { - const instance = Template.instance(); - const dialog = instance.$('.settingEntryDialog'); - dialog.draggable(); -}); - -Template.textEntryDialog.events({ - /** - * Save the user-specified text - * - */ - 'click .save': function() { - // Retrieve the input properties to the template - var dialog = Template.textEntryDialog.dialog; - var currentValue = dialog.find('input.currentValue').val(); - - // If currentValue input is undefined, prevent saving this rule - if (currentValue === undefined) { - return; - } - - var doneCallback = Template.textEntryDialog.doneCallback; - if (doneCallback) { - doneCallback(currentValue); - } - - // Close the dialog - closeHandler(Template.textEntryDialog.dialog); - }, - /** - * Allow the user to click the Cancel button to close the dialog - */ - 'click .cancel': function() { - closeHandler(Template.textEntryDialog.dialog); - }, - /** - * Allow Esc keydown events to close the dialog - * - * @param event The Keydown event details - * @returns {boolean} Return false to prevent bubbling of the event - */ - 'keydown .textEntryDialog': function(event) { - var dialog = Template.textEntryDialog.dialog; - - // If Esc key is pressed, close the dialog - if (event.which === keys.ESC) { - closeHandler(dialog); - return false; - } else if (event.which === keys.ENTER) { - var currentValue = dialog.find('input.currentValue').val(); - - // If currentValue input is undefined, prevent saving this rule - if (currentValue === undefined) { - return; - } - - var doneCallback = Template.textEntryDialog.doneCallback; - if (doneCallback) { - doneCallback(currentValue); - } - - closeHandler(dialog); - return false; - } - }, - /** - * Update the currentValue ReactiveVar if the user changes the attribute value - * - * @param event The Change event for the input - * @param template The current template context - */ - 'change input.currentValue': function(event, template) { - // Get the DOM element representing the input box - var input = $(event.currentTarget); - - // Update the template data with the current value - Template.textEntryDialog.currentValue = input.val(); - } -}); diff --git a/Packages/ohif-hanging-protocols/client/components/textEntryDialog/textEntryDialog.styl b/Packages/ohif-hanging-protocols/client/components/textEntryDialog/textEntryDialog.styl deleted file mode 100644 index dcb11b6a6..000000000 --- a/Packages/ohif-hanging-protocols/client/components/textEntryDialog/textEntryDialog.styl +++ /dev/null @@ -1,36 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.textEntryDialog - theme('border', '1px solid $uiBorderColor', 0.95) - theme('background', '$uiGrayDarkest', 0.95) - theme('color', '$textSecondaryColor') - position: absolute - top: 0 - bottom: 0 - left: 0 - right: 0 - z-index: 100 - width: 300px - height: 170px - margin: auto - padding: 10px - outline: none - border-radius: 8px - - .dialogContent - margin-bottom: 10px - - .cancel - float: left - - .save - float: right - - input.currentValue - width: 95% - text-align: left - padding: 4px - color: black - height: 30px - border-radius: 2px - border: 0 diff --git a/Packages/ohif-hanging-protocols/client/customAttributes/index.js b/Packages/ohif-hanging-protocols/client/customAttributes/index.js deleted file mode 100644 index b8fb90893..000000000 --- a/Packages/ohif-hanging-protocols/client/customAttributes/index.js +++ /dev/null @@ -1,28 +0,0 @@ -// Define an empty object to store callbacks that are used to retrieve custom attributes -// The simplest example for a custom attribute is the Timepoint type (i.e. baseline or follow-up) -// used in the LesionTracker application. -// -// Timepoint type can be obtained given a studyId, and this is done through a custom callback. -// Developers can define attributes (i.e. attributeId = timepointType) with a name ('Timepoint Type') -// and a callback function that is used to calculate them. -// -// The input to the callback, which is called during viewport-image matching rule evaluation -// is the set of attributes that contains the specified attribute. In our example, timepointType is -// linked to the study attributes, and so the inputs to the callback is an object containing -// the study attributes. -HP.CustomAttributeRetrievalCallbacks = {}; - -/** - * Adds a custom attribute to be used in the HangingProtocol UI and matching rules, including a - * callback that will be used to calculate the attribute value. - * - * @param attributeId The ID used to refer to the attribute (e.g. 'timepointType') - * @param attributeName The name of the attribute to be displayed (e.g. 'Timepoint Type') - * @param callback The function used to calculate the attribute value from the other attributes at its level (e.g. study/series/image) - */ -HP.addCustomAttribute = (attributeId, attributeName, callback) => { - HP.CustomAttributeRetrievalCallbacks[attributeId] = { - name: attributeName, - callback: callback - }; -}; \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/customViewportSettings/index.js b/Packages/ohif-hanging-protocols/client/customViewportSettings/index.js deleted file mode 100644 index 929ca1069..000000000 --- a/Packages/ohif-hanging-protocols/client/customViewportSettings/index.js +++ /dev/null @@ -1,20 +0,0 @@ -// Define an empty object to store callbacks that are used to apply custom viewport settings -// after a viewport is rendered. -HP.CustomViewportSettings = {}; - -/** - * Adds a custom setting that can be chosen in the HangingProtocol UI and applied to a Viewport - * - * @param settingId The ID used to refer to the setting (e.g. 'displayCADMarkers') - * @param settingName The name of the setting to be displayed (e.g. 'Display CAD Markers') - * @param options - * @param callback A function to be run after a viewport is rendered with a series - */ -HP.addCustomViewportSetting = (settingId, settingName, options, callback) => { - HP.CustomViewportSettings[settingId] = { - id: settingId, - text: settingName, - options: options, - callback: callback - }; -}; \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/hardcodedData.js b/Packages/ohif-hanging-protocols/client/hardcodedData.js deleted file mode 100644 index 00d4408bb..000000000 --- a/Packages/ohif-hanging-protocols/client/hardcodedData.js +++ /dev/null @@ -1,102 +0,0 @@ -HP.attributeDefaults = { - abstractPriorValue: 0 -}; - -HP.displaySettings = { - invert: { - id: 'invert', - text: 'Show Grayscale Inverted', - defaultValue: 'NO', - options: ['YES', 'NO'] - } -}; - -// @TODO Fix abstractPriorValue comparison -HP.studyAttributes = [{ - id: 'x00100020', - text: '(x00100020) Patient ID' -}, { - id: 'x0020000d', - text: '(x0020000d) Study Instance UID' -}, { - id: 'x00080020', - text: '(x00080020) Study Date' -}, { - id: 'x00080030', - text: '(x00080030) Study Time' -}, { - id: 'x00081030', - text: '(x00081030) Study Description' -}, { - id: 'abstractPriorValue', - text: 'Abstract Prior Value' -}]; - -HP.protocolAttributes = [{ - id: 'x00100020', - text: '(x00100020) Patient ID' -}, { - id: 'x0020000d', - text: '(x0020000d) Study Instance UID' -}, { - id: 'x00080020', - text: '(x00080020) Study Date' -}, { - id: 'x00080030', - text: '(x00080030) Study Time' -}, { - id: 'x00081030', - text: '(x00081030) Study Description' -}, { - id: 'anatomicRegion', - text: 'Anatomic Region' -}]; - -HP.seriesAttributes = [{ - id: 'x0020000e', - text: '(x0020000e) Series Instance UID' -}, { - id: 'x00080060', - text: '(x00080060) Modality' -}, { - id: 'x00200011', - text: '(x00200011) Series Number' -}, { - id: 'x0008103e', - text: '(x0008103e) Series Description' -}, { - id: 'numImages', - text: 'Number of Images' -}]; - -HP.instanceAttributes = [{ - id: 'x00080016', - text: '(x00080016) SOP Class UID' -}, { - id: 'x00080018', - text: '(x00080018) SOP Instance UID' -}, { - id: 'x00185101', - text: '(x00185101) View Position' -}, { - id: 'x00200013', - text: '(x00200013) Instance Number' -}, { - id: 'x00080008', - text: '(x00080008) Image Type' -}, { - id: 'x00181063', - text: '(x00181063) Frame Time' -}, { - id: 'x00200060', - text: '(x00200060) Laterality' -}, { - id: 'x00541330', - text: '(x00541330) Image Index' -}, { - id: 'x00280004', - text: '(x00280004) Photometric Interpretation' -}, { - id: 'x00180050', - text: '(x00180050) Slice Thickness' -}]; diff --git a/Packages/ohif-hanging-protocols/client/helpers/attributes.js b/Packages/ohif-hanging-protocols/client/helpers/attributes.js deleted file mode 100644 index c1815874b..000000000 --- a/Packages/ohif-hanging-protocols/client/helpers/attributes.js +++ /dev/null @@ -1,22 +0,0 @@ -import { Blaze } from 'meteor/blaze'; - - -Blaze.registerHelper('viewportSettingsTypes', function() { - return HP.viewportSettingsTypes; -}); - -Blaze.registerHelper('toolSettingsTypes', function() { - return HP.toolSettingsTypes; -}); - -Blaze.registerHelper('studyAttributes', function() { - return HP.studyAttributes; -}); - -Blaze.registerHelper('seriesAttributes', function() { - return HP.seriesAttributes; -}); - -Blaze.registerHelper('instanceAttributes', function() { - return HP.instanceAttributes; -}); diff --git a/Packages/ohif-hanging-protocols/client/helpers/displayConstraint.js b/Packages/ohif-hanging-protocols/client/helpers/displayConstraint.js deleted file mode 100644 index 09e9a0509..000000000 --- a/Packages/ohif-hanging-protocols/client/helpers/displayConstraint.js +++ /dev/null @@ -1,71 +0,0 @@ -import { Blaze } from 'meteor/blaze'; - -const attributeCache = Object.create(null); -const REGEXP = /^\([x0-9a-f]+\)/; - -const humanize = text => { - let humanized = text.replace(/([A-Z])/g, ' $1'); // insert a space before all caps - - humanized = humanized.replace(/^./, str => { // uppercase the first character - return str.toUpperCase(); - }); - - return humanized; -}; - -/** - * Get the text of an attribute for a given attribute - * @param {String} attributeId The attribute ID - * @param {Array} attributes Array of attributes objects with id and text properties - * @return {String} If found return the attribute text or an empty string otherwise - */ -const getAttributeText = (attributeId, attributes) => { - // If the attribute is already in the cache, return it - if (attributeId in attributeCache) { - return attributeCache[attributeId]; - } - - // Find the attribute with given attributeId - const attribute = attributes.find(attribute => attribute.id === attributeId); - - let attributeText; - - // If attribute was found get its text and save it on the cache - if (attribute) { - attributeText = attribute.text.replace(REGEXP, ''); - attributeCache[attributeId] = attributeText; - } - - return attributeText || ''; -}; - -Blaze.registerHelper('displayConstraint', (attributeId, constraint, attributes) => { - if (!constraint || !attributeId) { - return; - } - - const validatorType = Object.keys(constraint)[0]; - if (!validatorType) { - return; - } - - const validator = Object.keys(constraint[validatorType])[0]; - if (!validator) { - return; - } - - const value = constraint[validatorType][validator]; - if (value === void 0) { - return; - } - - let comparator = validator; - if (validator === 'value') { - comparator = validatorType; - } - - const attributeText = getAttributeText(attributeId, attributes); - const constraintText = attributeText + ' ' + humanize(comparator).toLowerCase() + ' ' + value; - - return constraintText; -}); \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/lib/comparators.js b/Packages/ohif-hanging-protocols/client/lib/comparators.js deleted file mode 100644 index 82c2ba1fe..000000000 --- a/Packages/ohif-hanging-protocols/client/lib/comparators.js +++ /dev/null @@ -1,84 +0,0 @@ -const comparators = [{ - id: 'equals', - name: '= (Equals)', - validator: 'equals', - validatorOption: 'value', - description: 'The attribute must equal this value.' -}, { - id: 'doesNotEqual', - name: '!= (Does not equal)', - validator: 'doesNotEqual', - validatorOption: 'value', - description: 'The attribute must not equal this value.' -}, { - id: 'contains', - name: 'Contains', - validator: 'contains', - validatorOption: 'value', - description: 'The attribute must contain this value.' -}, { - id: 'doesNotContain', - name: 'Does not contain', - validator: 'doesNotContain', - validatorOption: 'value', - description: 'The attribute must not contain this value.' -}, { - id: 'startsWith', - name: 'Starts with', - validator: 'startsWith', - validatorOption: 'value', - description: 'The attribute must start with this value.' -}, { - id: 'endsWith', - name: 'Ends with', - validator: 'endsWith', - validatorOption: 'value', - description: 'The attribute must end with this value.' -}, { - id: 'onlyInteger', - name: 'Only Integers', - validator: 'numericality', - validatorOption: 'onlyInteger', - description: "Real numbers won't be allowed." -}, { - id: 'greaterThan', - name: '> (Greater than)', - validator: 'numericality', - validatorOption: 'greaterThan', - description: 'The attribute has to be greater than this value.' -}, { - id: 'greaterThanOrEqualTo', - name: '>= (Greater than or equal to)', - validator: 'numericality', - validatorOption: 'greaterThanOrEqualTo', - description: 'The attribute has to be at least this value.' -}, { - id: 'lessThanOrEqualTo', - name: '<= (Less than or equal to)', - validator: 'numericality', - validatorOption: 'lessThanOrEqualTo', - description: 'The attribute can be this value at the most.' -}, { - id: 'lessThan', - name: '< (Less than)', - validator: 'numericality', - validatorOption: 'lessThan', - description: 'The attribute has to be less than this value.' -}, { - id: 'odd', - name: 'Odd', - validator: 'numericality', - validatorOption: 'odd', - description: 'The attribute has to be odd.' -}, { - id: 'even', - name: 'Even', - validator: 'numericality', - validatorOption: 'even', - description: 'The attribute has to be even.' -}]; - -// Immutable object -Object.freeze(comparators); - -export { comparators } \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/lib/removeFromArray.js b/Packages/ohif-hanging-protocols/client/lib/removeFromArray.js deleted file mode 100644 index fb50bd59e..000000000 --- a/Packages/ohif-hanging-protocols/client/lib/removeFromArray.js +++ /dev/null @@ -1,33 +0,0 @@ -import _ from 'underscore'; - -/** - * Removes the first instance of an element from an array, if an equal value exists - * - * @param array - * @param input - * - * @returns {boolean} Whether or not the element was found and removed - */ -const removeFromArray = (array, input) => { - // If the array is empty, stop here - if (!array || - !array.length) { - return false; - } - - array.forEach((value, index) => { - if (_.isEqual(value, input)) { - indexToRemove = index; - return false; - } - }); - - if (indexToRemove === void 0) { - return false; - } - - array.splice(indexToRemove, 1); - return true; -}; - -export { removeFromArray }; diff --git a/Packages/ohif-hanging-protocols/client/lib/sortByScore.js b/Packages/ohif-hanging-protocols/client/lib/sortByScore.js deleted file mode 100644 index 21975bf41..000000000 --- a/Packages/ohif-hanging-protocols/client/lib/sortByScore.js +++ /dev/null @@ -1,8 +0,0 @@ -// Sorts an array by score -const sortByScore = arr => { - arr.sort((a, b) => { - return b.score - a.score; - }); -}; - -export { sortByScore }; \ No newline at end of file diff --git a/Packages/ohif-hanging-protocols/client/lib/validate.js b/Packages/ohif-hanging-protocols/client/lib/validate.js deleted file mode 100644 index b92607f4b..000000000 --- a/Packages/ohif-hanging-protocols/client/lib/validate.js +++ /dev/null @@ -1,39 +0,0 @@ -import { validate } from 'validate.js'; - -validate.validators.equals = function(value, options, key, attributes) { - if (options && value !== options.value) { - return key + 'must equal ' + options.value; - } -}; - -validate.validators.doesNotEqual = function(value, options, key) { - if (options && value === options.value) { - return key + 'cannot equal ' + options.value; - } -}; - -validate.validators.contains = function(value, options, key) { - if (options && value.indexOf && value.indexOf(options.value) === -1) { - return key + 'must contain ' + options.value; - } -}; - -validate.validators.doesNotContain = function(value, options, key) { - if (options && value.indexOf && value.indexOf(options.value) !== -1) { - return key + 'cannot contain ' + options.value; - } -}; - -validate.validators.startsWith = function(value, options, key) { - if (options && value.startsWith && !value.startsWith(options.value)) { - return key + 'must start with ' + options.value; - } -}; - -validate.validators.endsWith = function(value, options, key) { - if (options && value.endsWith && !value.endsWith(options.value)) { - return key + 'must end with ' + options.value; - } -}; - -export { validate }; diff --git a/Packages/ohif-hanging-protocols/client/matcher/HPMatcher.js b/Packages/ohif-hanging-protocols/client/matcher/HPMatcher.js deleted file mode 100644 index 726c4209c..000000000 --- a/Packages/ohif-hanging-protocols/client/matcher/HPMatcher.js +++ /dev/null @@ -1,115 +0,0 @@ -import { OHIF } from 'ohif-core'; - -// Local imports -import { validate } from '../lib/validate.js'; -import '../customAttributes'; - -/** - * Import Constants - */ -const { OHIFError } = OHIF.classes; -const { StudySummary, InstanceMetadata } = OHIF.metadata; - -/** - * Match a Metadata instance against rules using Validate.js for validation. - * @param {StudySummary|InstanceMetadata} metadataInstance Metadata instance object - * @param {Array} rules Array of MatchingRules instances (StudyMatchingRule|SeriesMatchingRule|ImageMatchingRule) for the match - * @return {Object} Matching Object with score and details (which rule passed or failed) - */ -const match = (metadataInstance, rules) => { - - // Make sure the supplied data is valid. - if (!(metadataInstance instanceof StudySummary || metadataInstance instanceof InstanceMetadata)) { - throw new OHIFError('HPMatcher::match metadataInstance must be an instance of StudySummary or InstanceMetadata'); - } - - const options = { - format: 'grouped' - }; - - const details = { - passed: [], - failed: [] - }; - - let requiredFailed = false; - let score = 0; - - rules.forEach(rule => { - const attribute = rule.attribute; - let customAttributeExists = metadataInstance.customAttributeExists(attribute); - - // If the metadataInstance we are testing (e.g. study, series, or instance MetadataInstance) do - // not contain the attribute specified in the rule, check whether or not they have been - // defined in the CustomAttributeRetrievalCallbacks Object. - if (!customAttributeExists && HP.CustomAttributeRetrievalCallbacks.hasOwnProperty(attribute)) { - const customAttribute = HP.CustomAttributeRetrievalCallbacks[attribute]; - metadataInstance.setCustomAttribute(attribute, customAttribute.callback(metadataInstance)); - customAttributeExists = true; - } - - // Format the constraint as required by Validate.js - const testConstraint = { - [attribute]: rule.constraint - }; - - // Create a single attribute object to be validated, since metadataInstance is an - // instance of Metadata (StudyMetadata, SeriesMetadata or InstanceMetadata) - const attributeValue = customAttributeExists ? metadataInstance.getCustomAttribute(attribute) : metadataInstance.getTagValue(attribute); - const attributeMap = { - [attribute]: attributeValue - }; - - // Use Validate.js to evaluate the constraints on the specified metadataInstance - let errorMessages; - try { - errorMessages = validate(attributeMap, testConstraint, [options]); - } catch (e) { - errorMessages = [ 'Something went wrong during validation.', e ]; - } - - if (!errorMessages) { - // If no errorMessages were returned, then validation passed. - - // Add the rule's weight to the total score - score += parseInt(rule.weight, 10); - - // Log that this rule passed in the matching details object - details.passed.push({ - rule - }); - } else { - // If errorMessages were present, then validation failed - - // If the rule that failed validation was Required, then - // mark that a required Rule has failed - if (rule.required) { - requiredFailed = true; - } - - // Log that this rule failed in the matching details object - // and include any error messages - details.failed.push({ - rule, - errorMessages - }); - } - }); - - // If a required Rule has failed Validation, set the matching score to zero - if (requiredFailed) { - score = 0; - } - - return { - score, - details, - requiredFailed - }; -}; - -const HPMatcher = { - match -}; - -export { HPMatcher }; diff --git a/Packages/ohif-hanging-protocols/client/namespace.js b/Packages/ohif-hanging-protocols/client/namespace.js deleted file mode 100644 index e6599cd5d..000000000 --- a/Packages/ohif-hanging-protocols/client/namespace.js +++ /dev/null @@ -1 +0,0 @@ -HP = {}; diff --git a/Packages/ohif-hanging-protocols/client/protocolEngine.js b/Packages/ohif-hanging-protocols/client/protocolEngine.js deleted file mode 100644 index 1c031ab48..000000000 --- a/Packages/ohif-hanging-protocols/client/protocolEngine.js +++ /dev/null @@ -1,732 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import _ from 'underscore'; -import { Session } from 'meteor/session'; - -// OHIF Modules -import { OHIF } from 'ohif-core'; -import 'meteor/ohif:viewerbase'; - -// Hanging Protocol local imports -import { HPMatcher } from './matcher/HPMatcher'; -import { sortByScore } from './lib/sortByScore'; -import './customViewportSettings'; - -/** - * Import Constants - */ - -const { OHIFError } = OHIF.classes; -const { StudyMetadata, SeriesMetadata, InstanceMetadata, StudySummary } = OHIF.metadata; - -// Useful constants -const ABSTRACT_PRIOR_VALUE = 'abstractPriorValue'; - -// Define a global variable that will be used to refer to the Protocol Engine -// It must be populated by HP.setEngine when the Viewer is initialized and a ProtocolEngine -// is instantiated on top of the LayoutManager. If the global ProtocolEngine variable remains -// undefined, none of the HangingProtocol functions will operate. -ProtocolEngine = undefined; - -/** - * Sets the ProtocolEngine global given an instantiated ProtocolEngine. This is done so that - * The functions in the package can depend on a ProtocolEngine variable, but this variable does - * not have to be exported from the application level. - * - * (There may be a better way to do this, but for now this works with no real downside) - * - * @param protocolEngine An instantiated ProtocolEngine linked to a LayoutManager from the - * Viewerbase package - */ -HP.setEngine = protocolEngine => { - ProtocolEngine = protocolEngine; -}; - -/** - * Gets the instantiated ProtocolEngine global object - * - * @returns protocolEngine An instantiated ProtocolEngine linked to a LayoutManager from the - * Viewerbase package - */ -HP.getEngine = () => { - return ProtocolEngine; -}; - -Meteor.startup(() => { - HP.addCustomViewportSetting('wlPreset', 'Window/Level Preset', Object.create(null), (element, optionValue) => { - if (_.findWhere(OHIF.viewer.wlPresets, { id: optionValue })) { - OHIF.viewerbase.wlPresets.applyWLPreset(optionValue, element); - } - }); -}); - -HP.ProtocolEngine = class ProtocolEngine { - /** - * Constructor - * @param {Object} layoutManager Layout Manager Object - * @param {Array} studies Array of study metadata - * @param {Map} priorStudies Map of prior studies - * @param {Object} studyMedadataSource Instance of StudyMetadataSource (ohif-viewerbase) Object to get study metadata - */ - constructor(layoutManager, studies, priorStudies, studyMetadataSource) { - - const { LayoutManager, StudyMetadataSource } = OHIF.viewerbase; - // ----------- - // Type Validations - - if (!(layoutManager instanceof LayoutManager)) { - throw new OHIFError('ProtocolEngine::constructor layoutManager is not an instance of LayoutManager'); - } - - if (!(studyMetadataSource instanceof StudyMetadataSource)) { - throw new OHIFError('ProtocolEngine::constructor studyMetadataSource is not an instance of StudyMetadataSource'); - } - - if (!(studies instanceof Array) && !studies.every(study => study instanceof StudyMetadata)) { - throw new OHIFError('ProtocolEngine::constructor studies is not an array or it\'s items are not instances of StudyMetadata'); - } - - // -------------- - // Initialization - - this.LayoutManager = layoutManager; - this.studies = studies; - this.priorStudies = priorStudies instanceof Map ? priorStudies : new Map(); - this.studyMetadataSource = studyMetadataSource; - - // Put protocol engine in a known states - this.reset(); - - // Create an array for new stage ids to be stored - // while editing a stage - this.newStageIds = []; - } - - /** - * Resets the ProtocolEngine to the best match - */ - reset() { - const protocol = this.getBestProtocolMatch(); - - this.setHangingProtocol(protocol); - } - - /** - * Retrieves the current Stage from the current Protocol and stage index - * - * @returns {*} The Stage model for the currently displayed Stage - */ - getCurrentStageModel() { - return this.protocol.stages[this.stage]; - } - - /** - * Finds the best protocols from Protocol Store, matching each protocol matching rules - * with the given study. The best protocol are orded by score and returned in an array - * @param {Object} study StudyMetadata instance object - * @return {Array} Array of match objects or an empty array if no match was found - * Each match object has the score of the matching and the matched - * protocol - */ - findMatchByStudy(study) { - OHIF.log.info('ProtocolEngine::findMatchByStudy'); - - const matched = []; - const studyInstance = study.getFirstInstance(); - - // Set custom attribute for study metadata - const numberOfAvailablePriors = this.getNumberOfAvailablePriors(study.getObjectID()); - - HP.ProtocolStore.getProtocol().forEach(protocol => { - // Clone the protocol's protocolMatchingRules array - // We clone it so that we don't accidentally add the - // numberOfPriorsReferenced rule to the Protocol itself. - let rules = protocol.protocolMatchingRules.slice(); - if (!rules) { - return; - } - - // Check if the study has the minimun number of priors used by the protocol. - const numberOfPriorsReferenced = protocol.getNumberOfPriorsReferenced(); - if (numberOfPriorsReferenced > numberOfAvailablePriors) { - return; - } - - // Run the matcher and get matching details - const matchedDetails = HPMatcher.match(studyInstance, rules); - const score = matchedDetails.score; - - // The protocol matched some rule, add it to the matched list - if (score > 0) { - matched.push({ - score, - protocol - }); - } - }); - - // If no matches were found, select the default protocol - if (!matched.length) { - const defaultProtocol = HP.ProtocolStore.getProtocol('defaultProtocol'); - - return [{ - score: 1, - protocol: defaultProtocol - }]; - } - - // Sort the matched list by score - sortByScore(matched); - - OHIF.log.info('ProtocolEngine::findMatchByStudy matched', matched); - - return matched; - } - - /** - * Populates the MatchedProtocols Collection by running the matching procedure - */ - updateProtocolMatches() { - OHIF.log.info('ProtocolEngine::updateProtocolMatches'); - - // Clear all data from the MatchedProtocols Collection - MatchedProtocols.remove({}); - - // For each study, find the matching protocols - this.studies.forEach(study => { - const matched = this.findMatchByStudy(study); - - // For each matched protocol, check if it is already in MatchedProtocols - matched.forEach(matchedDetail => { - const protocol = matchedDetail.protocol; - if (!protocol) { - return; - } - - const protocolInCollection = MatchedProtocols.findOne({ - id: protocol.id - }); - - // If it is not already in the MatchedProtocols Collection, insert it with its score - if (!protocolInCollection) { - OHIF.log.info('ProtocolEngine::updateProtocolMatches inserting protocol match', matchedDetail); - MatchedProtocols.insert(matchedDetail); - } - }); - }); - } - - /** - * Return the best matched Protocol to the current study or set of studies - * @returns {*} - */ - getBestProtocolMatch() { - // Run the matching to populate the MatchedProtocols Collection - this.updateProtocolMatches(); - - // Retrieve the highest scoring Protocol - const sorted = MatchedProtocols.find({}, { - sort: { - score: -1 - }, - limit: 1 - }).fetch(); - - // Highest scoring Protocol - const bestMatch = sorted[0].protocol; - - OHIF.log.info('ProtocolEngine::getBestProtocolMatch bestMatch', bestMatch); - - return bestMatch; - } - - /** - * Get the number of prior studies supplied in the priorStudies map property. - * - * @param {String} studyObjectID The study object ID of the study whose priors are needed - * @returns {number} The number of available prior studies with the same PatientID - */ - getNumberOfAvailablePriors(studyObjectID) { - const priors = this.getAvailableStudyPriors(studyObjectID); - - return priors.length; - } - - /** - * Get the array of prior studies from a specific study. - * - * @param {String} studyObjectID The study object ID of the study whose priors are needed - * @returns {Array} The array of available priors or an empty array - */ - getAvailableStudyPriors(studyObjectID) { - const priors = this.priorStudies.get(studyObjectID); - - return priors instanceof Array ? priors : []; - } - - // Match images given a list of Studies and a Viewport's image matching reqs - matchImages(viewport, viewportIndex) { - OHIF.log.info('ProtocolEngine::matchImages'); - - const { studyMatchingRules, seriesMatchingRules, imageMatchingRules: instanceMatchingRules } = viewport; - - const matchingScores = []; - const currentStudy = this.studies[0]; // @TODO: Should this be: this.studies[this.currentStudy] ??? - const firstInstance = currentStudy.getFirstInstance(); - - let highestStudyMatchingScore = 0; - let highestSeriesMatchingScore = 0; - - // Set custom attribute for study metadata and it's first instance - currentStudy.setCustomAttribute(ABSTRACT_PRIOR_VALUE, 0); - if (firstInstance instanceof InstanceMetadata) { - firstInstance.setCustomAttribute(ABSTRACT_PRIOR_VALUE, 0); - } - - // Only used if study matching rules has abstract prior values defined... - let priorStudies; - - studyMatchingRules.forEach(rule => { - if (rule.attribute === ABSTRACT_PRIOR_VALUE) { - const validatorType = Object.keys(rule.constraint)[0]; - const validator = Object.keys(rule.constraint[validatorType])[0]; - - let abstractPriorValue = rule.constraint[validatorType][validator]; - abstractPriorValue = parseInt(abstractPriorValue, 10); - // TODO: Restrict or clarify validators for abstractPriorValue? - - // No need to call it more than once... - if (!priorStudies) { - priorStudies = this.getAvailableStudyPriors(currentStudy.getObjectID()); - } - - // TODO: Revisit this later: What about two studies with the same - // study date? - - let priorStudy; - if (abstractPriorValue === -1) { - priorStudy = priorStudies[priorStudies.length - 1]; - } else { - const studyIndex = Math.max(abstractPriorValue - 1, 0); - priorStudy = priorStudies[studyIndex]; - } - - // Invalid data - if (!(priorStudy instanceof StudyMetadata) && !(priorStudy instanceof StudySummary)) { - return; - } - - const priorStudyObjectID = priorStudy.getObjectID(); - - // Check if study metadata is already in studies list - if (this.studies.find(study => study.getObjectID() === priorStudyObjectID)) { - return; - } - - // Get study metadata if necessary and load study in the viewer (each viewer should provide it's own load study method) - this.studyMetadataSource.loadStudy(priorStudy).then(studyMetadata => { - // Set the custom attribute abstractPriorValue for the study metadata - studyMetadata.setCustomAttribute(ABSTRACT_PRIOR_VALUE, abstractPriorValue); - - // Also add custom attribute - const firstInstance = studyMetadata.getFirstInstance(); - if (firstInstance instanceof InstanceMetadata) { - firstInstance.setCustomAttribute(ABSTRACT_PRIOR_VALUE, abstractPriorValue); - } - - // Insert the new study metadata - this.studies.push(studyMetadata); - - // Update the viewport to refresh layout manager with new study - this.updateViewports(viewportIndex); - }, error => { - OHIF.log.warn(error); - throw new OHIFError(`ProtocolEngine::matchImages could not get study metadata for the Study with the following ObjectID: ${priorStudyObjectID}`); - }); - } - // TODO: Add relative Date / time - }); - - this.studies.forEach(study => { - const studyMatchDetails = HPMatcher.match(study.getFirstInstance(), studyMatchingRules); - - // Prevent bestMatch from being updated if the matchDetails' required attribute check has failed - if (studyMatchDetails.requiredFailed === true || studyMatchDetails.score < highestStudyMatchingScore) { - return; - } - - highestStudyMatchingScore = studyMatchDetails.score; - - study.forEachSeries(series => { - const seriesMatchDetails = HPMatcher.match(series.getFirstInstance(), seriesMatchingRules); - - // Prevent bestMatch from being updated if the matchDetails' required attribute check has failed - if (seriesMatchDetails.requiredFailed === true || seriesMatchDetails.score < highestSeriesMatchingScore) { - return; - } - - highestSeriesMatchingScore = seriesMatchDetails.score; - - series.forEachInstance((instance, index) => { - // This tests to make sure there is actually image data in this instance - // TODO: Change this when we add PDF and MPEG support - // See https://ohiforg.atlassian.net/browse/LT-227 - // sopClassUid = x00080016 - // rows = x00280010 - if (!OHIF.viewerbase.isImage(instance.getTagValue('x00080016')) && !instance.getTagValue('x00280010')) { - return; - } - - const instanceMatchDetails = HPMatcher.match(instance, instanceMatchingRules); - - // Prevent bestMatch from being updated if the matchDetails' required attribute check has failed - if (instanceMatchDetails.requiredFailed === true) { - return; - } - - const matchDetails = { - passed: [], - failed: [] - }; - - matchDetails.passed = matchDetails.passed.concat(instanceMatchDetails.details.passed); - matchDetails.passed = matchDetails.passed.concat(seriesMatchDetails.details.passed); - matchDetails.passed = matchDetails.passed.concat(studyMatchDetails.details.passed); - - matchDetails.failed = matchDetails.failed.concat(instanceMatchDetails.details.failed); - matchDetails.failed = matchDetails.failed.concat(seriesMatchDetails.details.failed); - matchDetails.failed = matchDetails.failed.concat(studyMatchDetails.details.failed); - - const totalMatchScore = instanceMatchDetails.score + seriesMatchDetails.score + studyMatchDetails.score; - const currentSOPInstanceUID = instance.getSOPInstanceUID(); - - const imageDetails = { - studyInstanceUid: study.getStudyInstanceUID(), - seriesInstanceUid: series.getSeriesInstanceUID(), - sopInstanceUid: currentSOPInstanceUID, - currentImageIdIndex: index, - matchingScore: totalMatchScore, - matchDetails: matchDetails, - sortingInfo: { - score: totalMatchScore, - study: instance.getTagValue('x00080020') + instance.getTagValue('x00080030'), // StudyDate = x00080020 StudyTime = x00080030 - series: parseInt(instance.getTagValue('x00200011')), // TODO: change for seriesDateTime SeriesNumber = x00200011 - instance: parseInt(instance.getTagValue('x00200013')) // TODO: change for acquisitionTime InstanceNumber = x00200013 - } - }; - - // Find the displaySet - const displaySet = study.findDisplaySet(displaySet => displaySet.images.find(image => image.getSOPInstanceUID() === currentSOPInstanceUID)); - - // If the instance was found, set the displaySet ID - if (displaySet) { - imageDetails.displaySetInstanceUid = displaySet.getUID(); - imageDetails.imageId = instance.getImageId(); - } - - matchingScores.push(imageDetails); - }); - }); - }); - - // Sort the matchingScores - const sortingFunction = OHIF.utils.sortBy({ - name: 'score', - reverse: true - }, { - name: 'study', - reverse: true - }, { - name: 'instance' - }, { - name: 'series' - }); - matchingScores.sort((a, b) => sortingFunction(a.sortingInfo, b.sortingInfo)); - - const bestMatch = matchingScores[0]; - - OHIF.log.info('ProtocolEngine::matchImages bestMatch', bestMatch); - - return { - bestMatch, - matchingScores - }; - } - - /** - * Rerenders viewports that are part of the current ProtocolEngine's LayoutManager - * using the matching rules internal to each viewport. - * - * If this function is provided the index of a viewport, only the specified viewport - * is rerendered. - * - * @param viewportIndex - */ - updateViewports(viewportIndex) { - OHIF.log.info(`ProtocolEngine::updateViewports viewportIndex: ${viewportIndex}`); - - // Make sure we have an active protocol with a non-empty array of display sets - if (!this.getNumProtocolStages()) { - return; - } - - // Retrieve the current display set in the display set sequence - const stageModel = this.getCurrentStageModel(); - - // If the current display set does not fulfill the requirements to be displayed, - // stop here. - if (!stageModel || - !stageModel.viewportStructure || - !stageModel.viewports || - !stageModel.viewports.length) { - return; - } - - // Retrieve the layoutTemplate associated with the current display set's viewport structure - // If no such template name exists, stop here. - const layoutTemplateName = stageModel.viewportStructure.getLayoutTemplateName(); - if (!layoutTemplateName) { - return; - } - - // Retrieve the properties associated with the current display set's viewport structure template - // If no such layout properties exist, stop here. - const layoutProps = stageModel.viewportStructure.properties; - if (!layoutProps) { - return; - } - - // Create an empty array to store the output viewportData - const viewportData = []; - - // Empty the matchDetails associated with the ProtocolEngine. - // This will be used to store the pass/fail details and score - // for each of the viewport matching procedures - this.matchDetails = []; - - // Loop through each viewport - stageModel.viewports.forEach((viewport, viewportIndex) => { - const details = this.matchImages(viewport, viewportIndex); - - this.matchDetails[viewportIndex] = details; - - // Convert any YES/NO values into true/false for Cornerstone - const cornerstoneViewportParams = {}; - - // Cache viewportSettings keys - const viewportSettingsKeys = Object.keys(viewport.viewportSettings); - - viewportSettingsKeys.forEach(key => { - let value = viewport.viewportSettings[key]; - if (value === 'YES') { - value = true; - } else if (value === 'NO') { - value = false; - } - - cornerstoneViewportParams[key] = value; - }); - - // imageViewerViewports occasionally needs relevant layout data in order to set - // the element style of the viewport in question - const currentViewportData = { - viewportIndex, - viewport: cornerstoneViewportParams, - ...layoutProps - }; - - const customSettings = []; - viewportSettingsKeys.forEach(id => { - const setting = HP.CustomViewportSettings[id]; - if (!setting) { - return; - } - - customSettings.push({ - id: id, - value: viewport.viewportSettings[id] - }); - }); - - currentViewportData.renderedCallback = element => { - //console.log('renderedCallback for ' + element.id); - customSettings.forEach(customSetting => { - OHIF.log.info(`ProtocolEngine::currentViewportData.renderedCallback Applying custom setting: ${customSetting.id}`); - OHIF.log.info(`ProtocolEngine::currentViewportData.renderedCallback with value: ${customSetting.value}`); - - const setting = HP.CustomViewportSettings[customSetting.id]; - setting.callback(element, customSetting.value); - }); - }; - - let currentMatch = details.bestMatch; - let currentPosition = 1; - const scoresLength = details.matchingScores.length; - while (currentPosition < scoresLength && _.findWhere(viewportData, { - imageId: currentMatch.imageId - })) { - currentMatch = details.matchingScores[currentPosition]; - currentPosition++; - } - - if (currentMatch && currentMatch.imageId) { - currentViewportData.studyInstanceUid = currentMatch.studyInstanceUid; - currentViewportData.seriesInstanceUid = currentMatch.seriesInstanceUid; - currentViewportData.sopInstanceUid = currentMatch.sopInstanceUid; - currentViewportData.currentImageIdIndex = currentMatch.currentImageIdIndex; - currentViewportData.displaySetInstanceUid = currentMatch.displaySetInstanceUid; - currentViewportData.imageId = currentMatch.imageId; - } - - // @TODO Why should we throw an exception when a best match is not found? This was aborting the whole process. - // if (!currentViewportData.displaySetInstanceUid) { - // throw new OHIFError('ProtocolEngine::updateViewports No matching display set found?'); - // } - - viewportData.push(currentViewportData); - }); - - this.LayoutManager.layoutTemplateName = layoutTemplateName; - this.LayoutManager.layoutProps = layoutProps; - this.LayoutManager.viewportData = viewportData; - - if (viewportIndex !== undefined && viewportData[viewportIndex]) { - this.LayoutManager.rerenderViewportWithNewDisplaySet(viewportIndex, viewportData[viewportIndex]); - } else { - this.LayoutManager.updateViewports(); - } - } - - /** - * Sets the current Hanging Protocol to the specified Protocol - * An optional argument can also be used to prevent the updating of the Viewports - * - * @param newProtocol - * @param updateViewports - */ - setHangingProtocol(newProtocol, updateViewports = true) { - OHIF.log.info('ProtocolEngine::setHangingProtocol newProtocol', newProtocol); - OHIF.log.info(`ProtocolEngine::setHangingProtocol updateViewports = ${updateViewports}`); - - // Reset the array of newStageIds - this.newStageIds = []; - - if (HP.Protocol.prototype.isPrototypeOf(newProtocol)) { - this.protocol = newProtocol; - } else { - this.protocol = new HP.Protocol(); - this.protocol.fromObject(newProtocol); - } - - this.stage = 0; - - // Update viewports by default - if (updateViewports) { - this.updateViewports(); - } - - MatchedProtocols.update({}, { - $set: { - selected: false - } - }, { - multi: true - }); - - MatchedProtocols.update({ - id: this.protocol.id - }, { - $set: { - selected: true - } - }); - - Session.set('HangingProtocolName', this.protocol.name); - Session.set('HangingProtocolStage', this.stage); - } - - /** - * Check if the next stage is available - * @return {Boolean} True if next stage is available or false otherwise - */ - isNextStageAvailable() { - const numberOfStages = this.getNumProtocolStages(); - - return this.stage + 1 < numberOfStages; - } - - /** - * Check if the previous stage is available - * @return {Boolean} True if previous stage is available or false otherwise - */ - isPreviousStageAvailable() { - return this.stage - 1 >= 0; - } - - /** - * Changes the current stage to a new stage index in the display set sequence. - * It checks if the next stage exists. - * - * @param {Integer} stageAction An integer value specifying wheater next (1) or previous (-1) stage - * @return {Boolean} True if new stage has set or false, otherwise - */ - setCurrentProtocolStage(stageAction) { - // Check if previous or next stage is available - if (stageAction === -1 && !this.isPreviousStageAvailable()) { - return false; - } else if (stageAction === 1 && !this.isNextStageAvailable()) { - return false; - } - - // Sets the new stage - this.stage += stageAction; - - // Log the new stage - OHIF.log.info(`ProtocolEngine::setCurrentProtocolStage stage = ${this.stage}`); - - // Set stage Session variable for reactivity - Session.set('HangingProtocolStage', this.stage); - - // Since stage has changed, we need to update the viewports - // and redo matchings - this.updateViewports(); - - // Everything went well - return true; - } - - /** - * Retrieves the number of Stages in the current Protocol or - * undefined if no protocol or stages are set - */ - getNumProtocolStages() { - if (!this.protocol || !this.protocol.stages || !this.protocol.stages.length) { - return; - } - - return this.protocol.stages.length; - } - - /** - * Switches to the next protocol stage in the display set sequence - */ - nextProtocolStage() { - OHIF.log.info('ProtocolEngine::nextProtocolStage'); - - if (!this.setCurrentProtocolStage(1)) { - // Just for logging purpose - OHIF.log.info('ProtocolEngine::nextProtocolStage failed'); - } - } - - /** - * Switches to the previous protocol stage in the display set sequence - */ - previousProtocolStage() { - OHIF.log.info('ProtocolEngine::previousProtocolStage'); - - if (!this.setCurrentProtocolStage(-1)) { - // Just for logging purpose - OHIF.log.info('ProtocolEngine::previousProtocolStage failed'); - } - } -}; diff --git a/Packages/ohif-hanging-protocols/client/protocolStore/defaultStrategy.js b/Packages/ohif-hanging-protocols/client/protocolStore/defaultStrategy.js deleted file mode 100644 index 892dea73b..000000000 --- a/Packages/ohif-hanging-protocols/client/protocolStore/defaultStrategy.js +++ /dev/null @@ -1,149 +0,0 @@ -import { Mongo } from 'meteor/mongo'; - -// The ProtocolStore default strategy is used to persist hanging protocols in -// the MongoDB collection 'HangingProtocols' in the application server. -var defaultStrategy = (function () { - const HangingProtocols = new Mongo.Collection(null); - - let defaultsAdded = false; - - function addDefaultProtocols() { - console.log('Inserting default protocols'); - - addProtocol(HP.defaultProtocol); - - defaultsAdded = true; - } - - function getDatabaseIdByProtocolId(protocolId) { - const filteredProtocol = HangingProtocols.findOne({ - id: protocolId - }, { - fields: { - _id: true - } - }); - - if (!filteredProtocol) { - return; - } - - return filteredProtocol._id; - } - - /** - * Registers a function to be called when the hangingprotocols collection is subscribed - * The callback is called only one time when the subscription is ready - * - * @param callback The function to be called as a callback - */ - function onReady(callback) { - if (!defaultsAdded) { - addDefaultProtocols(); - } - - callback(); - } - - /** - * Gets the hanging protocol by protocolId if defined, otherwise all stored hanging protocols - * - * @param protocolId The protocol ID used to find the hanging protocol - * @returns {object|array} The hanging protocol by protocolId or array of the stored hanging protocols - */ - function getProtocol(protocolId) { - // Return the hanging protocol by protocolId if defined - if (protocolId) { - return HangingProtocols.findOne({ - id: protocolId - }); - } - - // Otherwise, return all protocols - return HangingProtocols.find().fetch(); - } - - /** - * Stores the hanging protocol - * - * @param protocol The hanging protocol to be stored - */ - function addProtocol(protocol) { - // Collections can only be updated by database ID (_id) on client, so - // get the database ID (_id) by the hanging protocol ID firstly - const databaseId = getDatabaseIdByProtocolId(protocol.id); - - // Remove any MongoDB ID the protocol may have had - delete protocol._id; - - // Update the protocol with the same id if exists instead of inserting this protocol - if (databaseId) { - // Update the hanging protocol by the database ID - HangingProtocols.update(databaseId, { - $set: protocol - }); - - return; - } - - // Insert the protocol - HangingProtocols.insert(protocol); - } - - /** - * Updates the hanging protocol by protocolId - * - * @param protocolId The protocol ID used to find the hanging protocol to update - * @param protocol The updated hanging protocol - */ - function updateProtocol(protocolId, protocol) { - // Collections can only be updated by database ID (_id) on client, so - // get the database ID (_id) by the hanging protocol ID firstly - const databaseId = getDatabaseIdByProtocolId(protocolId); - - // Skip if it does not exist in database - if (!databaseId) { - return; - } - - // Remove any MongoDB ID the protocol may have had - delete protocol._id; - - // Update the hanging protocol by the database ID - HangingProtocols.update(databaseId, { - $set: protocol - }); - } - - /** - * Removes the hanging protocol - * - * @param protocolId The protocol ID used to remove the hanging protocol - */ - function removeProtocol(protocolId) { - // Collections can only be removed by database ID (_id) on client, so - // get the database ID (_id) by the hanging protocol ID firstly - const databaseId = getDatabaseIdByProtocolId(protocolId); - - // Skip if it does not exist in database - if (!databaseId) { - return; - } - - // Remove the hanging protocol by the database ID - HangingProtocols.remove(databaseId); - } - - // Module Exports - return { - onReady: onReady, - getProtocol: getProtocol, - addProtocol: addProtocol, - updateProtocol: updateProtocol, - removeProtocol: removeProtocol - }; - -})(); - -HP.ProtocolStore.setStrategy(defaultStrategy); - diff --git a/Packages/ohif-hanging-protocols/client/protocolStore/protocolStore.js b/Packages/ohif-hanging-protocols/client/protocolStore/protocolStore.js deleted file mode 100644 index dc79a3ece..000000000 --- a/Packages/ohif-hanging-protocols/client/protocolStore/protocolStore.js +++ /dev/null @@ -1,113 +0,0 @@ -// The ProtocolStore module allows persisting hanging protocols using different strategies. -// For example, one strategy stores hanging protocols in the application server while -// another strategy stores them in a remote machine, but only one strategy can be used at a time. - -HP.ProtocolStore = (function () { - - var strategy; - - /** - * Sets the strategy used to persist hanging protocols - * - * @param preferredStrategy A preferred strategy will be using to persist hanging protocols - */ - function setStrategy(preferredStrategy) { - strategy = preferredStrategy; - } - - /** - * Registers a function to be called when the protocol store is ready to persist hanging protocols - * - * NOTE: Strategies should implement this function - * - * @param callback The function to be called as a callback - */ - function onReady(callback) { - strategy.onReady(callback); - } - - /** - * Get a HP.Protocol instance for the given protocol object - * @param {Object} protocolObject Protocol plain object - * @return {HP.Protocol} HP.Protocol instance for the given protocol object - */ - function getProtocolInstance(protocolObject) { - const protocolInstance = new HP.Protocol(); - protocolInstance.fromObject(protocolObject); - - return protocolInstance; - } - - /** - * Gets the hanging protocol by protocolId if defined, otherwise all stored hanging protocols - * - * NOTE: Strategies should implement this function - * - * @param protocolId The protocol ID used to find the hanging protocol - * @returns {object|array} The hanging protocol by protocolId or array of the stored hanging protocols - */ - function getProtocol(protocolId) { - let result = strategy.getProtocol(protocolId); - - // If result is an array of protocols objects - if (result instanceof Array) { - result.forEach( (protocol, index) => { - // Check if protocol is an instance of HP.Protocol - if (!(protocol instanceof HP.Protocol)) { - result[index] = getProtocolInstance(protocol); - } - }); - } else if (result !== void 0 && !(result instanceof HP.Protocol)) { - // Check if result exists and is not an instance of HP.Protocol - result = getProtocolInstance(result); - } - - - return result; - } - - /** - * Stores the hanging protocol - * - * NOTE: Strategies should implement this function - * - * @param protocol The hanging protocol to be stored - */ - function addProtocol(protocol) { - strategy.addProtocol(protocol); - } - - /** - * Updates the hanging protocol by protocolId - * - * NOTE: Strategies should implement this function - * - * @param protocolId The protocol ID used to find the hanging protocol to update - * @param protocol The updated hanging protocol - */ - function updateProtocol(protocolId, protocol) { - strategy.updateProtocol(protocolId, protocol); - } - - /** - * Removes the hanging protocol - * - * NOTE: Strategies should implement this function - * - * @param protocolId The protocol ID used to remove the hanging protocol - */ - function removeProtocol(protocolId) { - strategy.removeProtocol(protocolId); - } - - // Module Exports - return { - setStrategy: setStrategy, - onReady: onReady, - getProtocol: getProtocol, - addProtocol: addProtocol, - updateProtocol: updateProtocol, - removeProtocol: removeProtocol - }; - -})(); diff --git a/Packages/ohif-hanging-protocols/client/schema.js b/Packages/ohif-hanging-protocols/client/schema.js deleted file mode 100644 index 5da30557f..000000000 --- a/Packages/ohif-hanging-protocols/client/schema.js +++ /dev/null @@ -1,13 +0,0 @@ -// @TODO start using namespace instead - -// Base classes -import './classes/Protocol'; -import './classes/Stage'; -import './classes/Viewport'; -import './classes/ViewportStructure'; - -// Specialized Rule classes -import './classes/rules/ProtocolMatchingRule'; -import './classes/rules/StudyMatchingRule'; -import './classes/rules/SeriesMatchingRule'; -import './classes/rules/ImageMatchingRule'; diff --git a/Packages/ohif-hanging-protocols/client/testData.js b/Packages/ohif-hanging-protocols/client/testData.js deleted file mode 100644 index da0dc7890..000000000 --- a/Packages/ohif-hanging-protocols/client/testData.js +++ /dev/null @@ -1,1353 +0,0 @@ -function getDefaultProtocol() { - var protocol = new HP.Protocol('Default'); - protocol.id = 'defaultProtocol'; - protocol.locked = true; - - var oneByOne = new HP.ViewportStructure('grid', { - rows: 1, - columns: 1 - }); - - var viewport = new HP.Viewport(); - var first = new HP.Stage(oneByOne, 'oneByOne'); - first.viewports.push(viewport); - - protocol.stages.push(first); - - HP.defaultProtocol = protocol; - return HP.defaultProtocol; -} - -function getMRTwoByTwoTest() { - var proto = new HP.Protocol('MR_TwoByTwo'); - proto.id = 'MR_TwoByTwo'; - proto.locked = true; - // Use http://localhost:3000/viewer/1.2.840.113619.2.5.1762583153.215519.978957063.78 - - var studyInstanceUid = new HP.ProtocolMatchingRule('studyInstanceUid', { - equals: { - value: '1.2.840.113619.2.5.1762583153.215519.978957063.78' - } - }, true); - - proto.addProtocolMatchingRule(studyInstanceUid); - - var oneByTwo = new HP.ViewportStructure('grid', { - rows: 1, - columns: 2 - }); - - // Stage 1 - var left = new HP.Viewport(); - var right = new HP.Viewport(); - - var firstSeries = new HP.SeriesMatchingRule('seriesNumber', { - equals: { - value: 1 - } - }); - - var secondSeries = new HP.SeriesMatchingRule('seriesNumber', { - equals: { - value: 2 - } - }); - - var thirdImage = new HP.ImageMatchingRule('instanceNumber', { - equals: { - value: 3 - } - }); - - left.seriesMatchingRules.push(firstSeries); - left.imageMatchingRules.push(thirdImage); - - right.seriesMatchingRules.push(secondSeries); - right.imageMatchingRules.push(thirdImage); - - var first = new HP.Stage(oneByTwo, 'oneByTwo'); - first.viewports.push(left); - first.viewports.push(right); - - proto.stages.push(first); - - // Stage 2 - var twoByOne = new HP.ViewportStructure('grid', { - rows: 2, - columns: 1 - }); - var left2 = new HP.Viewport(); - var right2 = new HP.Viewport(); - - var fourthSeries = new HP.SeriesMatchingRule('seriesNumber', { - equals: { - value: 4 - } - }); - - var fifthSeries = new HP.SeriesMatchingRule('seriesNumber', { - equals: { - value: 5 - } - }); - - left2.seriesMatchingRules.push(fourthSeries); - left2.imageMatchingRules.push(thirdImage); - right2.seriesMatchingRules.push(fifthSeries); - right2.imageMatchingRules.push(thirdImage); - - var second = new HP.Stage(twoByOne, 'twoByOne'); - second.viewports.push(left2); - second.viewports.push(right2); - - proto.stages.push(second); - - HP.testProtocol = proto; - return HP.testProtocol; -} - -function getDemoProtocols() { - - HP.demoProtocols = []; - - /** - * Demo #1 - */ - HP.demoProtocols.push({ - "id": "demoProtocol1", - "locked": false, - "name": "DFCI-CT-CHEST-COMPARE", - "createdDate": "2017-02-14T16:07:09.033Z", - "modifiedDate": "2017-02-14T16:18:43.930Z", - "availableTo": {}, - "editableBy": {}, - "protocolMatchingRules": [ - { - "id": "7tmuq7KzDMCWFeapc", - "weight": 2, - "required": false, - "attribute": "x00081030", - "constraint": { - "contains": { - "value": "DFCI CT CHEST" - } - } - } - ], - "stages": [ - { - "id": "v5PfGt9F6mffZPif5", - "name": "oneByOne", - "viewportStructure": { - "type": "grid", - "properties": { - "rows": 1, - "columns": 2 - }, - "layoutTemplateName": "gridLayout" - }, - "viewports": [ - { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [ - { - "id": "mXnsCcNzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "2.0" - } - } - } - ], - "studyMatchingRules": [] - }, - { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [ - { - "id": "ygz4nb28iJZcJhnYa", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "2.0" - } - } - } - ], - "studyMatchingRules": [ - { - "id": "uDoEgLTvnXTByWnPz", - "weight": 1, - "required": false, - "attribute": "abstractPriorValue", - "constraint": { - "equals": { - "value": 1 - } - } - } - ] - } - ], - "createdDate": "2017-02-14T16:07:09.033Z" - }, - { - "id": "XTzu8HB3feep3HYKs", - "viewportStructure": { - "type": "grid", - "properties": { - "rows": 1, - "columns": 2 - }, - "layoutTemplateName": "gridLayout" - }, - "viewports": [ - { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [ - { - "id": "mXnsCcNzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "3.0" - } - } - } - ], - "studyMatchingRules": [] - }, - { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [ - { - "id": "ygz4nb28iJZcJhnYa", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "3.0" - } - } - } - ], - "studyMatchingRules": [ - { - "id": "uDoEgLTvnXTByWnPz", - "weight": 1, - "required": false, - "attribute": "abstractPriorValue", - "constraint": { - "equals": { - "value": 1 - } - } - } - ] - } - ], - "createdDate": "2017-02-14T16:07:12.085Z" - }, - { - "id": "3yPYNaeFtr76Qz3jq", - "viewportStructure": { - "type": "grid", - "properties": { - "rows": 2, - "columns": 2 - }, - "layoutTemplateName": "gridLayout" - }, - "viewports": [ - { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [ - { - "id": "mXnsCcNzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Body 3.0" - } - } - } - ], - "studyMatchingRules": [] - }, - { - "viewportSettings": { - "wlPreset": "Lung" - }, - "imageMatchingRules": [], - "seriesMatchingRules": [ - { - "id": "ygz4nb28iJZcJhnYa", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Lung 3.0" - } - } - } - ], - "studyMatchingRules": [] - }, - { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [ - { - "id": "6vdBRZYnqmmosipph", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Body 3.0" - } - } - } - ], - "studyMatchingRules": [ - { - "id": "SxfTyhGcMhr56PtPM", - "weight": 1, - "required": false, - "attribute": "abstractPriorValue", - "constraint": { - "equals": { - "value": 1 - } - } - } - ] - }, - { - "viewportSettings": { - "wlPreset": "Lung" - }, - "imageMatchingRules": [], - "seriesMatchingRules": [ - { - "id": "FTAyChZCPW68yJjXD", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Lung 3.0" - } - } - } - ], - "studyMatchingRules": [ - { - "id": "gMJjfrbsqYNbErPx5", - "weight": 1, - "required": false, - "attribute": "abstractPriorValue", - "constraint": { - "equals": { - "value": 1 - } - } - } - ] - } - ], - "createdDate": "2017-02-14T16:11:40.489Z" - } - ], - "numberOfPriorsReferenced": 4 - }); - - /** - * Demo #2 - */ - - HP.demoProtocols.push({ - "id": "demoProtocol2", - "locked": false, - "name": "DFCI-CT-CHEST-COMPARE-2", - "createdDate": "2017-02-14T16:07:09.033Z", - "modifiedDate": "2017-02-14T16:18:43.930Z", - "availableTo": {}, - "editableBy": {}, - "protocolMatchingRules": [{ - "id": "7tmuq7KzDMCWFeapc", - "weight": 2, - "required": false, - "attribute": "x00081030", - "constraint": { - "contains": { - "value": "DFCI CT CHEST" - } - } - }], - "stages": [{ - "id": "v5PfGt9F6mffZPif5", - "name": "oneByOne", - "viewportStructure": { - "type": "grid", - "properties": { - "rows": 1, - "columns": 2 - }, - "layoutTemplateName": "gridLayout" - }, - "viewports": [{ - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZL56z7mac", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "2.0" - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "ygz4nb28iJZcJhnYc", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "2.0" - } - } - }], - "studyMatchingRules": [{ - "id": "uDoEgLTvnXTByWnPt", - "weight": 1, - "required": false, - "attribute": "abstractPriorValue", - "constraint": { - "equals": { - "value": 1 - } - } - }] - }], - "createdDate": "2017-02-14T16:07:09.033Z" - }, { - "id": "XTzu8HB3feep3HYKs", - "viewportStructure": { - "type": "grid", - "properties": { - "rows": 1, - "columns": 2 - }, - "layoutTemplateName": "gridLayout" - }, - "viewports": [{ - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Body 3.0" - } - } - }, { - "id": "mYnsCcNwZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Body 5.0" - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "ygz4nb28iJZcJhnYa", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Body 3.0" - } - } - }, { - "id": "ygz4nb29iJZcJhnYa", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Body 5.0" - } - } - }], - "studyMatchingRules": [{ - "id": "uDoEgLTvnXTByWnPz", - "weight": 1, - "required": false, - "attribute": "abstractPriorValue", - "constraint": { - "equals": { - "value": 1 - } - } - }] - }], - "createdDate": "2017-02-14T16:07:12.085Z" - }, { - "id": "3yPYNaeFtr76Qz3jq", - "viewportStructure": { - "type": "grid", - "properties": { - "rows": 2, - "columns": 2 - }, - "layoutTemplateName": "gridLayout" - }, - "viewports": [{ - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZL56z7mtr", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Body 3.0" - } - } - }, { - "id": "jXnsCcNzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Body 5.0" - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": { - "wlPreset": "Lung" - }, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "ygz4nb28iJZcJhnYb", - "weight": 2, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Lung 3.0" - } - } - }, { - "id": "ycz4nb28iJZcJhnYa", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Lung 5.0" - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "6vdBRZYnqmmosipph", - "weight": 2, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Body 3.0" - } - } - }, { - "id": "6vdBRFYnqmmosipph", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Body 5.0" - } - } - }], - "studyMatchingRules": [{ - "id": "SxfTyhGcMhr56PtPM", - "weight": 1, - "required": false, - "attribute": "abstractPriorValue", - "constraint": { - "equals": { - "value": 1 - } - } - }] - }, { - "viewportSettings": { - "wlPreset": "Lung" - }, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "FTAyChZCPW68yJjXD", - "weight": 2, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Lung 3.0" - } - } - }, { - "id": "DTAyChZCPW68yJjXD", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Lung 5.0" - } - } - }], - "studyMatchingRules": [{ - "id": "gMJjfrbsqYNbErPx5", - "weight": 1, - "required": false, - "attribute": "abstractPriorValue", - "constraint": { - "equals": { - "value": 1 - } - } - }] - }], - "createdDate": "2017-02-14T16:11:40.489Z" - }], - "numberOfPriorsReferenced": 1 - }); - - /** - * Demo: screenCT - */ - - HP.demoProtocols.push({ - "id": "screenCT", - "locked": false, - "name": "DFCI-CT-CHEST-SCREEN", - "createdDate": "2017-02-14T16:07:09.033Z", - "modifiedDate": "2017-02-14T16:18:43.930Z", - "availableTo": {}, - "editableBy": {}, - "protocolMatchingRules": [{ - "id": "7tmuq7KzDMCWFeapc", - "weight": 2, - "required": false, - "attribute": "x00081030", - "constraint": { - "contains": { - "value": "DFCI CT CHEST" - } - } - }], - "stages": [{ - "id": "v5PfGt9F6mffZPif5", - "name": "oneByOne", - "viewportStructure": { - "type": "grid", - "properties": { - "rows": 1, - "columns": 1 - }, - "layoutTemplateName": "gridLayout" - }, - "viewports": [{ - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZL55z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "2.0" - } - } - }], - "studyMatchingRules": [] - }], - "createdDate": "2017-02-14T16:07:09.033Z" - }, - { - "id": "v5PfGt9F4mffZPif5", - "name": "oneByOne", - "viewportStructure": { - "type": "grid", - "properties": { - "rows": 2, - "columns": 2 - }, - "layoutTemplateName": "gridLayout" - }, - "viewports": [{ - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZL56z7nTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Body 5.0" - } - } - }, { - "id": "mXnsCcNzZL56z7rTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Body 3.0" - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZL56r7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Lung 5.0" - } - } - }, { - "id": "mXnsCcNzZL56a7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Lung 3.0" - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcRzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Body 4.0" - } - } - }, { - "id": "mXnsCcNzTL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Coronal" - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcMzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Body 4.0" - } - } - }, { - "id": "mXnsCcAzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Sagittal" - } - } - }], - "studyMatchingRules": [] - }], - "createdDate": "2017-02-14T16:07:09.033Z" - }], - "numberOfPriorsReferenced": 0 - }); - - /** - * Demo: PETCTSCREEN - */ - - HP.demoProtocols.push({ - "id": "PETCTSCREEN", - "locked": false, - "name": "PETCT-SCREEN", - "createdDate": "2017-02-14T16:07:09.033Z", - "modifiedDate": "2017-02-14T16:18:43.930Z", - "availableTo": {}, - "editableBy": {}, - "protocolMatchingRules": [{ - "id": "7tmuqgKzDMCWFeapc", - "weight": 5, - "required": false, - "attribute": "x00081030", - "constraint": { - "contains": { - "value": "PETCT" - } - } - }], - "stages": [{ - "id": "v5PfGt9F6mFgZPif5", - "name": "oneByOne", - "viewportStructure": { - "type": "grid", - "properties": { - "rows": 1, - "columns": 2 - }, - "layoutTemplateName": "gridLayout" - }, - "viewports": [{ - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcAzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Topogram" - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZR56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Topogram" - } - } - }, { - "id": "mRnsCcNzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x00200011", - "constraint": { - "numericality": { - "greaterThanOrEqualTo": 2 - } - } - }], - "studyMatchingRules": [] - }], - "createdDate": "2017-02-14T16:07:09.033Z" - }, { - "id": "v5PfGt9F6mFgZPif5", - "name": "oneByOne", - "viewportStructure": { - "type": "grid", - "properties": { - "rows": 1, - "columns": 2 - }, - "layoutTemplateName": "gridLayout" - }, - "viewports": [{ - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsGcNzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "PET WB Corrected" - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsHcNzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "CT WB" - } - } - }], - "studyMatchingRules": [] - }], - "createdDate": "2017-02-14T16:07:09.033Z" - }, { - "id": "v5PfGt9F6mFgZPif5", - "name": "oneByOne", - "viewportStructure": { - "type": "grid", - "properties": { - "rows": 1, - "columns": 2 - }, - "layoutTemplateName": "gridLayout" - }, - "viewports": [{ - "viewportSettings": { - "invert": "YES" - }, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXneCcNzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "PET WB Uncorrected" - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCuNzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "CT Nk" - } - } - }], - "studyMatchingRules": [] - }], - "createdDate": "2017-02-14T16:07:09.033Z" - }], - "numberOfPriorsReferenced": 0 - }); - - /** - * Demo: PETCTCOMPARE - */ - - HP.demoProtocols.push({ - "id": "PETCTCOMPARE", - "locked": false, - "name": "PETCT-COMPARE", - "createdDate": "2017-02-14T16:07:09.033Z", - "modifiedDate": "2017-02-14T16:18:43.930Z", - "availableTo": {}, - "editableBy": {}, - "protocolMatchingRules": [{ - "id": "7tmuqgKzDMCWFeapc", - "weight": 5, - "required": false, - "attribute": "x00081030", - "constraint": { - "contains": { - "value": "PETCT" - } - } - }], - "stages": [{ - "id": "v5PfGt9F6mFgZPif5", - "name": "oneByOne", - "viewportStructure": { - "type": "grid", - "properties": { - "rows": 1, - "columns": 2 - }, - "layoutTemplateName": "gridLayout" - }, - "viewports": [{ - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZL59z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Topogram" - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZL56z7lTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Topogram" - } - } - }], - "studyMatchingRules": [{ - "id": "uDoEgLTbnXTByWnPz", - "weight": 1, - "required": false, - "attribute": "abstractPriorValue", - "constraint": { - "equals": { - "value": 1 - } - } - }] - }], - "createdDate": "2017-02-14T16:07:09.033Z" - }, { - "id": "v5PfGt9F6mFgZPif5", - "name": "oneByOne", - "viewportStructure": { - "type": "grid", - "properties": { - "rows": 1, - "columns": 2 - }, - "layoutTemplateName": "gridLayout" - }, - "viewports": [{ - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNjZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Topogram" - } - } - }, { - "id": "mXnsCcNzZL56z7gTZ", - "weight": 1, - "required": false, - "attribute": "x00200011", - "constraint": { - "numericality": { - "greaterThanOrEqualTo": 2 - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcCzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "Topogram" - } - } - }, { - "id": "mXnsCcNzZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x00200011", - "constraint": { - "numericality": { - "greaterThanOrEqualTo": 2 - } - } - }], - "studyMatchingRules": [{ - "id": "uDoEgLTvn1TByWnPz", - "weight": 1, - "required": false, - "attribute": "abstractPriorValue", - "constraint": { - "equals": { - "value": 1 - } - } - }] - }], - "createdDate": "2017-02-14T16:07:09.033Z" - }, { - "id": "v5PfGt9F6mFgZPif5", - "name": "oneByOne", - "viewportStructure": { - "type": "grid", - "properties": { - "rows": 2, - "columns": 2 - }, - "layoutTemplateName": "gridLayout" - }, - "viewports": [{ - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZL26z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "PET WB Corrected" - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZL46z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "CT WB" - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZL57z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "PET WB Corrected" - } - } - }], - "studyMatchingRules": [{ - "id": "uDoEgLTvnYTByWnPz", - "weight": 1, - "required": false, - "attribute": "abstractPriorValue", - "constraint": { - "equals": { - "value": 1 - } - } - }] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZQ56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "CT WB" - } - } - }], - "studyMatchingRules": [{ - "id": "uDoEgLTvnKTByWnPz", - "weight": 1, - "required": false, - "attribute": "abstractPriorValue", - "constraint": { - "equals": { - "value": 1 - } - } - }] - }], - "createdDate": "2017-02-14T16:07:09.033Z" - }, { - "id": "v5PfGt9F6mFgZPif5", - "name": "oneByOne", - "viewportStructure": { - "type": "grid", - "properties": { - "rows": 2, - "columns": 2 - }, - "layoutTemplateName": "gridLayout" - }, - "viewports": [{ - "viewportSettings": { - "invert": "YES" - }, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZL56z7nTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "PET WB Uncorrected" - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNxZL56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "CT Nk" - } - } - }], - "studyMatchingRules": [] - }, { - "viewportSettings": { - "invert": "YES" - }, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZA56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "PET WB Uncorrected" - } - } - }], - "studyMatchingRules": [{ - "id": "uDoEgHTvnXTByWnPz", - "weight": 1, - "required": false, - "attribute": "abstractPriorValue", - "constraint": { - "equals": { - "value": 1 - } - } - }] - }, { - "viewportSettings": {}, - "imageMatchingRules": [], - "seriesMatchingRules": [{ - "id": "mXnsCcNzZP56z7mTZ", - "weight": 1, - "required": false, - "attribute": "x0008103e", - "constraint": { - "contains": { - "value": "CT Nk" - } - } - }], - "studyMatchingRules": [{ - "id": "uDoEgITvnXTByWnPz", - "weight": 1, - "required": false, - "attribute": "abstractPriorValue", - "constraint": { - "equals": { - "value": 1 - } - } - }] - }], - "createdDate": "2017-02-14T16:07:09.033Z" - }], - "numberOfPriorsReferenced": 1 - }); - -} - -getDefaultProtocol(); -//getMRTwoByTwoTest(); -//getDemoProtocols(); diff --git a/Packages/ohif-hanging-protocols/package.js b/Packages/ohif-hanging-protocols/package.js deleted file mode 100755 index bb4812226..000000000 --- a/Packages/ohif-hanging-protocols/package.js +++ /dev/null @@ -1,83 +0,0 @@ -Package.describe({ - name: 'ohif:hanging-protocols', - summary: 'Support functions for using DICOM Hanging Protocols', - version: '0.0.1' -}); - -Npm.depends({ - 'validate.js': '0.9.0', - moment: '2.22.2', - jquery: '3.3.1', - 'ohif-core': 'file:///Users/Erik/Projects/OHIF/ohif-core/' -}); - -Package.onUse(function(api) { - api.versionsFrom('1.7'); - - api.use('ecmascript'); - api.use('stylus'); - api.use('templating'); - api.use('natestrauser:select2@4.0.1', 'client'); - - // Our custom packages - api.use('ohif:viewerbase'); - - api.addAssets('assets/dots.svg', 'client'); - - api.addFiles('client/namespace.js', 'client'); - api.addFiles('client/schema.js', 'client'); - api.addFiles('client/hardcodedData.js', 'client'); - api.addFiles('client/testData.js', 'client'); - api.addFiles('client/collections.js', 'client'); - api.addFiles('client/protocolEngine.js', 'client'); - api.addFiles('client/helpers/displayConstraint.js', 'client'); - api.addFiles('client/helpers/attributes.js', 'client'); - api.addFiles('client/protocolStore/protocolStore.js', 'client'); - api.addFiles('client/protocolStore/defaultStrategy.js', 'client'); - - // UI Components - api.addFiles('client/components/previousPresentationGroupButton/previousPresentationGroupButton.html', 'client'); - api.addFiles('client/components/previousPresentationGroupButton/previousPresentationGroupButton.js', 'client'); - - api.addFiles('client/components/nextPresentationGroupButton/nextPresentationGroupButton.html', 'client'); - api.addFiles('client/components/nextPresentationGroupButton/nextPresentationGroupButton.js', 'client'); - - api.addFiles('client/components/matchedProtocols/matchedProtocols.html', 'client'); - api.addFiles('client/components/matchedProtocols/matchedProtocols.styl', 'client'); - api.addFiles('client/components/matchedProtocols/matchedProtocols.js', 'client'); - - api.addFiles('client/components/protocolEditor/protocolEditor.html', 'client'); - api.addFiles('client/components/protocolEditor/protocolEditor.styl', 'client'); - api.addFiles('client/components/protocolEditor/protocolEditor.js', 'client'); - - api.addFiles('client/components/ruleTable/ruleTable.html', 'client'); - api.addFiles('client/components/ruleTable/ruleTable.styl', 'client'); - api.addFiles('client/components/ruleTable/ruleTable.js', 'client'); - - api.addFiles('client/components/ruleEntryDialog/ruleEntryDialog.html', 'client'); - api.addFiles('client/components/ruleEntryDialog/ruleEntryDialog.styl', 'client'); - api.addFiles('client/components/ruleEntryDialog/ruleEntryDialog.js', 'client'); - - api.addFiles('client/components/settingEntryDialog/settingEntryDialog.html', 'client'); - api.addFiles('client/components/settingEntryDialog/settingEntryDialog.styl', 'client'); - api.addFiles('client/components/settingEntryDialog/settingEntryDialog.js', 'client'); - - api.addFiles('client/components/textEntryDialog/textEntryDialog.html', 'client'); - api.addFiles('client/components/textEntryDialog/textEntryDialog.styl', 'client'); - api.addFiles('client/components/textEntryDialog/textEntryDialog.js', 'client'); - - api.addFiles('client/components/settingsTable/settingsTable.html', 'client'); - api.addFiles('client/components/settingsTable/settingsTable.styl', 'client'); - api.addFiles('client/components/settingsTable/settingsTable.js', 'client'); - - api.addFiles('client/components/stageDetails/stageDetails.html', 'client'); - api.addFiles('client/components/stageDetails/stageDetails.styl', 'client'); - api.addFiles('client/components/stageDetails/stageDetails.js', 'client'); - - api.addFiles('client/components/stageSortable/stageSortable.html', 'client'); - api.addFiles('client/components/stageSortable/stageSortable.styl', 'client'); - api.addFiles('client/components/stageSortable/stageSortable.js', 'client'); - - // Global exports - api.export('HP'); -}); diff --git a/Packages/ohif-measurement-table/client/configuration/configuration.js b/Packages/ohif-measurement-table/client/configuration/configuration.js deleted file mode 100644 index 2ad1fe1b0..000000000 --- a/Packages/ohif-measurement-table/client/configuration/configuration.js +++ /dev/null @@ -1,27 +0,0 @@ -import { OHIF } from 'ohif-core'; - -import { measurementTools } from './measurementTools'; -import { retrieveMeasurements, storeMeasurements, retrieveTimepoints, storeTimepoints, removeTimepoint, updateTimepoint, disassociateStudy } from './dataExchange'; - -export const configureApis = () => { - OHIF.measurements.MeasurementApi.setConfiguration({ - measurementTools, - dataExchange: { - retrieve: retrieveMeasurements, - store: storeMeasurements - }, - dataValidation: { - validation: () => {} - } - }); - - OHIF.measurements.TimepointApi.setConfiguration({ - dataExchange: { - retrieve: retrieveTimepoints, - store: storeTimepoints, - remove: removeTimepoint, - update: updateTimepoint, - disassociate: disassociateStudy - } - }); -}; diff --git a/Packages/ohif-measurement-table/client/configuration/dataExchange.js b/Packages/ohif-measurement-table/client/configuration/dataExchange.js deleted file mode 100644 index 22b6fd50f..000000000 --- a/Packages/ohif-measurement-table/client/configuration/dataExchange.js +++ /dev/null @@ -1,64 +0,0 @@ -import { OHIF } from 'ohif-core'; -import { retrieveMeasurementFromSR, stowSRFromMeasurements } from '../utils/handleSR'; -import { getLatestSRSeries } from '../utils/srUtils'; - -export const retrieveMeasurements = (patientId, timepointIds) => { - OHIF.log.info('retrieveMeasurements'); - - const latestSeries = getLatestSRSeries(); - - if(!latestSeries) return Promise.resolve({}); - - return retrieveMeasurementFromSR(latestSeries); -}; - -export const storeMeasurements = (measurementData, timepointIds) => { - OHIF.log.info('storeMeasurements'); - - const server = OHIF.servers.getCurrentServer(); - if (!server || server.type !== 'dicomWeb') { - return Promise.resolve({}); - } - - const studyInstanceUid = measurementData[Object.keys(measurementData)[0]][0].studyInstanceUid - - return stowSRFromMeasurements(measurementData).then( () => { - OHIF.studies.deleteStudyMetadataPromise(studyInstanceUid); - }, error => { - throw new Error(error); - }); -}; - -export const retrieveTimepoints = filter => { - const studyInstanceUids = OHIF.viewer.StudyMetadataList.all().map(study => study.getStudyInstanceUID()); - OHIF.log.info('retrieveTimepoints'); - - return Promise.resolve([{ - timepointType: 'baseline', - timepointId: 'TimepointId', - studyInstanceUids, - patientId: filter.patientId, - earliestDate: new Date(), - latestDate: new Date(), - isLocked: false - }]); -}; - -export const storeTimepoints = (timepointData) => { - OHIF.log.info('storeTimepoints'); - return Promise.resolve(); -}; - -export const updateTimepoint = (timepointData, query) => { - OHIF.log.info('updateTimepoint'); - return Promise.resolve(); -}; - -export const removeTimepoint = timepointId => { - OHIF.log.info('removeTimepoint'); - return Promise.resolve(); -}; - -export const disassociateStudy = (timepointIds, studyInstanceUid) => { - return Promise.resolve(); -}; diff --git a/Packages/ohif-measurement-table/client/configuration/measurementTools.js b/Packages/ohif-measurement-table/client/configuration/measurementTools.js deleted file mode 100644 index b1adf7fc5..000000000 --- a/Packages/ohif-measurement-table/client/configuration/measurementTools.js +++ /dev/null @@ -1,21 +0,0 @@ -import { ToolGroupBaseSchema } from '../schema/toolGroupSchema'; -import length from '../schema/length'; -import ellipticalRoi from '../schema/ellipticalRoi'; -import rectangleRoi from '../schema/rectangleRoi'; -import simpleAngle from '../schema/simpleAngle'; -import arrowAnnotate from '../schema/arrowAnnotate'; - -const trackedTools = [ - length, - ellipticalRoi, - rectangleRoi, - simpleAngle, - arrowAnnotate -]; - -export const measurementTools = [{ - id: 'allTools', - name: 'Measurements', - childTools: trackedTools, - schema: ToolGroupBaseSchema -}]; diff --git a/Packages/ohif-measurement-table/client/index.js b/Packages/ohif-measurement-table/client/index.js deleted file mode 100644 index bc42f2ba0..000000000 --- a/Packages/ohif-measurement-table/client/index.js +++ /dev/null @@ -1,123 +0,0 @@ -import { OHIF } from 'ohif-core'; -import { Session } from 'meteor/session'; -import { configureApis } from './configuration/configuration' - -class MeasurementTable { - constructor() { - configureApis(); - - Session.set('TimepointsReady', false); - Session.set('MeasurementsReady', false); - } - - async onCreated(instance) { - const { TimepointApi, MeasurementApi } = OHIF.measurements; - - OHIF.viewer.data.currentTimepointId = 'TimepointId'; - - const timepointApi = new TimepointApi(OHIF.viewer.data.currentTimepointId); - const measurementApi = new MeasurementApi(timepointApi); - const apis = { - timepointApi, - measurementApi - }; - - Object.assign(OHIF.viewer, apis); - Object.assign(instance.data, apis); - - const patientId = instance.data.studies[0].patientId; - - await timepointApi.retrieveTimepoints({ patientId }); - Session.set('TimepointsReady', true); - - await measurementApi.retrieveMeasurements(patientId, [OHIF.viewer.data.currentTimepointId]); - Session.set('MeasurementsReady', true); - - measurementApi.syncMeasurementsAndToolData(); - - this.firstMeasurementActivated = false; - - instance.autorun(() => { - if (!Session.get('TimepointsReady') || - !Session.get('MeasurementsReady') || - !Session.get('ViewerReady') || - this.firstMeasurementActivated) { - return; - } - - this.jumpToFirstMeasurement(); - - }); - - instance.measurementModifiedHandler = _.throttle((event, instance) => { - OHIF.measurements.MeasurementHandlers.onModified(event, instance); - }, 300); - } - - onDestroyed() { - Session.set('TimepointsReady', false); - Session.set('MeasurementsReady', false); - } - - jumpToFirstMeasurement() { - // Find and activate the first measurement by Lesion Number - // NOTE: This is inefficient, we should be using a hanging protocol - // to hang the first measurement's imageId immediately, rather - // than changing images after initial loading... - const config = OHIF.measurements.MeasurementApi.getConfiguration(); - const tools = config.measurementTools[0].childTools; - const firstTool = tools[Object.keys(tools)[0]]; - const measurementTypeId = firstTool.id; - - const collection = OHIF.viewer.measurementApi.tools[measurementTypeId]; - const sorting = { - sort: { - measurementNumber: -1 - } - }; - - const data = collection.find({}, sorting).fetch(); - - // TODO: Clean this up, it's probably an inefficient way to get what we need - const groupObject = _.groupBy(data, m => m.measurementNumber); - - // Reformat the data - const rows = Object.keys(groupObject).map(key => ({ - measurementTypeId: measurementTypeId, - measurementNumber: key, - entries: groupObject[key] - })); - - const rowItem = rows[0]; - const timepoints = [ - OHIF.viewer.timepointApi.current() - ]; - - if (rowItem) { - OHIF.measurements.jumpToRowItem(rowItem, timepoints); - } - - this.firstMeasurementActivated = true; - } - - static measurementEvents = { - 'cornerstonetoolsmeasurementadded .imageViewerViewport'(event, instance) { - const originalEvent = event.originalEvent; - OHIF.measurements.MeasurementHandlers.onAdded(originalEvent, instance); - }, - - 'cornerstonetoolsmeasurementmodified .imageViewerViewport'(event, instance) { - const originalEvent = event.originalEvent; - instance.measurementModifiedHandler(originalEvent, instance); - }, - - 'cornerstonemeasurementremoved .imageViewerViewport'(event, instance) { - const originalEvent = event.originalEvent; - OHIF.measurements.MeasurementHandlers.onRemoved(originalEvent, instance); - } - }; -}; - -export { - MeasurementTable -} diff --git a/Packages/ohif-measurement-table/client/schema/arrowAnnotate.js b/Packages/ohif-measurement-table/client/schema/arrowAnnotate.js deleted file mode 100644 index d54fcb4df..000000000 --- a/Packages/ohif-measurement-table/client/schema/arrowAnnotate.js +++ /dev/null @@ -1,68 +0,0 @@ -//import { SimpleSchema } from 'meteor/aldeed:simple-schema'; -import SimpleSchema from 'simpl-schema' -import { MeasurementSchemaTypes } from 'meteor/ohif:measurements/src/schema/measurements'; - -const CornerstoneHandleSchema = MeasurementSchemaTypes.CornerstoneHandleSchema; - -const handlesSchema = new SimpleSchema({ - start: { - type: CornerstoneHandleSchema, - label: 'Start' - }, - end: { - type: CornerstoneHandleSchema, - label: 'End' - }, - textBox: { - type: CornerstoneHandleSchema, - label: 'Text Box' - } -}); - -const toolSchema = new SimpleSchema([MeasurementSchemaTypes.CornerstoneToolMeasurement, { - handles: { - type: handlesSchema, - label: 'Handles' - }, - measurementNumber: { - type: Number, - label: 'Measurement Number' - }, - location: { - type: String, - label: 'Location', - optional: true - }, - description: { - type: String, - label: 'Description', - optional: true - }, - toolType: { - type: String, - label: 'Measurement Tool Type', - defaultValue: 'arrowAnnotate' - }, - text: { - type: String, - label: 'text', - optional: true - } -}]); - -const displayFunction = data => { - return data.text || ''; -}; - -export default { - id: 'arrowAnnotate', - name: 'ArrowAnnotate', - toolGroup: 'allTools', - cornerstoneToolType: 'arrowAnnotate', - schema: toolSchema, - options: { - measurementTable: { - displayFunction - } - } -}; diff --git a/Packages/ohif-measurement-table/client/schema/ellipticalRoi.js b/Packages/ohif-measurement-table/client/schema/ellipticalRoi.js deleted file mode 100644 index 04fa4fa0f..000000000 --- a/Packages/ohif-measurement-table/client/schema/ellipticalRoi.js +++ /dev/null @@ -1,105 +0,0 @@ -//import { SimpleSchema } from 'meteor/aldeed:simple-schema'; -import SimpleSchema from 'simpl-schema' -import { MeasurementSchemaTypes } from 'meteor/ohif:measurements/src/schema/measurements'; - -const CornerstoneHandleSchema = MeasurementSchemaTypes.CornerstoneHandleSchema; - -const handlesSchema = new SimpleSchema({ - start: { - type: CornerstoneHandleSchema, - label: 'Start' - }, - end: { - type: CornerstoneHandleSchema, - label: 'End' - }, - textBox: { - type: CornerstoneHandleSchema, - label: 'Text Box' - }, -}); - -const MeanStdDevSchema = new SimpleSchema({ - count: { - type: Number, - label: 'count', - decimal: true - }, - mean: { - type: Number, - label: 'mean', - decimal: true - }, - stdDev: { - type: Number, - label: 'stdDev', - decimal: true - }, - variance: { - type: Number, - label: 'variance', - decimal: true - } - -}); - -const toolSchema = new SimpleSchema([MeasurementSchemaTypes.CornerstoneToolMeasurement, { - handles: { - type: handlesSchema, - label: 'Handles' - }, - measurementNumber: { - type: Number, - label: 'Measurement Number' - }, - toolType: { - type: String, - label: 'Measurement Tool Type', - defaultValue: 'ellipticalRoi' - }, - location: { - type: String, - label: 'Location', - optional: true - }, - description: { - type: String, - label: 'Description', - optional: true - }, - area: { - type: Number, - label: 'Ellipse Area value', - decimal: true, - optional: true - }, - meanStdDev: { - type: MeanStdDevSchema, - label: 'MeanStd Values', - optional: true - } -}]); - -const displayFunction = data => { - let meanValue = ''; - if (data.meanStdDev && data.meanStdDev.mean) { - meanValue = data.meanStdDev.mean.toFixed(2) + ' HU'; - } - return meanValue; - // let meanValue = data.meanStdDev && data.meanStdDev.mean || 0; - // return numberWithCommas(meanValue).toFixed(2) + ' HU'; - //return data.meanStdDev.mean.toFixed(2); -}; - -export default { - id: 'ellipticalRoi', - name: 'Ellipse', - toolGroup: 'allTools', - cornerstoneToolType: 'ellipticalRoi', - schema: toolSchema, - options: { - measurementTable: { - displayFunction - } - } -}; diff --git a/Packages/ohif-measurement-table/client/schema/length.js b/Packages/ohif-measurement-table/client/schema/length.js deleted file mode 100644 index bb0fb622b..000000000 --- a/Packages/ohif-measurement-table/client/schema/length.js +++ /dev/null @@ -1,73 +0,0 @@ -//import { SimpleSchema } from 'meteor/aldeed:simple-schema'; -import SimpleSchema from 'simpl-schema' -import { MeasurementSchemaTypes } from 'meteor/ohif:measurements/src/schema/measurements'; - -const CornerstoneHandleSchema = MeasurementSchemaTypes.CornerstoneHandleSchema; - -const handlesSchema = new SimpleSchema({ - start: { - type: CornerstoneHandleSchema, - label: 'Start' - }, - end: { - type: CornerstoneHandleSchema, - label: 'End' - }, - textBox: { - type: CornerstoneHandleSchema, - label: 'Text Box' - } -}); - -const toolSchema = new SimpleSchema([MeasurementSchemaTypes.CornerstoneToolMeasurement, { - handles: { - type: handlesSchema, - label: 'Handles' - }, - measurementNumber: { - type: Number, - label: 'Measurement Number' - }, - location: { - type: String, - label: 'Location', - optional: true - }, - description: { - type: String, - label: 'Description', - optional: true - }, - toolType: { - type: String, - label: 'Measurement Tool Type', - defaultValue: 'length' - }, - length: { - type: Number, - label: 'Length', - optional: true, - decimal: true - } -}]); - -const displayFunction = data => { - let lengthValue = ''; - if (data.length) { - lengthValue = data.length.toFixed(2) + ' mm'; - } - return lengthValue; -}; - -export default { - id: 'length', - name: 'Length', - toolGroup: 'allTools', - cornerstoneToolType: 'length', - schema: toolSchema, - options: { - measurementTable: { - displayFunction - } - } -}; diff --git a/Packages/ohif-measurement-table/client/schema/rectangleRoi.js b/Packages/ohif-measurement-table/client/schema/rectangleRoi.js deleted file mode 100644 index f1a36f0e4..000000000 --- a/Packages/ohif-measurement-table/client/schema/rectangleRoi.js +++ /dev/null @@ -1,102 +0,0 @@ -//import { SimpleSchema } from 'meteor/aldeed:simple-schema'; -import SimpleSchema from 'simpl-schema' -import { MeasurementSchemaTypes } from 'meteor/ohif:measurements/src/schema/measurements'; - -const CornerstoneHandleSchema = MeasurementSchemaTypes.CornerstoneHandleSchema; - -const handlesSchema = new SimpleSchema({ - start: { - type: CornerstoneHandleSchema, - label: 'Start' - }, - end: { - type: CornerstoneHandleSchema, - label: 'End' - }, - textBox: { - type: CornerstoneHandleSchema, - label: 'Text Box' - }, -}); - -const MeanStdDevSchema = new SimpleSchema({ - count: { - type: Number, - label: 'count', - decimal: true - }, - mean: { - type: Number, - label: 'mean', - decimal: true - }, - stdDev: { - type: Number, - label: 'stdDev', - decimal: true - }, - variance: { - type: Number, - label: 'variance', - decimal: true - } - -}); - -const toolSchema = new SimpleSchema([MeasurementSchemaTypes.CornerstoneToolMeasurement, { - handles: { - type: handlesSchema, - label: 'Handles' - }, - measurementNumber: { - type: Number, - label: 'Measurement Number' - }, - toolType: { - type: String, - label: 'Measurement Tool Type', - defaultValue: 'rectangleRoi' - }, - location: { - type: String, - label: 'Location', - optional: true - }, - description: { - type: String, - label: 'Description', - optional: true - }, - area: { - type: Number, - label: 'Rectangle Area value', - decimal: true, - optional: true - }, - meanStdDev: { - type: MeanStdDevSchema, - label: 'MeanStd Values', - optional: true - } -}]); - -const displayFunction = data => { - let meanValue = ''; - if (data.meanStdDev && data.meanStdDev.mean) { - meanValue = data.meanStdDev.mean.toFixed(2) + ' HU'; - } - return meanValue; -}; - -export default { - id: 'rectangleRoi', - name: 'Rectangle', - toolGroup: 'allTools', - cornerstoneToolType: 'rectangleRoi', - schema: toolSchema, - options: { - measurementTable: { - displayFunction - } - } -}; diff --git a/Packages/ohif-measurement-table/client/schema/simpleAngle.js b/Packages/ohif-measurement-table/client/schema/simpleAngle.js deleted file mode 100644 index 2ca2b59d4..000000000 --- a/Packages/ohif-measurement-table/client/schema/simpleAngle.js +++ /dev/null @@ -1,77 +0,0 @@ -//import { SimpleSchema } from 'meteor/aldeed:simple-schema'; -import SimpleSchema from 'simpl-schema' -import { MeasurementSchemaTypes } from 'meteor/ohif:measurements/src/schema/measurements'; - -const CornerstoneHandleSchema = MeasurementSchemaTypes.CornerstoneHandleSchema; - -const handlesSchema = new SimpleSchema({ - start: { - type: CornerstoneHandleSchema, - label: 'Start' - }, - middle: { - type: CornerstoneHandleSchema, - label: 'Middle' - }, - end: { - type: CornerstoneHandleSchema, - label: 'End' - }, - textBox: { - type: CornerstoneHandleSchema, - label: 'Text Box' - } -}); - -const toolSchema = new SimpleSchema([MeasurementSchemaTypes.CornerstoneToolMeasurement, { - handles: { - type: handlesSchema, - label: 'Handles' - }, - measurementNumber: { - type: Number, - label: 'Measurement Number' - }, - location: { - type: String, - label: 'Location', - optional: true - }, - description: { - type: String, - label: 'Description', - optional: true - }, - toolType: { - type: String, - label: 'Measurement Tool Type', - defaultValue: 'simpleAngle' - }, - rAngle: { - type: Number, - label: 'Angle', - optional: true, - decimal: true - } -}]); - -const displayFunction = data => { - let text = ''; - if (data.rAngle) { - text = data.rAngle.toFixed(2) + String.fromCharCode(parseInt('00B0', 16)); - } - return text; -}; - -export default { - id: 'simpleAngle', - name: 'SimpleAngle', - toolGroup: 'allTools', - cornerstoneToolType: 'simpleAngle', - schema: toolSchema, - options: { - measurementTable: { - displayFunction - } - } -}; diff --git a/Packages/ohif-measurement-table/client/schema/toolGroupSchema.js b/Packages/ohif-measurement-table/client/schema/toolGroupSchema.js deleted file mode 100644 index adb3a7dd6..000000000 --- a/Packages/ohif-measurement-table/client/schema/toolGroupSchema.js +++ /dev/null @@ -1,30 +0,0 @@ -//import { SimpleSchema } from 'meteor/aldeed:simple-schema'; -import SimpleSchema from 'simpl-schema' - -export const ToolGroupBaseSchema = new SimpleSchema({ - toolId: { - type: String, - label: 'Tool ID', - optional: true - }, - toolItemId: { - type: String, - label: 'Tool Item ID', - optional: true - }, - createdAt: { - type: Date - }, - studyInstanceUid: { - type: String, - label: 'Study Instance UID' - }, - timepointId: { - type: String, - label: 'Timepoint ID' - }, - measurementNumber: { - type: Number, - label: 'Measurement Number' - } -}); diff --git a/Packages/ohif-measurement-table/client/utils/handleSR.js b/Packages/ohif-measurement-table/client/utils/handleSR.js deleted file mode 100644 index 9f9c7e2d9..000000000 --- a/Packages/ohif-measurement-table/client/utils/handleSR.js +++ /dev/null @@ -1,66 +0,0 @@ -import { dcmjs } from 'meteor/ohif:cornerstone'; -import retrieveDataFromSR from './retrieveDataFromSR'; -import retrieveDataFromMeasurements from './retrieveDataFromMeasurements'; - -import DICOMwebClient from 'dicomweb-client'; - -const retrieveMeasurementFromSR = async (series) => { - const server = OHIF.servers.getCurrentServer(); - const url = WADOProxy.convertURL(server.wadoRoot, server); - - const config = { - url, - headers: OHIF.DICOMWeb.getAuthorizationHeader() - }; - - const dicomWeb = new DICOMwebClient.api.DICOMwebClient(config); - - const instance = series.getFirstInstance(); - const options = { - studyInstanceUID: instance.getStudyInstanceUID(), - seriesInstanceUID: instance.getSeriesInstanceUID(), - sopInstanceUID: instance.getSOPInstanceUID(), - }; - - return dicomWeb.retrieveInstance(options).then(retrieveDataFromSR); -}; - -const stowSRFromMeasurements = async (measurements) => { - const server = OHIF.servers.getCurrentServer(); - const url = WADOProxy.convertURL(server.wadoRoot, server); - const dataset = retrieveDataFromMeasurements(measurements); - const { DicomMetaDictionary, DicomDict } = dcmjs.data; - - const meta = { - FileMetaInformationVersion: dataset._meta.FileMetaInformationVersion.Value, - MediaStorageSOPClassUID: dataset.SOPClassUID, - MediaStorageSOPInstanceUID: dataset.SOPInstanceUID, - TransferSyntaxUID: "1.2.840.10008.1.2.1", - ImplementationClassUID: DicomMetaDictionary.uid(), - ImplementationVersionName: "dcmjs-0.0", - }; - - const denaturalized = DicomMetaDictionary.denaturalizeDataset(meta); - const dicomDict = new DicomDict(denaturalized); - - dicomDict.dict = DicomMetaDictionary.denaturalizeDataset(dataset); - - const part10Buffer = dicomDict.write(); - - const config = { - url, - headers: OHIF.DICOMWeb.getAuthorizationHeader() - }; - - const dicomWeb = new DICOMwebClient.api.DICOMwebClient(config); - const options = { - datasets: [part10Buffer] - }; - - return dicomWeb.storeInstances(options); -}; - -export { - retrieveMeasurementFromSR, - stowSRFromMeasurements -} diff --git a/Packages/ohif-measurement-table/client/utils/retrieveDataFromMeasurements.js b/Packages/ohif-measurement-table/client/utils/retrieveDataFromMeasurements.js deleted file mode 100644 index 26ca56570..000000000 --- a/Packages/ohif-measurement-table/client/utils/retrieveDataFromMeasurements.js +++ /dev/null @@ -1,27 +0,0 @@ -import { OHIF } from 'ohif-core'; -import { dcmjs } from 'meteor/ohif:cornerstone'; - -export default retrieveDataFromMeasurements = (measurements) => { - const { MeasurementReport } = dcmjs.adapters.Cornerstone; - const { getImageIdForImagePath } = OHIF.viewerbase; - - const toolState = {}; - - Object.keys(measurements).forEach(measurementType => { - const annotations = measurements[measurementType]; - - annotations.forEach(annotation => { - const imageId = getImageIdForImagePath(annotation.imagePath); - toolState[imageId] = toolState[imageId] || {}; - toolState[imageId][annotation.toolType] = toolState[imageId][annotation.toolType] || { - data: [] - }; - - toolState[imageId][annotation.toolType].data.push(annotation); - }); - }) - - const report = MeasurementReport.generateReport(toolState, cornerstone.metaData); - - return report.dataset; -} diff --git a/Packages/ohif-measurement-table/client/utils/retrieveDataFromSR.js b/Packages/ohif-measurement-table/client/utils/retrieveDataFromSR.js deleted file mode 100644 index d5f8e18c4..000000000 --- a/Packages/ohif-measurement-table/client/utils/retrieveDataFromSR.js +++ /dev/null @@ -1,59 +0,0 @@ -import { dcmjs } from 'meteor/ohif:cornerstone'; -import {getAllDisplaySets, getInstanceMetadata} from './srUtils' - -const imagingMeasurementsToMeasurementData = (dataset, displaySets) => { - const { MeasurementReport } = dcmjs.adapters.Cornerstone; - const storedMeasurementByToolType = MeasurementReport.generateToolState(dataset); - const measurementData = {}; - let measurementNumber = 0; - - Object.keys(storedMeasurementByToolType).forEach(toolType => { - const measurements = storedMeasurementByToolType[toolType]; - measurementData[toolType] = []; - - measurements.forEach(measurement => { - const instanceMetadata = getInstanceMetadata(displaySets, measurement.sopInstanceUid); - const imageId = OHIF.viewerbase.getImageId(instanceMetadata); - if (!imageId) { - return; - } - - // TODO: Update the OHIF metadata provider, then switch these to use 'generalSeriesModule' - const study = cornerstone.metaData.get('study', imageId); - const series = cornerstone.metaData.get('series', imageId); - const imagePath = [ - study.studyInstanceUid, - series.seriesInstanceUid, - measurement.sopInstanceUid, - measurement.frameIndex - ].join('_'); - - const toolData = Object.assign({}, measurement, { - imageId, - imagePath, - seriesInstanceUid: series.seriesInstanceUid, - studyInstanceUid: study.studyInstanceUid, - patientId: study.patientId, - measurementNumber: ++measurementNumber, - timepointId: OHIF.viewer.data.currentTimepointId, - toolType, - _id: imageId + measurementNumber, - }); - - measurementData[toolType].push(toolData); - }); - }) - - return measurementData; -}; - -export default retrieveDataFromSR = (Part10SRArrayBuffer) => { - const allDisplaySets = getAllDisplaySets(); - - // Get the dicom data as an Object - const dicomData = dcmjs.data.DicomMessage.readFile(Part10SRArrayBuffer); - const dataset = dcmjs.data.DicomMetaDictionary.naturalizeDataset(dicomData.dict); - - // Convert the SR into the kind of object the Measurements package is expecting - return imagingMeasurementsToMeasurementData(dataset, allDisplaySets); -}; diff --git a/Packages/ohif-measurement-table/client/utils/srUtils.js b/Packages/ohif-measurement-table/client/utils/srUtils.js deleted file mode 100644 index 8805993b6..000000000 --- a/Packages/ohif-measurement-table/client/utils/srUtils.js +++ /dev/null @@ -1,63 +0,0 @@ -import { dcmjs } from 'meteor/ohif:cornerstone'; - -const supportedSopClassUIDs = ['1.2.840.10008.5.1.4.1.1.88.22']; - -const getAllDisplaySets = () => { - const allStudies = OHIF.viewer.Studies.all(); - let allDisplaySets = []; - - allStudies.forEach(study => { - allDisplaySets = allDisplaySets.concat(study.displaySets); - }); - - return allDisplaySets; -}; - - -const getInstanceMetadata = (displaySets, sopInstanceUid) => { - let instance; - - // Use Array.some so that this loop stops when the internal loop - // has found the correct instance - displaySets.some(displaySet => { - // Search the display set to find the instance metadata for - return displaySet.images.find(instanceMetadata => { - if (instanceMetadata._sopInstanceUID === sopInstanceUid) { - instance = instanceMetadata; - - return true; - } - }); - }); - - return instance; -}; - -const getLatestSRSeries = () => { - const allStudies = OHIF.viewer.StudyMetadataList.all(); - let latestSeries; - - allStudies.forEach(study => { - study.getSeries().forEach(series => { - const firstInstance = series.getFirstInstance(); - const sopClassUid = firstInstance._instance.sopClassUid; - - if (supportedSopClassUIDs.includes(sopClassUid)) { - if(!latestSeries) { - latestSeries = series; - } else if (series._data.seriesDate > latestSeries._data.seriesDate || - (series._data.seriesDate === latestSeries._data.seriesDate && series._data.seriesTime > latestSeries._data.seriesTime)) { - latestSeries = series; - } - } - }); - }); - - return latestSeries; -}; - -export { - getAllDisplaySets, - getInstanceMetadata, - getLatestSRSeries, -} diff --git a/Packages/ohif-measurement-table/package.js b/Packages/ohif-measurement-table/package.js deleted file mode 100644 index 38baf9075..000000000 --- a/Packages/ohif-measurement-table/package.js +++ /dev/null @@ -1,25 +0,0 @@ -Package.describe({ - name: 'ohif:measurement-table', - summary: 'OHIF Measurement table', - version: '0.0.1' -}); - -Npm.depends({ - 'dicomweb-client': '0.3.2', - 'xhr2': '0.1.4', - 'simpl-schema': '1.5.3' -}); - -Package.onUse(function(api) { - api.versionsFrom('1.7'); - - api.use('ecmascript'); - - // Our custom packages - api.use('ohif:cornerstone'); - api.use('ohif:core'); - api.use('ohif:viewerbase'); - api.use('ohif:measurements'); - - api.mainModule('client/index.js', 'client'); -}); diff --git a/Packages/ohif-measurements/package.js b/Packages/ohif-measurements/package.js deleted file mode 100644 index ea2bac066..000000000 --- a/Packages/ohif-measurements/package.js +++ /dev/null @@ -1,37 +0,0 @@ -Npm.depends({ - ajv: '4.10.4', - url: '0.11.0', - jspdf: '1.3.3', - moment: '2.22.2', - jquery: '3.3.1' -}); - -Package.describe({ - name: 'ohif:measurements', - summary: 'OHIF Measurement Tools', - version: '0.0.1' -}); - -Package.onUse(function(api) { - api.versionsFrom('1.7'); - - api.use('ecmascript'); - api.use('stylus'); - - // Schema for Data Models - api.use('aldeed:simple-schema'); - api.use('aldeed:collection2'); - - // Template overriding - api.use('aldeed:template-extension@4.0.0'); - - // Our custom packages - api.use('ohif:cornerstone'); - api.use('ohif:core'); - api.use('ohif:viewerbase'); - - // Client imports - api.addFiles('src/index.js', 'client'); - - api.export('MeasurementSchemaTypes', 'client'); -}); diff --git a/Packages/ohif-measurements/src/base.js b/Packages/ohif-measurements/src/base.js deleted file mode 100644 index cfe9ff8e6..000000000 --- a/Packages/ohif-measurements/src/base.js +++ /dev/null @@ -1,3 +0,0 @@ -import { OHIF } from 'ohif-core'; - -OHIF.measurements = {}; diff --git a/Packages/ohif-measurements/src/configuration/index.js b/Packages/ohif-measurements/src/configuration/index.js deleted file mode 100644 index 9f5d9c258..000000000 --- a/Packages/ohif-measurements/src/configuration/index.js +++ /dev/null @@ -1,2 +0,0 @@ -import './measurements.js'; -import './timepoints.js'; diff --git a/Packages/ohif-measurements/src/configuration/measurements.js b/Packages/ohif-measurements/src/configuration/measurements.js deleted file mode 100644 index 488bcdf58..000000000 --- a/Packages/ohif-measurements/src/configuration/measurements.js +++ /dev/null @@ -1,432 +0,0 @@ -import { Mongo } from 'meteor/mongo'; -import { Tracker } from 'meteor/tracker'; -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; -import { cornerstoneTools } from 'meteor/ohif:cornerstone'; - -let configuration = {}; - -class MeasurementApi { - static setConfiguration(config) { - _.extend(configuration, config); - } - - static getConfiguration() { - return configuration; - } - - static getToolsGroupsMap() { - const toolsGroupsMap = {}; - configuration.measurementTools.forEach(toolGroup => { - toolGroup.childTools.forEach(tool => (toolsGroupsMap[tool.id] = toolGroup.id)); - }); - return toolsGroupsMap; - } - - constructor(timepointApi) { - if (timepointApi) { - this.timepointApi = timepointApi; - } - - this.toolGroups = {}; - this.tools = {}; - this.toolsGroupsMap = MeasurementApi.getToolsGroupsMap(); - this.changeObserver = new Tracker.Dependency(); - - configuration.measurementTools.forEach(toolGroup => { - const groupCollection = new Mongo.Collection(null); - groupCollection._debugName = toolGroup.name; - //groupCollection.attachSchema(toolGroup.schema); - this.toolGroups[toolGroup.id] = groupCollection; - - toolGroup.childTools.forEach(tool => { - const collection = new Mongo.Collection(null); - collection._debugName = tool.name; - //collection.attachSchema(tool.schema); - this.tools[tool.id] = collection; - - const addedHandler = measurement => { - let measurementNumber; - - // Get the measurement number - const timepoint = this.timepointApi.timepoints.findOne({ - studyInstanceUids: measurement.studyInstanceUid - }); - - // Preventing errors thrown when non-associated (standalone) study is opened... - // @TODO: Make sure this logic is correct. - if (!timepoint) return; - - const emptyItem = groupCollection.findOne({ - toolId: { $eq: null }, - timepointId: timepoint.timepointId - }); - - if (emptyItem) { - measurementNumber = emptyItem.measurementNumber; - - groupCollection.update({ - timepointId: timepoint.timepointId, - measurementNumber - }, { - $set: { - toolId: tool.id, - toolItemId: measurement._id, - createdAt: measurement.createdAt - } - }); - } else { - measurementNumber = groupCollection.find({ - studyInstanceUid: { $in: timepoint.studyInstanceUids } - }).count() + 1; - } - - measurement.measurementNumber = measurementNumber; - - // Get the current location/description (if already defined) - const updateObject = { - timepointId: timepoint.timepointId, - measurementNumber - }; - const baselineTimepoint = timepointApi.baseline(); - const baselineGroupEntry = groupCollection.findOne({ - timepointId: baselineTimepoint.timepointId - }); - if (baselineGroupEntry) { - const tool = this.tools[baselineGroupEntry.toolId]; - const found = tool.findOne({ measurementNumber }); - if (found) { - updateObject.location = found.location; - if (found.description) { - updateObject.description = found.description; - } - } - } - - // Set the timepoint ID, measurement number, location and description - collection.update(measurement._id, { $set: updateObject }); - - if (!emptyItem) { - // Reflect the entry in the tool group collection - groupCollection.insert({ - toolId: tool.id, - toolItemId: measurement._id, - timepointId: timepoint.timepointId, - studyInstanceUid: measurement.studyInstanceUid, - createdAt: measurement.createdAt, - measurementNumber - }); - } - - // Enable reactivity - this.changeObserver.changed(); - }; - - const changedHandler = measurement => { - this.changeObserver.changed(); - }; - - const removedHandler = measurement => { - const measurementNumber = measurement.measurementNumber; - - groupCollection.update({ - toolItemId: measurement._id - }, { - $set: { - toolId: null, - toolItemId: null - } - }); - - const nonEmptyItem = groupCollection.findOne({ - measurementNumber, - toolId: { $not: null } - }); - - if (nonEmptyItem) { - return; - } - - const groupItems = groupCollection.find({ measurementNumber }).fetch(); - - groupItems.forEach(groupItem => { - // Remove the record from the tools group collection too - groupCollection.remove({ _id: groupItem._id }); - - // Update the measurement numbers only if it is last item - const timepoint = this.timepointApi.timepoints.findOne({ - timepointId: groupItem.timepointId - }); - - const filter = { - studyInstanceUid: { $in: timepoint.studyInstanceUids }, - measurementNumber - }; - - const remainingItems = groupCollection.find(filter).count(); - if (!remainingItems) { - filter.measurementNumber = { $gte: measurementNumber }; - const operator = { - $inc: { measurementNumber: -1 } - }; - const options = { multi: true }; - groupCollection.update(filter, operator, options); - toolGroup.childTools.forEach(childTool => { - const collection = this.tools[childTool.id]; - collection.update(filter, operator, options); - }); - } - }); - - // Synchronize the new tool data - this.syncMeasurementsAndToolData(); - - // Enable reactivity - this.changeObserver.changed(); - }; - - collection.find().observe({ - added: addedHandler, - changed: changedHandler, - removed: removedHandler - }); - }); - }); - } - - retrieveMeasurements(patientId, timepointIds) { - const retrievalFn = configuration.dataExchange.retrieve; - if (!_.isFunction(retrievalFn)) { - return; - } - - return new Promise((resolve, reject) => { - retrievalFn(patientId, timepointIds).then(measurementData => { - - OHIF.log.info('Measurement data retrieval'); - OHIF.log.info(measurementData); - - const toolsGroupsMap = MeasurementApi.getToolsGroupsMap(); - const measurementsGroups = {}; - - Object.keys(measurementData).forEach(measurementTypeId => { - const measurements = measurementData[measurementTypeId]; - - measurements.forEach(measurement => { - const { toolType } = measurement; - if (toolType && this.tools[toolType]) { - delete measurement._id; - const toolGroup = toolsGroupsMap[toolType]; - if (!measurementsGroups[toolGroup]) { - measurementsGroups[toolGroup] = []; - } - - measurementsGroups[toolGroup].push(measurement); - } - }); - }); - - Object.keys(measurementsGroups).forEach(groupKey => { - const group = measurementsGroups[groupKey]; - group.sort((a, b) => { - if (a.measurementNumber > b.measurementNumber) { - return 1; - } else if (a.measurementNumber < b.measurementNumber) { - return -1; - } - - return 0; - }); - - group.forEach(m => this.tools[m.toolType].insert(m)); - }); - - resolve(); - }); - }); - } - - storeMeasurements(timepointId) { - const storeFn = configuration.dataExchange.store; - if (!_.isFunction(storeFn)) { - return; - } - - let measurementData = {}; - configuration.measurementTools.forEach(toolGroup => { - toolGroup.childTools.forEach(tool => { - if (!measurementData[toolGroup.id]) { - measurementData[toolGroup.id] = []; - } - - measurementData[toolGroup.id] = measurementData[toolGroup.id].concat(this.tools[tool.id].find().fetch()); - }); - }); - - const timepointFilter = timepointId ? { timepointId } : {}; - const timepoints = this.timepointApi.all(timepointFilter); - const timepointIds = timepoints.map(t => t.timepointId); - const patientId = timepoints[0].patientId; - const filter = { - patientId, - timepointId: { - $in: timepointIds - } - }; - - OHIF.log.info('Saving Measurements for timepoints:', timepoints); - return storeFn(measurementData, filter).then(() => { - OHIF.log.info('Measurement storage completed'); - }); - } - - validateMeasurements() { - const validateFn = configuration.dataValidation.validateMeasurements; - if (validateFn && validateFn instanceof Function) { - validateFn(); - } - } - - syncMeasurementsAndToolData() { - configuration.measurementTools.forEach(toolGroup => { - toolGroup.childTools.forEach(tool => { - const measurements = this.tools[tool.id].find().fetch(); - measurements.forEach(measurement => { - OHIF.measurements.syncMeasurementAndToolData(measurement); - }); - }); - }); - } - - sortMeasurements(baselineTimepointId) { - const tools = configuration.measurementTools; - - const includedTools = tools.filter(tool => { - return (tool.options && tool.options.caseProgress && tool.options.caseProgress.include); - }); - - // Update Measurement the displayed Measurements - includedTools.forEach(tool => { - const collection = this.tools[tool.id]; - const measurements = collection.find().fetch(); - measurements.forEach(measurement => { - OHIF.measurements.syncMeasurementAndToolData(measurement); - }); - }); - } - - deleteMeasurements(measurementTypeId, filter) { - const groupCollection = this.toolGroups[measurementTypeId]; - - // Stop here if it is a temporary toolGroups - if (!groupCollection) return; - - // Get the entries information before removing them - const groupItems = groupCollection.find(filter).fetch(); - const entries = []; - groupItems.forEach(groupItem => { - if (!groupItem.toolId) { - return; - } - - const collection = this.tools[groupItem.toolId]; - entries.push(collection.findOne(groupItem.toolItemId)); - collection.remove(groupItem.toolItemId); - }); - - // Stop here if no entries were found - if (!entries.length) { - return; - } - - // If the filter doesn't have the measurement number, get it from the first entry - const measurementNumber = filter.measurementNumber || entries[0].measurementNumber; - - // Synchronize the new data with cornerstone tools - const toolState = cornerstoneTools.globalImageIdSpecificToolStateManager.saveToolState(); - - _.each(entries, entry => { - const measurementsData = []; - const { tool } = OHIF.measurements.getToolConfiguration(entry.toolType); - if (Array.isArray(tool.childTools)) { - tool.childTools.forEach(key => { - const childMeasurement = entry[key]; - if (!childMeasurement) return; - measurementsData.push(childMeasurement); - }); - } else { - measurementsData.push(entry); - } - - measurementsData.forEach(measurementData => { - const { imagePath, toolType } = measurementData; - const imageId = OHIF.viewerbase.getImageIdForImagePath(imagePath); - if (toolState[imageId]) { - const toolData = toolState[imageId][toolType]; - const measurementEntries = toolData && toolData.data; - const measurementEntry = _.findWhere(measurementEntries, { _id: entry._id }); - if (measurementEntry) { - const index = measurementEntries.indexOf(measurementEntry); - measurementEntries.splice(index, 1); - } - } - }); - }); - - cornerstoneTools.globalImageIdSpecificToolStateManager.restoreToolState(toolState); - - // Synchronize the updated measurements with Cornerstone Tools - // toolData to make sure the displayed measurements show 'Target X' correctly - const syncFilter = _.clone(filter); - delete syncFilter.timepointId; - - syncFilter.measurementNumber = { - $gt: measurementNumber - 1 - }; - - const toolTypes = _.uniq(entries.map(entry => entry.toolType)); - toolTypes.forEach(toolType => { - const collection = this.tools[toolType]; - collection.find(syncFilter).forEach(measurement => { - OHIF.measurements.syncMeasurementAndToolData(measurement); - }); - }); - } - - getMeasurementById(measurementId) { - let foundGroup; - _.find(this.toolGroups, toolGroup => { - foundGroup = toolGroup.findOne({ toolItemId: measurementId }); - return !!foundGroup; - }); - - // Stop here if no group was found or if the record is a placeholder - if (!foundGroup || !foundGroup.toolId) { - return; - } - - return this.tools[foundGroup.toolId].findOne(measurementId); - } - - fetch(toolGroupId, selector, options) { - if (!this.toolGroups[toolGroupId]) { - throw 'MeasurementApi: No Collection with the id: ' + toolGroupId; - } - - selector = selector || {}; - options = options || {}; - const result = []; - const items = this.toolGroups[toolGroupId].find(selector, options).fetch(); - items.forEach(item => { - if (item.toolId) { - result.push(this.tools[item.toolId].findOne(item.toolItemId)); - } else { - result.push({ measurementNumber: item.measurementNumber }); - } - - }); - return result; - } -} - -OHIF.measurements.MeasurementApi = MeasurementApi; diff --git a/Packages/ohif-measurements/src/configuration/timepoints.js b/Packages/ohif-measurements/src/configuration/timepoints.js deleted file mode 100644 index 129d8716f..000000000 --- a/Packages/ohif-measurements/src/configuration/timepoints.js +++ /dev/null @@ -1,306 +0,0 @@ -import { Mongo } from 'meteor/mongo'; -import _ from 'underscore'; - -import { OHIF } from 'ohif-core'; - -import { schema as TimepointSchema } from '../schema/timepoints'; - -const configuration = {}; - -class TimepointApi { - static setConfiguration(config) { - _.extend(configuration, config); - } - - static getConfiguration() { - return configuration; - } - - constructor(currentTimepointId, options={}) { - if (currentTimepointId) { - this.currentTimepointId = currentTimepointId; - } - - this.options = options; - this.timepoints = new Mongo.Collection(null); - //this.timepoints.attachSchema(TimepointSchema); - this.timepoints._debugName = 'Timepoints'; - } - - retrieveTimepoints(filter) { - const retrievalFn = configuration.dataExchange.retrieve; - if (!_.isFunction(retrievalFn)) { - OHIF.log.error('Timepoint retrieval function has not been configured.'); - return; - } - - return new Promise((resolve, reject) => { - retrievalFn(filter).then(timepointData => { - OHIF.log.info('Timepoint data retrieval'); - - _.each(timepointData, timepoint => { - delete timepoint._id; - const query = { - timepointId: timepoint.timepointId - }; - - this.timepoints.update(query, { - $set: timepoint - }, { - upsert: true - }); - }); - - resolve(); - }).catch(reason => { - OHIF.log.error(`Timepoint retrieval function failed: ${reason}`); - reject(reason); - }); - }); - } - - storeTimepoints() { - const storeFn = configuration.dataExchange.store; - if (!_.isFunction(storeFn)) { - return; - } - - const timepointData = this.timepoints.find().fetch(); - OHIF.log.info('Preparing to store timepoints'); - OHIF.log.info(JSON.stringify(timepointData, null, 2)); - - storeFn(timepointData).then(() => OHIF.log.info('Timepoint storage completed')); - } - - disassociateStudy(timepointIds, studyInstanceUid) { - const disassociateFn = configuration.dataExchange.disassociate; - disassociateFn(timepointIds, studyInstanceUid).then(() => { - OHIF.log.info('Disassociation completed'); - - this.timepoints.remove({}); - this.retrieveTimepoints({}); - }); - } - - removeTimepoint(timepointId) { - const removeFn = configuration.dataExchange.remove; - if (!_.isFunction(removeFn)) { - return; - } - - const timepointData = { - timepointId - }; - - OHIF.log.info('Preparing to remove timepoint'); - OHIF.log.info(JSON.stringify(timepointData, null, 2)); - - removeFn(timepointData).then(() => { - OHIF.log.info('Timepoint removal completed'); - this.timepoints.remove(timepointData); - }); - } - - updateTimepoint(timepointId, query) { - const updateFn = configuration.dataExchange.update; - if (!_.isFunction(updateFn)) { - return; - } - - const timepointData = { - timepointId - }; - - OHIF.log.info('Preparing to update timepoint'); - OHIF.log.info(JSON.stringify(timepointData, null, 2)); - OHIF.log.info(JSON.stringify(query, null, 2)); - - updateFn(timepointData, query).then(() => { - OHIF.log.info('Timepoint updated completed'); - this.timepoints.update(timepointData, query); - }); - } - - // Return all timepoints - all(filter={}) { - return this.timepoints.find(filter, { - sort: { - latestDate: -1 - }, - }).fetch(); - } - - // Return only the current timepoint - current() { - return this.timepoints.findOne({ timepointId: this.currentTimepointId }); - } - - lock() { - const current = this.current(); - if (!current) { - return; - } - - this.timepoints.update(current._id, { - $set: { - locked: true - } - }); - } - - // Return the prior timepoint - prior() { - const current = this.current(); - if (!current) { - return; - } - - const latestDate = current.latestDate; - return this.timepoints.findOne({ - latestDate: { $lt: latestDate } - }, { - sort: { latestDate: -1 } - }); - } - - // Return only the current and prior timepoints - currentAndPrior() { - const timepoints = []; - - const current = this.current(); - if (current) { - timepoints.push(current); - } - - const prior = this.prior(); - if (current && prior && prior._id !== current._id) { - timepoints.push(prior); - } - - return timepoints; - } - - // Return only the comparison timepoints - comparison() { - return this.currentAndPrior(); - } - - // Return only the baseline timepoint - baseline() { - return this.timepoints.findOne({ timepointType: 'baseline' }); - } - - // Return only the nadir timepoint - nadir() { - const timepoint = this.timepoints.findOne({ timepointKey: 'nadir' }); - return timepoint || this.baseline(); - } - - // Return only the key timepoints (current, prior, nadir and baseline) - key(filter={}) { - const result = []; - - // Get all the timepoints - const all = this.all(filter); - - // Iterate over each timepoint and insert the key ones in the result - _.each(all, (timepoint, index) => { - if (index < 2 || index === (all.length - 1)) { - result.push(timepoint); - } - }); - - // Return the resulting timepoints - return result; - } - - // Return only the timepoints for the given study - study(studyInstanceUid) { - const result = []; - - // Iterate over each timepoint and insert the key ones in the result - _.each(this.all(), (timepoint, index) => { - if (_.contains(timepoint.studyInstanceUids, studyInstanceUid)) { - result.push(timepoint); - } - }); - - // Return the resulting timepoints - return result; - } - - // Return the timepoint's name - name(timepoint) { - // Check if this is a Baseline timepoint, if it is, return 'Baseline' - if (timepoint.timepointType === 'baseline') { - return 'Baseline'; - } else if (timepoint.visitNumber) { - return 'Follow-up ' + timepoint.visitNumber; - } - - // Retrieve all of the relevant follow-up timepoints for this patient - const followupTimepoints = this.timepoints.find({ - patientId: timepoint.patientId, - timepointType: timepoint.timepointType - }, { - sort: { - latestDate: 1 - } - }); - - // Create an array of just timepointIds, so we can use indexOf - // on it to find the current timepoint's relative position - const followupTimepointIds = followupTimepoints.map(timepoint => timepoint.timepointId); - - // Calculate the index of the current timepoint in the array of all - // relevant follow-up timepoints - const index = followupTimepointIds.indexOf(timepoint.timepointId) + 1; - - // If index is 0, it means that the current timepoint was not in the list - // Log a warning and return here - if (!index) { - OHIF.log.warn('Current follow-up was not in the list of relevant follow-ups?'); - return; - } - - // Return the timepoint name as 'Follow-up N' - return 'Follow-up ' + index; - } - - // Build the timepoint title based on its date - title(timepoint) { - const timepointName = this.name(timepoint); - - const all = _.clone(this.all()); - let index = -1; - let currentIndex = null; - for (let i = 0; i < all.length; i++) { - const currentTimepoint = all[i]; - - // Skip the iterations until we can't find the selected timepoint on study list - if (this.currentTimepointId === currentTimepoint.timepointId) { - currentIndex = 0; - } - - if (_.isNumber(currentIndex)) { - index = currentIndex++; - } - - // Break the loop if reached the timepoint to get the title - if (currentTimepoint.timepointId === timepoint.timepointId) { - break; - } - } - - const states = { - 0: '(Current)', - 1: '(Prior)' - }; - // TODO: [design] find out how to define the nadir timepoint - const parenthesis = states[index] || ''; - return `${timepointName} ${parenthesis}`; - } - -} - -OHIF.measurements.TimepointApi = TimepointApi; diff --git a/Packages/ohif-measurements/src/conformance/ConformanceCriteria.js b/Packages/ohif-measurements/src/conformance/ConformanceCriteria.js deleted file mode 100644 index 550f6a89b..000000000 --- a/Packages/ohif-measurements/src/conformance/ConformanceCriteria.js +++ /dev/null @@ -1,188 +0,0 @@ -import { ReactiveVar } from 'meteor/reactive-var'; -import { Tracker } from 'meteor/tracker'; -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; -import 'meteor/ohif:viewerbase'; -import { CriteriaEvaluator } from './CriteriaEvaluator'; -import * as evaluations from './evaluations'; - -class ConformanceCriteria { - - constructor(measurementApi, timepointApi) { - this.measurementApi = measurementApi; - this.timepointApi = timepointApi; - this.nonconformities = new ReactiveVar(); - this.groupedNonConformities = new ReactiveVar(); - this.maxTargets = new ReactiveVar(null); - this.maxNewTargets = new ReactiveVar(null); - - const validate = _.debounce(trialCriteriaType => this.validate(trialCriteriaType), 300); - Tracker.autorun(() => { - const selectedType = OHIF.lesiontracker.TrialCriteriaTypes.findOne({ selected: true }); - this.measurementApi.changeObserver.depend(); - validate(selectedType); - }); - } - - validate(trialCriteriaType) { - return new Promise((resolve, reject) => { - const baselinePromise = this.getData('baseline'); - const followupPromise = this.getData('followup'); - Promise.all([baselinePromise, followupPromise]).then(values => { - const [baselineData, followupData] = values; - const mergedData = { - targets: [], - nonTargets: [] - }; - - mergedData.targets = mergedData.targets.concat(baselineData.targets); - mergedData.targets = mergedData.targets.concat(followupData.targets); - mergedData.nonTargets = mergedData.nonTargets.concat(baselineData.nonTargets); - mergedData.nonTargets = mergedData.nonTargets.concat(followupData.nonTargets); - - this.maxTargets.set(null); - this.maxNewTargets.set(null); - const resultBoth = this.validateTimepoint('both', trialCriteriaType, mergedData); - const resultBaseline = this.validateTimepoint('baseline', trialCriteriaType, baselineData); - const resultFollowup = this.validateTimepoint('followup', trialCriteriaType, followupData); - const nonconformities = resultBaseline.concat(resultFollowup).concat(resultBoth); - const groupedNonConformities = this.groupNonConformities(nonconformities); - - // Keep both? Group the data only on viewer/measurementTable views? - // Work with not grouped data (worse lookup performance on measurementTableRow)? - this.nonconformities.set(nonconformities); - this.groupedNonConformities.set(groupedNonConformities); - - resolve(nonconformities); - }); - }); - } - - groupNonConformities(nonconformities) { - const groups = {}; - const toolsGroupsMap = this.measurementApi.toolsGroupsMap; - - nonconformities.forEach(nonConformity => { - if (nonConformity.isGlobal) { - groups.globals = groups.globals || { messages: [] }; - groups.globals.messages.push(nonConformity.message); - - return; - } - - nonConformity.measurements.forEach(measurement => { - const groupName = toolsGroupsMap[measurement.toolType]; - groups[groupName] = groups[groupName] || { measurementNumbers: {} }; - - const group = groups[groupName]; - const measureNumber = measurement.measurementNumber; - let measurementNumbers = group.measurementNumbers[measureNumber]; - - if (!measurementNumbers) { - measurementNumbers = group.measurementNumbers[measureNumber] = { - messages: [], - measurements: [] - }; - } - - measurementNumbers.messages.push(nonConformity.message); - measurementNumbers.measurements.push(measurement); - }); - }); - - return groups; - } - - validateTimepoint(timepointId, trialCriteriaType, data) { - const evaluators = this.getEvaluators(timepointId, trialCriteriaType); - let nonconformities = []; - - evaluators.forEach(evaluator => { - const maxTargets = evaluator.getMaxTargets(false); - const maxNewTargets = evaluator.getMaxTargets(true); - if (maxTargets) { - this.maxTargets.set(maxTargets); - } - - if (maxNewTargets) { - this.maxNewTargets.set(maxNewTargets); - } - - const result = evaluator.evaluate(data); - nonconformities = nonconformities.concat(result); - }); - - return nonconformities; - } - - getEvaluators(timepointId, trialCriteriaType) { - const evaluators = []; - const trialCriteriaTypeId = trialCriteriaType.id.toLowerCase(); - const evaluation = evaluations[trialCriteriaTypeId]; - - if (evaluation) { - const evaluationTimepoint = evaluation[timepointId]; - - if (evaluationTimepoint) { - evaluators.push(new CriteriaEvaluator(evaluationTimepoint)); - } - } - - return evaluators; - } - - /* - * Build the data that will be used to do the conformance criteria checks - */ - getData(timepointType) { - return new Promise((resolve, reject) => { - const data = { - targets: [], - nonTargets: [] - }; - - const studyPromises = []; - - const fillData = measurementType => { - const measurements = this.measurementApi.fetch(measurementType); - - measurements.forEach(measurement => { - const { studyInstanceUid } = measurement; - - const timepointId = measurement.timepointId; - const timepoint = timepointId && this.timepointApi.timepoints.findOne({ timepointId }); - - if (!timepoint || ((timepointType !== 'both') && (timepoint.timepointType !== timepointType))) { - return; - } - - const promise = OHIF.studies.loadStudy(studyInstanceUid); - promise.then(study => { - const studyMetadata = OHIF.viewerbase.getStudyMetadata(study); - - data[measurementType].push({ - measurement, - metadata: studyMetadata.getFirstInstance(), - timepoint - }); - }); - studyPromises.push(promise); - }); - }; - - fillData('targets'); - fillData('nonTargets'); - - Promise.all(studyPromises).then(() => { - resolve(data); - }).catch(reject); - }); - } - - static setEvaluationDefinitions(evaluationKey, evaluationDefinitions) { - evaluations[evaluationKey] = evaluationDefinitions; - } - -} - -OHIF.measurements.ConformanceCriteria = ConformanceCriteria; diff --git a/Packages/ohif-measurements/src/conformance/CriteriaEvaluator.js b/Packages/ohif-measurements/src/conformance/CriteriaEvaluator.js deleted file mode 100644 index 21edf3fae..000000000 --- a/Packages/ohif-measurements/src/conformance/CriteriaEvaluator.js +++ /dev/null @@ -1,90 +0,0 @@ -import { BaseCriterion } from './criteria/BaseCriterion'; -import * as Criteria from './criteria'; -import _ from 'underscore'; -import Ajv from 'ajv'; - -export class CriteriaEvaluator { - - constructor(criteriaObject) { - const criteriaValidator = this.getCriteriaValidator(); - this.criteria = []; - - if (!criteriaValidator(criteriaObject)) { - let message = ''; - _.each(criteriaValidator.errors, error => { - message += `\noptions${error.dataPath} ${error.message}`; - }); - throw new Error(message); - } - - _.each(criteriaObject, (optionsObject, criterionkey) => { - const Criterion = Criteria[`${criterionkey}Criterion`]; - const optionsArray = optionsObject instanceof Array ? optionsObject : [optionsObject]; - _.each(optionsArray, options => this.criteria.push(new Criterion(options))); - }); - } - - getMaxTargets(newTarget=false) { - let result = 0; - _.each(this.criteria, criterion => { - const newTargetMatch = newTarget === !!criterion.options.newTarget; - if (criterion instanceof Criteria.MaxTargetsCriterion && newTargetMatch) { - const { limit } = criterion.options; - if (limit > result) { - result = limit; - } - } - }); - return result; - } - - getCriteriaValidator() { - if (CriteriaEvaluator.criteriaValidator) { - return CriteriaEvaluator.criteriaValidator; - } - - const schema = { - properties: {}, - definitions: {} - }; - - _.each(Criteria, (Criterion, key) => { - if (Criterion.prototype instanceof BaseCriterion) { - const criterionkey = key.replace(/Criterion$/, ''); - const criterionDefinition = `#/definitions/${criterionkey}`; - - schema.definitions[criterionkey] = Criteria[`${criterionkey}Schema`]; - schema.properties[criterionkey] = { - oneOf: [ - { $ref: criterionDefinition }, - { - type: 'array', - items: { - $ref: criterionDefinition - } - } - ] - }; - } - }); - - CriteriaEvaluator.criteriaValidator = new Ajv().compile(schema); - return CriteriaEvaluator.criteriaValidator; - } - - evaluate(data) { - const nonconformities = []; - this.criteria.forEach(criterion => { - const criterionResult = criterion.evaluate(data); - if (!criterionResult.passed) { - nonconformities.push(criterionResult); - } - }); - return nonconformities; - } - - static setCriterion(criterionKey, criterionDefinitions) { - Criteria[criterionKey] = criterionDefinitions; - } - -} diff --git a/Packages/ohif-measurements/src/conformance/criteria/BaseCriterion.js b/Packages/ohif-measurements/src/conformance/criteria/BaseCriterion.js deleted file mode 100644 index f2bd82b53..000000000 --- a/Packages/ohif-measurements/src/conformance/criteria/BaseCriterion.js +++ /dev/null @@ -1,46 +0,0 @@ -import _ from 'underscore'; - -export class BaseCriterion { - - constructor(options) { - this.options = options; - } - - generateResponse(message, measurements) { - const passed = !message; - const isGlobal = !measurements || !measurements.length; - - return { - passed, - isGlobal, - message, - measurements - }; - } - - getNewTargetNumbers(data) { - const { options } = this; - const baselineMeasurementNumbers = []; - const newTargetNumbers = new Set(); - - if (options.newTarget) { - _.each(data.targets, target => { - const { measurementNumber } = target.measurement; - if (target.timepoint.timepointType === 'baseline') { - baselineMeasurementNumbers.push(measurementNumber); - } - }); - _.each(data.targets, target => { - const { measurementNumber } = target.measurement; - if (target.timepoint.timepointType === 'followup') { - if (!_.contains(baselineMeasurementNumbers, measurementNumber)) { - newTargetNumbers.add(measurementNumber); - } - } - }); - } - - return newTargetNumbers; - } - -} diff --git a/Packages/ohif-measurements/src/conformance/criteria/Location.js b/Packages/ohif-measurements/src/conformance/criteria/Location.js deleted file mode 100644 index 469392cf0..000000000 --- a/Packages/ohif-measurements/src/conformance/criteria/Location.js +++ /dev/null @@ -1,36 +0,0 @@ -import { BaseCriterion } from './BaseCriterion'; - -export const LocationSchema = { - type: 'object' -}; - -/* LocationCriterion - * Check if the there are non-target measurements with response different than "present" on baseline - */ -export class LocationCriterion extends BaseCriterion { - - constructor(options) { - super(options); - } - - evaluate(data) { - const items = data.targets.concat(data.nonTargets); - const measurements = []; - let message; - - items.forEach(item => { - const measurement = item.measurement; - - if (!measurement.location) { - measurements.push(measurement); - } - }); - - if (measurements.length) { - message = 'All measurements should have a location'; - } - - return this.generateResponse(message, measurements); - } - -} diff --git a/Packages/ohif-measurements/src/conformance/criteria/MaxTargets.js b/Packages/ohif-measurements/src/conformance/criteria/MaxTargets.js deleted file mode 100644 index c3b80e865..000000000 --- a/Packages/ohif-measurements/src/conformance/criteria/MaxTargets.js +++ /dev/null @@ -1,78 +0,0 @@ -import _ from 'underscore'; -import { BaseCriterion } from './BaseCriterion'; - -export const MaxTargetsSchema = { - type: 'object', - properties: { - limit: { - label: 'Max targets allowed in study', - type: 'integer', - minimum: 0 - }, - newTarget: { - label: 'Flag to evaluate only new targets', - type: 'boolean' - }, - locationIn: { - label: 'Filter to evaluate only measurements with the specified locations', - type: 'array', - items: { - type: 'string' - }, - minItems: 1, - uniqueItems: true - }, - locationNotIn: { - label: 'Filter to evaluate only measurements without the specified locations', - type: 'array', - items: { - type: 'string' - }, - minItems: 1, - uniqueItems: true - } - }, - required: ['limit'] -}; - -/* MaxTargetsCriterion - * Check if the number of target measurements exceeded the limit allowed - * Options: - * limit: Max targets allowed in study - * newTarget: Flag to evaluate only new targets (must be evaluated on both) - * locationIn: Filter to evaluate only measurements with the specified locations - * locationNotIn: Filter to evaluate only measurements without the specified locations - * message: Message to be displayed in case of nonconformity - */ -export class MaxTargetsCriterion extends BaseCriterion { - - constructor(options) { - super(options); - } - - evaluate(data) { - const { options } = this; - - const newTargetNumbers = this.getNewTargetNumbers(data); - const measurementNumbers = []; - _.each(data.targets, target => { - const { location, measurementNumber, isSplitLesion } = target.measurement; - if (isSplitLesion) return; - if (options.newTarget && !newTargetNumbers.has(measurementNumber)) return; - if (options.locationIn && options.locationIn.indexOf(location) === -1) return; - if (options.locationNotIn && options.locationNotIn.indexOf(location) > -1) return; - measurementNumbers.push(measurementNumber); - }); - - let message; - if (measurementNumbers.length > options.limit) { - const increment = options.newTarget ? 'new ' : ''; - const plural = options.limit === 1 ? '' : 's'; - const amount = options.limit === 0 ? '' : `more than ${options.limit}`; - message = options.message || `The study should not have ${amount} ${increment}target${plural}.`; - } - - return this.generateResponse(message); - } - -} diff --git a/Packages/ohif-measurements/src/conformance/criteria/MaxTargetsPerOrgan.js b/Packages/ohif-measurements/src/conformance/criteria/MaxTargetsPerOrgan.js deleted file mode 100644 index 98086bd4e..000000000 --- a/Packages/ohif-measurements/src/conformance/criteria/MaxTargetsPerOrgan.js +++ /dev/null @@ -1,67 +0,0 @@ -import _ from 'underscore'; -import { BaseCriterion } from './BaseCriterion'; - -export const MaxTargetsPerOrganSchema = { - type: 'object', - properties: { - limit: { - label: 'Max targets allowed per organ', - type: 'integer', - minimum: 1 - }, - newTarget: { - label: 'Flag to evaluate only new targets', - type: 'boolean' - } - }, - required: ['limit'] -}; - -/* - * MaxTargetsPerOrganCriterion - * Check if the number of target measurements per organ exceeded the limit allowed - * Options: - * limit: Max targets allowed in study - * newTarget: Flag to evaluate only new targets (must be evaluated on both) - */ -export class MaxTargetsPerOrganCriterion extends BaseCriterion { - - constructor(options) { - super(options); - } - - evaluate(data) { - const { options } = this; - const targetsPerOrgan = {}; - let measurements = []; - - const newTargetNumbers = this.getNewTargetNumbers(data); - _.each(data.targets, target => { - const { measurement } = target; - const { location, measurementNumber, isSplitLesion } = measurement; - - if (isSplitLesion) return; - - if (!targetsPerOrgan[location]) { - targetsPerOrgan[location] = new Set(); - } - - if (!options.newTarget || newTargetNumbers.has(measurementNumber)) { - targetsPerOrgan[location].add(measurementNumber); - } - - if (targetsPerOrgan[location].size > options.limit) { - measurements.push(measurement); - } - }); - - let message; - if (measurements.length) { - const increment = options.newTarget ? 'new ' : ''; - message = options.message || `Each organ should not have more than ${options.limit} ${increment}targets.`; - } - - return this.generateResponse(message, measurements); - } - -} diff --git a/Packages/ohif-measurements/src/conformance/criteria/MeasurementsLength.js b/Packages/ohif-measurements/src/conformance/criteria/MeasurementsLength.js deleted file mode 100644 index 33d73dfdb..000000000 --- a/Packages/ohif-measurements/src/conformance/criteria/MeasurementsLength.js +++ /dev/null @@ -1,149 +0,0 @@ -import { BaseCriterion } from './BaseCriterion'; - -export const MeasurementsLengthSchema = { - type: 'object', - properties: { - longAxis: { - label: 'Minimum length of long axis', - type: 'number', - minimum: 0 - }, - shortAxis: { - label: 'Minimum length of short axis', - type: 'number', - minimum: 0 - }, - longAxisSliceThicknessMultiplier: { - label: 'Length of long axis multiplier', - type: 'number', - minimum: 0 - }, - shortAxisSliceThicknessMultiplier: { - label: 'Length of short axis multiplier', - type: 'number', - minimum: 0 - }, - modalityIn: { - label: 'Filter to evaluate only measurements with the specified modalities', - type: 'array', - items: { - type: 'string' - }, - minItems: 1, - uniqueItems: true - }, - modalityNotIn: { - label: 'Filter to evaluate only measurements without the specified modalities', - type: 'array', - items: { - type: 'string' - }, - minItems: 1, - uniqueItems: true - }, - locationIn: { - label: 'Filter to evaluate only measurements with the specified locations', - type: 'array', - items: { - type: 'string' - }, - minItems: 1, - uniqueItems: true - }, - locationNotIn: { - label: 'Filter to evaluate only measurements without the specified locations', - type: 'array', - items: { - type: 'string' - }, - minItems: 1, - uniqueItems: true - }, - message: { - label: 'Message to be displayed in case of nonconformity', - type: 'string' - } - }, - anyOf: [ - { required: ['message', 'longAxis'] }, - { required: ['message', 'shortAxis'] }, - { required: ['message', 'longAxisSliceThicknessMultiplier'] }, - { required: ['message', 'shortAxisSliceThicknessMultiplier'] } - ] -}; - -/* - * MeasurementsLengthCriterion - * Check the measurements of all bidirectional tools based on - * short axis, long axis, modalities, location and slice thickness - * Options: - * longAxis: Minimum length of long axis - * shortAxis: Minimum length of short axis - * longAxisSliceThicknessMultiplier: Length of long axis multiplier - * shortAxisSliceThicknessMultiplier: Length of short axis multiplier - * modalityIn: Filter to evaluate only measurements with the specified modalities - * modalityNotIn: Filter to evaluate only measurements without the specified modalities - * locationIn: Filter to evaluate only measurements with the specified locations - * locationNotIn: Filter to evaluate only measurements without the specified locations - * message: Message to be displayed in case of nonconformity - */ -export class MeasurementsLengthCriterion extends BaseCriterion { - - constructor(options) { - super(options); - } - - evaluate(data) { - let message; - let measurements = []; - const { options } = this; - const longMultiplier = options.longAxisSliceThicknessMultiplier; - const shortMultiplier = options.shortAxisSliceThicknessMultiplier; - - data.targets.forEach(item => { - const { metadata, measurement } = item; - const { location } = measurement; - - let { longestDiameter, shortestDiameter } = measurement; - if (measurement.childToolsCount) { - const child = measurement.bidirectional; - longestDiameter = (child && child.longestDiameter) || 0; - shortestDiameter = (child && child.shortestDiameter) || 0; - } - - const { sliceThickness } = metadata; - const modality = (metadata.getRawValue('x00080060') || '').toUpperCase(); - - // Stop here if the measurement does not match the modality and location filters - if (options.locationIn && options.locationIn.indexOf(location) === -1) return; - if (options.modalityIn && options.modalityIn.indexOf(modality) === -1) return; - if (options.locationNotIn && options.locationNotIn.indexOf(location) > -1) return; - if (options.modalityNotIn && options.modalityNotIn.indexOf(modality) > -1) return; - - // Check the measurement length - const failed = ( - (options.longAxis && longestDiameter < options.longAxis) || - (options.shortAxis && shortestDiameter < options.shortAxis) || ( - longMultiplier && !isNaN(sliceThickness) && - longestDiameter < (longMultiplier * sliceThickness) - ) || ( - shortMultiplier && !isNaN(sliceThickness) && - shortestDiameter < (shortMultiplier * sliceThickness) - ) - ); - - // Mark this measurement as invalid if some of the checks have failed - if (failed) { - measurements.push(measurement); - } - }); - - // Use the options' message if some measurement is invalid - if (measurements.length) { - message = options.message; - } - - return this.generateResponse(message, measurements); - } - -} diff --git a/Packages/ohif-measurements/src/conformance/criteria/Modality.js b/Packages/ohif-measurements/src/conformance/criteria/Modality.js deleted file mode 100644 index 7bc328729..000000000 --- a/Packages/ohif-measurements/src/conformance/criteria/Modality.js +++ /dev/null @@ -1,82 +0,0 @@ -import { BaseCriterion } from './BaseCriterion'; -import _ from 'underscore'; - -export const ModalitySchema = { - type: 'object', - properties: { - method: { - label: 'Specify if it\'s goinig to "allow" or "deny" the modalities', - type: 'string', - enum: ['allow', 'deny'] - }, - measurementTypes: { - label: 'List of measurement types that will be evaluated', - type: 'array', - items: { - type: 'string' - }, - minItems: 1, - uniqueItems: true - }, - modalities: { - label: 'List of allowed/denied modalities', - type: 'array', - items: { - type: 'string' - }, - minItems: 1, - uniqueItems: true - } - }, - required: ['method', 'modalities'] -}; - -/* - * ModalityCriteria - * Check if a modality is allowed or denied - * Options: - * method (string): Specify if it\'s goinig to "allow" or "deny" the modalities - * measurementTypes (string[]): List of measurement types that will be evaluated - * modalities (string[]): List of allowed/denied modalities - */ -export class ModalityCriterion extends BaseCriterion { - - constructor(options) { - super(options); - } - - evaluate(data) { - const measurementTypes = this.options.measurementTypes || ['targets']; - const modalitiesSet = new Set(this.options.modalities); - const validationMethod = this.options.method; - const measurements = []; - const invalidModalities = []; - let message; - - measurementTypes.forEach(measurementType => { - const items = data[measurementType]; - - items.forEach(item => { - const { measurement, metadata } = item; - const modality = (metadata.getRawValue('x00080060') || '').toUpperCase(); - - if (((validationMethod === 'allow') && !modalitiesSet.has(modality)) || - ((validationMethod === 'deny') && modalitiesSet.has(modality))) { - measurements.push(measurement); - invalidModalities.push(modality); - } - }); - }); - - if (measurements.length) { - const uniqueModalities = _.uniq(invalidModalities); - const uniqueModalitiesText = uniqueModalities.join(', '); - const modalityText = uniqueModalities.length > 1 ? 'modalities' : 'modality'; - - message = `The ${modalityText} ${uniqueModalitiesText} should not be used as a method of measurement`; - } - - return this.generateResponse(message, measurements); - } - -} diff --git a/Packages/ohif-measurements/src/conformance/criteria/NonTargetResponse.js b/Packages/ohif-measurements/src/conformance/criteria/NonTargetResponse.js deleted file mode 100644 index 41d3662ae..000000000 --- a/Packages/ohif-measurements/src/conformance/criteria/NonTargetResponse.js +++ /dev/null @@ -1,37 +0,0 @@ -import { BaseCriterion } from './BaseCriterion'; - -export const NonTargetResponseSchema = { - type: 'object' -}; - -/* NonTargetResponseCriterion - * Check if the there are non-target measurements with response different than "present" on baseline - */ -export class NonTargetResponseCriterion extends BaseCriterion { - - constructor(options) { - super(options); - } - - evaluate(data) { - const items = data.nonTargets; - const measurements = []; - let message; - - items.forEach(item => { - const measurement = item.measurement; - const response = (measurement.response || '').toLowerCase(); - - if (response !== 'present') { - measurements.push(measurement); - } - }); - - if (measurements.length) { - message = 'Non-targets can only be assessed as "present"'; - } - - return this.generateResponse(message, measurements); - } - -} diff --git a/Packages/ohif-measurements/src/conformance/criteria/TargetType.js b/Packages/ohif-measurements/src/conformance/criteria/TargetType.js deleted file mode 100644 index 90009d4a3..000000000 --- a/Packages/ohif-measurements/src/conformance/criteria/TargetType.js +++ /dev/null @@ -1,36 +0,0 @@ -import { BaseCriterion } from './BaseCriterion'; - -export const TargetTypeSchema = { - type: 'object' -}; - -/* TargetTypeCriterion - * Check if the there are non-bidirectional target measurements on baseline - */ -export class TargetTypeCriterion extends BaseCriterion { - - constructor(options) { - super(options); - } - - evaluate(data) { - const items = data.targets; - const measurements = []; - let message; - - items.forEach(item => { - const measurement = item.measurement; - - if (measurement.toolType !== 'bidirectional' && !measurement.bidirectional) { - measurements.push(measurement); - } - }); - - if (measurements.length) { - message = 'Target lesions must have measurements (cannot be assessed as CR, UN/NE, EX)'; - } - - return this.generateResponse(message, measurements); - } - -} diff --git a/Packages/ohif-measurements/src/conformance/criteria/index.js b/Packages/ohif-measurements/src/conformance/criteria/index.js deleted file mode 100644 index 5501e2c7a..000000000 --- a/Packages/ohif-measurements/src/conformance/criteria/index.js +++ /dev/null @@ -1,7 +0,0 @@ -export * from './Location'; -export * from './MaxTargetsPerOrgan'; -export * from './MaxTargets'; -export * from './MeasurementsLength'; -export * from './Modality'; -export * from './NonTargetResponse'; -export * from './TargetType'; diff --git a/Packages/ohif-measurements/src/conformance/evaluations/index.js b/Packages/ohif-measurements/src/conformance/evaluations/index.js deleted file mode 100644 index 502ef29dd..000000000 --- a/Packages/ohif-measurements/src/conformance/evaluations/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import * as recistEvaluation from './recist.json'; - -export const recist = recistEvaluation; diff --git a/Packages/ohif-measurements/src/conformance/evaluations/recist.json b/Packages/ohif-measurements/src/conformance/evaluations/recist.json deleted file mode 100644 index 2dd5b988f..000000000 --- a/Packages/ohif-measurements/src/conformance/evaluations/recist.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "both": { - "Location": {} - }, - "baseline": { - "TargetType": {}, - "MaxTargetsPerOrgan": { - "limit": 2 - }, - "MaxTargets": { - "limit": 5 - }, - "MeasurementsLength": [{ - "longAxis": 10, - "longAxisSliceThicknessMultiplier": 2, - "modalityIn": ["CT", "MR"], - "locationNotIn": ["Lymph Node"], - "message": "Extranodal lesions must be >= 10mm long axis AND >= double the acquisition slice thickness by CT and MR" - }, { - "shortAxis": 20, - "longAxis": 20, - "modalityIn": ["PX", "XA"], - "locationNotIn": ["Lymph Node"], - "message": "Extranodal lesions must be >= 20mm on chest x-ray (although x-rays rarely used for clinical trial assessment)" - }, { - "shortAxis": 15, - "shortAxisSliceThicknessMultiplier": 2, - "modalityIn": ["CT", "MR"], - "locationIn": ["Lymph Node"], - "message": "Nodal lesions must be >= 15mm short axis AND >= double the acquisition slice thickness by CT and MR" - }] - }, - "followup": {} -} diff --git a/Packages/ohif-measurements/src/conformance/index.js b/Packages/ohif-measurements/src/conformance/index.js deleted file mode 100644 index 4f89dd19e..000000000 --- a/Packages/ohif-measurements/src/conformance/index.js +++ /dev/null @@ -1 +0,0 @@ -import './ConformanceCriteria'; diff --git a/Packages/ohif-measurements/src/helpers/index.js b/Packages/ohif-measurements/src/helpers/index.js deleted file mode 100644 index fc444bbe9..000000000 --- a/Packages/ohif-measurements/src/helpers/index.js +++ /dev/null @@ -1 +0,0 @@ -import './measurements.js'; diff --git a/Packages/ohif-measurements/src/helpers/measurements.js b/Packages/ohif-measurements/src/helpers/measurements.js deleted file mode 100644 index b482724ba..000000000 --- a/Packages/ohif-measurements/src/helpers/measurements.js +++ /dev/null @@ -1,14 +0,0 @@ -import { Template } from 'meteor/templating'; - -import { OHIF } from 'ohif-core'; - -// Get the current measurement API configuration with information about tools, data exchange -// and data validation. -Template.registerHelper('measurementConfiguration', () => { - return OHIF.measurements.MeasurementApi.getConfiguration(); -}); - -// Translates the location and return a string containing its label -Template.registerHelper('getLocationLabel', label => { - return OHIF.measurements.getLocationLabel(label); -}); diff --git a/Packages/ohif-measurements/src/index.js b/Packages/ohif-measurements/src/index.js deleted file mode 100644 index f06b109d8..000000000 --- a/Packages/ohif-measurements/src/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import './base'; -import './conformance'; -import './lib'; -import './helpers'; -import './configuration' -import './schema'; diff --git a/Packages/ohif-measurements/src/lib/MeasurementHandlers/MeasurementHandlers.js b/Packages/ohif-measurements/src/lib/MeasurementHandlers/MeasurementHandlers.js deleted file mode 100644 index 99360bc09..000000000 --- a/Packages/ohif-measurements/src/lib/MeasurementHandlers/MeasurementHandlers.js +++ /dev/null @@ -1,81 +0,0 @@ -import { OHIF } from 'ohif-core'; -import handleSingleMeasurementAdded from './handleSingleMeasurementAdded'; -import handleChildMeasurementAdded from './handleChildMeasurementAdded'; -import handleSingleMeasurementModified from './handleSingleMeasurementModified'; -import handleChildMeasurementModified from './handleChildMeasurementModified'; -import handleSingleMeasurementRemoved from './handleSingleMeasurementRemoved'; -import handleChildMeasurementRemoved from './handleChildMeasurementRemoved'; - -const MeasurementHandlers = { - handleSingleMeasurementAdded, - handleChildMeasurementAdded, - handleSingleMeasurementModified, - handleChildMeasurementModified, - handleSingleMeasurementRemoved, - handleChildMeasurementRemoved, - - onAdded(event, instance) { - const eventData = event.detail; - const { toolType } = eventData; - const { toolGroupId, toolGroup, tool } = OHIF.measurements.getToolConfiguration(toolType); - const params = { - instance, - eventData, - tool, - toolGroupId, - toolGroup - }; - - if (!tool) return; - - if (tool.parentTool) { - this.handleChildMeasurementAdded(params); - } else { - this.handleSingleMeasurementAdded(params); - } - }, - - onModified(event, instance) { - const eventData = event.detail; - const { toolType } = eventData; - const { toolGroupId, toolGroup, tool } = OHIF.measurements.getToolConfiguration(toolType); - const params = { - instance, - eventData, - tool, - toolGroupId, - toolGroup - }; - - if (!tool) return; - - if (tool.parentTool) { - this.handleChildMeasurementModified(params); - } else { - this.handleSingleMeasurementModified(params); - } - }, - - onRemoved(e, instance) { - const eventData = event.detail; - const { toolType } = eventData; - const { toolGroupId, toolGroup, tool } = OHIF.measurements.getToolConfiguration(toolType); - const params = { - instance, - eventData, - tool, - toolGroupId, - toolGroup - }; - - if (!tool) return; - - if (tool.parentTool) { - MeasurementHandlers.handleChildMeasurementRemoved(params); - } else { - MeasurementHandlers.handleSingleMeasurementRemoved(params); - } - } -}; - -OHIF.measurements.MeasurementHandlers = MeasurementHandlers; diff --git a/Packages/ohif-measurements/src/lib/MeasurementHandlers/getImageAttributes.js b/Packages/ohif-measurements/src/lib/MeasurementHandlers/getImageAttributes.js deleted file mode 100644 index 42a0e2fa1..000000000 --- a/Packages/ohif-measurements/src/lib/MeasurementHandlers/getImageAttributes.js +++ /dev/null @@ -1,32 +0,0 @@ -import { cornerstone } from 'meteor/ohif:cornerstone'; - -export default function (element) { - // Get the Cornerstone imageId - const enabledElement = cornerstone.getEnabledElement(element); - const imageId = enabledElement.image.imageId; - - // Get studyInstanceUid & patientId - const study = cornerstone.metaData.get('study', imageId); - const studyInstanceUid = study.studyInstanceUid; - const patientId = study.patientId; - - // Get seriesInstanceUid - const series = cornerstone.metaData.get('series', imageId); - const seriesInstanceUid = series.seriesInstanceUid; - - // Get sopInstanceUid - const sopInstance = cornerstone.metaData.get('instance', imageId); - const sopInstanceUid = sopInstance.sopInstanceUid; - const frameIndex = sopInstance.frame || 0; - - const imagePath = [studyInstanceUid, seriesInstanceUid, sopInstanceUid, frameIndex].join('_'); - - return { - patientId, - studyInstanceUid, - seriesInstanceUid, - sopInstanceUid, - frameIndex, - imagePath - }; -} diff --git a/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleChildMeasurementAdded.js b/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleChildMeasurementAdded.js deleted file mode 100644 index c6fb1fa8b..000000000 --- a/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleChildMeasurementAdded.js +++ /dev/null @@ -1,101 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; -import { cornerstone } from 'meteor/ohif:cornerstone'; -import getImageAttributes from './getImageAttributes'; - -export default function ({ instance, eventData, tool, toolGroupId, toolGroup }) { - const { measurementApi } = instance.data; - const { measurementData } = eventData; - - const Collection = measurementApi.tools[tool.parentTool]; - - // Stop here if the tool data shall not be persisted (e.g. temp tools) - if (!Collection) return; - - // Stop here if there's no measurement data or if it was cancelled - if (!measurementData || measurementData.cancelled) return; - - OHIF.log.info('CornerstoneToolsMeasurementAdded'); - - const imageAttributes = getImageAttributes(eventData.element); - const measurement = { - toolType: tool.parentTool, - measurementNumber: measurementData.measurementNumber, - userId: OHIF.user.getUserId(), - patientId: imageAttributes.patientId, - studyInstanceUid: imageAttributes.studyInstanceUid - }; - - const additionalProperties = _.extend(imageAttributes, { - userId: OHIF.user.getUserId() - }); - - const childMeasurement = _.extend({}, measurementData, additionalProperties); - - const parentMeasurement = Collection.findOne({ - toolType: tool.parentTool, - patientId: imageAttributes.patientId, - [tool.attribute]: null - }); - - // Check if a measurement to fit this child tool already exists - if (parentMeasurement) { - const key = tool.attribute; - - // Add the createdAt attribute - childMeasurement.createdAt = new Date(); - - // Add the child measurement - measurement[key] = childMeasurement; - - // Clean the measurement according to the Schema - Collection._c2._simpleSchema.clean(measurement); - - // Update the measurement in the collection - Collection.update(parentMeasurement._id, { - $set: { [key]: measurement[key] }, - $inc: { childToolsCount: 1 } - }); - - // Update the measurementData ID and measurementNumber - measurementData._id = parentMeasurement._id; - measurementData.measurementNumber = parentMeasurement.measurementNumber; - } else { - measurement[tool.attribute] = _.extend({}, measurementData, additionalProperties); - - // Get the related timepoint by the measurement number and use its location if defined - const relatedTimepoint = Collection.findOne({ - measurementNumber: measurement.measurementNumber, - toolType: tool.parentTool, - patientId: imageAttributes.patientId - }); - - // Use the related timepoint location if found and defined - if (relatedTimepoint && relatedTimepoint.location) { - measurement.location = relatedTimepoint.location; - } - - // Use the related timepoint description if found and defined - if (relatedTimepoint && relatedTimepoint.description) { - measurement.description = relatedTimepoint.description; - } - - // Clean the measurement according to the Schema - Collection._c2._simpleSchema.clean(measurement); - - // Insert the new measurement into the collection - measurementData._id = Collection.insert(measurement); - - // Get the updated measurement number after inserting - Meteor.defer(() => { - measurementData.measurementNumber = Collection.findOne(measurementData._id).measurementNumber; - cornerstone.updateImage(OHIF.viewerbase.viewportUtils.getActiveViewportElement()); - }); - } - - // Notify that viewer suffered changes - if (tool.toolGroup !== 'temp') { - OHIF.measurements.triggerTimepointUnsavedChanges(eventData.toolType); - } -} diff --git a/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleChildMeasurementModified.js b/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleChildMeasurementModified.js deleted file mode 100644 index d1e8ada72..000000000 --- a/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleChildMeasurementModified.js +++ /dev/null @@ -1,42 +0,0 @@ -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; -import { cornerstone } from 'meteor/ohif:cornerstone'; - -export default function ({ instance, eventData, tool, toolGroupId, toolGroup }) { - const { measurementApi } = instance.data; - const { measurementData } = eventData; - - const Collection = measurementApi.tools[tool.parentTool]; - - // Stop here if the tool data shall not be persisted (e.g. temp tools) - if (!Collection) return; - - OHIF.log.info('CornerstoneToolsMeasurementModified'); - - const measurement = Collection.findOne(measurementData._id); - const childMeasurement = measurement && measurement[tool.attribute]; - - // Stop here if the measurement is already deleted - if (!childMeasurement) return; - - // Update the collection data with the cornerstone measurement data - const ignoredKeys = ['location', 'description', 'response']; - Object.keys(measurementData).forEach(key => { - if (_.contains(ignoredKeys, key)) return; - childMeasurement[key] = measurementData[key]; - }); - - // If the measurement configuration includes a value for Viewport, - // we will populate this with the Cornerstone Viewport - if (Collection._c2._simpleSchema.schema(`${tool.attribute}.viewport`)) { - childMeasurement.viewport = cornerstone.getViewport(eventData.element); - } - - // Update the measurement in the collection - Collection.update(measurement._id, { $set: { [tool.attribute]: childMeasurement } }); - - // Notify that viewer suffered changes - if (tool.toolGroup !== 'temp') { - OHIF.measurements.triggerTimepointUnsavedChanges(eventData.toolType); - } -} diff --git a/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleChildMeasurementRemoved.js b/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleChildMeasurementRemoved.js deleted file mode 100644 index ee03a984a..000000000 --- a/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleChildMeasurementRemoved.js +++ /dev/null @@ -1,42 +0,0 @@ -import _ from 'underscore'; -import $ from 'jquery'; -import { OHIF } from 'ohif-core'; -import { cornerstone } from 'meteor/ohif:cornerstone'; - -export default function ({ instance, eventData, tool, toolGroupId, toolGroup }) { - OHIF.log.info('CornerstoneToolsMeasurementRemoved'); - const measurementData = eventData.measurementData; - const { measurementApi, timepointApi } = instance.data; - const Collection = measurementApi.tools[tool.parentTool]; - - // Stop here if the tool data shall not be persisted (e.g. temp tools) - if (!Collection) return; - - const measurement = Collection.findOne(measurementData._id); - - // Stop here if the measurement is already gone or never existed - if (!measurement) return; - - if (measurement.childToolsCount === 1) { - // Remove the measurement - Collection.remove(measurement._id); - - // Sync the new measurement data with cornerstone tools - const baseline = timepointApi.baseline(); - measurementApi.sortMeasurements(baseline.timepointId); - } else { - // Update the measurement in the collection - Collection.update(measurement._id, { - $set: { [tool.attribute]: null }, - $inc: { childToolsCount: -1 } - }); - } - - // Repaint the images on all viewports without the removed measurements - _.each($('.imageViewerViewport'), element => cornerstone.updateImage(element)); - - // Notify that viewer suffered changes - if (tool.toolGroup !== 'temp') { - OHIF.measurements.triggerTimepointUnsavedChanges(eventData.toolType); - } -} diff --git a/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleSingleMeasurementAdded.js b/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleSingleMeasurementAdded.js deleted file mode 100644 index 604740ef7..000000000 --- a/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleSingleMeasurementAdded.js +++ /dev/null @@ -1,61 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; -import { cornerstone } from 'meteor/ohif:cornerstone'; -import getImageAttributes from './getImageAttributes'; - -export default function ({ instance, eventData, tool }) { - const { measurementApi } = instance.data; - const { measurementData, toolType } = eventData; - - const Collection = measurementApi.tools[toolType]; - - // Stop here if the tool data shall not be persisted (e.g. temp tools) - if (!Collection) return; - - // Stop here if there's no measurement data or if it was cancelled - if (!measurementData || measurementData.cancelled) return; - - OHIF.log.info('CornerstoneToolsMeasurementAdded'); - - const imageAttributes = getImageAttributes(eventData.element); - const measurement = _.extend({}, measurementData, imageAttributes, { - measurementNumber: measurementData.measurementNumber, - userId: OHIF.user.getUserId(), - toolType - }); - - // Get the related timepoint by the measurement number and use its location if defined - const relatedTimepoint = Collection.findOne({ - measurementNumber: measurement.measurementNumber, - toolType: measurementData.toolType, - patientId: imageAttributes.patientId, - }); - - // Use the related timepoint location if found and defined - if (relatedTimepoint && relatedTimepoint.location) { - measurement.location = relatedTimepoint.location; - } - - // Use the related timepoint description if found and defined - if (relatedTimepoint && relatedTimepoint.description) { - measurement.description = relatedTimepoint.description; - } - - // Clean the measurement according to the Schema - Collection._c2._simpleSchema.clean(measurement); - - // Insert the new measurement into the collection - measurementData._id = Collection.insert(measurement); - - // Get the updated measurement number after inserting - Meteor.defer(() => { - measurementData.measurementNumber = Collection.findOne(measurementData._id).measurementNumber; - cornerstone.updateImage(OHIF.viewerbase.viewportUtils.getActiveViewportElement()); - }); - - // Notify that viewer suffered changes - if (tool.toolGroup !== 'temp') { - OHIF.measurements.triggerTimepointUnsavedChanges(eventData.toolType); - } -} diff --git a/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleSingleMeasurementModified.js b/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleSingleMeasurementModified.js deleted file mode 100644 index 266e8fe48..000000000 --- a/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleSingleMeasurementModified.js +++ /dev/null @@ -1,44 +0,0 @@ -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; -import { cornerstone } from 'meteor/ohif:cornerstone'; - -export default function ({ instance, eventData, tool, toolGroupId, toolGroup }) { - const { measurementApi } = instance.data; - const { measurementData, toolType } = eventData; - - const Collection = measurementApi.tools[toolType]; - - // Stop here if the tool data shall not be persisted (e.g. temp tools) - if (!Collection) return; - - OHIF.log.info('CornerstoneToolsMeasurementModified'); - - const measurement = Collection.findOne(measurementData._id); - - // Stop here if the measurement is already deleted - if (!measurement) return; - - // Update the collection data with the cornerstone measurement data - const ignoredKeys = ['location', 'description', 'response']; - Object.keys(measurementData).forEach(key => { - if (_.contains(ignoredKeys, key)) return; - measurement[key] = measurementData[key]; - }); - - const measurementId = measurement._id; - delete measurement._id; - - // If the measurement configuration includes a value for Viewport, - // we will populate this with the Cornerstone Viewport - if (Collection._c2._simpleSchema.schema('viewport')) { - measurement.viewport = cornerstone.getViewport(eventData.element); - } - - // Update the measurement in the collection - Collection.update(measurementId, { $set: measurement }); - - // Notify that viewer suffered changes - if (tool.toolGroup !== 'temp') { - OHIF.measurements.triggerTimepointUnsavedChanges(eventData.toolType); - } -} diff --git a/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleSingleMeasurementRemoved.js b/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleSingleMeasurementRemoved.js deleted file mode 100644 index 8a59f83c7..000000000 --- a/Packages/ohif-measurements/src/lib/MeasurementHandlers/handleSingleMeasurementRemoved.js +++ /dev/null @@ -1,39 +0,0 @@ -import _ from 'underscore'; -import $ from 'jquery'; -import { OHIF } from 'ohif-core'; -import { cornerstone } from 'meteor/ohif:cornerstone'; - -export default function({ instance, eventData, tool, toolGroupId, toolGroup }) { - OHIF.log.info('CornerstoneToolsMeasurementRemoved'); - const measurementData = eventData.measurementData; - const { measurementApi, timepointApi } = instance.data; - const Collection = measurementApi.tools[eventData.toolType]; - - // Stop here if the tool data shall not be persisted (e.g. temp tools) - if (!Collection) return; - - const measurementTypeId = measurementApi.toolsGroupsMap[eventData.toolType]; - const measurement = Collection.findOne(measurementData._id); - - // Stop here if the measurement is already gone or never existed - if (!measurement) return; - - // Remove all the measurements with the given type and number - const { measurementNumber, timepointId } = measurement; - measurementApi.deleteMeasurements(measurementTypeId, { - measurementNumber, - timepointId - }); - - // Sync the new measurement data with cornerstone tools - const baseline = timepointApi.baseline(); - measurementApi.sortMeasurements(baseline.timepointId); - - // Repaint the images on all viewports without the removed measurements - _.each($('.imageViewerViewport:not(.empty)'), element => cornerstone.updateImage(element)); - - // Notify that viewer suffered changes - if (tool.toolGroup !== 'temp') { - OHIF.measurements.triggerTimepointUnsavedChanges(eventData.toolType); - } -} diff --git a/Packages/ohif-measurements/src/lib/MeasurementHandlers/index.js b/Packages/ohif-measurements/src/lib/MeasurementHandlers/index.js deleted file mode 100644 index 3d74e2933..000000000 --- a/Packages/ohif-measurements/src/lib/MeasurementHandlers/index.js +++ /dev/null @@ -1 +0,0 @@ -import './MeasurementHandlers'; diff --git a/Packages/ohif-measurements/src/lib/MeasurementManager.js b/Packages/ohif-measurements/src/lib/MeasurementManager.js deleted file mode 100644 index c0deb283a..000000000 --- a/Packages/ohif-measurements/src/lib/MeasurementManager.js +++ /dev/null @@ -1,25 +0,0 @@ -import { OHIF } from 'ohif-core'; - -class MeasurementManager { - - /** - * If the current Measurements Number already exists - * for any other timepoint, returns lesion locationUID - * @param measurementData - * @returns {number} - Measurement location ID - */ - static getLocationIdIfMeasurementExists(measurementData, collection) { - const measurement = collection.findOne({ - measurementNumber: measurementData.measurementNumber - }); - - if (!measurement) { - return; - } - - return measurement.locationId; - } - -} - -OHIF.measurements.MeasurementManager = MeasurementManager; diff --git a/Packages/ohif-measurements/src/lib/activateMeasurements.js b/Packages/ohif-measurements/src/lib/activateMeasurements.js deleted file mode 100644 index 86a7ce0a6..000000000 --- a/Packages/ohif-measurements/src/lib/activateMeasurements.js +++ /dev/null @@ -1,89 +0,0 @@ -import $ from 'jquery'; -import { cornerstone, cornerstoneTools } from 'meteor/ohif:cornerstone'; -import { OHIF } from 'ohif-core'; - -const scrollToIndex = cornerstoneTools.import('util/scrollToIndex'); - -/** - * Activates a specific tool data instance and deactivates all other - * target and non-target measurement data - * - * @param element - * @param measurementData - */ -function activateTool(measurementData) { - const toolType = measurementData.toolType; - const imageId = OHIF.viewerbase.getImageIdForImagePath(measurementData.imagePath); - const toolState = cornerstoneTools.globalImageIdSpecificToolStateManager.saveToolState(); - - const imageToolState = toolState[imageId]; - const toolData = imageToolState && imageToolState[toolType]; - if (!toolData || !toolData.data || !toolData.data.length) { - return; - } - - // When a measurement is selected, it will be activated in Cornerstone's - // tool data - const tool = toolData.data.find(data => data._id === measurementData._id); - if (tool) { - tool.active = true; - } - - cornerstoneTools.globalImageIdSpecificToolStateManager.restoreToolState(toolState); -} - -/** - * Switch to the image of the correct image index - * Activate the selected measurement on the switched image (color to be green) - * Deactivate all other measurements on the switched image (color to be white) - */ -OHIF.measurements.activateMeasurements = (element, measurementData) => { - OHIF.log.info('activateMeasurements'); - - // If Cornerstone Viewport information was stored while the measurement was created, - // we should re-apply this data when activating the measurement. - const viewport = cornerstone.getViewport(element); - - // TODO: Make this an option somewhere? For now we only want to apply windowWidth and - // windowCenter - const viewportPropertiesToUpdate = ['voi']; - - // Check to make sure we actually stored viewport data before trying to apply it - if (measurementData.viewport) { - - // For each property which is not undefined, update it's value from the stored - // measurement data - viewportPropertiesToUpdate.forEach(prop => { - const storedPropertyValue = measurementData.viewport[prop]; - if (storedPropertyValue === undefined) { - return; - } - - viewport[prop] = storedPropertyValue; - }); - - // Apply the updated viewport parameters to the element - cornerstone.setViewport(element, viewport); - } - - // Activate the tool in the tool data - activateTool(measurementData); - - const enabledElement = cornerstone.getEnabledElement(element); - const currentImageId = enabledElement.image.imageId; - const toolData = cornerstoneTools.getToolState(element, 'stack'); - const imageId = OHIF.viewerbase.getImageIdForImagePath(measurementData.imagePath); - const imageIdIndex = toolData.data[0].imageIds.indexOf(imageId); - - // If we aren't currently displaying the image that this tool is on, - // scroll to it now. - if (currentImageId !== imageId) { - scrollToIndex(element, imageIdIndex); - } - - const $element = $(element); - if (!$element.find('canvas').length) return; - - $element.trigger('ViewerMeasurementsActivated'); - cornerstone.updateImage(element); -}; diff --git a/Packages/ohif-measurements/src/lib/clearCornerstoneToolState.js b/Packages/ohif-measurements/src/lib/clearCornerstoneToolState.js deleted file mode 100644 index cc9cb0f5a..000000000 --- a/Packages/ohif-measurements/src/lib/clearCornerstoneToolState.js +++ /dev/null @@ -1,6 +0,0 @@ -import { OHIF } from 'ohif-core'; -import { cornerstoneTools } from 'meteor/ohif:cornerstone'; - -OHIF.measurements.clearCornerstoneToolState = () => { - cornerstoneTools.globalImageIdSpecificToolStateManager.restoreToolState({}); -}; diff --git a/Packages/ohif-measurements/src/lib/deactivateAllToolData.js b/Packages/ohif-measurements/src/lib/deactivateAllToolData.js deleted file mode 100644 index e485feb6b..000000000 --- a/Packages/ohif-measurements/src/lib/deactivateAllToolData.js +++ /dev/null @@ -1,26 +0,0 @@ -import { OHIF } from 'ohif-core' - -/** - * Sets all tool data entries value for 'active' to false - * This is used to remove the active color on entire sets of tools - */ -OHIF.measurements.deactivateAllToolData = () => { - const toolState = cornerstoneTools.globalImageIdSpecificToolStateManager.saveToolState() - - Object.keys(toolState).forEach(imageId => { - const toolData = toolState[imageId]; - - Object.keys(toolData).forEach(toolType => { - const specificToolData = toolData[toolType] - if (!specificToolData || !specificToolData.data || !specificToolData.data.length) { - return - } - - specificToolData.data.forEach(data => { - data.active = false - }); - }); - }); - - cornerstoneTools.globalImageIdSpecificToolStateManager.restoreToolState(toolState) -} diff --git a/Packages/ohif-measurements/src/lib/exportPdf.js b/Packages/ohif-measurements/src/lib/exportPdf.js deleted file mode 100644 index 2377e0162..000000000 --- a/Packages/ohif-measurements/src/lib/exportPdf.js +++ /dev/null @@ -1,69 +0,0 @@ -import { OHIF } from 'ohif-core'; -import { MeasurementReport } from '../reports/measurement'; - -OHIF.measurements.exportPdf = (measurementApi, timepointApi) => { - const currentTimepoint = timepointApi.current(); - const { timepointId } = currentTimepoint; - const study = OHIF.viewer.Studies.findBy({ - studyInstanceUid: currentTimepoint.studyInstanceUids[0] - }); - const report = new MeasurementReport({ - header: { - trial: 'RECIST 1.1', - patientName: OHIF.viewerbase.helpers.formatPN(study.patientName), - mrn: study.patientId, - timepoint: timepointApi.name(currentTimepoint) - } - }); - - const printMeasurement = (measurement, callback) => { - OHIF.measurements.getImageDataUrl({ measurement }).then(imageDataUrl => { - const imageId = OHIF.viewerbase.getImageIdForImagePath(measurement.imagePath); - const series = cornerstone.metaData.get('series', imageId); - const instance = cornerstone.metaData.get('instance', imageId); - - let info = measurement.response; - if (!info) { - info = measurement.longestDiameter; - if (measurement.shortestDiameter) { - info += ` × ${measurement.shortestDiameter}`; - } - - info += ' mm'; - } - - info += ` (S:${series.seriesNumber}, I:${instance.instanceNumber})`; - - let type = measurementApi.toolsGroupsMap[measurement.toolType]; - type = type === 'targets' ? 'Target' : 'Non-target'; - - report.printMeasurement({ - type, - number: measurement.measurementNumber, - location: OHIF.measurements.getLocationLabel(measurement.location) || '', - info, - image: imageDataUrl - }); - - processMeasurements(callback); - }); - }; - - const processMeasurements = callback => { - const current = iterator.next(); - if (current.done) { - callback(); - return; - } - - const measurement = current.value; - printMeasurement(measurement, callback); - }; - - const targets = measurementApi.fetch('targets', { timepointId }); - const nonTargets = measurementApi.fetch('nonTargets', { timepointId }); - const measurements = targets.concat(nonTargets); - const iterator = measurements[Symbol.iterator](); - - processMeasurements(() => report.save('measurements.pdf')); -}; diff --git a/Packages/ohif-measurements/src/lib/exportToCsv.js b/Packages/ohif-measurements/src/lib/exportToCsv.js deleted file mode 100644 index 898bba3da..000000000 --- a/Packages/ohif-measurements/src/lib/exportToCsv.js +++ /dev/null @@ -1,25 +0,0 @@ -import { OHIF } from 'ohif-core'; -import { getCSVMeasurementData } from '../reports/reportMeasurementDataToCSV'; - -const downloadCSV = (csvData, args = {}) => { - let data, link; - - const filename = args.filename || 'export.csv'; - - if (csvData == null) return; - - if (!csvData.match(/^data:text\/csv/i)) { - csvData = 'data:text/csv;charset=utf-8,' + csvData; - } - - data = encodeURI(csvData); - link = document.createElement('a'); - link.setAttribute('href', data); - link.setAttribute('download', filename); - link.click(); -}; - -OHIF.measurements.exportCSV = async (measurementApi, timepointApi) => { - const csvData = await getCSVMeasurementData(measurementApi, timepointApi); - downloadCSV(csvData); -}; diff --git a/Packages/ohif-measurements/src/lib/findAndRenderDisplaySet.js b/Packages/ohif-measurements/src/lib/findAndRenderDisplaySet.js deleted file mode 100644 index 4e4848d57..000000000 --- a/Packages/ohif-measurements/src/lib/findAndRenderDisplaySet.js +++ /dev/null @@ -1,27 +0,0 @@ -import { OHIF } from 'ohif-core'; - -OHIF.measurements.findAndRenderDisplaySet = (displaySets, viewportIndex, studyInstanceUid, seriesInstanceUid, sopInstanceUid, renderedCallback) => { - // Find the proper stack to display - const stacksFromSeries = displaySets.filter(stack => stack.seriesInstanceUid === seriesInstanceUid); - const stack = stacksFromSeries.find(stack => { - const imageIndex = stack.images.findIndex(image => image.getSOPInstanceUID() === sopInstanceUid); - return imageIndex > -1; - }); - - // TODO: make this work for multi-frame instances - const specificImageIndex = stack.images.findIndex(image => image.getSOPInstanceUID() === sopInstanceUid); - - const displaySetData = { - studyInstanceUid: studyInstanceUid, - seriesInstanceUid: seriesInstanceUid, - displaySetInstanceUid: stack.displaySetInstanceUid, - currentImageIdIndex: specificImageIndex - }; - - // Add a renderedCallback to activate the measurements once it's - if (renderedCallback) { - displaySetData.renderedCallback = renderedCallback; - } - - OHIF.viewer.layoutManager.rerenderViewportWithNewDisplaySet(viewportIndex, displaySetData); -}; diff --git a/Packages/ohif-measurements/src/lib/getActiveTimepoint.js b/Packages/ohif-measurements/src/lib/getActiveTimepoint.js deleted file mode 100644 index a3954d8fe..000000000 --- a/Packages/ohif-measurements/src/lib/getActiveTimepoint.js +++ /dev/null @@ -1,12 +0,0 @@ -import { OHIF } from 'ohif-core'; - -/** - * Extensible method to get the timepoint of the active viewport - * - * @returns {Object} - Timepoint data for the active viewport - */ -OHIF.measurements.getActiveTimepoint = () => { - const activeViewportIndex = window.store.getState().viewports.activeViewport; - const { studyInstanceUid } = OHIF.viewer.layoutManager.viewportData[activeViewportIndex]; - return OHIF.viewer.timepointApi.study(studyInstanceUid)[0]; -}; diff --git a/Packages/ohif-measurements/src/lib/getImageDataUrl.js b/Packages/ohif-measurements/src/lib/getImageDataUrl.js deleted file mode 100644 index cc484678b..000000000 --- a/Packages/ohif-measurements/src/lib/getImageDataUrl.js +++ /dev/null @@ -1,181 +0,0 @@ -import { OHIF } from 'ohif-core'; -import $ from 'jquery'; -import { cornerstone, cornerstoneMath, cornerstoneTools } from 'meteor/ohif:cornerstone'; - -OHIF.measurements.getImageDataUrl = ({ - imageType='image/jpeg', - quality=1, - width=512, - height=512, - cacheImage=true, - imagePath, - measurement, - alwaysVisibleText=true, - viewport -}) => { - imagePath = imagePath || measurement.imagePath; - const imageId = OHIF.viewerbase.getImageIdForImagePath(imagePath); - - // Create a deep copy of the measurement to prevent changing its original properties - if (measurement) { - measurement = $.extend(true, {}, measurement); - } - - return new Promise((resolve, reject) => { - const loadMethod = cacheImage ? 'loadAndCacheImage' : 'loadImage'; - cornerstone[loadMethod](imageId).then(image => { - // Create a cornerstone enabled element to handle the image - const enabledElement = createEnabledElement(width, height); - const element = enabledElement.element; - - // Display the image on cornerstone's canvas - cornerstone.displayImage(element, image); - - // Add the measurement state and enable the tool if a measurement was given - if (measurement) { - const state = Object.assign({}, measurement, { active: true }); - Object.keys(measurement.handles).forEach(handleKey => { - const handle = Object.assign({}, state.handles[handleKey]); - handle.selected = false; - handle.active = false; - handle.moving = false; - state.handles[handleKey] = handle; - }); - - cornerstoneTools.addToolState(element, measurement.toolType, state); - cornerstoneTools.setToolEnabled(measurement.toolType); - } - - // Set the viewport voi if present - if (viewport && viewport.voi) { - const csViewport = cornerstone.getViewport(element); - Object.assign(csViewport, { voi: viewport.voi }); - cornerstone.setViewport(element, csViewport); - } - - // Resolve the current promise giving the dataUrl as parameter - const renderedCallback = () => { - const dataUrl = enabledElement.canvas.toDataURL(imageType, quality); - - // Disable the tool and clear the measurement state if a measurement was given - if (measurement) { - cornerstoneTools.setToolDisabled(measurement.toolType); - cornerstoneTools.clearToolState(element, measurement.toolType); - } - - // Destroy the cornerstone enabled element, removing it from the DOM - destroyEnabledElement(enabledElement); - - // Resolve the promise with the image's data URL - resolve(dataUrl); - }; - - // Wait for image rendering to get its data URL - $(element).one('cornerstoneimagerendered', () => { - if (measurement && alwaysVisibleText) { - rearrangeTextBox(image, measurement, element).then(() => renderedCallback()); - } else { - renderedCallback(); - } - }); - }); - }); -}; - -const getPoint = (x, y) => { - return { - x, - y - }; -}; - -const lineRectangleIntersection = (line, rect) => { - let intersection; - - Object.keys(rect).forEach(side => { - if (intersection) return; - const rectSegment = rect[side]; - intersection = cornerstoneMath.lineSegment.intersectLine(line, rectSegment); - }); - - return intersection; -}; - -const rearrangeTextBox = (image, measurement, element) => new Promise((resolve, reject) => { - const handles = measurement && measurement.handles; - if (!handles) return resolve(); - const { textBox, start, end } = handles; - if (!textBox || !textBox.boundingBox || !start || !end) return resolve(); - - // Build the dashed line segment - let dashedLine = new cornerstoneMath.Line3(); - const maxX = Math.max(start.x, end.x); - const minX = Math.min(start.x, end.x); - const maxY = Math.max(start.y, end.y); - const minY = Math.min(start.y, end.y); - dashedLine.start = getPoint(minX + ((maxX - minX) / 2), minY + ((maxY - minY) / 2)); - dashedLine.end = getPoint(textBox.x, textBox.y); - - // Build the bounding rectangle - const x0 = (textBox.boundingBox.width / 2); - const x1 = image.width - x0; - const y0 = (textBox.boundingBox.height / 2); - const y1 = image.height - y0; - const topLeft = getPoint(x0, y0); - const topRight = getPoint(x1, y0); - const bottomLeft = getPoint(x0, y1); - const bottomRight = getPoint(x1, y1); - const boundingRect = { - top: new cornerstoneMath.Line3(topLeft, topRight), - left: new cornerstoneMath.Line3(topLeft, bottomLeft), - right: new cornerstoneMath.Line3(topRight, bottomRight), - bottom: new cornerstoneMath.Line3(bottomLeft, bottomRight) - }; - - // Check if the measurement center is outside the bounding rectangle - const imageCenter = getPoint(image.width / 2, image.height / 2); - const imageCenterToMeasurement = new cornerstoneMath.Line3(); - imageCenterToMeasurement.start = imageCenter; - imageCenterToMeasurement.end = dashedLine.start; - if (lineRectangleIntersection(imageCenterToMeasurement, boundingRect)) { - dashedLine = new cornerstoneMath.Line3(imageCenter, dashedLine.end); - } - - // Check if the text box is outside the image area - const intersection = lineRectangleIntersection(dashedLine, boundingRect); - if (intersection) { - textBox.boundingBox.left = intersection.x - x0; - textBox.boundingBox.top = intersection.y - y0; - Object.assign(textBox, intersection); - cornerstone.updateImage(element); - $(element).one('cornerstoneimagerendered', () => resolve()); - } else { - resolve(); - } -}); - -const createEnabledElement = (width, height) => { - const $element = $('

').css({ - height, - left: 0, - position: 'fixed', - top: 0, - visibility: 'hidden', - width, - 'z-index': -1 - }); - - const element = $element[0]; - $element.appendTo(document.body); - cornerstone.enable(element, { renderer: OHIF.cornerstone.renderer }); - - const enabledElement = cornerstone.getEnabledElement(element); - enabledElement.toolStateManager = cornerstoneTools.newImageIdSpecificToolStateManager(); - - return enabledElement; -}; - -const destroyEnabledElement = enabledElement => { - cornerstone.disable(enabledElement.element); - $(enabledElement.element).remove(); -}; diff --git a/Packages/ohif-measurements/src/lib/getLabelTerminologyList.js b/Packages/ohif-measurements/src/lib/getLabelTerminologyList.js deleted file mode 100644 index 9fce4a88f..000000000 --- a/Packages/ohif-measurements/src/lib/getLabelTerminologyList.js +++ /dev/null @@ -1,154 +0,0 @@ -const segmentedTerminologyList = [{ - label:'Abdomen/Chest Wall', - value:'Abdomen/Chest Wall', - segmentedPropCategory: 'T-D0080' - },{ - label:'Adrenal', - value:'Adrenal', - segmentedPropCategory: 'T-D0080' - },{ - label:'Bladder', - value:'Bladder', - segmentedPropCategory: 'T-D0080' - },{ - label:'Bone', - value:'Bone', - segmentedPropCategory: 'T-D0080' - },{ - label:'Brain', - value:'Brain', - segmentedPropCategory: 'T-D0080' - },{ - label:'Breast', - value:'Breast', - segmentedPropCategory: 'T-D0080' - },{ - label:'Colon', - value:'Colon', - segmentedPropCategory: 'T-D0080' - },{ - label:'Esophagus', - value:'Esophagus', - segmentedPropCategory: 'T-D0080' - },{ - label:'Extremities', - value:'Extremities', - segmentedPropCategory: 'T-D0080' - },{ - label:'Gallbladder', - value:'Gallbladder', - segmentedPropCategory: 'T-D0080' - },{ - label:'Kidney', - value:'Kidney', - segmentedPropCategory: 'T-D0080' - },{ - label:'Liver', - value:'Liver', - segmentedPropCategory: 'T-D0080' - },{ - label:'Lung', - value:'Lung', - segmentedPropCategory: 'T-D0080' - },{ - label:'Lymph Node', - value:'Lymph Node', - segmentedPropCategory: 'T-D0080' - },{ - label:'Mediastinum/Hilum', - value:'Mediastinum/Hilum', - segmentedPropCategory: 'T-D0080' - },{ - label:'Muscle', - value:'Muscle', - segmentedPropCategory: 'T-D0080' - },{ - label:'Neck', - value:'Neck', - segmentedPropCategory: 'T-D0080' - },{ - label:'Other Soft Tissue', - value:'Other Soft Tissue', - segmentedPropCategory: 'T-D0080' - },{ - label:'Ovary', - value:'Ovary', - segmentedPropCategory: 'T-D0080' - },{ - label:'Pancreas', - value:'Pancreas', - segmentedPropCategory: 'T-D0080' - },{ - label:'Pelvis', - value:'Pelvis', - segmentedPropCategory: 'T-D0080' - },{ - label:'Peritoneum/Omentum', - value:'Peritoneum/Omentum', - segmentedPropCategory: 'T-D0080' - },{ - label:'Prostate', - value:'Prostate', - segmentedPropCategory: 'T-D0080' - },{ - label:'Retroperitoneum', - value:'Retroperitoneum', - segmentedPropCategory: 'T-D0080' - },{ - label:'Small Bowel', - value:'Small Bowel', - segmentedPropCategory: 'T-D0080' - },{ - label:'Spleen', - value:'Spleen', - segmentedPropCategory: 'T-D0080' - },{ - label:'Stomach', - value:'Stomach', - segmentedPropCategory: 'T-D0080' - },{ - label:'Subcutaneous', - value:'Subcutaneous', - segmentedPropCategory: 'T-D0080' - } -]; - -const segmentedTerminologyCommonList = [{ - label:'Abdomen/Chest Wall', - value:'Abdomen/Chest Wall', - segmentedPropCategory: 'T-D0080' - },{ - label:'Liver', - value:'Liver', - segmentedPropCategory: 'T-D0080' - },{ - label:'Lung', - value:'Lung', - segmentedPropCategory: 'T-D0080' - },{ - label:'Lymph Node', - value:'Lymph Node', - segmentedPropCategory: 'T-D0080' - },{ - label:'Mediastinum/Hilum', - value:'Mediastinum/Hilum', - segmentedPropCategory: 'T-D0080' - },{ - label:'Pelvis', - value:'Pelvis', - segmentedPropCategory: 'T-D0080' - },{ - label:'Peritoneum/Omentum', - value:'Peritoneum/Omentum', - segmentedPropCategory: 'T-D0080' - },{ - label:'Retroperitoneum', - value:'Retroperitoneum', - segmentedPropCategory: 'T-D0080' - } -]; - -export { - segmentedTerminologyList, - segmentedTerminologyCommonList -} \ No newline at end of file diff --git a/Packages/ohif-measurements/src/lib/getLocationLabel.js b/Packages/ohif-measurements/src/lib/getLocationLabel.js deleted file mode 100644 index 4f5af512c..000000000 --- a/Packages/ohif-measurements/src/lib/getLocationLabel.js +++ /dev/null @@ -1,11 +0,0 @@ -import { OHIF } from 'ohif-core'; - -/** - * Extensible method to translate the location and return a string containing its label - * - * @param location - * @returns string - label for the given location - */ -OHIF.measurements.getLocationLabel = location => { - return location; -}; diff --git a/Packages/ohif-measurements/src/lib/getMeasurementsGroupedByNumber.js b/Packages/ohif-measurements/src/lib/getMeasurementsGroupedByNumber.js deleted file mode 100644 index 35d8fbc81..000000000 --- a/Packages/ohif-measurements/src/lib/getMeasurementsGroupedByNumber.js +++ /dev/null @@ -1,101 +0,0 @@ -import { OHIF } from 'ohif-core'; -import _ from 'underscore'; - -// TODO: change this to a const after refactoring newMeasurements code on measurementTableView.js -OHIF.measurements.getLocation = collection => { - for (let i = 0; i < collection.length; i++) { - if (collection[i].location) { - return collection[i].location; - } - } -}; - -// TODO: change this to a const after refactoring newMeasurements code on measurementTableView.js -OHIF.measurements.getDescription = collection => { - for (let i = 0; i < collection.length; i++) { - if (collection[i].description) { - return collection[i].description; - } - } -}; - -/** - * Group all measurements by its tool group and measurement number. - * - * @param measurementApi - * @param timepointApi - * @returns {*} A list containing each toolGroup and an array containing the measurement rows - */ -OHIF.measurements.getMeasurementsGroupedByNumber = (measurementApi, timepointApi) => { - const getPath = OHIF.utils.ObjectPath.get; - const configuration = OHIF.measurements.MeasurementApi.getConfiguration(); - - if (!measurementApi || !timepointApi || !configuration) return; - - // Check which tools are going to be displayed - const displayToolGroupMap = {}; - const displayToolList = []; - configuration.measurementTools.forEach(toolGroup => { - displayToolGroupMap[toolGroup.id] = false; - toolGroup.childTools.forEach(tool => { - const willDisplay = !!getPath(tool, 'options.measurementTable.displayFunction'); - if (willDisplay) { - displayToolList.push(tool.id); - displayToolGroupMap[toolGroup.id] = true; - } - }); - }); - - // Create the result object - const groupedMeasurements = []; - - const baseline = timepointApi.baseline(); - if (!baseline) return; - - configuration.measurementTools.forEach(toolGroup => { - // Skip this tool group if it should not be displayed - if (!displayToolGroupMap[toolGroup.id]) return; - - // Retrieve all the data for this Measurement type (e.g. 'targets') - // which was recorded at baseline. - const atBaseline = measurementApi.fetch(toolGroup.id, { - timepointId: baseline.timepointId - }); - - // Obtain a list of the Measurement Numbers from the - // measurements which have baseline data - const numbers = atBaseline.map(m => m.measurementNumber); - - // Retrieve all the data for this Measurement type which - // match the Measurement Numbers obtained above - const data = measurementApi.fetch(toolGroup.id, { - toolId: { - $in: displayToolList - }, - measurementNumber: { - $in: numbers - } - }); - - // Group the Measurements by Measurement Number - const groupObject = _.groupBy(data, entry => entry.measurementNumber); - - // Reformat the data for display in the table - const measurementRows = Object.keys(groupObject).map(key => ({ - measurementTypeId: toolGroup.id, - measurementNumber: key, - location: OHIF.measurements.getLocation(groupObject[key]), - description: OHIF.measurements.getDescription(groupObject[key]), - responseStatus: false, // TODO: Get the latest timepoint and determine the response status - entries: groupObject[key] - })); - - // Add the group to the result - groupedMeasurements.push({ - toolGroup, - measurementRows - }); - }); - - return groupedMeasurements; -}; diff --git a/Packages/ohif-measurements/src/lib/getParentToolData.js b/Packages/ohif-measurements/src/lib/getParentToolData.js deleted file mode 100644 index 9154258ff..000000000 --- a/Packages/ohif-measurements/src/lib/getParentToolData.js +++ /dev/null @@ -1,15 +0,0 @@ -import { OHIF } from 'ohif-core'; - -/** - * Return the parent tool data if it's a child tool or the tool data itself if not - * - * @param measurementData measurement data that must contain the toolType and measurement's _id - * @returns {Object} Parent measurement data - */ -OHIF.measurements.getParentToolData = measurementData => { - const { toolType, _id } = measurementData; - const { tool } = OHIF.measurements.getToolConfiguration(toolType); - const parentToolType = tool.parentTool || toolType; - const parentToolData = OHIF.viewer.measurementApi.tools[parentToolType].findOne(_id); - return parentToolData; -}; diff --git a/Packages/ohif-measurements/src/lib/getTimepointName.js b/Packages/ohif-measurements/src/lib/getTimepointName.js deleted file mode 100644 index bd675a922..000000000 --- a/Packages/ohif-measurements/src/lib/getTimepointName.js +++ /dev/null @@ -1,46 +0,0 @@ -import { OHIF } from 'ohif-core'; - -/** - * Calculates a Timepoint's name based on how many timepoints exist between it - * and the latest Baseline. Names returned are in the form of 'Baseline', or - * 'Follow-up 1', 'Follow-up 2', and so on. - * - * @param timepoint - * @returns {*} The timepoint name - */ -OHIF.measurements.getTimepointName = timepoint => { - // Check if this is a Baseline timepoint, if it is, return 'Baseline' - if (timepoint.timepointType === 'baseline') { - return 'Baseline'; - } else if (timepoint.visitNumber) { - return 'Follow-up ' + timepoint.visitNumber; - } - - // Retrieve all of the relevant follow-up timepoints for this patient - const followupTimepoints = Timepoints.find({ - patientId: timepoint.patientId, - timepointType: timepoint.timepointType - }, { - sort: { - latestDate: 1 - } - }); - - // Create an array of just timepointIds, so we can use indexOf - // on it to find the current timepoint's relative position - const followupTimepointIds = followupTimepoints.map(timepoint => timepoint.timepointId); - - // Calculate the index of the current timepoint in the array of all - // relevant follow-up timepoints - const index = followupTimepointIds.indexOf(timepoint.timepointId) + 1; - - // If index is 0, it means that the current timepoint was not in the list - // Log a warning and return here - if (!index) { - OHIF.log.warn('Current follow-up was not in the list of relevant follow-ups?'); - return; - } - - // Return the timepoint name as 'Follow-up N' - return 'Follow-up ' + index; -}; diff --git a/Packages/ohif-measurements/src/lib/getToolConfiguration.js b/Packages/ohif-measurements/src/lib/getToolConfiguration.js deleted file mode 100644 index 91c5dac8e..000000000 --- a/Packages/ohif-measurements/src/lib/getToolConfiguration.js +++ /dev/null @@ -1,27 +0,0 @@ -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; - -/** - * Return the tool configuration of a given tool type - * - * @param {String} toolType The tool type of the desired configuration - */ -OHIF.measurements.getToolConfiguration = toolType => { - const { MeasurementApi } = OHIF.measurements; - const configuration = MeasurementApi.getConfiguration(); - const toolsGroupsMap = MeasurementApi.getToolsGroupsMap(); - - const toolGroupId = toolsGroupsMap[toolType]; - const toolGroup = _.findWhere(configuration.measurementTools, { id: toolGroupId }); - - let tool; - if (toolGroup) { - tool = _.findWhere(toolGroup.childTools, { id: toolType }); - } - - return { - toolGroupId, - toolGroup, - tool - }; -}; diff --git a/Packages/ohif-measurements/src/lib/hangingProtocolCustomizations.js b/Packages/ohif-measurements/src/lib/hangingProtocolCustomizations.js deleted file mode 100644 index 7587a41cc..000000000 --- a/Packages/ohif-measurements/src/lib/hangingProtocolCustomizations.js +++ /dev/null @@ -1,62 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Viewerbase } from 'meteor/ohif:viewerbase'; -import { OHIF } from 'ohif-core'; - -const { InstanceMetadata, StudySummary } = Viewerbase.metadata; - -// TODO: [LT-refactor] move this to ohif:hanging-protocols package -/** - * Get a timepoint type for a given study metadata - * @param {StudyMetadata} study StudyMetadata instance - * @return {String|undefined} Timepoint type if found or undefined if not found or any error/missing information - */ -const getTimepointType = study => { - const { timepointApi } = OHIF.viewer; - - if (!timepointApi || !(study instanceof InstanceMetadata || study instanceof StudySummary)) { - return; - } - - const timepoint = timepointApi.study(study.getStudyInstanceUID()); - if (!timepoint || !(timepoint instanceof Array) || timepoint.length < 1) { - return; - } - - return timepoint[0].timepointType; -}; - -/** - * Get the timpoint key (prior/current/baseline) for a given study metadata - * @param {StudyMetadata} study StudyMetadata instance - * @return {String|undefined} Timepoint key if found or undefined if not found or any error/missing information - */ -const getTimepointKey = study => { - const { timepointApi } = OHIF.viewer; - - if (!timepointApi || !(study instanceof InstanceMetadata || study instanceof StudySummary)) { - return; - } - - const timepoint = timepointApi.study(study.getStudyInstanceUID()); - if (!timepoint || !(timepoint instanceof Array) || timepoint.length < 1) { - return; - } - - const timepointId = timepoint[0]._id; - if (timepointApi.current()._id === timepointId) { - return 'current'; - } else if (timepointApi.prior()._id === timepointId) { - return 'prior'; - } else if (timepointApi.baseline()._id === timepointId) { - return 'baseline'; - } -}; - -Meteor.startup(() => { - HP = HP || false; - - if (HP) { - HP.addCustomAttribute('timepointType', 'Timepoint Type', getTimepointType); - HP.addCustomAttribute('timepointKey', 'Timepoint Key', getTimepointKey); - } -}); diff --git a/Packages/ohif-measurements/src/lib/index.js b/Packages/ohif-measurements/src/lib/index.js deleted file mode 100644 index 3d7760e79..000000000 --- a/Packages/ohif-measurements/src/lib/index.js +++ /dev/null @@ -1,26 +0,0 @@ -import './jumpToRowItem'; -//import './activateMeasurements'; -import './clearCornerstoneToolState'; -import './deactivateAllToolData'; -import './exportPdf'; -import './exportToCsv'; -import './findAndRenderDisplaySet'; -import './getActiveTimepoint'; -import './getImageDataUrl'; -import './getMeasurementsGroupedByNumber'; -import './getLocationLabel'; -import './getParentToolData'; -import './getTimepointName'; -import './getToolConfiguration'; -//import './hangingProtocolCustomizations'; -import './isNewLesionsMeasurement'; -import './isSaveDisabled'; -import './MeasurementHandlers'; -import './MeasurementManager'; -import './navigateOverLesions'; -import './saveMeasurements'; -import './syncMeasurementAndToolData'; -import './toggleLabelButton'; -import './openLocationModal'; -import './triggerTimepointUnsavedChanges'; -import './updateMeasurementsDescription'; diff --git a/Packages/ohif-measurements/src/lib/isNewLesionsMeasurement.js b/Packages/ohif-measurements/src/lib/isNewLesionsMeasurement.js deleted file mode 100644 index 3e62dc1e8..000000000 --- a/Packages/ohif-measurements/src/lib/isNewLesionsMeasurement.js +++ /dev/null @@ -1,37 +0,0 @@ -import { OHIF } from 'ohif-core'; -import _ from 'underscore'; - -/** - * Check if the given measurement is a new lesion - * - * @param measurementData Measurement that will be checked - * @returns {Boolean} Boolean value telling if the given measurement is a new lesion or not - */ -OHIF.measurements.isNewLesionsMeasurement = measurementData => { - if (!measurementData) return; - - const toolConfig = OHIF.measurements.getToolConfiguration(measurementData.toolType); - const toolType = toolConfig.tool.parentTool || measurementData.toolType; - const { timepointApi, measurementApi } = OHIF.viewer; - const currentMeasurement = measurementApi.tools[toolType].findOne(measurementData._id); - const { timepointId, measurementNumber } = currentMeasurement; - - // Stop here if the needed information is not set - if (!measurementApi || !timepointApi || !timepointId || !toolConfig) return; - - const { toolGroupId } = toolConfig; - const current = timepointApi.timepoints.findOne({ timepointId }); - const baseline = timepointApi.baseline(); - - // Stop here if there's no current or baseline timepoints, or if the current is the baseline - if (!current || !baseline || current.timepointType === 'baseline') return false; - - // Retrieve all the data for the given tool group (e.g. 'targets') - const atBaseline = measurementApi.fetch(toolGroupId, { timepointId: baseline.timepointId }); - - // Obtain a list of the Measurement Numbers from the measurements which have baseline data - const numbers = atBaseline.map(m => m.measurementNumber); - - // Return true if the measurement number from follow-up is not present at baseline - return !_.contains(numbers, measurementNumber); -}; diff --git a/Packages/ohif-measurements/src/lib/isSaveDisabled.js b/Packages/ohif-measurements/src/lib/isSaveDisabled.js deleted file mode 100644 index 8e4e3730c..000000000 --- a/Packages/ohif-measurements/src/lib/isSaveDisabled.js +++ /dev/null @@ -1,24 +0,0 @@ -import { OHIF } from 'ohif-core'; - -OHIF.measurements.isSaveDisabled = timepointId => { - const basePath = `viewer.studyViewer.measurements.${timepointId}`; - - // Get the timepoint object - const timepoint = OHIF.viewer.timepointApi.timepoints.findOne({ timepointId }); - - // Check if the timepoint is locked - let isLocked = (timepoint && timepoint.isLocked); - if (typeof isLocked === 'undefined') { - isLocked = true; - } - - // Check if the given timepoint suffered changes - const hasChanges = OHIF.ui.unsavedChanges.probe(basePath) !== 0; - - // Check if the given timepoint has nonconformities - const nonconformities = OHIF.viewer.conformanceCriteria.nonconformities.get(); - const hasNonconformities = nonconformities && !!nonconformities.length; - - // Prevent saving if timepoint is locked, has no changes or has nonconformities - return isLocked || !hasChanges || hasNonconformities; -}; diff --git a/Packages/ohif-measurements/src/lib/jumpToRowItem.js b/Packages/ohif-measurements/src/lib/jumpToRowItem.js deleted file mode 100644 index b4680a0d8..000000000 --- a/Packages/ohif-measurements/src/lib/jumpToRowItem.js +++ /dev/null @@ -1,185 +0,0 @@ -import $ from 'jquery'; -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; -import { cornerstone } from 'meteor/ohif:cornerstone'; - -// Flag that can be changed to disable automatic stack scroll linking when jumping over lesions -OHIF.measurements.automaticStackScrollLinkingEnabled = true; - -function renderIntoViewport(measurementData, enabledElement, viewportIndex) { - const { activateMeasurements, findAndRenderDisplaySet } = OHIF.measurements; - const { element } = enabledElement; - const { studyInstanceUid, seriesInstanceUid, sopInstanceUid } = measurementData; - - return new Promise((resolve, reject) => { - const renderedCallback = element => { - activateMeasurements(element, measurementData); - $(element).one('cornerstoneimagerendered', () => resolve()); - }; - - // Find the study by studyInstanceUid and render the display set - const findAndRender = () => { - // @TypeSafeStudies - const study = OHIF.viewer.Studies.findBy({ studyInstanceUid }); - - // TODO: Support frames? e.g. for measurements on multi-frame instances - findAndRenderDisplaySet( - study.displaySets, - viewportIndex, - studyInstanceUid, - seriesInstanceUid, - sopInstanceUid, - renderedCallback - ); - }; - - // Check if the study / series we need is already the one in the viewport. - // Otherwise, re-render the viewport with the required study/series, then add a rendered - // callback to activate the measurements - if (enabledElement && enabledElement.image) { - const imageId = enabledElement.image.imageId; - const series = cornerstone.metaData.get('series', imageId); - const study = cornerstone.metaData.get('study', imageId); - - const isSameStudy = study.studyInstanceUid === measurementData.studyInstanceUid; - const isSameSeries = series.seriesInstanceUid === measurementData.seriesInstanceUid; - if (isSameStudy && isSameSeries) { - // If it is, activate the measurements in this viewport and stop here - OHIF.viewerbase.viewportUtils.resetViewport(viewportIndex); - renderedCallback(element); - } else { - findAndRender(); - } - } else { - findAndRender(); - } - }); -} - -function syncViewports(viewportsIndexes) { - // Prevent stack scrolling from being linked if it's disabled - if (!OHIF.measurements.automaticStackScrollLinkingEnabled) { - return; - } - - const synchronizer = OHIF.viewer.stackImagePositionOffsetSynchronizer; - - if(!synchronizer) { return; } - - const linkableViewports = synchronizer.getLinkableViewports(); - if (linkableViewports.length) { - const linkableViewportsIndexes = _.pluck(linkableViewports, 'index'); - const indexes = _.intersection(linkableViewportsIndexes, viewportsIndexes); - if (indexes.length) { - OHIF.viewer.stackImagePositionOffsetSynchronizer.activateByViewportIndexes(indexes); - } - } -} - -// Store the lastActivatedRowItem to cancel jumping if another rowItem was triggered during loading -let lastActivatedRowItem; - -/** - * Activates a set of lesions when lesion table row is clicked - * - * @param measurementId The unique key for a specific Measurement - */ -OHIF.measurements.jumpToRowItem = (rowItem, timepoints, childToolKey) => { - const { isZoomed, zoomedViewportIndex } = OHIF.viewer.layoutManager; - - lastActivatedRowItem = rowItem; - - // Retrieve the list of available viewports - const $viewports = $('.imageViewerViewport'); - const numViewports = Math.max($viewports.length, 0); - - // Clone the timepoint list to prevent modifying the original object - let timepointList; - if (isZoomed) { - timepointList = [timepoints[zoomedViewportIndex]]; - } else { - timepointList = _.clone(timepoints); - } - - // Reverse the timepointList array if the flag is set - if (OHIF.viewer.invertViewportTimepointsOrder) { - timepointList.reverse(); - } - - // Retrieve the timepoints that are currently being displayed in the Measurement Table - const numTimepoints = Math.max(timepointList.length, 1); - - const numViewportsToUpdate = Math.min(numTimepoints, numViewports); - - // Retrieve the measurements data - const measurementsData = []; - const promises = new Set(); - for (let i = 0; i < numViewportsToUpdate; i++) { - const { timepointId } = timepointList[i]; - - const dataAtThisTimepoint = _.where(rowItem.entries, { timepointId }); - if (!dataAtThisTimepoint || !dataAtThisTimepoint.length) { - measurementsData.push(null); - continue; - } - - const measurement = dataAtThisTimepoint[0]; - let measurementData = measurement; - const { toolType } = measurementData; - const { tool } = OHIF.measurements.getToolConfiguration(toolType); - if (childToolKey) { - measurementData = measurementData[childToolKey]; - } else if (Array.isArray(tool.childTools)) { - tool.childTools.every(key => { - measurementData = measurementData[key]; - return !measurementData; - }); - } - - measurementsData.push(measurementData); - const promise = OHIF.studies.loadStudy(measurementData.studyInstanceUid); - promise.then(() => OHIF.measurements.syncMeasurementAndToolData(measurement)); - promises.add(promise); - } - - // Wait for studies metadata to be retrieved before jumpint to the given row item - Promise.all(promises).then(() => { - // Stop here if another rowItem was activated during loading process - if (rowItem !== lastActivatedRowItem) return; - - OHIF.measurements.deactivateAllToolData(); - - const activatedViewportIndexes = []; - - // Deactivate stack synchronizer because it will be re-activated later - const synchronizer = OHIF.viewer.stackImagePositionOffsetSynchronizer; - if(synchronizer) { - synchronizer.deactivate(); - } - - const renderPromises = []; - for (let viewportIndex = 0; viewportIndex < numViewportsToUpdate; viewportIndex++) { - const measurementData = measurementsData[viewportIndex]; - if (!measurementData) continue; - - activatedViewportIndexes.push(viewportIndex); - - const element = $viewports.get(viewportIndex); - - // TODO: Implement isEnabledElement in Cornerstone - // or maybe just remove the 'error' this throws? - let enabledElement; - try { - enabledElement = cornerstone.getEnabledElement(element); - } catch(error) { - continue; - } - - const promise = renderIntoViewport(measurementData, enabledElement, viewportIndex); - renderPromises.push(promise); - } - - // Wait for all viewports to be rendered then sync them - Promise.all(renderPromises).then(() => syncViewports(activatedViewportIndexes)); - }); -}; diff --git a/Packages/ohif-measurements/src/lib/navigateOverLesions.js b/Packages/ohif-measurements/src/lib/navigateOverLesions.js deleted file mode 100644 index 15b3f7967..000000000 --- a/Packages/ohif-measurements/src/lib/navigateOverLesions.js +++ /dev/null @@ -1,30 +0,0 @@ -import { OHIF } from 'ohif-core'; - -/** - * Method to go select the next or previous lesion on measurements table - * - * @param {Boolean} isNextLesion Determine if it will navigate to the next or previous lesion - */ -OHIF.measurements.navigateOverLesions = isNextLesion => { - const $table = $('#measurementTableContainer'); - if (!$table.length) return; - - const $lesions = $table.find('.measurementTableRow'); - if (!$lesions.length) return; - - const $activeLesion = $lesions.filter('.active'); - const activeIndex = $lesions.index($activeLesion); - - const step = isNextLesion ? 1 : -1; - let newIndex = 0; - if (activeIndex !== -1) { - newIndex = activeIndex + step; - if (newIndex >= $lesions.length) { - newIndex = 0; - } else if (newIndex < 0) { - newIndex = $lesions.length - 1; - } - } - - $lesions.eq(newIndex).find('.measurementRowSidebar').trigger('click'); -}; diff --git a/Packages/ohif-measurements/src/lib/openLocationModal.js b/Packages/ohif-measurements/src/lib/openLocationModal.js deleted file mode 100644 index dd804e563..000000000 --- a/Packages/ohif-measurements/src/lib/openLocationModal.js +++ /dev/null @@ -1,61 +0,0 @@ -import { Template } from 'meteor/templating'; -import { Blaze } from 'meteor/blaze'; -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; - -OHIF.measurements.openLocationModal = options => { - let { toolType } = options.measurement; - const { tool } = OHIF.measurements.getToolConfiguration(toolType); - - if (!tool) return; - - toolType = (tool && tool.parentTool) || toolType; - - const measurementId = options.measurement._id; - let buttonView = null; - - const removeButtonView = () => { - Blaze.remove(buttonView); - buttonView = null; - }; - - if (buttonView) { - removeButtonView(); - } - - const measurementApi = options.measurementApi; - const toolCollection = measurementApi.tools[toolType]; - const measurement = toolCollection.findOne(measurementId); - - const data = { - measurement, - position: options.position, - direction: options.direction, - threeColumns: true, - hideCommon: true, - autoClick: options.autoClick, - doneCallback: removeButtonView, - updateCallback(location) { - const groupId = measurementApi.toolsGroupsMap[toolType]; - const config = OHIF.measurements.MeasurementApi.getConfiguration(); - const group = _.findWhere(config.measurementTools, { id: groupId }); - group.childTools.forEach(tool => { - measurementApi.tools[tool.id].update({ - measurementNumber: measurement.measurementNumber, - patientId: measurement.patientId - }, { - $set: { - location - } - }, { - multi: true - }); - }); - options.measurement.location = location; - - // Notify that viewer suffered changes - OHIF.measurements.triggerTimepointUnsavedChanges('relabel'); - } - }; - buttonView = Blaze.renderWithData(Template.measurementRelabel, data, document.body); -}; diff --git a/Packages/ohif-measurements/src/lib/saveMeasurements.js b/Packages/ohif-measurements/src/lib/saveMeasurements.js deleted file mode 100644 index 0840b03e4..000000000 --- a/Packages/ohif-measurements/src/lib/saveMeasurements.js +++ /dev/null @@ -1,33 +0,0 @@ -import { OHIF } from 'ohif-core'; - -OHIF.measurements.saveMeasurements = (measurementApi, timepointId) => { - const { unsavedChanges, notifications, showDialog } = OHIF.ui; - const basePath = `viewer.studyViewer.measurements.${timepointId}`; - - // Prevent saving if it's disabled - if (OHIF.measurements.isSaveDisabled(timepointId)) { - return; - } - - // Clear unsaved changes state and display success message - const successHandler = () => { - unsavedChanges.clear(basePath, true); - notifications.success({ text: 'The measurement data was successfully saved' }); - }; - - // Display the error messages - const errorHandler = data => { - showDialog('dialogInfo', Object.assign({ class: 'themed' }, data)); - }; - - // Call the storage method and display a loading overlay - const promise = measurementApi.storeMeasurements(timepointId); - promise.then(successHandler).catch(errorHandler); - showDialog('dialogLoading', { - promise, - text: 'Saving measurement data' - }); - - // Return the save promise - return promise; -}; diff --git a/Packages/ohif-measurements/src/lib/syncMeasurementAndToolData.js b/Packages/ohif-measurements/src/lib/syncMeasurementAndToolData.js deleted file mode 100644 index ec7ee119c..000000000 --- a/Packages/ohif-measurements/src/lib/syncMeasurementAndToolData.js +++ /dev/null @@ -1,82 +0,0 @@ -import { OHIF } from 'ohif-core'; -import { cornerstoneTools } from 'meteor/ohif:cornerstone'; - -OHIF.measurements.syncMeasurementAndToolData = measurement => { - OHIF.log.info('syncMeasurementAndToolData'); - - const toolState = cornerstoneTools.globalImageIdSpecificToolStateManager.saveToolState(); - - // Stop here if the metadata for the measurement's study is not loaded yet - const { studyInstanceUid } = measurement; - const metadata = OHIF.viewer.StudyMetadataList.findBy({ "studyInstanceUID": studyInstanceUid }); - if (!metadata) return; - - // Iterate each child tool if the current tool has children - const { getImageIdForImagePath } = OHIF.viewerbase; - const toolType = measurement.toolType; - const { tool } = OHIF.measurements.getToolConfiguration(toolType); - if (Array.isArray(tool.childTools)) { - tool.childTools.forEach(childToolKey => { - const childMeasurement = measurement[childToolKey]; - if (!childMeasurement) return; - childMeasurement._id = measurement._id; - childMeasurement.measurementNumber = measurement.measurementNumber; - - OHIF.measurements.syncMeasurementAndToolData(childMeasurement); - }); - - return; - } - - const imageId = getImageIdForImagePath(measurement.imagePath); - - // If no tool state exists for this imageId, create an empty object to store it - if (!toolState[imageId]) { - toolState[imageId] = {}; - } - - const currentToolState = toolState[imageId][toolType]; - const toolData = currentToolState && currentToolState.data; - - // Check if we already have toolData for this imageId and toolType - if (toolData && toolData.length) { - // If we have toolData, we should search it for any data related to the current Measurement - const toolData = toolState[imageId][toolType].data; - - // Create a flag so we know if we've successfully updated the Measurement in the toolData - let alreadyExists = false; - - // Loop through the toolData to search for this Measurement - toolData.forEach(tool => { - // Break the loop if this isn't the Measurement we are looking for - if (tool._id !== measurement._id) { - return; - } - - // If we have found the Measurement, set the flag to True - alreadyExists = true; - - // Update the toolData from the Measurement data - Object.assign(tool, measurement); - return false; - }); - - // If we have found the Measurement we intended to update, we can stop this function here - if (alreadyExists === true) { - return; - } - } else { - // If no toolData exists for this toolType, create an empty array to hold some - toolState[imageId][toolType] = { - data: [] - }; - } - - // If we have reached this point, it means we haven't found the Measurement we are looking for - // in the current toolData. This means we need to add it. - - // Add the MeasurementData into the toolData for this imageId - toolState[imageId][toolType].data.push(measurement); - - cornerstoneTools.globalImageIdSpecificToolStateManager.restoreToolState(toolState); -}; diff --git a/Packages/ohif-measurements/src/lib/toggleLabelButton.js b/Packages/ohif-measurements/src/lib/toggleLabelButton.js deleted file mode 100644 index 1c0ba164f..000000000 --- a/Packages/ohif-measurements/src/lib/toggleLabelButton.js +++ /dev/null @@ -1,67 +0,0 @@ -import { Template } from 'meteor/templating'; -import { Blaze } from 'meteor/blaze'; -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; - -OHIF.measurements.toggleLabelButton = options => { - let { toolType } = options.measurement; - const { tool } = OHIF.measurements.getToolConfiguration(toolType); - - if (!tool) return; - - toolType = (tool && tool.parentTool) || toolType; - - const measurementId = options.measurement._id; - let buttonView = null; - - const removeButtonView = () => { - if (!buttonView) { - return; - } - - Blaze.remove(buttonView); - buttonView = null; - }; - - if (buttonView) { - removeButtonView(); - } - - const measurementApi = options.measurementApi; - const toolCollection = measurementApi.tools[toolType]; - const measurement = toolCollection.findOne(measurementId); - - const data = { - measurement, - position: options.position, - direction: options.direction, - threeColumns: true, - hideCommon: true, - autoClick: options.autoClick, - doneCallback: removeButtonView, - updateCallback(location, description) { - const groupId = measurementApi.toolsGroupsMap[toolType]; - const config = OHIF.measurements.MeasurementApi.getConfiguration(); - const group = _.findWhere(config.measurementTools, { id: groupId }); - group.childTools.forEach(tool => { - measurementApi.tools[tool.id].update({ - measurementNumber: measurement.measurementNumber, - patientId: measurement.patientId - }, { - $set: { - location, - description - } - }, { - multi: true - }); - }); - options.measurement.location = location; - options.measurement.description = description; - - // Notify that viewer suffered changes - OHIF.measurements.triggerTimepointUnsavedChanges('relabel'); - } - }; - buttonView = Blaze.renderWithData(Template.measureFlow, data, document.body); -}; diff --git a/Packages/ohif-measurements/src/lib/triggerTimepointUnsavedChanges.js b/Packages/ohif-measurements/src/lib/triggerTimepointUnsavedChanges.js deleted file mode 100644 index 7fbfe33ca..000000000 --- a/Packages/ohif-measurements/src/lib/triggerTimepointUnsavedChanges.js +++ /dev/null @@ -1,15 +0,0 @@ -import { OHIF } from 'ohif-core'; - -/** - * Extensible method to trigger unsaved changes on the active timepoint - * - * @param {String} subpath - The unsaved changes subpath that will come after the timepoint ID - */ -OHIF.measurements.triggerTimepointUnsavedChanges = (subpath='changed') => { - const basePath = 'viewer.studyViewer.measurements'; - const activeTimepoint = OHIF.measurements.getActiveTimepoint(); - if (!activeTimepoint) return; - const { timepointId } = activeTimepoint; - const timepointPath = timepointId ? `.${timepointId}` : ''; - OHIF.ui.unsavedChanges.set(`${basePath}${timepointPath}.${subpath}`); -}; diff --git a/Packages/ohif-measurements/src/lib/updateMeasurementsDescription.js b/Packages/ohif-measurements/src/lib/updateMeasurementsDescription.js deleted file mode 100644 index 65fcd92d2..000000000 --- a/Packages/ohif-measurements/src/lib/updateMeasurementsDescription.js +++ /dev/null @@ -1,23 +0,0 @@ -import { OHIF } from 'ohif-core'; - -/** - * Updates the measurements' description for a measurement number across all timepoints - * - * @param measurementData base measurement data that must contain toolType and measurementNumber - * @param description measurement description that will be used - */ -OHIF.measurements.updateMeasurementsDescription = (measurementData, description) => { - const { toolType, measurementNumber } = measurementData; - measurementData.description = description; - const filter = { measurementNumber }; - const operator = { $set: { description } }; - const options = { multi: true }; - const { toolGroup } = OHIF.measurements.getToolConfiguration(toolType); - toolGroup.childTools.forEach(childTool => { - const collection = OHIF.viewer.measurementApi.tools[childTool.id]; - collection.update(filter, operator, options); - }); - - // Notify that viewer suffered changes - OHIF.measurements.triggerTimepointUnsavedChanges('relabel'); -}; diff --git a/Packages/ohif-measurements/src/reports/base.js b/Packages/ohif-measurements/src/reports/base.js deleted file mode 100644 index 0b117a6d5..000000000 --- a/Packages/ohif-measurements/src/reports/base.js +++ /dev/null @@ -1,83 +0,0 @@ -import jsPDF from 'jspdf'; -import _ from 'underscore'; - -export class BaseReport { - constructor(options) { - const defaultOptions = { - width: 595.28, - height: 841.89, - marginTop: 30, - marginLeft: 40, - marginRight: 40, - marginBottom: 30, - showPageNumber: true - }; - - this.options = _.extend(defaultOptions, options); - this.init(); - } - - init() { - this.doc = new jsPDF('portrait', 'pt', [this.options.width, this.options.height]); - this.options.width = Math.floor(this.options.width); - this.options.height = Math.floor(this.options.height); - this.currentPage = 1; - this.printStatic(); - } - - printStatic() { - this.x = this.options.marginLeft; - this.y = this.options.marginTop; - this.printHeader(); - if (this.options.showPageNumber) { - this.printPageNumber(); - } - } - - newPage() { - this.doc.addPage(); - this.currentPage++; - this.printStatic(); - } - - printHeader() { - const { marginLeft, marginRight, width } = this.options; - const doc = this.doc; - let y = this.y; - - // Print the logo strokes - doc.setDrawColor(0).setLineWidth(1); - doc.roundedRect(marginLeft + 0.5, y + 0.5, 8, 8, 0.5, 0.5, 'D'); - doc.roundedRect(marginLeft + 11, y + 0.5, 8, 8, 0.5, 0.5, 'D'); - doc.roundedRect(marginLeft + 0.5, y + 11, 8, 8, 0.5, 0.5, 'D'); - doc.roundedRect(marginLeft + 11, y + 11, 8, 8, 0.5, 0.5, 'D'); - - // Print the logo text - doc.setFont('Serif').setFontSize(16).setFontStyle('normal').setTextColor(0); - doc.text('Open Health Imaging Foundation', 66, y + 14); - y += 24; - - // Print header horizontal line - doc.setDrawColor(0).setLineWidth(0.5); - doc.line(marginLeft, y, width - marginRight, y); - y += 1; - - this.y = y; - } - - printPageNumber() { - const doc = this.doc; - const { marginBottom, marginRight, width, height } = this.options; - doc.setFont('Verdana'); - doc.setFontSize(8); - doc.setFontStyle('normal'); - doc.setTextColor(0); - const text = `PAGE ${this.currentPage}`; - const size = doc.getTextDimensions(text); - doc.text(text, width - marginRight - size.w, height - marginBottom + (size.h / 2)); - } - - save(fileName) { - this.doc.save(fileName || 'report.pdf'); - } -} diff --git a/Packages/ohif-measurements/src/reports/measurement.js b/Packages/ohif-measurements/src/reports/measurement.js deleted file mode 100644 index 6e1a276c8..000000000 --- a/Packages/ohif-measurements/src/reports/measurement.js +++ /dev/null @@ -1,104 +0,0 @@ -import { BaseReport } from './base'; - -export class MeasurementReport extends BaseReport { - constructor(options) { - super(options); - } - - printHeader() { - super.printHeader(); - - const { marginLeft, marginRight, width, header } = this.options; - const doc = this.doc; - let y = this.y; - - // don't print the header if not given - if (!header) return; - - // Print trial label - y += 10; - doc.setFont('verdana'); - doc.setFontSize(8); - doc.setFontStyle('bold'); - doc.setTextColor(255); - doc.setFillColor(16); - const trialLabel = header.trial; - const trialLabelWidth = doc.getTextWidth(trialLabel) + 8; - doc.roundedRect(marginLeft, y, trialLabelWidth, 15, 3, 3, 'F'); - doc.text(trialLabel, marginLeft + 4, y + 10.5); - - // Print patient information - doc.setFont('verdana'); - doc.setFontSize(10); - doc.setFontStyle('normal'); - doc.setTextColor(0); - doc.text(`${header.patientName}\t${header.mrn}`, marginLeft + trialLabelWidth + 10, y + 11); - y += 25; - - // Print timepoint header - doc.setFillColor(229); - doc.rect(marginLeft, y, width - marginLeft - marginRight, 18, 'F'); - doc.setFont('verdana'); - doc.setFontSize(9); - doc.setFontStyle('normal'); - doc.setTextColor(0); - doc.text(header.timepoint.toUpperCase(), marginLeft + 4, y + 12.5); - y += 18; - - this.y = y; - } - - printMeasurement(measurementData) { - const { marginLeft, marginRight, marginBottom, width, height } = this.options; - const infoHeight = 28; - const rectSize = Math.round((width - marginLeft - marginRight - 3) / 2); - const doc = this.doc; - let { x, y } = this; - const { image, location, info } = measurementData; - const type = measurementData.type.toUpperCase(); - const number = measurementData.number.toString(); - - if (y + rectSize + infoHeight > height - marginBottom) { - this.newPage(); - x = this.x; - y = this.y; - } - - // Print the image - doc.setFillColor(0); - doc.rect(x, y, rectSize, rectSize, 'F'); - doc.addImage(image, 'JPEG', x + 1, y + 1, rectSize - 2, rectSize - 2); - y += rectSize; - - // Print the measurement type - doc.setFont('verdana').setFontSize(10).setFontStyle('bold').setTextColor(255); - const typeWidth = Math.round(doc.getTextWidth(type)); - const typeX = x + rectSize - typeWidth; - doc.setFillColor(64); - doc.rect(typeX - 8, y - 16, typeWidth + 8, 16, 'F'); - doc.text(type, typeX - 4, y - 5); - - // Print the measurement number - doc.setFillColor(224); - doc.circle(x + 9, y - 10, 7, 'F'); - doc.setFont('courier').setTextColor(0); - const numberHalfWidth = doc.getTextWidth(number) / 2; - doc.text(number, x + 9 - numberHalfWidth, y - 7); - - // Print the measurement location and info - doc.setFillColor(240); - doc.rect(x, y, rectSize, infoHeight, 'F'); - doc.setFont('verdana').setFontSize(9); - doc.text(location, x + 4, y + 11); - doc.setFontStyle('normal'); - doc.text(info, x + 4, y + 24); - y += infoHeight; - - if (x === marginLeft) { - this.x = width - marginRight - rectSize; - } else { - this.x = marginLeft; - this.y = y; - } - } -} diff --git a/Packages/ohif-measurements/src/reports/reportMeasurementData.js b/Packages/ohif-measurements/src/reports/reportMeasurementData.js deleted file mode 100644 index e0cc5da9f..000000000 --- a/Packages/ohif-measurements/src/reports/reportMeasurementData.js +++ /dev/null @@ -1,58 +0,0 @@ -import moment from 'moment'; -import { OHIF } from 'ohif-core'; - -export const getExportMeasurementData = async (measurementApi, timepointApi) => { - const currentTimepoint = timepointApi.current(); - const { timepointId } = currentTimepoint; - const study = OHIF.viewer.Studies.findBy({ - studyInstanceUid: currentTimepoint.studyInstanceUids[0] - }); - const { studyDescription, patientId, studyDate } = study; - const patientName = OHIF.viewerbase.helpers.formatPN(study.patientName); - - // All headers - const measurementData = { - patientName, - mrn: patientId, - studyDate: moment(studyDate).format('MMM DD YYYY'), - studyDescription, - data: [] - }; - - const addNewMeasurement = async (measurement) => { - const imageId = OHIF.viewerbase.getImageIdForImagePath(measurement.imagePath); - const { seriesDescription, seriesDate, modality, seriesInstanceUid } = cornerstone.metaData.get('series', imageId); - const meanStdDev = measurement.meanStdDev || {}; - - measurementData.data.push({ - seriesModality: modality, - seriesDate: moment(seriesDate).format('MMM DD YYYY'), - seriesDescription, - seriesInstanceUid, - measurementTool: measurement.toolType, - measurementDescription: OHIF.measurements.getLocationLabel(measurement.location) || 'No description', - number: measurement.measurementNumber, - length: measurement.length || '-', - mean: meanStdDev.mean || '-', - stdDev: meanStdDev.stdDev || '-', - area: measurement.area || '-' - }); - }; - - let allMeasurements = []; - Object.keys(measurementApi.toolGroups).forEach( toolGroup => { - let measurements = measurementApi.fetch(toolGroup, { timepointId }); - allMeasurements = allMeasurements.concat(measurements); - }); - const iterator = allMeasurements[Symbol.iterator](); - - let measurement; - let current = iterator.next(); - while (!current.done) { - measurement = current.value; - await addNewMeasurement(measurement); - current = iterator.next(); - } - - return measurementData; -}; diff --git a/Packages/ohif-measurements/src/reports/reportMeasurementDataToCSV.js b/Packages/ohif-measurements/src/reports/reportMeasurementDataToCSV.js deleted file mode 100644 index 75e8f3747..000000000 --- a/Packages/ohif-measurements/src/reports/reportMeasurementDataToCSV.js +++ /dev/null @@ -1,51 +0,0 @@ -import { getExportMeasurementData } from "./reportMeasurementData"; - -const columnDelimiter = ','; -const lineDelimiter = '\n'; -const headers = { - patientName: 'Patient Name', - mrn: 'MRN', - studyDate: 'Study Date', - seriesModality: 'Series Modality', - seriesDate: 'Series Date', - seriesDescription: 'Series Description', - seriesInstanceUid: 'Series InstanceUid', - measurementTool: 'Measurement Tool', - measurementDescription: 'Measurement Description', - length: 'Length', - mean: 'Mean', - stdDev: 'stdDev', - area: 'area' -}; - -export const getCSVMeasurementData = async (measurementApi, timepointApi) => { - let lineData = []; - let csvData = ''; - const dataObject = await getExportMeasurementData(measurementApi, timepointApi); - - for(header in headers) { - lineData.push(headers[header]); - } - csvData += lineData.join(columnDelimiter) + lineDelimiter; - - for(measurementLine of dataObject.data) { - lineData = [ - dataObject.patientName, - dataObject.mrn, - dataObject.studyDate, - measurementLine.seriesModality, - measurementLine.seriesDate, - measurementLine.seriesDescription, - measurementLine.seriesInstanceUid, - measurementLine.measurementTool, - measurementLine.measurementDescription, - measurementLine.length, - measurementLine.mean, - measurementLine.stdDev, - measurementLine.area - ]; - csvData += lineData.join(columnDelimiter) + lineDelimiter; - } - - return csvData; -}; \ No newline at end of file diff --git a/Packages/ohif-measurements/src/schema/index.js b/Packages/ohif-measurements/src/schema/index.js deleted file mode 100644 index 9f5d9c258..000000000 --- a/Packages/ohif-measurements/src/schema/index.js +++ /dev/null @@ -1,2 +0,0 @@ -import './measurements.js'; -import './timepoints.js'; diff --git a/Packages/ohif-measurements/src/schema/measurements.js b/Packages/ohif-measurements/src/schema/measurements.js deleted file mode 100644 index cf667e20d..000000000 --- a/Packages/ohif-measurements/src/schema/measurements.js +++ /dev/null @@ -1,319 +0,0 @@ -//import { SimpleSchema } from 'meteor/aldeed:simple-schema'; -import SimpleSchema from 'simpl-schema' - -const Measurement = new SimpleSchema({ - additionalData: { - type: Object, - label: 'Additional Data', - defaultValue: {}, - optional: true, - blackbox: true - }, - userId: { - type: String, - label: 'User ID', - optional: true - }, - patientId: { - type: String, - label: 'Patient ID', - optional: true - }, - measurementNumber: { - type: Number, - label: 'Measurement Number', - optional: true - }, - timepointId: { - type: String, - label: 'Timepoint ID', - optional: true - }, - // Force value to be current date (on server) upon insert - // and prevent updates thereafter. - createdAt: { - type: Date, - autoValue: function() { - if (this.isInsert) { - return new Date(); - } else if (this.isUpsert) { - return { $setOnInsert: new Date() }; - } else { - // [PWV-184] Preventing unset due to child tools updating - // this.unset(); // Prevent user from supplying their own value - } - } - }, - // Force value to be current date (on server) upon update - updatedAt: { - type: Date, - autoValue: function() { - if (this.isUpdate) { - // return new Date(); - } - }, - optional: true - } -}); - -const StudyLevelMeasurement = new SimpleSchema([ - Measurement, - { - studyInstanceUid: { - type: String, - label: 'Study Instance UID' - } - } -]); - -const SeriesLevelMeasurement = new SimpleSchema([ - StudyLevelMeasurement, - { - seriesInstanceUid: { - type: String, - label: 'Series Instance UID' - } - } -]); - -const CornerstoneVOI = new SimpleSchema({ - windowWidth: { - type: Number, - label: 'Window Width', - decimal: true, - optional: true - }, - windowCenter: { - type: Number, - label: 'Window Center', - decimal: true, - optional: true - }, -}); - -const CornerstoneViewportTranslation = new SimpleSchema({ - x: { - type: Number, - label: 'X', - decimal: true, - optional: true - }, - y: { - type: Number, - label: 'Y', - decimal: true, - optional: true - }, -}); - -const CornerstoneViewport = new SimpleSchema({ - scale: { - type: Number, - label: 'Scale', - decimal: true, - optional: true - }, - translation: { - type: CornerstoneViewportTranslation, - label: 'Translation', - optional: true - }, - voi: { - type: CornerstoneVOI, - label: 'VOI', - optional: true - }, - invert: { - type: Boolean, - label: 'Invert', - optional: true - }, - pixelReplication: { - type: Boolean, - label: 'Pixel Replication', - optional: true - }, - hFlip: { - type: Boolean, - label: 'Horizontal Flip', - optional: true - }, - vFlip: { - type: Boolean, - label: 'Vertical Flip', - optional: true - }, - rotation: { - type: Number, - label: 'Rotation (degrees)', - decimal: true, - optional: true - } -}); - -const InstanceLevelMeasurement = new SimpleSchema([ - StudyLevelMeasurement, - SeriesLevelMeasurement, - { - sopInstanceUid: { - type: String, - label: 'SOP Instance UID' - }, - viewport: { - type: CornerstoneViewport, - label: 'Viewport Parameters', - optional: true - } - } -]); - -const FrameLevelMeasurement = new SimpleSchema([ - StudyLevelMeasurement, - SeriesLevelMeasurement, - InstanceLevelMeasurement, - { - frameIndex: { - type: Number, - min: 0, - label: 'Frame index in Instance' - }, - imagePath: { - type: String, - label: 'Identifier for the measurement\'s image' // studyInstanceUid_seriesInstanceUid_sopInstanceUid_frameIndex - } - } -]); - -const CornerstoneToolMeasurement = new SimpleSchema([ - StudyLevelMeasurement, - SeriesLevelMeasurement, - InstanceLevelMeasurement, - FrameLevelMeasurement, - { - toolType: { - type: String, - label: 'Cornerstone Tool Type', - optional: true - }, - visible: { - type: Boolean, - label: 'Visible', - defaultValue: true - }, - active: { - type: Boolean, - label: 'Active', - defaultValue: false - }, - invalidated: { - type: Boolean, - label: 'Invalidated', - defaultValue: false, - optional: true - } - } -]); - -const CornerstoneHandleBoundingBoxSchema = new SimpleSchema({ - width: { - type: Number, - label: 'Width', - decimal: true - }, - height: { - type: Number, - label: 'Height', - decimal: true - }, - left: { - type: Number, - label: 'Left', - decimal: true - }, - top: { - type: Number, - label: 'Top', - decimal: true - } -}); - -const CornerstoneHandleSchema = new SimpleSchema({ - x: { - type: Number, - label: 'X', - decimal: true, - optional: true // Not actually optional, but sometimes values like x/y position are missing - }, - y: { - type: Number, - label: 'Y', - decimal: true, - optional: true // Not actually optional, but sometimes values like x/y position are missing - }, - highlight: { - type: Boolean, - label: 'Highlight', - defaultValue: false - }, - active: { - type: Boolean, - label: 'Active', - defaultValue: false, - optional: true - }, - drawnIndependently: { - type: Boolean, - label: 'Drawn Independently', - defaultValue: false, - optional: true - }, - movesIndependently: { - type: Boolean, - label: 'Moves Independently', - defaultValue: false, - optional: true - }, - allowedOutsideImage: { - type: Boolean, - label: 'Allowed Outside Image', - defaultValue: false, - optional: true - }, - hasMoved: { - type: Boolean, - label: 'Has Already Moved', - defaultValue: false, - optional: true - }, - hasBoundingBox: { - type: Boolean, - label: 'Has Bounding Box', - defaultValue: false, - optional: true - }, - boundingBox: { - type: CornerstoneHandleBoundingBoxSchema, - label: 'Bounding Box', - optional: true - }, - index: { // TODO: Remove 'index' from bidirectionalTool since it's useless - type: Number, - optional: true - }, - locked: { - type: Boolean, - label: 'Locked', - optional: true, - defaultValue: false - } -}); - -export const MeasurementSchemaTypes = { - Measurement: Measurement, - StudyLevelMeasurement: StudyLevelMeasurement, - SeriesLevelMeasurement: SeriesLevelMeasurement, - InstanceLevelMeasurement: InstanceLevelMeasurement, - FrameLevelMeasurement: FrameLevelMeasurement, - CornerstoneToolMeasurement: CornerstoneToolMeasurement, - CornerstoneHandleSchema: CornerstoneHandleSchema -}; diff --git a/Packages/ohif-measurements/src/schema/timepoints.js b/Packages/ohif-measurements/src/schema/timepoints.js deleted file mode 100644 index 741a44915..000000000 --- a/Packages/ohif-measurements/src/schema/timepoints.js +++ /dev/null @@ -1,48 +0,0 @@ -//import { SimpleSchema } from 'meteor/aldeed:simple-schema'; -import SimpleSchema from 'simpl-schema' - -export const schema = new SimpleSchema({ - patientId: { - type: String, - label: 'Patient ID', - optional: true - }, - timepointId: { - type: String, - label: 'Timepoint ID' - }, - timepointType: { - type: String, - label: 'Timepoint Type', - allowedValues: ['baseline', 'followup'], - defaultValue: 'baseline', - }, - isLocked: { - type: Boolean, - label: 'Timepoint Locked' - }, - studyInstanceUids: { - type: [String], - label: 'Study Instance Uids', - defaultValue: [] - }, - earliestDate: { - type: Date, - label: 'Earliest Study Date from associated studies', - }, - latestDate: { - type: Date, - label: 'Most recent Study Date from associated studies', - }, - visitNumber: { - type: Number, - label: 'Number of patient\'s visit', - optional: true - }, - studiesData: { - type: [Object], - label: 'Studies data to allow lazy loading', - optional: true, - blackbox: true - } -}); diff --git a/Packages/ohif-study-list/client/base.js b/Packages/ohif-study-list/client/base.js deleted file mode 100644 index 7e42cf6f3..000000000 --- a/Packages/ohif-study-list/client/base.js +++ /dev/null @@ -1,6 +0,0 @@ -import { OHIF } from 'ohif-core'; - -OHIF.studylist = { - actions: {}, - callbacks: {} -}; diff --git a/Packages/ohif-study-list/client/collections/index.js b/Packages/ohif-study-list/client/collections/index.js deleted file mode 100644 index bfd5d030d..000000000 --- a/Packages/ohif-study-list/client/collections/index.js +++ /dev/null @@ -1 +0,0 @@ -import './studies.js'; diff --git a/Packages/ohif-study-list/client/collections/studies.js b/Packages/ohif-study-list/client/collections/studies.js deleted file mode 100644 index 3835dc142..000000000 --- a/Packages/ohif-study-list/client/collections/studies.js +++ /dev/null @@ -1,9 +0,0 @@ -import { OHIF } from 'ohif-core'; - -// Define the Studies Collection. This is a client-side only Collection which stores the list of -// studies in the StudyList -const Studies = new Meteor.Collection(null); -Studies._debugName = 'Studies'; - -OHIF.studylist.collections = {}; -OHIF.studylist.collections.Studies = Studies; diff --git a/Packages/ohif-study-list/client/components/StudyList.css b/Packages/ohif-study-list/client/components/StudyList.css deleted file mode 100644 index ac62c3004..000000000 --- a/Packages/ohif-study-list/client/components/StudyList.css +++ /dev/null @@ -1,9 +0,0 @@ -.StudyList { - height: 100%; - width: 100%; -} - -.tempStudyList { - height: 100%; - width: 100%; -} diff --git a/Packages/ohif-study-list/client/components/StudyList.js b/Packages/ohif-study-list/client/components/StudyList.js deleted file mode 100644 index 8f18baa32..000000000 --- a/Packages/ohif-study-list/client/components/StudyList.js +++ /dev/null @@ -1,31 +0,0 @@ -import React, { Component } from 'react'; -import PropTypes from 'prop-types'; - -import Blaze from 'meteor/gadicc:blaze-react-component'; -import { OHIF } from 'ohif-core'; -import './StudyList.css'; - -class StudyList extends Component { - constructor(props) { - super(props); - - } - - render() { - return ( -
- -
- ); - } -} - -StudyList.propTypes = { - studies: PropTypes.array -}; - -OHIF.studylist.components = { - StudyList -}; - -export default StudyList; diff --git a/Packages/ohif-study-list/client/components/index.js b/Packages/ohif-study-list/client/components/index.js deleted file mode 100644 index 883c80dd7..000000000 --- a/Packages/ohif-study-list/client/components/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import './seriesDetailsModal'; -import './studylist/index.js'; -import './StudyList.js'; diff --git a/Packages/ohif-study-list/client/components/roundedButtonGroup/roundedButtonGroup.html b/Packages/ohif-study-list/client/components/roundedButtonGroup/roundedButtonGroup.html deleted file mode 100644 index e75572d7d..000000000 --- a/Packages/ohif-study-list/client/components/roundedButtonGroup/roundedButtonGroup.html +++ /dev/null @@ -1,24 +0,0 @@ - diff --git a/Packages/ohif-study-list/client/components/roundedButtonGroup/roundedButtonGroup.js b/Packages/ohif-study-list/client/components/roundedButtonGroup/roundedButtonGroup.js deleted file mode 100644 index 721d329af..000000000 --- a/Packages/ohif-study-list/client/components/roundedButtonGroup/roundedButtonGroup.js +++ /dev/null @@ -1,46 +0,0 @@ -Template.roundedButtonGroup.onCreated(() => { - const instance = Template.instance(); - const reactiveValue = instance.data.value; - - // Get the value for ReactiveVar or ReactiveDict objects - instance.getValue = () => { - return reactiveValue.get(instance.data.key); - }; - - // Set the value for ReactiveVar or ReactiveDict objects - instance.setValue = value => { - const args = [value]; - if (reactiveValue instanceof ReactiveDict) { - args.unshift(instance.data.key); - } - - reactiveValue.set(...args); - }; - - // Initialize the value with the first option if there's no value set and options are not toggleable - if (!instance.getValue() && !instance.data.toggleable) { - instance.setValue(instance.data.options[0].value); - } -}); - -Template.roundedButtonGroup.events({ - 'click [data-value]'(event, instance) { - event.preventDefault(); - const $target = $(event.currentTarget); - - // Stop here if the tool is disabled - if ($target.hasClass('disabled')) { - return; - } - - const nullValue = $target.hasClass('active') && instance.data.toggleable; - const value = nullValue ? null : $target.attr('data-value'); - instance.setValue(value); - } -}); - -Template.roundedButtonGroup.helpers({ - getValue() { - return Template.instance().getValue(); - } -}); diff --git a/Packages/ohif-study-list/client/components/roundedButtonGroup/roundedButtonGroup.styl b/Packages/ohif-study-list/client/components/roundedButtonGroup/roundedButtonGroup.styl deleted file mode 100644 index 9db942739..000000000 --- a/Packages/ohif-study-list/client/components/roundedButtonGroup/roundedButtonGroup.styl +++ /dev/null @@ -1,81 +0,0 @@ -@import "{ohif:viewerbase}/app" - -$height = 25px - -.roundedButtonGroup - position: relative - z-index: 0 - - .roundedButtonWrapper - cursor: pointer - display: inline-block - float: left - margin-left: -2px - text-decoration: none - text-align: center - - &.disabled - opacity: 0.5 - cursor: not-allowed - - .roundedButton - align-items: center - theme('background-color', '$uiGrayDark') - theme('border', '2px solid $uiBorderColorDark') - theme('color', '$textSecondaryColor') - display: flex - font-size: 11px - font-weight: 500 - justify-content: center - height: $height - line-height: $height - padding: 0 22px - position: relative - text-transform: uppercase - transition($sidebarTransition) - z-index: 1 - - svg - theme('fill', '$defaultColor') - theme('stroke', '$defaultColor') - - svg - span - margin: 0 2px - - i - line-height: 15px - font-size: 15px - - .bottomLabel - theme('color', '$textSecondaryColor') - font-size: 12px - font-weight: 500 - line-height: 12px - margin-top: 8px - - &:first-child - margin-left: 0 - .roundedButton - border-bottom-left-radius: $height - border-top-left-radius: $height - - &:last-child .roundedButton - border-bottom-right-radius: $height - border-top-right-radius: $height - - &:hover .roundedButton - theme('color', '$uiGrayDark') - theme('background-color', '$boxBackgroundColor') - - &.active .roundedButton - theme('background-color', '$activeColor') - theme('border-color', '$uiBorderColorActive') - theme('color', '$uiGrayDark') - z-index: 2 - - &:hover .roundedButton - &.active .roundedButton - svg - theme('fill', '$uiGrayDark') - theme('stroke', '$uiGrayDark') diff --git a/Packages/ohif-study-list/client/components/seriesDetailsModal/index.js b/Packages/ohif-study-list/client/components/seriesDetailsModal/index.js deleted file mode 100644 index a751df312..000000000 --- a/Packages/ohif-study-list/client/components/seriesDetailsModal/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import './seriesDetailsModal.html'; - -import './seriesDetailsTable/seriesDetailsTable.html'; -import './seriesDetailsTable/seriesDetailsTable.styl'; -import './seriesDetailsTable/seriesDetailsTable.js'; diff --git a/Packages/ohif-study-list/client/components/seriesDetailsModal/seriesDetailsModal.html b/Packages/ohif-study-list/client/components/seriesDetailsModal/seriesDetailsModal.html deleted file mode 100644 index a50a132be..000000000 --- a/Packages/ohif-study-list/client/components/seriesDetailsModal/seriesDetailsModal.html +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/Packages/ohif-study-list/client/components/seriesDetailsModal/seriesDetailsTable/seriesDetailsTable.html b/Packages/ohif-study-list/client/components/seriesDetailsModal/seriesDetailsTable/seriesDetailsTable.html deleted file mode 100644 index 537ecb4a7..000000000 --- a/Packages/ohif-study-list/client/components/seriesDetailsModal/seriesDetailsTable/seriesDetailsTable.html +++ /dev/null @@ -1,104 +0,0 @@ - \ No newline at end of file diff --git a/Packages/ohif-study-list/client/components/seriesDetailsModal/seriesDetailsTable/seriesDetailsTable.js b/Packages/ohif-study-list/client/components/seriesDetailsModal/seriesDetailsTable/seriesDetailsTable.js deleted file mode 100644 index d58234da4..000000000 --- a/Packages/ohif-study-list/client/components/seriesDetailsModal/seriesDetailsTable/seriesDetailsTable.js +++ /dev/null @@ -1,55 +0,0 @@ -import { Template } from 'meteor/templating'; -import { ReactiveDict } from 'meteor/reactive-dict'; -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; - -Template.seriesDetailsTable.onCreated(() => { - const instance = Template.instance(); - - // Create selected studies - instance.selectedStudies = new ReactiveDict(); - - let selectedStudiesData = instance.data.selectedStudies; - - if (!selectedStudiesData) { - return; - } - - // Display loading text while getting series - _.each(selectedStudiesData, selectedStudy => { - - selectedStudy.displaySeriesLoadingText = true; - }); - - // Set reactive selected studies - instance.selectedStudies.set('studies', selectedStudiesData); -}); - -Template.seriesDetailsTable.onRendered(() => { - const instance = Template.instance(); - const studies = instance.selectedStudies.get('studies'); - - if (!studies) { - return; - } - - // Get series list for the study - _.map(studies, (selectedStudy, index) => { - studies[index].seriesList = []; - OHIF.studies.retrieveStudyMetadata(selectedStudy.studyInstanceUid).then( study => { - // Set series list - studies[index].seriesList = study.seriesList; - studies[index].displaySeriesLoadingText = false; - - // Update selected studies - instance.selectedStudies.set('studies', studies); - }); - }); -}); - -Template.seriesDetailsTable.helpers({ - selectedStudies() { - const instance = Template.instance(); - return instance.selectedStudies.get('studies'); - } -}); diff --git a/Packages/ohif-study-list/client/components/seriesDetailsModal/seriesDetailsTable/seriesDetailsTable.styl b/Packages/ohif-study-list/client/components/seriesDetailsModal/seriesDetailsTable/seriesDetailsTable.styl deleted file mode 100644 index 223801f5e..000000000 --- a/Packages/ohif-study-list/client/components/seriesDetailsModal/seriesDetailsTable/seriesDetailsTable.styl +++ /dev/null @@ -1,30 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.selectedStudyContainer - margin-bottom: 15px; - - .tblStudyDetails - tbody > tr > td > label - color: $textPrimaryColor - - tbody > tr > td > input[type="text"] - height: 28px - background-color: $primaryBackgroundColor - color: $textPrimaryColor - width: calc(100% - 10px) - border-radius: 4px - box-sizing: border-box - - .tblSeriesDetails - thead > tr > th - text-align: center - - tbody > tr - - td - text-align: center - color: $textPrimaryColor - - .loadingTextDiv - font-size: 13px - color: $textSecondaryColor diff --git a/Packages/ohif-study-list/client/components/studylist/index.js b/Packages/ohif-study-list/client/components/studylist/index.js deleted file mode 100644 index 2249e8b6d..000000000 --- a/Packages/ohif-study-list/client/components/studylist/index.js +++ /dev/null @@ -1,15 +0,0 @@ -import './studylist.html'; -import './studylist.js'; -import './studylist.styl'; - -import './studylistStudy/studylistStudy.html'; -import './studylistStudy/studylistStudy.js'; -import './studylistStudy/studylistStudy.styl'; - -import './studylistResult/studylistResult.html'; -import './studylistResult/studylistResult.js'; -import './studylistResult/studylistResult.styl'; - -import './studylistToolbar/studylistToolbar.html'; -import './studylistToolbar/studylistToolbar.js'; -import './studylistToolbar/studylistToolbar.styl'; diff --git a/Packages/ohif-study-list/client/components/studylist/studylist.html b/Packages/ohif-study-list/client/components/studylist/studylist.html deleted file mode 100644 index 7aeb9767c..000000000 --- a/Packages/ohif-study-list/client/components/studylist/studylist.html +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/Packages/ohif-study-list/client/components/studylist/studylist.js b/Packages/ohif-study-list/client/components/studylist/studylist.js deleted file mode 100644 index b5b66d400..000000000 --- a/Packages/ohif-study-list/client/components/studylist/studylist.js +++ /dev/null @@ -1,12 +0,0 @@ -import { Template } from 'meteor/templating'; -import { OHIF } from 'ohif-core'; - -Template.studylist.onCreated(() => { - // Set the current context - OHIF.context.set('studylist'); -}); - -Template.studylist.onDestroyed(() => { - // Reset the current context - OHIF.context.set(null); -}); diff --git a/Packages/ohif-study-list/client/components/studylist/studylist.styl b/Packages/ohif-study-list/client/components/studylist/studylist.styl deleted file mode 100644 index a3004acb0..000000000 --- a/Packages/ohif-study-list/client/components/studylist/studylist.styl +++ /dev/null @@ -1,13 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.study-list-wrapper - theme('background-color', '$primaryBackgroundColor') - color: white - margin: 2px auto 0 - height: calc(100% - 91px) - position: relative - width: 100% - - .loadingTextDiv - theme('color', '$textSecondaryColor') - font-size: 30px diff --git a/Packages/ohif-study-list/client/components/studylist/studylistResult/studylistResult.html b/Packages/ohif-study-list/client/components/studylist/studylistResult/studylistResult.html deleted file mode 100644 index c6ebb2f6b..000000000 --- a/Packages/ohif-study-list/client/components/studylist/studylistResult/studylistResult.html +++ /dev/null @@ -1,92 +0,0 @@ - diff --git a/Packages/ohif-study-list/client/components/studylist/studylistResult/studylistResult.js b/Packages/ohif-study-list/client/components/studylist/studylistResult/studylistResult.js deleted file mode 100644 index d4402460b..000000000 --- a/Packages/ohif-study-list/client/components/studylist/studylistResult/studylistResult.js +++ /dev/null @@ -1,340 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Template } from 'meteor/templating'; -import { Session } from 'meteor/session'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { ReactiveDict } from 'meteor/reactive-dict'; -import moment from 'moment'; -import { OHIF } from 'ohif-core'; - -Session.setDefault('showLoadingText', true); -Session.setDefault('serverError', false); - -Template.studylistResult.helpers({ - /** - * Returns a ascending sorted instance of the Studies Collection by Patient name and Study Date - */ - studies() { - const instance = Template.instance(); - let sortOption = { - patientName: 1, - studyDate: 1 - }; - - // Update sort option if session is defined - if (Session.get('sortOption')) { - sortOption = Session.get('sortOption'); - } - - const studies = OHIF.studylist.collections.Studies.find({}, { - sort: sortOption - }).fetch(); - - if (!studies) { - return; - } - - // Update record count - instance.paginationData.recordCount.set(studies.length); - - return studies; - }, - - numberOfStudies() { - return OHIF.studylist.collections.Studies.find().count(); - }, - - sortingColumnsIcons() { - const instance = Template.instance(); - - let sortingColumnsIcons = {}; - Object.keys(instance.sortingColumns.keys).forEach(key => { - const value = instance.sortingColumns.get(key); - - if (value === 1) { - sortingColumnsIcons[key] = 'fa fa-fw fa-sort-up'; - } else if (value === -1) { - sortingColumnsIcons[key] = 'fa fa-fw fa-sort-down'; - } else { - // fa-fw is blank - sortingColumnsIcons[key] = 'fa fa-fw'; - } - }); - return sortingColumnsIcons; - } -}); - -let studyDateFrom; -let studyDateTo; -let filter; - -/** - * Transforms an input string into a search filter for - * the StudyList Search call - * - * @param filter The input string to be searched for - * @returns {*} - */ -function getFilter(filter) { - if (filter && filter.length && filter.substr(filter.length - 1) !== '*') { - filter += '*'; - } - - return filter; -} - -/** - * Replace object if undefined - */ -function replaceUndefinedColumnValue(text) { - if (text === undefined || text === 'undefined') { - return ''; - } else { - return text.toUpperCase(); - } -} - -/** - * Runs a search for studies matching the studylist query parameters - * Inserts the identified studies into the Studies Collection - */ -function search(instance) { - OHIF.log.info('search()'); - - // Show loading message - Session.set('showLoadingText', true); - - // Hiding error message - Session.set('serverError', false); - - // Pagination parameters - const rowsPerPage = instance.paginationData.rowsPerPage.get(); - const currentPage = instance.paginationData.currentPage.get(); - - // Create the filters to be used for the StudyList Search - filter = { - offset: rowsPerPage * currentPage, - limit: rowsPerPage, - patientName: getFilter($('input#patientName').val()), - patientId: getFilter($('input#patientId').val()), - accessionNumber: getFilter($('input#accessionNumber').val()), - studyDescription: getFilter($('input#studyDescription').val()), - studyDateFrom, - studyDateTo, - modalitiesInStudy: $('input#modality').val() ? $('input#modality').val() : '' - }; - - // Make sure that modality has a reasonable value, since it is occasionally - // returned as 'undefined' - const modality = replaceUndefinedColumnValue($('input#modality').val()); - - OHIF.studies.searchStudies(filter).then((studies) => { - OHIF.log.info('StudyListSearch'); - - // Hide loading text - Session.set('showLoadingText', false); - - // Clear all current studies - OHIF.studylist.collections.Studies.remove({}); - - if (!studies) { - OHIF.log.warn('No studies found'); - return; - } - - // Loop through all identified studies - studies.forEach(study => { - // TODO: Why is this Modality filter different from QIDO? - if (!modality && !study.modalities.includes(modality)) { - return; - } - - // Sometimes DICOM studies have incorrect Date entries with - // periods such as '1990.10.04' - let studyDate = study.studyDate; - if (studyDate && studyDate.includes('.')) { - studyDate = studyDate.replace('.', ''); - } - - // Search the rest of the parameters that aren't done via the server call - if ((moment(studyDateFrom, "MM/DD/YYYY").isBefore(moment(studyDate, "YYYYMMDD")) || !studyDateFrom ) && - (moment(studyDate, "YYYYMMDD").isBefore(moment(studyDateTo, "MM/DD/YYYY")) || !studyDateTo || studyDateTo === '')) { - // Convert numberOfStudyRelatedInstance string into integer - study.numberOfStudyRelatedInstances = !isNaN(study.numberOfStudyRelatedInstances) ? parseInt(study.numberOfStudyRelatedInstances) : undefined; - // Insert any matching studies into the Studies Collection - OHIF.studylist.collections.Studies.insert(study); - } - }); - }, (error) => { - Session.set('serverError', true); - - const errorType = error.error; - - if (errorType === 'server-connection-error') { - OHIF.log.error('There was an error connecting to the DICOM server, please verify if it is up and running.'); - } else if (errorType === 'server-internal-error') { - OHIF.log.error('There was an internal error with the DICOM server'); - } else { - OHIF.log.error('For some reason we could not list the studies.') - } - - OHIF.log.error(error.stack); - }); -} - -const getRowsPerPage = () => sessionStorage.getItem('rowsPerPage'); - -// Wraps ReactiveVar equalsFunc function. Whenever ReactiveVar is -// set to a new value, it will save it in the Session Storage. -// The return is the default ReactiveVar equalsFunc if available -// or values are === compared -const setRowsPerPage = (oldValue, newValue) => { - sessionStorage.setItem('rowsPerPage', newValue); - return typeof ReactiveVar._isEqual === 'function' ? ReactiveVar._isEqual(oldValue, newValue) : oldValue === newValue; -}; - -Template.studylistResult.onCreated(() => { - const instance = Template.instance(); - instance.sortOption = new ReactiveVar(); - instance.sortingColumns = new ReactiveDict(); - - // Pagination parameters - - // Rows per page - // Check session storage or set 25 as default - const cachedRowsPerPage = getRowsPerPage(); - if (!cachedRowsPerPage) { - setRowsPerPage(0, 25); - } - - const rowsPerPage = getRowsPerPage(); - instance.paginationData = { - class: 'studylist-pagination', - currentPage: new ReactiveVar(0), - rowsPerPage: new ReactiveVar(parseInt(rowsPerPage, 10), setRowsPerPage), - recordCount: new ReactiveVar(0) - }; - - // Set sortOption - const sortOptionSession = Session.get('sortOption'); - if (sortOptionSession) { - instance.sortingColumns.set(sortOptionSession); - } else { - instance.sortingColumns.set({ - patientName: 1, - studyDate: 1, - patientId: 0, - accessionNumber: 0, - studyDescription: 0, - modality: 0 - }); - } -}); - -Template.studylistResult.onRendered(() => { - const instance = Template.instance(); - - // Initialize daterangepicker - const today = moment(); - const lastWeek = moment().subtract(6, 'days'); - const lastMonth = moment().subtract(29, 'days'); - const $studyDate = instance.$('#studyDate'); - const dateFilterNumDays = OHIF.uiSettings.studyListDateFilterNumDays; - let startDate, endDate; - - if (dateFilterNumDays) { - startDate = moment().subtract(dateFilterNumDays - 1, 'days'); - endDate = today; - } - - instance.datePicker = $studyDate.daterangepicker({ - maxDate: today, - autoUpdateInput: true, - startDate: startDate, - endDate: endDate, - ranges: { - Today: [today, today], - 'Last 7 Days': [lastWeek, today], - 'Last 30 Days': [lastMonth, today] - } - }).data('daterangepicker'); - - search(instance); - - // Search when rowsPerPage or currentPage is changed - instance.autorun(computation => { - instance.paginationData.rowsPerPage.dep.depend(); - instance.paginationData.currentPage.dep.depend(); - - // Stop here if it is the first run - if (computation.firstRun) { - return; - } - - search(instance); - }); -}); - -Template.studylistResult.onDestroyed(() => { - const instance = Template.instance(); - - // Destroy the daterangepicker to prevent residual elements on DOM - instance.datePicker.remove(); -}); - -function resetSortingColumns(instance, sortingColumn) { - Object.keys(instance.sortingColumns.keys).forEach(key => { - if (key !== sortingColumn) { - instance.sortingColumns.set(key, null); - } - }); -} - -Template.studylistResult.events({ - 'keydown input'(event, instance) { - if (event.which === 13) { // Enter - search(instance); - } - }, - - 'onsearch input'(event, instance) { - search(instance); - }, - - 'change #studyDate'(event, instance) { - let dateRange = $(event.currentTarget).val(); - - // Remove all space chars - dateRange = dateRange.replace(/ /g, ''); - - // Split dateRange into subdates - const dates = dateRange.split('-'); - studyDateFrom = dates[0]; - studyDateTo = dates[1]; - - if (dateRange !== '') { - search(instance); - } - }, - - 'click div.sortingCell'(event, instance) { - const elementId = event.currentTarget.id; - - // Remove _ from id - const columnName = elementId.replace('_', ''); - - let sortOption = {}; - resetSortingColumns(instance, columnName); - - const columnObject = instance.sortingColumns.get(columnName); - if (columnObject) { - instance.sortingColumns.set(columnName, columnObject * -1); - sortOption[columnName] = columnObject * -1; - } else { - instance.sortingColumns.set(columnName, 1); - sortOption[columnName] = 1; - } - - instance.sortOption.set(sortOption); - Session.set('sortOption', sortOption); - } -}); diff --git a/Packages/ohif-study-list/client/components/studylist/studylistResult/studylistResult.styl b/Packages/ohif-study-list/client/components/studylist/studylistResult/studylistResult.styl deleted file mode 100644 index 60c912f17..000000000 --- a/Packages/ohif-study-list/client/components/studylist/studylistResult/studylistResult.styl +++ /dev/null @@ -1,262 +0,0 @@ -@import "{ohif:viewerbase}/app" - -$tableHoverColor = #2c363f -$tableTextPrimaryColor = white -$tableTextSecondaryColor = #91b9cd - -$inputBackgroundColor = #2c363f -$inputPlaceholderColor = lightgray - -$studyListToolbarHeight = 75px -$bodyCellHeight = 40px - -.studyListToolbar - theme('background', '$uiGrayDarker') - height: $studyListToolbarHeight - margin-bottom: 2px - padding: 0 $studyListPadding - - &>div - display: inline-block - - .header - font-size: 22px - font-weight: 300 - color: $tableTextSecondaryColor - line-height: $studyListToolbarHeight - - .studylistToolbar - height: $studyListToolbarHeight - line-height: $studyListToolbarHeight - - .studyCount - theme('color', '$largeNumbersColor') - font-size: 40px - font-weight: 100 - line-height: $studyListToolbarHeight - -.theadBackground - height: 121px - position: absolute - width: 100% - - &:before, &:after - content: '' - display: block - left: 0 - position: absolute - width: 100% - - &:before - theme('background-color', '$uiGrayDarker') - height: 100% - top: 0 - z-index: 1 - - &:after - theme('background-color', '$largeNumbersColor') - bottom: -1px - height: 1px - z-index: 3 - -#studyListContainer - width: 100% - //padding: 0 $studyListPadding - //position: absolute - z-index: 2 - - .loadingTextDiv - color: $tableTextSecondaryColor - font-size: 30px - - .notFound - color: $tableTextSecondaryColor - font-size: 30px - font-weight: 200 - text-align: center - - table#tblStudyList - tr - height: 20px - - thead - white-space: nowrap - - tr - th - padding: 0 - border-bottom: solid 1px #6fbde2 - width: 100% - - &.studyDate - min-width: 230px - - &:first-child - padding-left: $tablePadding - - &:last-child - padding-right: $tablePadding - - div.sortingCell - display: inline-block - cursor: pointer - width: 100% - min-width: 95px - margin: 0 auto - color: $tableTextPrimaryColor - font-weight: 400 - padding: 20px - - span - font-size: 15px - float: left - - i - margin: 0 5px - - &:hover - theme('color', '$activeColor') - - &.active, &:active - theme('color', '$activeColor') - - input.studylist-search - height: 40px - margin: 0 5px 20px 5px - padding: 0 20px - cursor: pointer - border: none - background-color: $inputBackgroundColor - color: $inputPlaceholderColor - font-size: 10pt - font-weight: normal - width: calc(100% - 10px) - border-radius: 4px - box-sizing: border-box - - transition(all 0.15s ease) - placeholder-color($inputPlaceholderColor) - - &.invisible - visibility: hidden - - &:active, &:hover - background-color: $inputBackgroundColor - - ::-webkit-datetime-edit-year-field:not([aria-valuenow]), - ::-webkit-datetime-edit-month-field:not([aria-valuenow]), - ::-webkit-datetime-edit-day-field:not([aria-valuenow]) - color: transparent - - tbody - tr - padding: 5px - background-color: black - - &:nth-child(even) - theme('background-color', '$uiGrayDarker') - - td - height: $bodyCellHeight - line-height: $bodyCellHeight - color: $tableTextPrimaryColor - font-weight: 300 - border-top: 1px solid #436270 - border-bottom: 1px solid #436270 - white-space: nowrap - transition(all 0.1s ease) - - &.emptyValue - theme('color', '$uiGrayLight') - - &:hover, &:active, &.active - background-color: $tableHoverColor - color: white - - td - // This selector is necessary to override bootstrap's 'table' class - border-top: 1px solid #436270 - border-bottom: 1px solid #436270 - background-color: $tableHoverColor - -@media only screen and (max-width: 1362px) - $tablePadding = 5% - - #studyListContainer - padding: 0 $tablePadding - - table#tblStudyList - thead, - tbody - tr - th, - td - &:first-child - padding-left: $tablePadding - - &:last-child - padding-right: $tablePadding - -@media only screen and (max-width: 1161px) - $tablePadding = 3% - - #studyListContainer - padding: 0 $tablePadding - - table#tblStudyList - thead, - tbody - tr - th, - td - &:first-child - padding-left: $tablePadding - - &:last-child - padding-right: $tablePadding - -@media only screen and (max-width: 1069px) - $tablePaddingMediumScreen = 5px - - .theadBackground - height: 101px - - .studyListToolbar - padding: 0 $tablePaddingMediumScreen - - #studyListContainer - padding: 0 - - table#tblStudyList - thead > tr > th - - &:first-child - padding-left: $tablePaddingMediumScreen - - &:last-child - padding-right: $tablePaddingMediumScreen - - input.worklist-search - padding: 10px - - div.sortingCell - padding: 10px 5px - - i - width: auto - - tbody > tr > td - &:first-child - padding-left: $tablePaddingMediumScreen - - &:last-child - padding-right: $tablePaddingMediumScreen - - .worklistPagination - .row - margin-left: 0 - margin-right: 0 - -@media only screen and (max-width: 1069px) - .studylist-pagination > .row - margin-right: 0; diff --git a/Packages/ohif-study-list/client/components/studylist/studylistStudy/studylistStudy.html b/Packages/ohif-study-list/client/components/studylist/studylistStudy/studylistStudy.html deleted file mode 100644 index 964cb067a..000000000 --- a/Packages/ohif-study-list/client/components/studylist/studylistStudy/studylistStudy.html +++ /dev/null @@ -1,26 +0,0 @@ - diff --git a/Packages/ohif-study-list/client/components/studylist/studylistStudy/studylistStudy.js b/Packages/ohif-study-list/client/components/studylist/studylistStudy/studylistStudy.js deleted file mode 100644 index f8b8773ff..000000000 --- a/Packages/ohif-study-list/client/components/studylist/studylistStudy/studylistStudy.js +++ /dev/null @@ -1,192 +0,0 @@ -import { Template } from 'meteor/templating'; -import { Blaze } from 'meteor/blaze'; -import Hammer from 'hammerjs'; -import { OHIF } from 'ohif-core'; - -// Clear all selected studies -function doClearStudySelections() { - OHIF.studylist.collections.Studies.update({}, { - $set: { selected: false } - }, { multi: true }); -} - -function doSelectRow($studyRow, data) { - // Mark the current study as selected if it's not marked yet - if (!data.selected) { - const filter = { studyInstanceUid: data.studyInstanceUid }; - const modifiers = { $set: { selected: true } }; - OHIF.studylist.collections.Studies.update(filter, modifiers); - } - - // Set it as the previously selected row, so the user can use Shift to select from this point on - OHIF.studylist.$lastSelectedRow = $studyRow; -} - -function doSelectSingleRow($studyRow, data) { - // Clear all selected studies - doClearStudySelections(); - - // Add selected row to selection list - doSelectRow($studyRow, data); -} - -function doUnselectRow($studyRow, data) { - // Find the current studyInstanceUid in the stored list and mark as unselected - const filter = { studyInstanceUid: data.studyInstanceUid }; - const modifiers = { $set: { selected: false } }; - OHIF.studylist.collections.Studies.update(filter, modifiers); -} - -function handleShiftClick($studyRow, data) { - let study; - let $previousRow = OHIF.studylist.$lastSelectedRow; - if ($previousRow && $previousRow.length > 0) { - study = Blaze.getData($previousRow.get(0)); - if (!study.selected) { - $previousRow = $(); // undefined - OHIF.studylist.$lastSelectedRow = $previousRow; - } - } - - // Select all rows in between these two rows - if ($previousRow.length) { - let $rowsInBetween; - if ($previousRow.index() < $studyRow.index()) { - // The previously selected row is above (lower index) the - // currently selected row. - - // Fill in the rows upwards from the previously selected row - $rowsInBetween = $previousRow.nextAll('tr'); - } else if ($previousRow.index() > $studyRow.index()) { - // The previously selected row is below the currently - // selected row. - - // Fill in the rows upwards from the previously selected row - $rowsInBetween = $previousRow.prevAll('tr'); - } else { - // nothing to do since $previousRow.index() === $studyRow.index() - // the user is shift-clicking the same row... - return; - } - - // Loop through the rows in between current and previous selected studies - $rowsInBetween.each((index, row) => { - const $row = $(row); - - // Retrieve the data context through Blaze - const data = Blaze.getData(row); - - // If we find one that is already selected, do nothing - if (data.selected) return; - - // Set the current study as selected - doSelectRow($row, data); - - // When we reach the currently clicked-on $row, stop the loop - return !$row.is($studyRow); - }); - } else { - // Set the current study as selected - doSelectSingleRow($studyRow, data); - } -} - -function handleCtrlClick($studyRow, data) { - const handler = data.selected ? doUnselectRow : doSelectRow; - handler($studyRow, data); -} - -function handlePress(event, instance) { - const $studyRow = $(event.currentTarget); - - if (!instance.data.selected) { - doSelectSingleRow($studyRow, instance.data); - } - - event.preventDefault(); - OHIF.ui.showDropdown(OHIF.studylist.dropdown.getItems(), { - event, - menuClasses: 'dropdown-menu-left' - }); - - return false; -} - -function handleDoubleClick(event, instance) { - if (event.which !== undefined && event.which !== 1) { - return; - } - - const dblClickOnStudy = OHIF.studylist.callbacks.dblClickOnStudy; - - if (dblClickOnStudy && typeof dblClickOnStudy === 'function') { - dblClickOnStudy(instance.data); - } -} - -Template.studylistStudy.onRendered(() => { - const instance = Template.instance(); - const data = instance.data; - const $row = instance.$('tr.studylistStudy').first(); - - // Enable HammerJS to allow touch support - const mc = new Hammer.Manager($row.get(0)); - const doubleTapRecognizer = new Hammer.Tap({ - event: 'doubletap', - taps: 2, - interval: 500, - threshold: 30, - posThreshold: 30 - }); - const press = new Hammer.Press(); - - mc.add(press); - mc.add(doubleTapRecognizer); - - mc.on('press', function(event) { - handlePress(event, instance); - }); - - mc.on('doubletap', function(event) { - handleDoubleClick(event, instance); - }); - - - // Check if current row has been previously selected - if (data.selected) { - doSelectRow($row, data); - } -}); - -Template.studylistStudy.events({ - 'click tr.studylistStudy'(event, instance) { - const $studyRow = $(event.currentTarget); - const data = instance.data; - - // Remove the ID so we can directly insert this into our client-side collection - delete data._id; - - if (event.shiftKey) { - handleShiftClick($studyRow, data); - } else if (event.ctrlKey || event.metaKey) { - handleCtrlClick($studyRow, data); - } else { - doSelectSingleRow($studyRow, data); - } - }, - - 'mousedown tr.studylistStudy'(event, instance) { - // This event handler is meant to handle middle-click on a study - if (event.which !== 2) { - return; - } - - const middleClickOnStudy = OHIF.studylist.callbacks.middleClickOnStudy; - if (middleClickOnStudy && typeof middleClickOnStudy === 'function') { - middleClickOnStudy(instance.data); - } - }, - - 'dblclick tr.studylistStudy, doubletap tr.studylistStudy': handleDoubleClick, - 'contextmenu tr.studylistStudy, press tr.studylistStudy': handlePress, -}); diff --git a/Packages/ohif-study-list/client/components/studylist/studylistStudy/studylistStudy.styl b/Packages/ohif-study-list/client/components/studylist/studylistStudy/studylistStudy.styl deleted file mode 100644 index e444eff73..000000000 --- a/Packages/ohif-study-list/client/components/studylist/studylistStudy/studylistStudy.styl +++ /dev/null @@ -1,2 +0,0 @@ -.studylistStudy - cursor: pointer \ No newline at end of file diff --git a/Packages/ohif-study-list/client/components/studylist/studylistToolbar/studylistToolbar.html b/Packages/ohif-study-list/client/components/studylist/studylistToolbar/studylistToolbar.html deleted file mode 100644 index f62fbc760..000000000 --- a/Packages/ohif-study-list/client/components/studylist/studylistToolbar/studylistToolbar.html +++ /dev/null @@ -1,12 +0,0 @@ - diff --git a/Packages/ohif-study-list/client/components/studylist/studylistToolbar/studylistToolbar.js b/Packages/ohif-study-list/client/components/studylist/studylistToolbar/studylistToolbar.js deleted file mode 100644 index 834f6d1f4..000000000 --- a/Packages/ohif-study-list/client/components/studylist/studylistToolbar/studylistToolbar.js +++ /dev/null @@ -1,35 +0,0 @@ -import { OHIF } from 'ohif-core'; -import { Template } from 'meteor/templating'; -import { Session } from 'meteor/session'; -import $ from 'jquery'; - -Template.studylistToolbar.onCreated(() => { - /*Meteor.call('importSupported', (error, result) => { - if (error || !result) { - Session.set('importSupported', false); - } else { - Session.set('importSupported', true); - } - });*/ -}); - -Template.studylistToolbar.events({ - 'change .js-import-files'(event) { - // Get selected files located in the client machine - const selectedFiles = $.map(event.currentTarget.files, value => value); - - OHIF.studylist.importStudies(selectedFiles); - }, - - 'click .js-import-files'(event) { - // Reset file input - $(event.currentTarget).val(''); - } -}); - -Template.studylistToolbar.helpers({ - importSupported() { - const importSupported = Session.get('importSupported'); - return (importSupported && OHIF.uiSettings.studyListFunctionsEnabled); - } -}); diff --git a/Packages/ohif-study-list/client/components/studylist/studylistToolbar/studylistToolbar.styl b/Packages/ohif-study-list/client/components/studylist/studylistToolbar/studylistToolbar.styl deleted file mode 100644 index 7907e4ce9..000000000 --- a/Packages/ohif-study-list/client/components/studylist/studylistToolbar/studylistToolbar.styl +++ /dev/null @@ -1,27 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.studylistToolbar - .addNewStudy - margin: 0 10px - - label - theme('color', '$textSecondaryColor') - font-weight: 400 - cursor: pointer - - * - pointer-events: none - - &:hover - theme('color', '$hoverColor') - - &:active - theme('color', '$activeColor') - - input - width: 0.1px; - height: 0.1px - opacity: 0 - overflow: hidden - position: absolute - z-index: -1 diff --git a/Packages/ohif-study-list/client/dropdown.js b/Packages/ohif-study-list/client/dropdown.js deleted file mode 100644 index 9fc701d5a..000000000 --- a/Packages/ohif-study-list/client/dropdown.js +++ /dev/null @@ -1,25 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { OHIF } from 'ohif-core'; - -Meteor.startup(() => { - OHIF.studylist.dropdown = new OHIF.ui.Dropdown(); - - OHIF.studylist.dropdown.setItems([{ - action: OHIF.studylist.viewSeriesDetails, - text: 'View Series Details' - }, { - text: 'Anonymize', - disabled: true - }, { - text: 'Send', - disabled: true, - separatorAfter: true - }, { - text: 'Delete', - disabled: true - }, { - action: OHIF.studylist.exportSelectedStudies, - text: 'Export', - title: 'Export Selected Studies' - }]); -}); diff --git a/Packages/ohif-study-list/client/index.js b/Packages/ohif-study-list/client/index.js deleted file mode 100644 index b29857bee..000000000 --- a/Packages/ohif-study-list/client/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import 'daterangepicker/daterangepicker.js'; -import 'daterangepicker/daterangepicker.css'; - -import './base'; -import './collections'; -import './lib'; -import './components'; -import './dropdown'; diff --git a/Packages/ohif-study-list/client/lib/exportSelectedStudies.js b/Packages/ohif-study-list/client/lib/exportSelectedStudies.js deleted file mode 100644 index bf9978aac..000000000 --- a/Packages/ohif-study-list/client/lib/exportSelectedStudies.js +++ /dev/null @@ -1,19 +0,0 @@ -import { OHIF } from 'ohif-core'; - -/** - * Exports all selected studies on the studylist - * @param event Event that triggered the export - */ -OHIF.studylist.exportSelectedStudies = event => { - const selectedStudies = OHIF.studylist.getSelectedStudies(); - const studiesCount = selectedStudies.length; - const studyText = studiesCount > 1 ? 'Studies' : 'Study'; - - OHIF.ui.showDialog('dialogConfirm', { - element: event.element, - title: `Export ${studyText}`, - message: `Would you like to export ${studiesCount} ${studyText.toLowerCase()}?` - }).then(() => { - OHIF.studylist.exportStudies(selectedStudies); - }).catch(() => {}); -}; diff --git a/Packages/ohif-study-list/client/lib/exportStudies.js b/Packages/ohif-study-list/client/lib/exportStudies.js deleted file mode 100644 index 0faac6321..000000000 --- a/Packages/ohif-study-list/client/lib/exportStudies.js +++ /dev/null @@ -1,202 +0,0 @@ -import { JSZip } from 'meteor/silentcicero:jszip'; -import { OHIF } from 'ohif-core'; - -const getNumberOfFilesToExport = function(studiesToExport) { - let numberOfFilesToExport = 0; - - studiesToExport.forEach(study => { - numberOfFilesToExport += getNumberOfFilesInStudy(study); - }); - - return numberOfFilesToExport; -} - -const convertSizeToString = size => { - const measuments = ['B', 'KB', 'MB', 'GB']; - let totalBytes = size, - measumentIndex = 0; - - while(totalBytes > 1024) { - totalBytes /= 1024; - measumentIndex++; - } - - return `${totalBytes.toFixed(2)} ${measuments[measumentIndex]}`; -} - -/** - * Exports requested studies - * @param studiesToExport Studies to export - */ -OHIF.studylist.exportStudies = studiesToExport => { - if (studiesToExport.length < 1) { - return; - } - - queryStudiesWithProgress(studiesToExport) - .then(exportQueriedStudiesWithProgress); -}; - -const exportQueriedStudiesWithProgress = studiesToExport => { - const exportFilesCount = getNumberOfFilesToExport(studiesToExport); - let exportHandler; - - return OHIF.ui.showDialog('dialogProgress', { - title: 'Exporting Studies...', - message: `Exported files: 0 / ${exportFilesCount}`, - total: getNumberOfFilesToExport(studiesToExport), - task: { - run: (dialog) => { - exportHandler = exportQueriedStudies(studiesToExport, { - notify: stats => { - const fileSize = convertSizeToString(stats.totalBytes); - - dialog.update(stats.processed); - dialog.setMessage(`Exported files: ${stats.processed} / ${stats.total} (${fileSize})`); - } - }); - - exportHandler.promise.then(() => { - dialog.done(); - }, () => { - dialog.setMessage('Failed to export studies'); - }); - } - } - }).then(null, err => { - exportHandler.cancel(); - }); -}; - -const exportQueriedStudies = (studiesToExport, options) => { - const zip = new JSZip(), - promises = [], - pendingDownloads = [], - exportFilesCount = getNumberOfFilesToExport(studiesToExport), - notify = (options || {}).notify || function() { /* noop */ }; - - const cancelDownloads = () => { - while(pendingDownloads.length) { - const download = pendingDownloads.pop(); - download.cancel(); - } - }; - - let totalBytes = 0; - - studiesToExport.forEach(study => { - study.seriesList.forEach(series => { - series.instances.forEach(instance => { - if (!instance.wadouri) { - return; - } - - const download = downloadDicomFile(instance); - pendingDownloads.push(download); - - const promise = download.promise - .then(data => { - const downloadIndex = pendingDownloads.indexOf(download); - - totalBytes += data && data.size ? data.size : 0; - - if(downloadIndex > -1) { - pendingDownloads.splice(downloadIndex, 1); - } - - notify({ - total: exportFilesCount, - processed: exportFilesCount - pendingDownloads.length, - totalBytes: totalBytes - }) - - return zipInstance(study, series, instance, zip, data) - }) - .catch(err => { - if(!(err instanceof ExportStudyDownloadCanceledError)) { - OHIF.log.error('Failed to export studies', err); - } - - cancelDownloads(); - throw err; - }); - - promises.push(promise); - }); - }); - }); - - return { - cancel: cancelDownloads, - promise: Promise.all(promises).then(() => { - const zipContent = zip.generate({ type: 'blob' }); - saveAs(zipContent, 'studies.zip'); - }) - } -}; - -const downloadDicomFile = instance => { - let xhr, - promiseReject; - - const promise = new Promise((resolve, reject) => { - promiseReject = reject; - - xhr = new XMLHttpRequest(); - xhr.open('GET', instance.wadouri, true); - xhr.responseType = 'blob'; - - xhr.onload = () => { - if (xhr.readyState === 4 && xhr.status !== 200) { - return reject(new Error(`File not downloaded: ${instance.wadouri}`)); - } - - resolve(xhr.response) - }; - - xhr.onerror = () => { - reject(new Error(`File not downloaded: ${instance.wadouri}`)); - }; - - xhr.send(); - }); - - return { - promise: promise, - cancel: () => { - xhr.abort(); - promiseReject(new ExportStudyDownloadCanceledError('Download canceled')); - } - } -}; - - -const zipInstance = (study, series, instance, zip, data) => { - const fileReader = new FileReader(), - blobFile = new Blob([data], { type: 'application/dicom' }), - zipFolder = zip.folder(study.studyInstanceUid).folder(series.seriesInstanceUid); - - const promise = new Promise((resolve, reject) => { - fileReader.onload = () => { - try { - zipFolder.file(`${instance.sopInstanceUid}.dcm`, fileReader.result, { binary: true }); - resolve() - } catch(err) { - reject(err); - } - }; - }); - - fileReader.readAsArrayBuffer(blobFile); - - return promise; -}; - - -const ExportStudyDownloadCanceledError = (message) => { - this.name = 'ExportStudyDownloadCanceledError'; - this.message = message || 'Download canceled'; - this.stack = (new Error()).stack; -} -ExportStudyDownloadCanceledError.prototype = Object.create(Error.prototype); -ExportStudyDownloadCanceledError.prototype.constructor = ExportStudyDownloadCanceledError; diff --git a/Packages/ohif-study-list/client/lib/getSelectedStudies.js b/Packages/ohif-study-list/client/lib/getSelectedStudies.js deleted file mode 100644 index 84190daf9..000000000 --- a/Packages/ohif-study-list/client/lib/getSelectedStudies.js +++ /dev/null @@ -1,9 +0,0 @@ -import { OHIF } from 'ohif-core'; - -OHIF.studylist.getSelectedStudies = () => { - return OHIF.studylist.collections.Studies.find({ selected: true }, { - sort: { - studyDate: 1 - } - }).fetch() || []; -}; diff --git a/Packages/ohif-study-list/client/lib/getStudyPriors.js b/Packages/ohif-study-list/client/lib/getStudyPriors.js deleted file mode 100644 index 2158f2c39..000000000 --- a/Packages/ohif-study-list/client/lib/getStudyPriors.js +++ /dev/null @@ -1,48 +0,0 @@ -import { OHIF } from 'ohif-core'; - -const { StudyMetadata, StudySummary } = OHIF.metadata; -const PATIENT_ID = 'x00100020'; -const STUDY_DATE = 'x00080020'; - -/** - * Get the priors of a given study - * @param {StudyMetadata|StudySummary} study An instance of StudyMetadata|StudySummary class to get it's priors - * @return {Array} An Array of StudySummary objects representing the study priors for the given study or an empty array if none - */ -const getStudyPriors = study => { - - if (!(study instanceof StudyMetadata) && !(study instanceof StudySummary)) { - throw new OHIF.viewerbase.OHIFError('getStudyPriors study must be an instance of StudySummary or StudyMetadata'); - } - - if (study instanceof StudyMetadata) { - study = study.getFirstInstance(); - } - - const priorStudies = []; - const patientID = study.getTagValue(PATIENT_ID); // PatientID - const studyDate = study.getTagValue(STUDY_DATE); // StudyDate - - // Find prior studies in global Studies Minimongo collection - const cursor = OHIF.studylist.collections.Studies.find({ - patientId: patientID, - studyDate: { - $lt: studyDate - } - }, { - sort: { - studyDate: 'desc' - } - }); - - // Create an OHIFStudySummary object for each prior study found - cursor.forEach(study => { - const summary = new OHIF.studies.classes.OHIFStudySummary(study, null, study.studyInstanceUid); - priorStudies.push(summary); - }); - - return priorStudies; - -}; - -export { getStudyPriors }; diff --git a/Packages/ohif-study-list/client/lib/getStudyPriorsMap.js b/Packages/ohif-study-list/client/lib/getStudyPriorsMap.js deleted file mode 100644 index c867caf9f..000000000 --- a/Packages/ohif-study-list/client/lib/getStudyPriorsMap.js +++ /dev/null @@ -1,32 +0,0 @@ -import { OHIF } from 'ohif-core'; -import 'meteor/ohif:viewerbase'; -// Local Dependencies -import { getStudyPriors } from './getStudyPriors'; - -const { StudyMetadata, StudySummary } = OHIF.viewerbase.metadata; - -/** - * Create a Map of study priors where the key of each entry is the StudyInstanceUID and its value is an array of StudySummary instances. - * @returns {Map} The study map. - */ -const getStudyPriorsMap = studies => { - - const priorsMap = new Map(); - - if (studies instanceof Array) { - studies.forEach(study => { - if (study instanceof StudyMetadata || study instanceof StudySummary) { - const studyObjectID = study.getObjectID(); - if (studyObjectID) { - const priors = getStudyPriors(study); - priorsMap.set(studyObjectID, priors); - } - } - }); - } - - return priorsMap; - -}; - -export { getStudyPriorsMap }; diff --git a/Packages/ohif-study-list/client/lib/index.js b/Packages/ohif-study-list/client/lib/index.js deleted file mode 100644 index 3283219ef..000000000 --- a/Packages/ohif-study-list/client/lib/index.js +++ /dev/null @@ -1,7 +0,0 @@ -//import './exportSelectedStudies.js'; -//import './exportStudies.js'; -import './getSelectedStudies.js'; -import './queryStudies.js'; -import './studylist.js'; -import './viewSeriesDetails.js'; -import './viewStudies.js'; diff --git a/Packages/ohif-study-list/client/lib/queryStudies.js b/Packages/ohif-study-list/client/lib/queryStudies.js deleted file mode 100644 index 7a224288b..000000000 --- a/Packages/ohif-study-list/client/lib/queryStudies.js +++ /dev/null @@ -1,74 +0,0 @@ -import { OHIF } from 'ohif-core'; - -/** - * Queries requested studies to get their metadata from PACS - * @param studiesToQuery Studies to query - */ -queryStudies = function(studiesToQuery, options) { - let studiesQueried = 0; - const numberOfStudiesToQuery = studiesToQuery.length; - const notify = (options || {}).notify || function() { /* noop */ }; - - const promises = []; - - studiesToQuery.forEach(studyToQuery => { - const promise = OHIF.studies.retrieveStudyMetadata(studyToQuery.studyInstanceUid); - promise.then(study => { - studiesQueried++; - notify({ - total: numberOfStudiesToQuery, - processed: studiesQueried - }); - }); - promises.push(promise); - }); - - return Promise.all(promises); -}; - -queryStudiesWithProgress = function(studiesToQuery) { - return OHIF.ui.showDialog('dialogProgress', { - title: 'Querying Studies...', - message: `Queried: 0 / ${studiesToQuery.length}`, - total: studiesToQuery.length, - task: { - run: (dialog) => { - queryStudies(studiesToQuery, { - notify: stats => { - dialog.update(stats.processed); - dialog.setMessage(`Queried: ${stats.processed} / ${stats.total}`); - } - }) - .then(studiesQueried => { - dialog.done(studiesQueried); - }, () => { - dialog.cancel(); - }).catch(error => { - OHIF.log.error('There was an error retrieving all studies metadeta.'); - OHIF.log.error(error.stack); - - OHIF.log.trace(); - }); - } - } - }); -}; - -/** - * Returns the total number of dicom files in a study - * @param study Queried study (includes metadata) - * @returns {number} - */ -getNumberOfFilesInStudy = function(study) { - let numberOFFilesToExport = 0; - - study.seriesList.forEach(function(series) { - series.instances.forEach(function(instance) { - if (instance.wadouri) { - numberOFFilesToExport++; - } - }); - }); - - return numberOFFilesToExport; -}; diff --git a/Packages/ohif-study-list/client/lib/studylist.js b/Packages/ohif-study-list/client/lib/studylist.js deleted file mode 100644 index 375c783c9..000000000 --- a/Packages/ohif-study-list/client/lib/studylist.js +++ /dev/null @@ -1,19 +0,0 @@ -import { OHIF } from 'ohif-core'; - -// Functions -/*import { getStudyPriors } from './getStudyPriors'; -import { getStudyPriorsMap } from './getStudyPriorsMap'; - -OHIF.studylist.functions = { - getStudyPriors, - getStudyPriorsMap -};*/ - -const dblClickOnStudy = data => { - // TODO: Switch to more appropriate routing - window.router.history.push(`/viewer/${data.studyInstanceUid}`); - console.log('dblClickOnStudy'); -}; - -OHIF.studylist.callbacks.dblClickOnStudy = dblClickOnStudy; -OHIF.studylist.callbacks.middleClickOnStudy = dblClickOnStudy; diff --git a/Packages/ohif-study-list/client/lib/viewSeriesDetails.js b/Packages/ohif-study-list/client/lib/viewSeriesDetails.js deleted file mode 100644 index b398b4051..000000000 --- a/Packages/ohif-study-list/client/lib/viewSeriesDetails.js +++ /dev/null @@ -1,10 +0,0 @@ -import { OHIF } from 'ohif-core'; - -/** - * Display series details of study in a modal - */ -OHIF.studylist.viewSeriesDetails = () => { - const selectedStudies = OHIF.studylist.getSelectedStudies(); - if (!selectedStudies) return; - OHIF.ui.showDialog('seriesDetailsModal', { selectedStudies }); -}; diff --git a/Packages/ohif-study-list/client/lib/viewStudies.js b/Packages/ohif-study-list/client/lib/viewStudies.js deleted file mode 100644 index a3679fc77..000000000 --- a/Packages/ohif-study-list/client/lib/viewStudies.js +++ /dev/null @@ -1,18 +0,0 @@ -import { OHIF } from 'ohif-core'; - -/** - * Loads multiple unassociated studies in the Viewer - */ -OHIF.studylist.viewStudies = () => { - OHIF.log.info('viewStudies'); - const selectedStudies = OHIF.studylist.getSelectedStudies(); - - if (!selectedStudies || !selectedStudies.length) { - return; - } - - const studyInstanceUids = selectedStudies.map(study => study.studyInstanceUid).join(';'); - - //Router.go('viewerStudies', { studyInstanceUids }); - console.log('OHIF.studylist.viewStudies'); -}; diff --git a/Packages/ohif-study-list/package.js b/Packages/ohif-study-list/package.js deleted file mode 100644 index c7b7d0865..000000000 --- a/Packages/ohif-study-list/package.js +++ /dev/null @@ -1,31 +0,0 @@ -Npm.depends({ - daterangepicker: '3.0.3', - hammerjs: '2.0.8', - moment: '2.22.2', - jquery: '3.3.1', - 'ohif-core': 'file:///Users/Erik/Projects/OHIF/ohif-core/' -}); - -Package.describe({ - name: 'ohif:study-list', - summary: 'Basic study list for web-based DICOM viewers', - version: '0.0.1' -}); - -Package.onUse(function(api) { - api.versionsFrom('1.7'); - - api.use('ecmascript', 'client'); - api.use('templating', 'client'); - api.use('stylus', 'client'); - api.use('http', 'client'); - api.use('aldeed:simple-schema', 'client'); - api.use('aldeed:collection2', 'client'); - api.use('gadicc:blaze-react-component', 'client'); - - // Our custom packages - api.use('ohif:viewerbase', 'client'); - - // Client imports - api.addFiles('client/index.js', 'client'); -}); diff --git a/Packages/ohif-themes-common/package.js b/Packages/ohif-themes-common/package.js deleted file mode 100644 index 1995431e2..000000000 --- a/Packages/ohif-themes-common/package.js +++ /dev/null @@ -1,25 +0,0 @@ -Package.describe({ - name: 'ohif:themes-common', - summary: 'OHIF Common Themes', - version: '0.0.1' -}); - -Package.onUse(function(api) { - api.versionsFrom('1.7'); - - api.use('stylus'); - - // Importable themes - api.addFiles([ - 'themes.styl', - 'themes/theme-tide.styl', - 'themes/theme-tigerlily.styl', - 'themes/theme-crickets.styl', - 'themes/theme-honeycomb.styl', - 'themes/theme-mint.styl', - 'themes/theme-overcast.styl', - 'themes/theme-quartz.styl' - ], 'client', { - isImport: true - }); -}); diff --git a/Packages/ohif-themes-common/themes.styl b/Packages/ohif-themes-common/themes.styl deleted file mode 100644 index 3a76f8b15..000000000 --- a/Packages/ohif-themes-common/themes.styl +++ /dev/null @@ -1,10 +0,0 @@ -$ohifThemesCommon = {} - -// Import the theme variables -@import "{ohif:themes-common}/themes/theme-tide.styl" -@import "{ohif:themes-common}/themes/theme-tigerlily.styl" -@import "{ohif:themes-common}/themes/theme-crickets.styl" -@import "{ohif:themes-common}/themes/theme-honeycomb.styl" -@import "{ohif:themes-common}/themes/theme-mint.styl" -@import "{ohif:themes-common}/themes/theme-overcast.styl" -@import "{ohif:themes-common}/themes/theme-quartz.styl" diff --git a/Packages/ohif-themes-common/themes/theme-crickets.styl b/Packages/ohif-themes-common/themes/theme-crickets.styl deleted file mode 100644 index 5cf2b7a19..000000000 --- a/Packages/ohif-themes-common/themes/theme-crickets.styl +++ /dev/null @@ -1,35 +0,0 @@ -$ohifThemesCommon['crickets'] = { - // Common palette - $uiYellow: #E29E4A - $uiSkyBlue: #6FBDE2 - - // State palette - $uiStateError: #FFCCCC - $uiStateErrorBorder: #993333 - $uiStateErrorText: #661111 - - $uiGrayLight: #516873 - $uiGray: #263340 - $uiGrayDark: #2B141B - $uiGrayDarker: #231C1E - $uiGrayDarkest: #14191E - - // Interface UI Colors - $defaultColor: #92C2DA - $hoverColor: #ffffff - $activeColor: #D4C3C1 - $uiBorderColor: #537B76 - $uiBorderColorDark: #3C5D80 - $uiBorderColorActive: #d4aaa5 - $primaryBackgroundColor: #000000 - $boxBackgroundColor: #344a61 - - // Text Colors - $textColorActive: #000000 - $textPrimaryColor: #ffffff - $textSecondaryColor: #8BE7B5 - $largeNumbersColor: #D47C66 - - // Other Colors - $imageSliderColor: #163239 -} diff --git a/Packages/ohif-themes-common/themes/theme-honeycomb.styl b/Packages/ohif-themes-common/themes/theme-honeycomb.styl deleted file mode 100644 index 97f93a1e4..000000000 --- a/Packages/ohif-themes-common/themes/theme-honeycomb.styl +++ /dev/null @@ -1,35 +0,0 @@ -$ohifThemesCommon['honeycomb'] = { - // Common palette - $uiYellow: #E29E4A - $uiSkyBlue: #6FBDE2 - - // State palette - $uiStateError: #FFCCCC - $uiStateErrorBorder: #993333 - $uiStateErrorText: #661111 - - $uiGrayLight: #516873 - $uiGray: #263340 - $uiGrayDark: #252228 - $uiGrayDarker: #18161A - $uiGrayDarkest: #14191E - - // Interface UI Colors - $defaultColor: #B5B5B5 - $hoverColor: #ffffff - $activeColor: #CDA56B - $uiBorderColor: #623337 - $uiBorderColorDark: #3C5D80 - $uiBorderColorActive: #ce9e59 - $primaryBackgroundColor: #000000 - $boxBackgroundColor: #344a61 - - // Text Colors - $textColorActive: #000000 - $textPrimaryColor: #ffffff - $textSecondaryColor: #FAB797 - $largeNumbersColor: #D47C66 - - // Other Colors - $imageSliderColor: #163239 -} diff --git a/Packages/ohif-themes-common/themes/theme-mint.styl b/Packages/ohif-themes-common/themes/theme-mint.styl deleted file mode 100644 index 712a5db2f..000000000 --- a/Packages/ohif-themes-common/themes/theme-mint.styl +++ /dev/null @@ -1,35 +0,0 @@ -$ohifThemesCommon['mint'] = { - // Common palette - $uiYellow: #E29E4A - $uiSkyBlue: #6FBDE2 - - // State palette - $uiStateError: #FFCCCC - $uiStateErrorBorder: #993333 - $uiStateErrorText: #661111 - - $uiGrayLight: #516873 - $uiGray: #263340 - $uiGrayDark: #1D232A - $uiGrayDarker: #15191E - $uiGrayDarkest: #14191E - - // Interface UI Colors - $defaultColor: #A7E9B3 - $hoverColor: #ffffff - $activeColor: #31B166 - $uiBorderColor: #214529 - $uiBorderColorDark: #3C5D80 - $uiBorderColorActive: #23b15d - $primaryBackgroundColor: #000000 - $boxBackgroundColor: #344a61 - - // Text Colors - $textColorActive: #000000 - $textPrimaryColor: #ffffff - $textSecondaryColor: #A7E9B3 - $largeNumbersColor: #76D27D - - // Other Colors - $imageSliderColor: #163239 -} diff --git a/Packages/ohif-themes-common/themes/theme-overcast.styl b/Packages/ohif-themes-common/themes/theme-overcast.styl deleted file mode 100644 index 8ce5a6272..000000000 --- a/Packages/ohif-themes-common/themes/theme-overcast.styl +++ /dev/null @@ -1,35 +0,0 @@ -$ohifThemesCommon['overcast'] = { - // Common palette - $uiYellow: #E29E4A - $uiSkyBlue: #6FBDE2 - - // State palette - $uiStateError: #FFCCCC - $uiStateErrorBorder: #993333 - $uiStateErrorText: #661111 - - $uiGrayLight: #516873 - $uiGray: #263340 - $uiGrayDark: #252228 - $uiGrayDarker: #15191E - $uiGrayDarkest: #14191E - - // Interface UI Colors - $defaultColor: #9CBECF - $hoverColor: #ffffff - $activeColor: #507D80 - $uiBorderColor: #404040 - $uiBorderColorDark: #3C5D80 - $uiBorderColorActive: #467c80 - $primaryBackgroundColor: #000000 - $boxBackgroundColor: #344a61 - - // Text Colors - $textColorActive: #000000 - $textPrimaryColor: #ffffff - $textSecondaryColor: #73F2FC - $largeNumbersColor: #74F1FA - - // Other Colors - $imageSliderColor: #163239 -} diff --git a/Packages/ohif-themes-common/themes/theme-quartz.styl b/Packages/ohif-themes-common/themes/theme-quartz.styl deleted file mode 100644 index 698f8c06f..000000000 --- a/Packages/ohif-themes-common/themes/theme-quartz.styl +++ /dev/null @@ -1,35 +0,0 @@ -$ohifThemesCommon['quartz'] = { - // Common palette - $uiYellow: #E29E4A - $uiSkyBlue: #6FBDE2 - - // State palette - $uiStateError: #FFCCCC - $uiStateErrorBorder: #993333 - $uiStateErrorText: #661111 - - $uiGrayLight: #516873 - $uiGray: #263340 - $uiGrayDark: #2B2E3F - $uiGrayDarker: #151A1F - $uiGrayDarkest: #14191E - - // Interface UI Colors - $defaultColor: #8EA2A4 - $hoverColor: #ffffff - $activeColor: #7858CE - $uiBorderColor: #885B86 - $uiBorderColorDark: #3C5D80 - $uiBorderColorActive: #6843cc - $primaryBackgroundColor: #000000 - $boxBackgroundColor: #344a61 - - // Text Colors - $textColorActive: #000000 - $textPrimaryColor: #ffffff - $textSecondaryColor: #D7E8FE - $largeNumbersColor: #ABCDF6 - - // Other Colors - $imageSliderColor: #163239 -} diff --git a/Packages/ohif-themes-common/themes/theme-tide.styl b/Packages/ohif-themes-common/themes/theme-tide.styl deleted file mode 100644 index 5bcea048c..000000000 --- a/Packages/ohif-themes-common/themes/theme-tide.styl +++ /dev/null @@ -1,36 +0,0 @@ -$ohifThemesCommon['tide'] = { - // Common palette - $uiYellow: #E29E4A - $uiSkyBlue: #6FBDE2 - - // State palette - $uiStateError: #FFCCCC - $uiStateErrorBorder: #993333 - $uiStateErrorText: #661111 - - $uiGrayLight: #516873 - $uiGray: #263340 - $uiGrayDark: #16202B - $uiGrayDarker: #151A1F - $uiGrayDarkest: #14202A - - // Interface UI Colors - $defaultColor: #9CCEF9 - $hoverColor: #ffffff - $activeColor: #20A5D6 - $uiBorderColor: #44626F - $uiBorderColorDark: #3C5D80 - $uiBorderColorActive: #00a4d9 - $primaryBackgroundColor: #000000 - $boxBackgroundColor: #3E5975 - - // Text Colors - $textColorActive: #000000 - $textPrimaryColor: #ffffff - $textSecondaryColor: #91B9CD - $largeNumbersColor: #6FBDE2 - $textDisabledColor: #878787 - - // Other Colors - $imageSliderColor: #163239 -} diff --git a/Packages/ohif-themes-common/themes/theme-tigerlily.styl b/Packages/ohif-themes-common/themes/theme-tigerlily.styl deleted file mode 100644 index ca1a1086a..000000000 --- a/Packages/ohif-themes-common/themes/theme-tigerlily.styl +++ /dev/null @@ -1,35 +0,0 @@ -$ohifThemesCommon['tigerlily'] = { - // Common palette - $uiYellow: #E29E4A - $uiSkyBlue: #6FBDE2 - - // State palette - $uiStateError: #FFCCCC - $uiStateErrorBorder: #CC6666 - $uiStateErrorText: #661111 - - $uiGrayLight: #516873 - $uiGray: #263340 - $uiGrayDark: #26333F - $uiGrayDarker: #151A1F - $uiGrayDarkest: #14191E - - // Interface UI Colors - $defaultColor: #9ACFFD - $hoverColor: #ffffff - $activeColor: #fa8947 - $uiBorderColor: #875a86 - $uiBorderColorDark: #744b71 - $uiBorderColorActive: #ff8a3d - $primaryBackgroundColor: #000000 - $boxBackgroundColor: #5b3a59 - - // Text Colors - $textColorActive: #000000 - $textPrimaryColor: #ffffff - $textSecondaryColor: #9CCDF8 - $largeNumbersColor: #D47C66 - - // Other Colors - $imageSliderColor: #4b2c3c //#163239 -} diff --git a/Packages/ohif-themes/package.js b/Packages/ohif-themes/package.js deleted file mode 100644 index be52f8bda..000000000 --- a/Packages/ohif-themes/package.js +++ /dev/null @@ -1,16 +0,0 @@ -Package.describe({ - name: 'ohif:themes', - summary: 'OHIF Themes overridable package', - version: '0.0.1' -}); - -Package.onUse(function(api) { - api.versionsFrom('1.7'); - - api.use('stylus'); - - api.use('ohif:themes-common', 'client'); - - // Importable themes related variables - api.addFiles('themes.styl', 'client', { isImport: true }); -}); diff --git a/Packages/ohif-themes/themes.styl b/Packages/ohif-themes/themes.styl deleted file mode 100644 index d259054af..000000000 --- a/Packages/ohif-themes/themes.styl +++ /dev/null @@ -1,4 +0,0 @@ -@require "{ohif:themes-common}/themes" - -$themes = $ohifThemesCommon -$defaultTheme = 'tide' diff --git a/Packages/ohif-viewerbase/.coverage.json b/Packages/ohif-viewerbase/.coverage.json deleted file mode 100644 index 61f434b07..000000000 --- a/Packages/ohif-viewerbase/.coverage.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "include": [ - "server/*.js", - "client/*.js", - "both/*.js" - ], - "exclude": { - "general": [], - "server": [ - "**/node_modules/**/*.json", - "**/.?*/**", - "**/packages/!(local-test_?*.js)", - "**/+([^:]):+([^:])/**", - "**/@(test|tests|spec|specs)/**", - "**/?(*.)test?(s).?*", - "**/?(*.)spec?(s).?*", - "**/?(*.)app-test?(s).?*", - "**/?(*.)app-spec?(s).?*" - ], - "client": [ - "**/client/stylesheets/**", - "**/.npm/package/node_modules/**", - "**/web.browser/packages/**", - "**/.?*/**", - "**/packages/!(local-test_?*.js)", - "**/+([^:]):+([^:])/**", - "**/@(test|tests|spec|specs)/**", - "**/?(*.)test?(s).?*", - "**/?(*.)spec?(s).?*", - "**/?(*.)app-test?(s).?*", - "**/?(*.)app-spec?(s).?*" - ] - }, - "remapFormat": [ - "html", - "cobertura", - "clover", - "json", - "json-summary", - "lcovonly", - "teamcity", - "text", - "text-summary" - ], - "output": "./.coverage" -} \ No newline at end of file diff --git a/Packages/ohif-viewerbase/app.styl b/Packages/ohif-viewerbase/app.styl deleted file mode 100644 index 8b2c9c8cf..000000000 --- a/Packages/ohif-viewerbase/app.styl +++ /dev/null @@ -1,6 +0,0 @@ -@import "{ohif:viewerbase}/styles/imports/animations" -@import "{ohif:viewerbase}/styles/imports/mixins" -@import "{ohif:viewerbase}/styles/imports/spacings" -@import "{ohif:viewerbase}/styles/imports/variables" -@import "{ohif:viewerbase}/styles/imports/theme-icons" -@import "{ohif:viewerbase}/styles/imports/theming" diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Black-latin-ext.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-Black-latin-ext.woff deleted file mode 100644 index 14ec1ac29..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Black-latin-ext.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Black-latin-ext.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-Black-latin-ext.woff2 deleted file mode 100644 index db112b9b4..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Black-latin-ext.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Black-latin.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-Black-latin.woff deleted file mode 100644 index 3e6b63144..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Black-latin.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Black-latin.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-Black-latin.woff2 deleted file mode 100644 index 597552fd3..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Black-latin.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-BlackItalic-latin-ext.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-BlackItalic-latin-ext.woff deleted file mode 100644 index 8fd9362f5..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-BlackItalic-latin-ext.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-BlackItalic-latin-ext.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-BlackItalic-latin-ext.woff2 deleted file mode 100644 index e43487291..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-BlackItalic-latin-ext.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-BlackItalic-latin.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-BlackItalic-latin.woff deleted file mode 100644 index 8197f9342..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-BlackItalic-latin.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-BlackItalic-latin.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-BlackItalic-latin.woff2 deleted file mode 100644 index 6c5a14f2f..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-BlackItalic-latin.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Bold-latin-ext.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-Bold-latin-ext.woff deleted file mode 100644 index 1a790369d..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Bold-latin-ext.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Bold-latin-ext.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-Bold-latin-ext.woff2 deleted file mode 100644 index 14bc6fefe..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Bold-latin-ext.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Bold-latin.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-Bold-latin.woff deleted file mode 100644 index 42a130ccb..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Bold-latin.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Bold-latin.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-Bold-latin.woff2 deleted file mode 100644 index a0b681726..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Bold-latin.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-BoldItalic-latin-ext.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-BoldItalic-latin-ext.woff deleted file mode 100644 index a1582d92c..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-BoldItalic-latin-ext.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-BoldItalic-latin-ext.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-BoldItalic-latin-ext.woff2 deleted file mode 100644 index a1cb65d86..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-BoldItalic-latin-ext.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-BoldItalic-latin.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-BoldItalic-latin.woff deleted file mode 100644 index 073e92049..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-BoldItalic-latin.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-BoldItalic-latin.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-BoldItalic-latin.woff2 deleted file mode 100644 index 988a8fb08..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-BoldItalic-latin.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Italic-latin-ext.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-Italic-latin-ext.woff deleted file mode 100644 index 623f96814..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Italic-latin-ext.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Italic-latin-ext.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-Italic-latin-ext.woff2 deleted file mode 100644 index d00cbf12b..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Italic-latin-ext.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Italic-latin.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-Italic-latin.woff deleted file mode 100644 index 3e3965cf2..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Italic-latin.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Italic-latin.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-Italic-latin.woff2 deleted file mode 100644 index 9417001f5..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Italic-latin.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Light-latin-ext.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-Light-latin-ext.woff deleted file mode 100644 index 1e3a3f3f7..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Light-latin-ext.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Light-latin-ext.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-Light-latin-ext.woff2 deleted file mode 100644 index d41bd8fc7..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Light-latin-ext.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Light-latin.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-Light-latin.woff deleted file mode 100644 index 806617a3a..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Light-latin.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Light-latin.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-Light-latin.woff2 deleted file mode 100644 index d1eb5837a..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Light-latin.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-LightItalic-latin-ext.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-LightItalic-latin-ext.woff deleted file mode 100644 index 209bb9692..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-LightItalic-latin-ext.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-LightItalic-latin-ext.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-LightItalic-latin-ext.woff2 deleted file mode 100644 index 21a0c0123..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-LightItalic-latin-ext.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-LightItalic-latin.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-LightItalic-latin.woff deleted file mode 100644 index 23a171a76..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-LightItalic-latin.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-LightItalic-latin.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-LightItalic-latin.woff2 deleted file mode 100644 index 6684623a9..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-LightItalic-latin.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Medium-latin-ext.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-Medium-latin-ext.woff deleted file mode 100644 index 02ad2bf48..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Medium-latin-ext.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Medium-latin-ext.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-Medium-latin-ext.woff2 deleted file mode 100644 index 482d8c374..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Medium-latin-ext.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Medium-latin.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-Medium-latin.woff deleted file mode 100644 index 438079137..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Medium-latin.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Medium-latin.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-Medium-latin.woff2 deleted file mode 100644 index ede6bf463..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Medium-latin.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-MediumItalic-latin-ext.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-MediumItalic-latin-ext.woff deleted file mode 100644 index 43bfb98b1..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-MediumItalic-latin-ext.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-MediumItalic-latin-ext.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-MediumItalic-latin-ext.woff2 deleted file mode 100644 index 11368b27d..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-MediumItalic-latin-ext.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-MediumItalic-latin.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-MediumItalic-latin.woff deleted file mode 100644 index a6cb6c7c4..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-MediumItalic-latin.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-MediumItalic-latin.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-MediumItalic-latin.woff2 deleted file mode 100644 index 33796e610..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-MediumItalic-latin.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Regular-latin-ext.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-Regular-latin-ext.woff deleted file mode 100644 index cbaabcd82..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Regular-latin-ext.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Regular-latin-ext.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-Regular-latin-ext.woff2 deleted file mode 100644 index 60beafe51..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Regular-latin-ext.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Regular-latin.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-Regular-latin.woff deleted file mode 100644 index 59490056f..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Regular-latin.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Regular-latin.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-Regular-latin.woff2 deleted file mode 100644 index 425224723..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Regular-latin.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Thin-latin-ext.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-Thin-latin-ext.woff deleted file mode 100644 index ef8fb4f06..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Thin-latin-ext.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Thin-latin-ext.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-Thin-latin-ext.woff2 deleted file mode 100644 index 3fbb20cd5..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Thin-latin-ext.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Thin-latin.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-Thin-latin.woff deleted file mode 100644 index 696aebab0..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Thin-latin.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-Thin-latin.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-Thin-latin.woff2 deleted file mode 100644 index d4f6045b9..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-Thin-latin.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-ThinItalic-latin-ext.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-ThinItalic-latin-ext.woff deleted file mode 100644 index d3a17a254..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-ThinItalic-latin-ext.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-ThinItalic-latin-ext.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-ThinItalic-latin-ext.woff2 deleted file mode 100644 index badbee76b..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-ThinItalic-latin-ext.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-ThinItalic-latin.woff b/Packages/ohif-viewerbase/assets/fonts/Roboto-ThinItalic-latin.woff deleted file mode 100644 index 212b51b31..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-ThinItalic-latin.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Roboto-ThinItalic-latin.woff2 b/Packages/ohif-viewerbase/assets/fonts/Roboto-ThinItalic-latin.woff2 deleted file mode 100644 index 1be5d2cbe..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Roboto-ThinItalic-latin.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Sanchez-Regular-latin-ext.woff b/Packages/ohif-viewerbase/assets/fonts/Sanchez-Regular-latin-ext.woff deleted file mode 100644 index 6044e2a5d..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Sanchez-Regular-latin-ext.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Sanchez-Regular-latin-ext.woff2 b/Packages/ohif-viewerbase/assets/fonts/Sanchez-Regular-latin-ext.woff2 deleted file mode 100644 index 1c46d15ec..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Sanchez-Regular-latin-ext.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Sanchez-Regular-latin.woff b/Packages/ohif-viewerbase/assets/fonts/Sanchez-Regular-latin.woff deleted file mode 100644 index afd08ed23..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Sanchez-Regular-latin.woff and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/fonts/Sanchez-Regular-latin.woff2 b/Packages/ohif-viewerbase/assets/fonts/Sanchez-Regular-latin.woff2 deleted file mode 100644 index c580134e3..000000000 Binary files a/Packages/ohif-viewerbase/assets/fonts/Sanchez-Regular-latin.woff2 and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/icons.svg b/Packages/ohif-viewerbase/assets/icons.svg deleted file mode 100644 index b15421f67..000000000 --- a/Packages/ohif-viewerbase/assets/icons.svg +++ /dev/null @@ -1,237 +0,0 @@ - - - HUD - - - - - - - - - Additional Measurements - - - - - - Lesions - - - - - - Settings - - - - Complete - - - - - - Locked - - - - Studies - - - - - - Window / Level - - - - - - - Link - - - - - - - Non-Target Measurement - - - - - - - - Target Measurement - - - - - - - Target CR Measurement - - CR - - - - - Target UN Measurement - - UN - - - - - Temporary Measurement - - - - - - - - More - - - - - - Pan - - - - - - - - - - - Zoom - - - - - - - Invert - - - - Stack Scroll - - - - Elliptical ROI - - - - Magnify - - - - Reset - - - - Rotate - - - - Rotate Right - - - - Cineplay Toggle - - - - Vertical - - - - Horizontal - - - - Trial Information - - - - - - Expand - - - - Add - - - - Close - - - - - - Comment - - - - - Capture Screen - - - - - - - - Warning - - - - - - - Viewport Link - - - - - - - Theme - - - - Log - - - - Server - - - - Study List - - - - Logout - - - - Password - - - diff --git a/Packages/ohif-viewerbase/assets/theme-icons.png b/Packages/ohif-viewerbase/assets/theme-icons.png deleted file mode 100644 index 098f7ed52..000000000 Binary files a/Packages/ohif-viewerbase/assets/theme-icons.png and /dev/null differ diff --git a/Packages/ohif-viewerbase/assets/user-menu-icons.svg b/Packages/ohif-viewerbase/assets/user-menu-icons.svg deleted file mode 100644 index 94ab5818c..000000000 --- a/Packages/ohif-viewerbase/assets/user-menu-icons.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - Theme - - - - Log - - - - Server - - - - Study List - - - - Logout - - - - Password - - - \ No newline at end of file diff --git a/Packages/ohif-viewerbase/client/collections.js b/Packages/ohif-viewerbase/client/collections.js deleted file mode 100644 index 57dfe6e5e..000000000 --- a/Packages/ohif-viewerbase/client/collections.js +++ /dev/null @@ -1,16 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { OHIF } from '../namespace'; - -const { TypeSafeCollection } = OHIF.classes; - -// Create main Studies collection which will be used across the entire viewer... -const Studies = new TypeSafeCollection(); - -// Make it publicly available on "OHIF.viewer" namespace... -OHIF.viewer.Studies = Studies; - -// Create main StudyMetadataList collection which will be used across the entire viewer... -const StudyMetadataList = new TypeSafeCollection(); - -// Make it publicly available on "OHIF.viewer" namespace... -OHIF.viewer.StudyMetadataList = StudyMetadataList; diff --git a/Packages/ohif-viewerbase/client/components/basic/aboutModal/aboutModal.html b/Packages/ohif-viewerbase/client/components/basic/aboutModal/aboutModal.html deleted file mode 100644 index c528daf30..000000000 --- a/Packages/ohif-viewerbase/client/components/basic/aboutModal/aboutModal.html +++ /dev/null @@ -1,69 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/basic/aboutModal/aboutModal.js b/Packages/ohif-viewerbase/client/components/basic/aboutModal/aboutModal.js deleted file mode 100644 index 83b66dd03..000000000 --- a/Packages/ohif-viewerbase/client/components/basic/aboutModal/aboutModal.js +++ /dev/null @@ -1,15 +0,0 @@ -import { OHIF } from 'ohif-core'; - -Template.aboutModal.helpers({ - githubUrl() { - return 'https://github.com/OHIF/Viewers'; - }, - - gitSHA() { - return OHIF.info.sha; - }, - - gitVersion() { - return OHIF.info.version; - } -}); diff --git a/Packages/ohif-viewerbase/client/components/basic/aboutModal/aboutModal.styl b/Packages/ohif-viewerbase/client/components/basic/aboutModal/aboutModal.styl deleted file mode 100644 index 30cb0f9c1..000000000 --- a/Packages/ohif-viewerbase/client/components/basic/aboutModal/aboutModal.styl +++ /dev/null @@ -1,24 +0,0 @@ -@import "{ohif:viewerbase}/app" - -#aboutModal - .logo - .logoText - display: inline-block - font-family: $logoFontFamily - font-weight: $logoFontWeight - theme('color', '$textPrimaryColor') - font-size: 20pt - line-height: 45px - text-decoration: none - - .logoImage - width: 45px - height: 45px - margin: 0 1rem - - .forkOnGithub - position: absolute - top: 0 - right: 0 - border: 0 - cursor: pointer diff --git a/Packages/ohif-viewerbase/client/components/basic/errorText/errorText.html b/Packages/ohif-viewerbase/client/components/basic/errorText/errorText.html deleted file mode 100644 index 449ef9ce1..000000000 --- a/Packages/ohif-viewerbase/client/components/basic/errorText/errorText.html +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/Packages/ohif-viewerbase/client/components/basic/errorText/errorText.styl b/Packages/ohif-viewerbase/client/components/basic/errorText/errorText.styl deleted file mode 100644 index afd22a155..000000000 --- a/Packages/ohif-viewerbase/client/components/basic/errorText/errorText.styl +++ /dev/null @@ -1,5 +0,0 @@ -.errorTextDiv - font-weight: 300 - padding: 30px - text-align: center - color: #ffffff diff --git a/Packages/ohif-viewerbase/client/components/basic/layout/layout.styl b/Packages/ohif-viewerbase/client/components/basic/layout/layout.styl deleted file mode 100644 index 0726cdd00..000000000 --- a/Packages/ohif-viewerbase/client/components/basic/layout/layout.styl +++ /dev/null @@ -1,269 +0,0 @@ -/* - Fonts files: - - Used fonts: - - Sanchez and Roboto from Google Font - - woff2 and woff (to support IE11) files - - latin and latin extended subsets -*/ - -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Thin-latin-ext.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Thin-latin-ext.woff') format('woff'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Thin-latin.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Thin-latin.woff') format('woff'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Light-latin-ext.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Light-latin-ext.woff') format('woff'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Light-latin.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Light-latin.woff') format('woff'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Regular-latin-ext.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Regular-latin-ext.woff') format('woff'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Regular-latin.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Regular-latin.woff') format('woff'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Medium-latin-ext.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Medium-latin-ext.woff') format('woff');; - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Medium-latin.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Medium-latin.woff') format('woff'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Bold-latin-ext.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Bold-latin-ext.woff') format('woff'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Bold-latin.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Bold-latin.woff') format('woff'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Black-latin-ext.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Black-latin-ext.woff') format('woff'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Black-latin.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Black-latin.woff') format('woff'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 100; - src: local('Roboto Thin Italic'), local('Roboto-ThinItalic'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-ThinItalic-latin-ext.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-ThinItalic-latin-ext.woff') format('woff'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 100; - src: local('Roboto Thin Italic'), local('Roboto-ThinItalic'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-ThinItalic-latin.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-ThinItalic-latin.woff') format('woff'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 300; - src: local('Roboto Light Italic'), local('Roboto-LightItalic'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-LightItalic-latin-ext.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-LightItalic-latin-ext.woff') format('woff'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 300; - src: local('Roboto Light Italic'), local('Roboto-LightItalic'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-LightItalic-latin.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-LightItalic-latin.woff') format('woff'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 400; - src: local('Roboto Italic'), local('Roboto-Italic'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Italic-latin-ext.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Italic-latin-ext.woff') format('woff'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 400; - src: local('Roboto Italic'), local('Roboto-Italic'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Italic-latin.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-Italic-latin.woff') format('woff'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 500; - src: local('Roboto Medium Italic'), local('Roboto-MediumItalic'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-MediumItalic-latin-ext.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-MediumItalic-latin-ext.woff') format('woff'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 500; - src: local('Roboto Medium Italic'), local('Roboto-MediumItalic'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-MediumItalic-latin.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-MediumItalic-latin.woff') format('woff'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 700; - src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-BoldItalic-latin-ext.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-BoldItalic-latin-ext.woff') format('woff'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 700; - src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-BoldItalic-latin.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-BoldItalic-latin.woff') format('woff'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 900; - src: local('Roboto Black Italic'), local('Roboto-BlackItalic'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-BlackItalic-latin-ext.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-BlackItalic-latin-ext.woff') format('woff'); - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 900; - src: local('Roboto Black Italic'), local('Roboto-BlackItalic'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-BlackItalic-latin.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Roboto-BlackItalic-latin.woff') format('woff'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} - -/* latin-ext */ -@font-face { - font-family: 'Sanchez'; - font-style: normal; - font-weight: 400; - src: local('Sanchez'), local('Sanchez-Regular'), - url('/packages/ohif_viewerbase/assets/fonts/Sanchez-Regular-latin-ext.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Sanchez-Regular-latin-ext.woff') format('woff') - unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Sanchez'; - font-style: normal; - font-weight: 400; - src: local('Sanchez'), local('Sanchez-Regular'), - url('/packages/ohif_viewerbase/assets/fonts/Sanchez-Regular-latin.woff2') format('woff2'), - url('/packages/ohif_viewerbase/assets/fonts/Sanchez-Regular-latin.woff') format('woff') - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; -} \ No newline at end of file diff --git a/Packages/ohif-viewerbase/client/components/basic/loadingText/loadingText.html b/Packages/ohif-viewerbase/client/components/basic/loadingText/loadingText.html deleted file mode 100644 index 246376ed8..000000000 --- a/Packages/ohif-viewerbase/client/components/basic/loadingText/loadingText.html +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/Packages/ohif-viewerbase/client/components/basic/loadingText/loadingText.styl b/Packages/ohif-viewerbase/client/components/basic/loadingText/loadingText.styl deleted file mode 100644 index 62b0c5f89..000000000 --- a/Packages/ohif-viewerbase/client/components/basic/loadingText/loadingText.styl +++ /dev/null @@ -1,4 +0,0 @@ -.loadingTextDiv - font-weight: 300 - padding: 30px - text-align: center diff --git a/Packages/ohif-viewerbase/client/components/basic/removableBackdrop/removableBackdrop.html b/Packages/ohif-viewerbase/client/components/basic/removableBackdrop/removableBackdrop.html deleted file mode 100644 index 4a02a21f0..000000000 --- a/Packages/ohif-viewerbase/client/components/basic/removableBackdrop/removableBackdrop.html +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/basic/removableBackdrop/removableBackdrop.styl b/Packages/ohif-viewerbase/client/components/basic/removableBackdrop/removableBackdrop.styl deleted file mode 100644 index 06a5d3a7b..000000000 --- a/Packages/ohif-viewerbase/client/components/basic/removableBackdrop/removableBackdrop.styl +++ /dev/null @@ -1,9 +0,0 @@ -.removableBackdrop - position: fixed - top: 0 - right: 0 - bottom: 0 - left: 0 - z-index: 50 - background-color: transparent - \ No newline at end of file diff --git a/Packages/ohif-viewerbase/client/components/browser/index.js b/Packages/ohif-viewerbase/client/components/browser/index.js deleted file mode 100644 index 2a30567a8..000000000 --- a/Packages/ohif-viewerbase/client/components/browser/index.js +++ /dev/null @@ -1,11 +0,0 @@ -import './item.html'; -import './item.js'; -import './list.html'; -import './list.js'; -import './list.styl'; -import './quickSwitch.html'; -import './quickSwitch.js'; -import './series.html'; -import './series.js'; -import './sidebar.html'; -import './sidebar.js'; diff --git a/Packages/ohif-viewerbase/client/components/browser/item.html b/Packages/ohif-viewerbase/client/components/browser/item.html deleted file mode 100644 index daf45dd69..000000000 --- a/Packages/ohif-viewerbase/client/components/browser/item.html +++ /dev/null @@ -1,29 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/browser/item.js b/Packages/ohif-viewerbase/client/components/browser/item.js deleted file mode 100644 index 1db7d6d0b..000000000 --- a/Packages/ohif-viewerbase/client/components/browser/item.js +++ /dev/null @@ -1,140 +0,0 @@ -import { Template } from 'meteor/templating'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Tracker } from 'meteor/tracker'; -import $ from 'jquery'; -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; - -Template.studyBrowserItem.onCreated(() => { - const instance = Template.instance(); - const { studyInformation } = instance.data; - const { studyInstanceUid } = studyInformation; - - instance.loaded = new ReactiveVar(false); - instance.loading = new ReactiveVar(false); - - instance.studyData = new ReactiveVar(studyInformation); - - // Try to load the study data from an external source if available - if (OHIF.studies.getStudyBoxData) { - OHIF.studies.getStudyBoxData(studyInformation).then(studyData => { - if (!instance.loaded.get()) { - instance.studyData.set(studyData); - } - }); - } - - instance.studyMetadata = null; - instance.getStudyMetadata = () => { - instance.loading.dep.depend(); - - if (!instance.studyMetadata) { - let study = OHIF.viewer.Studies.findBy({ studyInstanceUid }) || null; - if (study && !(study instanceof OHIF.viewerbase.metadata.StudyMetadata)) { - study = new OHIF.metadata.StudyMetadata(study, study.studyInstanceUid); - } - - instance.studyMetadata = study; - } - - return instance.studyMetadata; - }; - - instance.autorun(() => { - const instance = Template.instance(); - - OHIF.studies.loadingDict.get(studyInstanceUid); - const studyMetadata = instance.getStudyMetadata(); - if (studyMetadata) { - const firstInstance = studyMetadata.getFirstInstance(); - instance.studyData.set({ - studyDate: firstInstance.getRawValue('x00080020') || '', - studyDescription: firstInstance.getRawValue('x00081030') || '', - modalities: firstInstance.getRawValue('x00080060') || '', - }); - - instance.loaded.set(true); - instance.loading.set(false); - } - }); -}); - -Template.studyBrowserItem.events({ - 'click .study-item'(event, instance) { - if (instance.loading.get()) return; - - const { studyInformation } = instance.data; - - // Skip if study is not available (set to false explicitly) - if (studyInformation.available === false) { - return; - } - - const element = event.currentTarget.parentElement; - const $element = $(element); - const triggerClick = () => { - const cloneEvent = _.clone(event); - delete cloneEvent.type; - cloneEvent.currentTarget = cloneEvent.target = element; - const newEvent = $.Event('ohif.studies.study.click', cloneEvent); - $element.trigger(newEvent, studyInformation); - }; - - if (instance.loaded.get()) { - triggerClick(); - } else { - instance.loading.set(true); - OHIF.studies.loadStudy(studyInformation.studyInstanceUid).then(() => { - instance.loaded.set(true); - instance.loading.set(false); - $element.trigger('ohif.studies.study.load', studyInformation); - Tracker.afterFlush(triggerClick); - }); - } - } -}); - -Template.studyBrowserItem.helpers({ - isLoaded() { - return Template.instance().loaded.get(); - }, - - hasDescriptionAndDate() { - const studyData = Template.instance().studyData.get(); - return studyData.studyDescription && studyData.studyDate; - }, - - isLoading() { - return Template.instance().loading.get(); - }, - - modalitiesText(modalities) { - const text = modalities || 'UN'; - return _.uniq(text.split(/[^A-Za-z]+/g)).join(' '); - }, - - modalityStyle(modalities) { - // Responsively styles the Modality Acronyms for studies with more than one modality - const numModalities = modalities ? modalities.split(/\s/g).length : 1; - - if (numModalities === 1) { - // If we have only one modality, it should take up the whole div - return 'font-size:1em'; - } else if (numModalities === 2) { - // If we have two modalities, let them sit side-by-side - return 'font-size:0.7em'; - } else { - // If we have more than two modalities, change the line height to display multiple rows - return 'font-size:0.7em;line-height:1.4em;padding-top:0.5em'; - } - }, - - studyAvailable() { - const { studyInformation } = Template.instance().data; - if (!studyInformation) { - return; - } - - return studyInformation.available; - } -}); diff --git a/Packages/ohif-viewerbase/client/components/browser/list.html b/Packages/ohif-viewerbase/client/components/browser/list.html deleted file mode 100644 index d17bfaa44..000000000 --- a/Packages/ohif-viewerbase/client/components/browser/list.html +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/browser/list.js b/Packages/ohif-viewerbase/client/components/browser/list.js deleted file mode 100644 index b6537598d..000000000 --- a/Packages/ohif-viewerbase/client/components/browser/list.js +++ /dev/null @@ -1,26 +0,0 @@ -import { Template } from 'meteor/templating'; - -Template.studyBrowserList.onCreated(() => { - const instance = Template.instance(); - - if (instance.data.studiesData) { - instance.studiesData = instance.data.studiesData; - } -}); - -Template.studyBrowserList.helpers({ - getStudiesInformation() { - const instance = Template.instance(); - - let studiesInformation; - if (instance.studiesData) { - studiesInformation = instance.studiesData.get() || []; - } else { - studiesInformation = instance.data.studiesInformation || []; - } - - const result = new Map(); - studiesInformation.forEach(item => result.set(item.studyInstanceUid, item)); - return Array.from(result.values()); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/browser/list.styl b/Packages/ohif-viewerbase/client/components/browser/list.styl deleted file mode 100644 index 634bc90fa..000000000 --- a/Packages/ohif-viewerbase/client/components/browser/list.styl +++ /dev/null @@ -1,149 +0,0 @@ -@require '{ohif:viewerbase}/app' - -$boxBorderColor = transparent -$boxHoverBackgroundColor = #14191E -$boxHoverBorderColor = #2d4660 -$boxActiveBorderColor = #131D29 -$boxWidth = 50px -$borderThickness = 2px -$boxBorderRadius = 8px -$nestingMargin = 6px -$spacerX = 7px -$spacerY = 12px - -.study-browser-item - position: relative - // required transformation to make inner fixed elements relative to this one - transform(scale(1)) - - .loadingTextDiv - theme('color', '$textSecondaryColor') - background-color: $boxHoverBackgroundColor - border-radius: 12px - font-size: 32px - opacity: 0 - margin: 0 - padding: 25px - position: absolute - pointer-events: none - z-index: 100 - - &.loading - .loadingTextDiv - height: 100% - left: 0 - opacity: 0.75 - top: 0 - width: 100% - - .study-item-box - opacity: 0.2 - - &.active - .study-item-box - .study-modality - theme('color', '$primaryBackgroundColor') - & - &:before - &:after - theme('background-color', '$activeColor') - border-color: $boxActiveBorderColor - - &:not(.active) .study-browser-series - max-height: 0 !important - - .study-series-container - opacity: 0 - transform(translateY(-100%)) - - .study-browser-series - overflow: hidden - transition(max-height 0.3s ease) - - .study-series-container - opacity: 1 - transition(opacity 0.3s ease\, transform 0.3s ease) - transform(translateY(0)) - transform-origin(50% 0%) - -.study-item-box - border: 1px solid $boxBorderColor - border-radius: 12px - cursor: pointer - padding: $spacerY $spacerX ($spacerY - 1) - position: relative - transition($sidebarTransition) - z-index: 0 - - &:hover - background-color: $boxHoverBackgroundColor - border-color: $boxHoverBorderColor - - &.additional - theme('color', '$textSecondaryColor') - - &.additional - theme('color', '$textPrimaryColor') - font-size: 16px - font-weight: normal - height: 91px - line-height: 91px - padding: 0 - text-align: center - - .study-text - font-size: 13px - left: ($spacerX * 3) + $boxWidth + ($nestingMargin * 3) - line-height: 14px - position: absolute - right: $spacerX - top: $spacerY - .study-date - margin-top: 8px - theme('color', '$textSecondaryColor') - .study-description - margin-top: 8px - theme('color', '$textPrimaryColor') - .study-availability - margin-top: 24px - theme('color', '$textPrimaryColor') - - .study-modality - theme('color', '$textSecondaryColor') - font-size: 20px - line-height: $boxWidth - margin-left: $nestingMargin * 2 - margin-top: $nestingMargin * 2 - position: relative - - .study-modality-text - height: 100% - overflow: hidden - text-align: center - text-transform: uppercase - - & - &:before - &:after - theme('border', '%s solid $primaryBackgroundColor' % $borderThickness) - theme('background-color', '$boxBackgroundColor') - border-radius: $boxBorderRadius - height: $boxWidth + ($borderThickness * 2) - transition($sidebarTransition) - width: $boxWidth + ($borderThickness * 2) - - &:before - &:after - display: block - content: '' - position: absolute - - &:before - top: -($borderThickness + $nestingMargin) - left: -($borderThickness + $nestingMargin) - z-index: -1 - - &:after - top: -($borderThickness + ($nestingMargin * 2)) - left: -($borderThickness + ($nestingMargin * 2)) - z-index: -2 diff --git a/Packages/ohif-viewerbase/client/components/browser/quickSwitch.html b/Packages/ohif-viewerbase/client/components/browser/quickSwitch.html deleted file mode 100644 index 5491cae86..000000000 --- a/Packages/ohif-viewerbase/client/components/browser/quickSwitch.html +++ /dev/null @@ -1,3 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/browser/quickSwitch.js b/Packages/ohif-viewerbase/client/components/browser/quickSwitch.js deleted file mode 100644 index 391dc8350..000000000 --- a/Packages/ohif-viewerbase/client/components/browser/quickSwitch.js +++ /dev/null @@ -1,43 +0,0 @@ -import { Template } from 'meteor/templating'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Tracker } from 'meteor/tracker'; -import { OHIF } from 'ohif-core'; - -Template.studyBrowserQuickSwitch.onCreated(() => { - const instance = Template.instance(); - instance.studiesInformation = new ReactiveVar(); - const filter = { studyInstanceUid: OHIF.viewer.data.studyInstanceUids }; - OHIF.studies.searchStudies(filter).then(studies => instance.studiesInformation.set(studies)); -}); - -Template.studyBrowserQuickSwitch.onRendered(() => { - const instance = Template.instance(); - instance.autorun(() => { - instance.studiesInformation.dep.depend(); - const currentStudy = instance.data.currentStudy.get(); - const studyInstanceUid = (currentStudy && currentStudy.studyInstanceUid) || ''; - Tracker.afterFlush(() => { - const $studyBrowserItems = instance.$('.study-browser-item'); - $studyBrowserItems.removeClass('active'); - $studyBrowserItems.filter(`[data-uid="${studyInstanceUid}"]`).addClass('active'); - }); - }); -}); - -Template.studyBrowserQuickSwitch.events({ - 'ohif.studies.study.click'(event, instance, studyInformation) { - const { studyInstanceUid } = studyInformation; - const study = OHIF.viewer.Studies.findBy({ studyInstanceUid }); - instance.data.currentStudy.set(study); - const $studySwitch = $(event.currentTarget).closest('.study-switch'); - $studySwitch.siblings('.series-switch').trigger('rescale'); - } -}); - -Template.studyBrowserQuickSwitch.helpers({ - studyBrowserData() { - const instance = Template.instance(); - const studiesInformation = instance.studiesInformation.get(); - return { studiesInformation }; - } -}); diff --git a/Packages/ohif-viewerbase/client/components/browser/series.html b/Packages/ohif-viewerbase/client/components/browser/series.html deleted file mode 100644 index b685acb52..000000000 --- a/Packages/ohif-viewerbase/client/components/browser/series.html +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/browser/series.js b/Packages/ohif-viewerbase/client/components/browser/series.js deleted file mode 100644 index f58709be2..000000000 --- a/Packages/ohif-viewerbase/client/components/browser/series.js +++ /dev/null @@ -1,65 +0,0 @@ -import { Template } from 'meteor/templating'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Tracker } from 'meteor/tracker'; -import { OHIF } from 'ohif-core'; - -Template.studyBrowserSeries.onCreated(() => { - const instance = Template.instance(); - const { studyInformation, studyMetadata } = instance.data; - const studyInstanceUid = (studyMetadata && studyMetadata.studyInstanceUid) || (studyInformation && studyInformation.studyInstanceUid); - - instance.thumbnails = new ReactiveVar([]); - - // Get the study metadata and update the study thumbnails - instance.autorun(() => { - let metadata = studyMetadata; - - // Check for reactivity - if (metadata instanceof ReactiveVar) { - metadata = metadata.get(); - } - - // Retrieve the study metadata - if (!metadata) { - metadata = OHIF.viewer.Studies.findBy({ studyInstanceUid }); - } - - // Stop here if there's no study metadata - if (!metadata) return; - - // Get the study display sets - let displaySets = metadata.displaySets; - if (!displaySets.length) { - displaySets = OHIF.viewerbase.sortingManager.getDisplaySets(metadata); - metadata.displaySets = displaySets; - metadata.setDisplaySets(displaySets); - - metadata.forEachDisplaySet(displaySet => { - OHIF.viewerbase.stackManager.makeAndAddStack(metadata, displaySet); - }); - } - - // Defines the resulting thumbnails list - const thumbnails = []; - displaySets.forEach((stack, thumbnailIndex) => { - thumbnails.push({ - thumbnailIndex, - stack - }); - }); - - instance.thumbnails.set(thumbnails); - }); -}); - -Template.studyBrowserSeries.onRendered(() => { - const instance = Template.instance(); - - // Run this computation every time the thumbnails are changed - instance.autorun(() => { - instance.thumbnails.get(); - Tracker.afterFlush(() => { - instance.$('.study-browser-series').adjustMax('height'); - }); - }); -}); diff --git a/Packages/ohif-viewerbase/client/components/browser/sidebar.html b/Packages/ohif-viewerbase/client/components/browser/sidebar.html deleted file mode 100644 index cd66b9caa..000000000 --- a/Packages/ohif-viewerbase/client/components/browser/sidebar.html +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/browser/sidebar.js b/Packages/ohif-viewerbase/client/components/browser/sidebar.js deleted file mode 100644 index 713471dd8..000000000 --- a/Packages/ohif-viewerbase/client/components/browser/sidebar.js +++ /dev/null @@ -1,13 +0,0 @@ -import { Template } from 'meteor/templating'; - -Template.studyBrowserSidebar.events({ - 'ohif.studies.study.click'(event, instance) { - const $element = $(event.currentTarget); - - // Remove active class from sibling studies - $element.siblings().removeClass('active'); - - // Toggle the active class on clicked study - $element.toggleClass('active'); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/index.js b/Packages/ohif-viewerbase/client/components/index.js deleted file mode 100644 index 97080a535..000000000 --- a/Packages/ohif-viewerbase/client/components/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import viewer from './viewer/index.js'; - -const components = { - viewer -}; - -export default components; - diff --git a/Packages/ohif-viewerbase/client/components/measurements/association/associationModal/associationModal.html b/Packages/ohif-viewerbase/client/components/measurements/association/associationModal/associationModal.html deleted file mode 100644 index 89158e583..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/association/associationModal/associationModal.html +++ /dev/null @@ -1,10 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/association/associationModal/associationModal.js b/Packages/ohif-viewerbase/client/components/measurements/association/associationModal/associationModal.js deleted file mode 100644 index 4e57ee0ee..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/association/associationModal/associationModal.js +++ /dev/null @@ -1,146 +0,0 @@ -import { Template } from 'meteor/templating'; -import { Blaze } from 'meteor/blaze'; -import moment from 'moment'; -import _ from 'underscore'; - -import { OHIF } from 'ohif-core'; - - -Template.dialogStudyAssociation.onCreated(() => { - const instance = Template.instance(); - - instance.data.confirmCallback = formData => { - OHIF.log.info('Saving associations'); - const Timepoints = OHIF.studylist.timepointApi.timepoints; - - // Find the rows of the study association table - const $tableRows = instance.$('#studyAssociationTable table tbody tr'); - - // Create an empty object to group studies into - const studies = {}; - - // Loop through each row to parse the data - $tableRows.each(function() { - // Get a selector for this row - const $row = $(this); - - // Check the includeStudy checkbox to see if we should parse this row - const includeStudy = $row.find('input.includeStudy[type="checkbox"]').eq(0).prop('checked'); - if (!includeStudy) { - return; - } - - // Find the selected timepoint option for this study - const $timepointInput = $row.find('input.timepointOption[type="radio"]:checked'); - - // Find the related label and trim it down to actual label (TODO: do this another way) - const timepointType = $timepointInput.val(); - - // Get the study metaData by checking the row with the template engine Blaze - const data = Blaze.getData(this); - - // Concatenate the study data to an array, depending on whether is was marked as baseline - // or follow-up - if (!studies.hasOwnProperty(timepointType)) { - studies[timepointType] = []; - } - - studies[timepointType].push(data); - }); - - const studiesKeys = Object.keys(studies); - - // TODO: REMOVE - Temporary for RSNA - const hasBaseline = _.contains(studiesKeys, 'baseline'); - if (hasBaseline) { - const patientId = studies[studiesKeys[0]][0].patientId; - Timepoints.remove({ patientId }); - } - - studiesKeys.forEach(timepointType => { - // Get the studies associated with this timepoint - const relatedStudies = studies[timepointType]; - - // Create an array of all the studyInstanceUids for storage in the Timepoint - const studyInstanceUids = relatedStudies.map(function(study) { - return study.studyInstanceUid; - }); - - // Create an array of all the studyDates for storage in the Timepoint - let studyDates = relatedStudies.map(study => moment(study.studyDate).toDate()); - - // Sort the study dates, so we can get a range for these values - studyDates = studyDates.sort(); - - // HipaaEventType to log changes in collections - let hipaaEventType; - let hipaaEvent; - - // Check if these studies are already associated with an existing Timepoint - let existingTimepoint; - if (timepointType === 'baseline') { - // If we're trying to associate them to the Baseline, we don't need to - // check if the studyInstanceUids are already associated with anything else - existingTimepoint = Timepoints.findOne({ - patientId: relatedStudies[0].patientId, - timepointType: 'baseline' - }); - } else { - // If we're trying to associate them to a Follow-up, we should check if any - // of them are already part of a Follow-up (e.g. Follow-up 1), so that - // the rest will also be associated with Follow-up 1. - existingTimepoint = Timepoints.findOne({ - patientId: relatedStudies[0].patientId, - studyInstanceUids: { - $in: studyInstanceUids - } - }); - } - - let timepointId; - if (existingTimepoint) { - // If these studies are already associated with an existing Timepoint, - // and the desired timepoint type is the same (e.g. Follow-up), update - // this Timepoint instead of creating a new one - Timepoints.update(existingTimepoint._id, { - $set: { - studyInstanceUids - } - }); - timepointId = existingTimepoint.timepointId; - hipaaEventType = 'modify'; - } else { - // Create a new timepoint to represent the (baseline or follow-up) studies - let timepoint = { - timepointType: timepointType, - timepointId: OHIF.utils.guid(), - studyInstanceUids: studyInstanceUids, - patientId: relatedStudies[0].patientId, - earliestDate: studyDates[0], - latestDate: studyDates[studyDates.length - 1], - isLocked: false - }; - - // Insert this timepoint into the Timepoints Collection - Timepoints.insert(timepoint); - timepointId = timepoint.timepointId; - hipaaEventType = 'create'; - } - - // Log - hipaaEvent = { - eventType: hipaaEventType, - userId: OHIF.user.getUserId(), - userName: OHIF.user.getName(), - collectionName: 'Timepoints', - recordId: timepointId, - patientId: relatedStudies[0].patientId, - patientName: relatedStudies[0].patientName - }; - }); - - OHIF.studylist.timepointApi.storeTimepoints(); - - return formData; - }; -}); diff --git a/Packages/ohif-viewerbase/client/components/measurements/association/associationModal/studyAssociationTable/studyAssociationTable.html b/Packages/ohif-viewerbase/client/components/measurements/association/associationModal/studyAssociationTable/studyAssociationTable.html deleted file mode 100644 index 40bc7e05e..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/association/associationModal/studyAssociationTable/studyAssociationTable.html +++ /dev/null @@ -1,67 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/association/associationModal/studyAssociationTable/studyAssociationTable.js b/Packages/ohif-viewerbase/client/components/measurements/association/associationModal/studyAssociationTable/studyAssociationTable.js deleted file mode 100644 index 2d3161a4f..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/association/associationModal/studyAssociationTable/studyAssociationTable.js +++ /dev/null @@ -1,142 +0,0 @@ -import { Template } from 'meteor/templating'; -import moment from 'moment'; -import { OHIF } from 'ohif-core'; - -/** - * Finds related studies within defined time window of =/- 14 days of selected studies - * @param selectedStudies - * @param range Object - */ -function getDateRange(selectedStudies, range) { - if (range === undefined) { - range = { - days: 14 - }; - } - - if (!selectedStudies.length) { - return; - } - - const earliestStudy = selectedStudies[0]; - const latestStudy = selectedStudies[selectedStudies.length - 1]; - - const earliestDate = moment(earliestStudy.studyDate, 'YYYYMMDD'); - earliestDate.subtract(range); - - const latestDate = moment(latestStudy.studyDate, 'YYYYMMDD'); - latestDate.add(range); - - return { - earliestDate: earliestDate, - latestDate: latestDate - }; -} - -/** - * Selects all studies related to the currently input studies, - * based on various criteria. Returns the entire array of related studies. - * - * (at the moment, this is only the date range +/- 14 days, with a matching patientId) - * - * @param selectedStudies A user-selected list of studies - * @returns {*} The entire array of related studies - */ -function autoSelectStudies(selectedStudies) { - if (!selectedStudies.length) { - return; - } - - const range = getDateRange(selectedStudies); - - // Fetch autoselected studies based on the date range - // Note that we used MongoDB's fetch here so we have a mutable array, - // rather than a Cursor - const autoselected = OHIF.studylist.collections.Studies.find({ - studyDate: { - $gte: range.earliestDate.format('YYYYMMDD'), - $lte: range.latestDate.format('YYYYMMDD') - } - }, { - sort: { - studyDate: 1 - } - }).fetch(); - - // Make an array of studyInstanceUids in selectedStudies - const studyInstanceUids = selectedStudies.map(selectedStudy => selectedStudy.studyInstanceUid); - - autoselected.forEach(study => { - const exists = studyInstanceUids.indexOf(study.studyInstanceUid); - if (exists > -1) { - study.autoselected = false; - return; - } - - study.autoselected = true; - }); - - return autoselected; -} - -Template.studyAssociationTable.helpers({ - /** - * This helpers includes the user-selected and autoselected studies - * to be associated. - * - * @returns {Array.} - */ - relevantStudies() { - const selectedStudies = OHIF.studylist.getSelectedStudies(); - - return autoSelectStudies(selectedStudies); - }, - /** - * This helper returns the list of Timepoint types the user can set for this study - * - * @returns {Array.} - */ - timepointOptions() { - return [{ - value: 'baseline', - name: 'Baseline', - checked: true - }, { - value: 'followup', - name: 'Follow-up', - checked: false - }]; - }, - earliestDate() { - const selectedStudies = OHIF.studylist.getSelectedStudies(); - - const range = getDateRange(selectedStudies); - if (range) { - return range.earliestDate; - } - }, - latestDate() { - const selectedStudies = OHIF.studylist.getSelectedStudies(); - - const range = getDateRange(selectedStudies); - if (range) { - return range.latestDate; - } - } -}); - -Template.studyAssociationTable.events({ - 'change input.includeStudy'(event, instance) { - const checkbox = event.currentTarget; - const studyRow = $(checkbox).closest('tr'); - const studyDataCells = studyRow.find('td.studyDataCell'); - - if (checkbox.checked === true) { - studyRow.removeClass('disabled'); - studyDataCells.find('input').attr('disabled', false); - } else { - studyRow.addClass('disabled'); - studyDataCells.find('input').attr('disabled', true); - } - } -}); diff --git a/Packages/ohif-viewerbase/client/components/measurements/association/associationModal/studyAssociationTable/studyAssociationTable.styl b/Packages/ohif-viewerbase/client/components/measurements/association/associationModal/studyAssociationTable/studyAssociationTable.styl deleted file mode 100644 index bd6b6963e..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/association/associationModal/studyAssociationTable/studyAssociationTable.styl +++ /dev/null @@ -1,188 +0,0 @@ -@import "{ohif:viewerbase}/app" - -$tableHoverColor = #2c363f -$tableTextPrimaryColor = white -$tableHeaderHeight = 50px -$bodyCellHeight = 30px - -#studyAssociationTable - color: #fff - - .header - text-align: center - - .center - text-align: center - - #associationInstructions - theme('background', '$uiGrayDarker') - margin-bottom: 2px - padding: 0 15px - - .tableHeaderBackground - theme('background-color', '$uiGrayDarker') - position: absolute - height: $tableHeaderHeight + 1px - left: 0 - width: 100% - z-index: 1 - border-bottom: solid 1px - theme('border-bottom-color', '$largeNumbersColor') - - table - z-index: 2 - position: relative - - thead - tr - th - padding-bottom: 5px - border-bottom: solid 1px #6fbde2 - height: $tableHeaderHeight - font-weight: normal - - tbody - tr - padding: 5px - background-color: black - - &:nth-child(even) - theme('background-color', '$uiGrayDarker') - - td - position: relative - height: $bodyCellHeight - line-height: $bodyCellHeight - color: $tableTextPrimaryColor - border-top: 1px solid #436270 - border-bottom: 1px solid #436270 - vertical-align: middle - transition(all 0.1s ease) - - p - margin: 0 - - &.timepointOptions - label - font-weight: 200 - cursor: pointer - - input - margin: 0 3px - - &[type="radio"] - border: 0 - clip: rect(0 0 0 0) - height: 1px - margin: -1px - overflow: hidden - padding: 0 - position: absolute - width: 1px - - & + span - display: block - position: absolute - border: 2px solid #c8c8c8 - border-radius: 100% - height: 15px - width: 15px - top: 2px - left: 0 - padding: 3px - z-index: 5 - transition: border .25s linear - -webkit-transition: border .25s linear - - & + span:before - display: block - content: '' - border-radius: 100% - height: 100% - width: 100% - transition: background 0.25s linear - -webkit-transition: background 0.25s linear - - &:checked + span - theme('border-color', '$activeColor') - - &:before - theme('background-color', '$activeColor') - - &:disabled - & + span - border-color: #535960 !important - - &:checked + span - border-color: #0D4256 !important - - &:before - background-color: #0D4256 !important - - label - padding: 0 5px - padding-left: 20px - display: inline-block - position: relative - line-height: initial - - &.checkboxWrapper - label - display: block - margin: 0 - - input - margin: 0 3px - - &[type="checkbox"] - border: 0 - clip: rect(0 0 0 0) - height: 1px - margin: -1px - overflow: hidden - padding: 0 - position: absolute - width: 1px - - & + span - display: block - border: 1px solid #b6b6b6 - background-color: white - border-radius: 2px - height: 16px - width: 16px - margin: 0 auto - z-index: 5 - transition: border .25s linear - -webkit-transition: border .25s linear - - & + span:before - display: block - position: relative - content: '' - font-size: 9px - top: -7px - color: white - background-color: transparent - transition: background 0.25s linear - -webkit-transition: background 0.25s linear - - &:checked + span - theme('background-color', '$activeColor') - - &:before - content: '\2713' - - &.disabled - td - color: #535960 - - &:hover, &:active, &.active - background-color: $tableHoverColor - color: white - - td - // This selector is necessary to override bootstrap's 'table' class - border-top: 1px solid #436270 - border-bottom: 1px solid #436270 - background-color: $tableHoverColor diff --git a/Packages/ohif-viewerbase/client/components/measurements/association/index.js b/Packages/ohif-viewerbase/client/components/measurements/association/index.js deleted file mode 100644 index a19ccd0b9..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/association/index.js +++ /dev/null @@ -1,7 +0,0 @@ -// Study-Timepoint Association imports -import './associationModal/associationModal.html'; -import './associationModal/associationModal.js'; - -import './associationModal/studyAssociationTable/studyAssociationTable.html'; -import './associationModal/studyAssociationTable/studyAssociationTable.styl'; -import './associationModal/studyAssociationTable/studyAssociationTable.js'; diff --git a/Packages/ohif-viewerbase/client/components/measurements/caseProgress/caseProgress.html b/Packages/ohif-viewerbase/client/components/measurements/caseProgress/caseProgress.html deleted file mode 100644 index a5fef7dfc..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/caseProgress/caseProgress.html +++ /dev/null @@ -1,12 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/caseProgress/caseProgress.js b/Packages/ohif-viewerbase/client/components/measurements/caseProgress/caseProgress.js deleted file mode 100644 index 4e0b54669..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/caseProgress/caseProgress.js +++ /dev/null @@ -1,143 +0,0 @@ -import { Template } from 'meteor/templating'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { OHIF } from 'ohif-core'; - -Template.caseProgress.onCreated(() => { - const instance = Template.instance(); - - instance.progressPercent = new ReactiveVar(); - instance.progressText = new ReactiveVar(); - instance.isLocked = new ReactiveVar(false); - instance.isFollowUp = new ReactiveVar(false); -}); - -Template.caseProgress.onRendered(() => { - const instance = Template.instance(); - const { timepointApi, measurementApi, timepointId } = instance.data; - - // Stop here if we have no current timepoint ID (and therefore no defined timepointAPI) - if (!timepointApi) { - instance.progressPercent.set(100); - return; - } - - // Get the current and prior timepoints - const current = timepointApi.timepoints.findOne({ timepointId }); - const priorFilter = { - latestDate: { $lt: current.latestDate }, - patientId: current.patientId - }; - const priorSorting = { sort: { latestDate: -1 } }; - const prior = timepointApi.timepoints.findOne(priorFilter, priorSorting); - - // Stop here if timepoint is locked - if (current && current.isLocked) { - return instance.isLocked.set(true); - } else { - instance.isLocked.set(false); - } - - // Stop here if no current or prior timepoint was found - if (!current || !prior || !current.timepointId) { - return instance.progressPercent.set(100); - } - - // Retrieve the initial number of targets left to measure at this - // follow-up. Note that this is done outside of the reactive function - // below so that new lesions don't change the initial target count. - - const config = OHIF.measurements.MeasurementApi.getConfiguration(); - const toolGroups = config.measurementTools; - - const toolIds = []; - toolGroups.forEach(toolGroup => toolGroup.childTools.forEach(tool => { - const option = 'options.caseProgress.include'; - if (OHIF.utils.ObjectPath.get(tool, option)) { - toolIds.push(tool.id); - } - })); - - const getTimepointFilter = timepointId => ({ - timepointId, - toolId: { $in: toolIds } - }); - - const getNumMeasurementsAtTimepoint = timepointId => { - OHIF.log.info('getNumMeasurementsAtTimepoint'); - const filter = getTimepointFilter(timepointId); - - let count = 0; - toolGroups.forEach(toolGroup => { - count += measurementApi.fetch(toolGroup.id, filter).length; - }); - - return count; - }; - - const getNumRemainingBetweenTimepoints = (currentTimepointId, priorTimepointId) => { - const currentFilter = getTimepointFilter(currentTimepointId); - const priorFilter = getTimepointFilter(priorTimepointId); - - let totalRemaining = 0; - toolGroups.forEach(toolGroup => { - const toolGroupId = toolGroup.id; - const numCurrent = measurementApi.fetch(toolGroupId, currentFilter).length; - const numPrior = measurementApi.fetch(toolGroupId, priorFilter).length; - const remaining = Math.max(numPrior - numCurrent, 0); - totalRemaining += remaining; - }); - - return totalRemaining; - }; - - // If we're currently reviewing a Baseline timepoint, don't do any - // progress measurement. - if (current.timepointType === 'baseline') { - instance.progressPercent.set(100); - instance.isFollowUp.set(false); - } else { - instance.isFollowUp.set(true); - // Setup a reactive function to update the progress whenever - // a measurement is made - instance.autorun(() => { - measurementApi.changeObserver.depend(); - // Obtain the number of Measurements for which the current Timepoint has - // no Measurement data - const totalMeasurements = getNumMeasurementsAtTimepoint(prior.timepointId); - const numRemainingMeasurements = getNumRemainingBetweenTimepoints(current.timepointId, prior.timepointId); - const numMeasurementsMade = totalMeasurements - numRemainingMeasurements; - - // Update the Case Progress text with the remaining measurement count - instance.progressText.set(numRemainingMeasurements); - - // Calculate the Case Progress as a percentage in order to update the - // radial progress bar - const progressPercent = Math.min(100, Math.round(100 * numMeasurementsMade / totalMeasurements)); - instance.progressPercent.set(progressPercent); - }); - } -}); - -Template.caseProgress.helpers({ - progressPercent() { - return Template.instance().progressPercent.get(); - }, - - progressText() { - return Template.instance().progressText.get(); - }, - - isLocked() { - return Template.instance().isLocked.get(); - }, - - progressComplete() { - const instance = Template.instance(); - if (!instance.data.timepointApi) { - return true; - } - - const progressPercent = instance.progressPercent.get(); - return progressPercent === 100; - } -}); diff --git a/Packages/ohif-viewerbase/client/components/measurements/caseProgress/caseProgress.styl b/Packages/ohif-viewerbase/client/components/measurements/caseProgress/caseProgress.styl deleted file mode 100644 index 6b3be3945..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/caseProgress/caseProgress.styl +++ /dev/null @@ -1,20 +0,0 @@ -@require '{ohif:viewerbase}/app' - -.caseProgress - transition(all 0.3 ease) - - .radialProgress - display: inline-block - float:left - - .caseProgressStatus - display: inline-block - float: left - margin-left: 22px - - h5 - theme('color', '$textPrimaryColor') - line-height: 40px - margin: 0 - font-size: 15px - font-weight: bold diff --git a/Packages/ohif-viewerbase/client/components/measurements/caseProgress/index.js b/Packages/ohif-viewerbase/client/components/measurements/caseProgress/index.js deleted file mode 100644 index 04cde6b34..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/caseProgress/index.js +++ /dev/null @@ -1,8 +0,0 @@ -// Case Progress imports -import './caseProgress.html'; -import './caseProgress.styl'; -import './caseProgress.js'; - -import './radialProgressBar/radialProgressBar.html'; -import './radialProgressBar/radialProgressBar.styl'; -import './radialProgressBar/radialProgressBar.js'; diff --git a/Packages/ohif-viewerbase/client/components/measurements/caseProgress/radialProgressBar/radialProgressBar.html b/Packages/ohif-viewerbase/client/components/measurements/caseProgress/radialProgressBar/radialProgressBar.html deleted file mode 100644 index 7db13095f..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/caseProgress/radialProgressBar/radialProgressBar.html +++ /dev/null @@ -1,45 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/caseProgress/radialProgressBar/radialProgressBar.js b/Packages/ohif-viewerbase/client/components/measurements/caseProgress/radialProgressBar/radialProgressBar.js deleted file mode 100644 index 5572c6a9a..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/caseProgress/radialProgressBar/radialProgressBar.js +++ /dev/null @@ -1,15 +0,0 @@ -import { Template } from 'meteor/templating'; - -Template.radialProgressBar.helpers({ - progressComplete() { - const instance = Template.instance(); - return instance.data.progressPercent === 100; - }, - - progressRadius() { - const instance = Template.instance(); - const radius = 11 * 2 * Math.PI; - const percentLeft = (100 - instance.data.progressPercent) / 100; - return percentLeft * radius; - } -}); diff --git a/Packages/ohif-viewerbase/client/components/measurements/caseProgress/radialProgressBar/radialProgressBar.styl b/Packages/ohif-viewerbase/client/components/measurements/caseProgress/radialProgressBar/radialProgressBar.styl deleted file mode 100644 index f0d5a3b1e..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/caseProgress/radialProgressBar/radialProgressBar.styl +++ /dev/null @@ -1,55 +0,0 @@ -@require '{ohif:viewerbase}/app' - -$circleSize = 26px - -.radialProgress - border-radius: 100% - height: $circleSize - margin-top: 3px - margin-right: 4px - position: relative - vendorize(box-shadow, 0 0 1em black) - width: $circleSize - - #svg circle - stroke-dashoffset: 0 - theme('stroke', '$uiBorderColorDark') - stroke-width: 3px - vendorize(transition, stroke-dashoffset 1s linear) - - #svg #bar - theme('stroke', '$textSecondaryColor') - vendorize(transform, rotate(270deg)) - vendorize(transform-origin, center center) - - .progressArea - theme('color', '$textSecondaryColor') - display: table - font-weight: 700 - font-size: 12px - height: $circleSize - line-height: $circleSize - left: 50% - position: absolute - text-align: center - top: 50% - transform(translate(-50%, -50%)) - width: $circleSize - - &.locked - line-height: 0 - - &, & svg - height: 12px - width: 10px - - &.complete - line-height: 0 - - &, & svg - height: 16px - width: 16px - - svg - theme('fill', '$textSecondaryColor') - theme('stroke', '$textSecondaryColor') diff --git a/Packages/ohif-viewerbase/client/components/measurements/index.js b/Packages/ohif-viewerbase/client/components/measurements/index.js deleted file mode 100644 index 7494ccf5b..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/index.js +++ /dev/null @@ -1,5 +0,0 @@ -//import './association'; -import './caseProgress'; -import './measurementTable'; -import './measurementLightTable'; -import './measureFlow'; diff --git a/Packages/ohif-viewerbase/client/components/measurements/measureFlow/index.js b/Packages/ohif-viewerbase/client/components/measurements/measureFlow/index.js deleted file mode 100644 index 0785b32e0..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measureFlow/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import './measureFlow.html'; -import './measureFlow.styl'; -import './measureFlow.js'; diff --git a/Packages/ohif-viewerbase/client/components/measurements/measureFlow/measureFlow.html b/Packages/ohif-viewerbase/client/components/measurements/measureFlow/measureFlow.html deleted file mode 100644 index 91b35a05a..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measureFlow/measureFlow.html +++ /dev/null @@ -1,32 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/measureFlow/measureFlow.js b/Packages/ohif-viewerbase/client/components/measurements/measureFlow/measureFlow.js deleted file mode 100644 index 6579fd7f5..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measureFlow/measureFlow.js +++ /dev/null @@ -1,326 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Template } from 'meteor/templating'; -import { Blaze } from 'meteor/blaze'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Tracker } from 'meteor/tracker'; -import _ from 'underscore'; -import $ from 'jquery'; - -Template.measureFlow.onCreated(() => { - const instance = Template.instance(); - - instance.value = instance.data.currentValue || ''; - - instance.state = new ReactiveVar('closed'); - instance.description = new ReactiveVar(instance.data.currentDescription || ''); - instance.descriptionEdit = new ReactiveVar(false); - - const items = [ - 'Abdomen/Chest Wall', - 'Adrenal', - 'Bladder', - 'Bone', - 'Brain', - 'Breast', - 'Colon', - 'Esophagus', - 'Extremities', - 'Gallbladder', - 'Kidney', - 'Liver', - 'Lung', - 'Lymph Node', - 'Mediastinum/Hilum', - 'Muscle', - 'Neck', - 'Other Soft Tissue', - 'Ovary', - 'Pancreas', - 'Pelvis', - 'Peritoneum/Omentum', - 'Prostate', - 'Retroperitoneum', - 'Small Bowel', - 'Spleen', - 'Stomach', - 'Subcutaneous' - ]; - - instance.items = []; - _.each(items, item => { - instance.items.push({ - label: item, - value: item - }); - }); - - const commonItems = [ - 'Abdomen/Chest Wall', - 'Lung', - 'Lymph Node', - 'Liver', - 'Mediastinum/Hilum', - 'Pelvis', - 'Peritoneum/Omentum', - 'Retroperitoneum' - ]; - - instance.commonItems = []; - _.each(commonItems, item => { - instance.commonItems.push({ - label: item, - value: item - }); - }); -}); - -Template.measureFlow.onRendered(() => { - const instance = Template.instance(); - const $measureFlow = instance.$('.measure-flow'); - const $btnAdd = instance.$('.btn-add'); - - // Make the measure flow bounded by the window borders - $measureFlow.bounded(); - - $btnAdd.focus(); - - if (instance.data.autoClick) { - $btnAdd.trigger('click', { - clientX: instance.data.position.x, - clientY: instance.data.position.Y - }); - } else { - if (instance.data.direction) { - const direction = instance.data.direction; - let { left, top } = $measureFlow.offset(); - - left = direction.x === -1 ? left -= $btnAdd.outerWidth() : left; - top = direction.y === -1 ? top -= $btnAdd.outerHeight() : top; - - const distance = 5; - left += direction.x * distance; - top += direction.y * distance; - - $measureFlow.css({ - left, - top - }); - } - - // Display the button after reposition it - $btnAdd.css('opacity', 1); - } -}); - -Template.measureFlow.events({ - 'click, mousedown, mouseup'(event, instance) { - event.stopPropagation(); - }, - - 'click .measure-flow .btn-add, click .measure-flow .btn-rename'(event, instance) { - const $measureFlow = instance.$('.measure-flow'); - - // Set the open state for the component - instance.state.set('open'); - - // Wait template rerender before rendering the selectTree - Tracker.afterFlush(() => { - // Get the click or rendering position - let position; - if (_.isUndefined(event.clientX)) { - position = { - left: instance.data.position.x, - top: instance.data.position.y, - }; - } else { - position = { - left: event.clientX, - top: event.clientY, - }; - } - - // Define the data for selectTreeComponent - const data = { - key: 'label', - items: instance.items, - commonItems: instance.commonItems, - hideCommon: instance.data.hideCommon, - label: 'Assign label', - searchPlaceholder: 'Search labels', - // storageKey: 'measureLabelCommon', - threeColumns: instance.data.threeColumns, - position - }; - - // Define in which element the selectTree will be rendered in - const parentElement = $measureFlow[0]; - - // Render the selectTree element - instance.selectTreeView = Blaze.renderWithData(Template.selectTree, data, parentElement); - - // Focus the measure flow to handle closing - $measureFlow.focus(); - }); - }, - - 'click .measure-flow .btn-description'(event, instance) { - // Fade out the action buttons - instance.$('.measure-flow .actions').addClass('fadeOut'); - - // Set the description edit mode - instance.descriptionEdit.set(true); - - // Wait for DOM re-rendering, resize and focus the description textarea - Tracker.afterFlush(() => { - const $textarea = instance.$('textarea'); - $textarea.trigger('input').focus().select(); - }); - }, - - 'input textarea, change textarea'(event, instance) { - const element = event.currentTarget; - const $element = $(element); - - // Resize the textarea based on its content length - $element.css('max-height', 0); - $element.height(element.scrollHeight); - $element.css('max-height', ''); - - // Reposition the measure flow if needed - const $measureFlow = instance.$('.measure-flow'); - $element.one('transitionend', () => $measureFlow.trigger('spatialChanged')); - }, - - 'keydown textarea'(event, instance) { - // Unset the description edit mode if ENTER or ESC was pressed - if (event.which === 13 || event.which === 27) { - instance.$('.measure-flow .actions').removeClass('fadeOut'); - instance.descriptionEdit.set(false); - instance.$('.measure-flow').focus(); - } - - // Keep the current description if ENTER was pressed - if (event.which === 13) { - event.preventDefault(); - instance.description.set($(event.currentTarget).val()); - } - }, - - 'blur textarea'(event, instance) { - instance.$('.measure-flow .actions').removeClass('fadeOut'); - instance.descriptionEdit.set(false); - instance.description.set($(event.currentTarget).val()); - }, - - 'click .select-tree-common label'(event, instance) { - // Set the common section clicked flag - instance.commonClicked = event.currentTarget; - }, - - 'change .select-tree-root'(event, instance) { - // Stop here if it's an inner input event - if (event.target !== event.currentTarget) { - return; - } - - // Store the selectTree component value before it's removed from DOM - const $treeRoot = $(event.currentTarget); - instance.value = $treeRoot.data('component').value(); - }, - - 'click .tree-leaf input'(event, instance) { - const $target = $(event.currentTarget); - let $label = $target.closest('label'); - const $treeRoot = $label.closest('.select-tree-root'); - const $container = $treeRoot.find('.tree-options:first'); - let labelOffset; - - // Check if the clicked target was a label inside common section - if (instance.commonClicked) { - $label = $(instance.commonClicked); - labelOffset = $label.data('offset'); - } else { - labelOffset = $label.offset(); - } - - // Change the measure flow state to selected - instance.state.set('selected'); - - // Wait for the DOM re-rendering - Tracker.afterFlush(() => { - // Get the measure flow div - const $measureFlow = instance.$('.measure-flow'); - - // Adjust the label position - if (instance.commonClicked) { - labelOffset.top -= 10; - labelOffset.left -= 12; - } else { - labelOffset.top -= 10; - } - - // Reposition the measure flow based on the clicked label position - $measureFlow.css(labelOffset); - - // Resize the copied label with same width of the clicked one - // $measureFlow.children('.tree-leaf').width($label.outerWidth()); - $measureFlow.children('.tree-leaf').width(212); - - // Reset the flag to avoid wrong positioning when clicking normal labels again - instance.commonClicked = false; - - instance.data.updateCallback(instance.value.value, instance.description.get()); - - Meteor.defer(() => !$measureFlow.is(':hover') && $measureFlow.trigger('close')); - }); - - // Wait the fade-out transition and remove the selectTree component - $container.one('transitionend', event => Blaze.remove(instance.selectTreeView)); - }, - - 'blur .measure-flow'(event, instance) { - const $measureFlow = $(event.currentTarget); - const element = $measureFlow[0]; - Meteor.defer(() => { - const focused = $(':focus')[0]; - if (element !== focused && !$.contains(element, focused)) { - $measureFlow.trigger('close'); - } - }); - }, - - 'mouseleave .measure-flow'(event, instance) { - const $measureFlow = $(event.currentTarget); - const canClose = instance.state.get() === 'selected' && !instance.descriptionEdit.get(); - if (canClose && !$.contains($measureFlow[0], event.toElement)) { - $measureFlow.trigger('close'); - } - }, - - 'mouseenter .measure-flow'(event, instance) { - // Prevent from closing if user go out and in too fast - clearTimeout(instance.closingTimeout); - $(event.currentTarget).off('animationend').removeClass('fadeOut'); - }, - - 'close .measure-flow'(event, instance) { - const $measureFlow = $(event.currentTarget); - - // Clear the timeout to prevent executing the close process twice - clearTimeout(instance.closingTimeout); - - instance.closingTimeout = setTimeout(() => { - const animationEndHandler = event => { - // Prevent closing if the animation is coming from actions panel - if (event.target !== $measureFlow[0]) { - $measureFlow.one('animationend', animationEndHandler); - return; - } - - instance.data.doneCallback(); - }; - - $measureFlow.one('animationend', animationEndHandler).addClass('fadeOut'); - }, 300); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/measurements/measureFlow/measureFlow.styl b/Packages/ohif-viewerbase/client/components/measurements/measureFlow/measureFlow.styl deleted file mode 100644 index 14ce1b80a..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measureFlow/measureFlow.styl +++ /dev/null @@ -1,196 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.measure-flow - outline: none - position: fixed - z-index: 1 - - &.fadeOut - animateFadeOut() - - &.open, - &.selected - - .btn-add - opacity: 0 !important - outline: none !important - pointer-events: none !important - - .btn-add - outline: none - theme('color', '$textColorActive') - theme('background-color', '$activeColor') - theme('border', '2px solid $uiBorderColor') - border-radius: 14px - cursor: pointer - font-weight: bold - height: 24px - left: 0 - line-height: 24px - opacity: 1 - position: absolute - padding: 0 14px - top: 0 - transition(opacity 0.3s ease) - white-space: nowrap - - // / {selector()} - // color: $themes['tide']['uiYellow'] !important - - .select-tree-root>.tree-content - width: 140px - - &>.tree-options - position: relative - z-index: 2 - - .tree-inputs - position: relative - - &>.tree-leaf - position: relative - - .icon-check - theme('background-color', '$activeColor') - animateZoomIn() - left: -46px - position: absolute - top: 3px - - span - background: white - font-weight: normal - height: 46px - line-height: 46px - padding: 0 12px - - input, span - display: none - - .actions - padding-top: 16px - opacity: 0 - - &:not(.fadeOut) - animateFadeIn() - animation-delay: 0.3s - - &.fadeOut - animateFadeOut() - - button - theme('border', '1px solid $uiBorderColor') - theme('color', '$textPrimaryColor') - theme('background-color', '$primaryBackgroundColor') - border-radius: 16px - font-weight: normal - height: 31px - line-height: 31px - padding: 0 12px - text-align: center - - .description - margin-top: -10px - margin-bottom: 10px - - textarea - background-color: white - box-shadow: 0 10px white - border: 0 - line-height: 20px - outline: none - overflow: hidden - padding: 0 12px 5px - resize: none - transition(height 0.3s ease) - width: 100% - - .descriptionText - background-color: white - box-shadow: 0 10px white - line-height: 20px - margin-bottom: 10px - margin-top: -10px - padding: 0 12px - - &.selected>.tree-leaf - - span - display: block - - &.tree-columns - - .select-tree-root - - &.navigated .select-tree-common .content - animation-name: none - - &.selected .select-tree-common .content - animation-name: selectTreeCommonCloseLeft - - .tree-search - input, i - display: none - - .select-tree-common - padding-left: 0 - padding-right: 6px - right: auto - left: 0 - width: 180px - - &>.tree-content - transform-origin(0% 50%) - width: 280px - - .select-tree-common .content - right: -180px - - &.started .select-tree-common .content - right: 46px - - &.navigated .select-tree-common .content - animation-name: selectTreeCommonCloseRight - - .tree-inputs>label - float: left - width: 50% - -@keyframes selectTreeCommonCloseRight { - from { - height: 37px - display: table - right: 6px - opacity: 1 - visibility: visible - } - to { - height: 100% - right: -100% - opacity: 0 - visibility: hidden - width: calc(100% - 6px) - } -} - -.icon-check - background-color: white - border-radius: 20px - display: block - height: 40px - overflow: hidden - position: relative - width: 40px - - &:before - border: 2px solid black - border-left-width: 0 - border-top-width: 0 - content: '' - display: block - height: 18px - left: 15px - position: absolute - top: 9px - transform(rotate(45deg)) - width: 9px diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/index.js b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/index.js deleted file mode 100644 index cc373668e..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/index.js +++ /dev/null @@ -1,22 +0,0 @@ -// Measurement Table Components imports - -import './measurementEditDescription/measurementEditDescription.html'; -import './measurementEditDescription/measurementEditDescription.js'; - -import './measurementLightTable.html'; -import './measurementLightTable.styl'; - -import './measurementLightTableHeaderRow/measurementLightTableHeaderRow.html'; -import './measurementLightTableHeaderRow/measurementLightTableHeaderRow.styl'; - -import './measurementLightTableRow/measurementLightTableRow.html'; -import './measurementLightTableRow/measurementLightTableRow.styl'; -import './measurementLightTableRow/measurementLightTableRow.js'; - -import './measurementLightTableView/measurementLightTableView.html'; -import './measurementLightTableView/measurementLightTableView.styl'; -import './measurementLightTableView/measurementLightTableView.js'; - -import './measurementRelabel/measurementRelabel.html'; -import './measurementRelabel/measurementRelabel.styl'; -import './measurementRelabel/measurementRelabel.js'; diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementEditDescription/measurementEditDescription.html b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementEditDescription/measurementEditDescription.html deleted file mode 100644 index e9f128fad..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementEditDescription/measurementEditDescription.html +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementEditDescription/measurementEditDescription.js b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementEditDescription/measurementEditDescription.js deleted file mode 100644 index e3b96d0e7..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementEditDescription/measurementEditDescription.js +++ /dev/null @@ -1,26 +0,0 @@ -import { Template } from 'meteor/templating'; -import { OHIF } from 'ohif-core'; - - -Template.measurementEditDescription.onRendered(() => { - const instance = Template.instance(); - const form = instance.$('form').data('component'); - const measurementData = instance.data.measurementData; - const collection = OHIF.viewer.measurementApi.tools[measurementData.toolType]; - const currentMeasurement = collection.findOne({ _id: measurementData._id }); - - if (currentMeasurement.description) { - form.value({ - description: currentMeasurement.description - }); - } - - // Update the description after confirming the dialog data - instance.data.promise.then(formData => { - collection.update({ - _id: measurementData._id, - }, { - $set: { description: formData.description } - }); - }); -}); diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTable.html b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTable.html deleted file mode 100644 index cb8af2a3f..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTable.html +++ /dev/null @@ -1,17 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTable.styl b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTable.styl deleted file mode 100644 index 24a003b23..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTable.styl +++ /dev/null @@ -1,40 +0,0 @@ -@require '{ohif:viewerbase}/app' - -#measurementLightTableContainer - theme('background-color', '$primaryBackgroundColor') - height: 100% - width: 100% - -.measurementLightTableHeaderContainer - display: flex - padding: 0 2px 0 44px - position: relative - - .measurementLightTableHeader - flex: 1 - justify-content: space-around - padding-top: 2px - position: relative - margin: 0.4em 0 - - .studyDateLabel, .studyDate - theme('border-left', '%s solid $uiBorderColor' % $uiBorderThickness) - font-weight: 400 - padding-left: 12px - text-align: left - - .studyDateLabel - theme('color', '$textSecondaryColor') - font-size: 12px - line-height: 12px - - .studyDate - theme('color', '$textPrimaryColor') - font-size: 14px - line-height: 20px - padding-bottom: 6px - -.measurementLightTableLayoutChanger - margin: 0 auto - padding: 20px - text-align: center diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableHeaderRow/measurementLightTableHeaderRow.html b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableHeaderRow/measurementLightTableHeaderRow.html deleted file mode 100644 index 3a56bdeb7..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableHeaderRow/measurementLightTableHeaderRow.html +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableHeaderRow/measurementLightTableHeaderRow.styl b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableHeaderRow/measurementLightTableHeaderRow.styl deleted file mode 100644 index 0fcd41294..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableHeaderRow/measurementLightTableHeaderRow.styl +++ /dev/null @@ -1,36 +0,0 @@ -@import "{ohif:viewerbase}/app" - -$headerRowHeight = 63px - -.measurementLightTableHeaderRow - theme('background-color', '$uiGrayDarker') - theme('color', '$textSecondaryColor') - display: flex - theme('fill', '$textSecondaryColor') - height: $headerRowHeight - line-height: $headerRowHeight - margin-top: 2px - width: 100% - - div - align-items: stretch - flex: 1 - justify-content: space-around - text-align: center - - .type - theme('color', '$textSecondaryColor') - font-size: 22px - font-weight: 300 - line-height: $headerRowHeight - padding: 0 10px - text-align: left - - .numberOfMeasurements - theme('color', '$uiSkyBlue') - float: right - font-weight: 300 - font-size: 40px - max-width: 54px - height: $headerRowHeight - line-height: 66px diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableRow/measurementLightTableRow.html b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableRow/measurementLightTableRow.html deleted file mode 100644 index 0cb324b0f..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableRow/measurementLightTableRow.html +++ /dev/null @@ -1,55 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableRow/measurementLightTableRow.js b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableRow/measurementLightTableRow.js deleted file mode 100644 index ce99952c4..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableRow/measurementLightTableRow.js +++ /dev/null @@ -1,103 +0,0 @@ -import { Template } from 'meteor/templating'; -import _ from 'underscore'; -import $ from 'jquery'; -import { OHIF } from 'ohif-core'; -import { cornerstone } from 'meteor/ohif:cornerstone'; - -const getPosition = event => { - return { - x: event.clientX, - y: event.clientY - }; -}; - -Template.measurementLightTableRow.helpers({ - displayData() { - const instance = Template.instance(); - const { rowItem } = instance.data; - - const data = rowItem.entries[0]; - - const config = OHIF.measurements.MeasurementApi.getConfiguration(); - const measurementTools = config.measurementTools; - - const toolGroup = measurementTools.find( toolGroup => toolGroup.id === rowItem.measurementTypeId); - const tool = toolGroup.childTools.find( childTool => childTool.id === data.toolType ); - if (!tool) { - return 'No measurement value'; - } - - const { displayFunction } = tool.options.measurementTable; - return displayFunction(data); - } -}); - -Template.measurementLightTableRow.events({ - 'click .measurementLightTableRow'(event, instance) { - const $row = instance.$('.measurementLightTableRow'); - const rowItem = instance.data.rowItem; - const timepoints = instance.data.timepointApi.all(); - - $row.closest('.measurementLightTableView').find('.measurementLightTableRow').not($row).removeClass('active'); - $row.toggleClass('active'); - - const childToolKey = $(event.target).attr('data-child'); - OHIF.measurements.jumpToRowItem(rowItem, timepoints, childToolKey); - }, - - 'click .js-edit-label'(event, instance) { - event.stopPropagation(); - const rowItem = instance.data.rowItem; - const entry = rowItem.entries[0]; - - // Show the measure flow for measurements - OHIF.measurements.openLocationModal({ - measurement: entry, - element: document.body, - measurementApi: instance.data.measurementApi, - position: getPosition(event), - autoClick: true - }); - }, - - 'click .js-edit-description'(event, instance) { - const rowItem = instance.data.rowItem; - const entry = rowItem.entries[0]; - OHIF.ui.showDialog('measurementEditDescription', { - event, - title: 'Edit Description', - element: event.element, - measurementData: entry - }); - }, - - 'click .js-delete'(event, instance) { - event.stopPropagation(); - const dialogSettings = { - class: 'themed', - title: 'Delete measurements', - message: 'Are you sure you want to delete the measurement?', - position: getPosition(event) - }; - - OHIF.ui.showDialog('dialogConfirm', dialogSettings).then(formData => { - const measurementTypeId = instance.data.rowItem.measurementTypeId; - const measurement = instance.data.rowItem.entries[0]; - const measurementNumber = measurement.measurementNumber; - const { timepointApi, measurementApi } = instance.data; - - // Remove all the measurements with the given type and number - measurementApi.deleteMeasurements(measurementTypeId, { measurementNumber }); - - // Sync the new measurement data with cornerstone tools - const baseline = timepointApi.baseline(); - measurementApi.sortMeasurements(baseline.timepointId); - - // Repaint the images on all viewports without the removed measurements - _.each($('.imageViewerViewport'), element => cornerstone.updateImage(element)); - - // Notify that viewer suffered changes - OHIF.measurements.triggerTimepointUnsavedChanges('deleted'); - }); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableRow/measurementLightTableRow.styl b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableRow/measurementLightTableRow.styl deleted file mode 100644 index 630fc10cd..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableRow/measurementLightTableRow.styl +++ /dev/null @@ -1,87 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.measurementLightTableRow - display: flex - margin-left: -6px - margin-top: 2px - padding-left: 6px - opacity: 0.7 - transform(scale(1)) - width: calc(100% + 6px) - - &:hover - opacity 1 - - &.active - opacity 1 - .measurementRowSidebar - theme('color', '$activeColor') - - .rowOptions - height: 35px - visibility: visible - - .rowOptions - theme('background-color', '$uiGrayDarker') - height: 0 - overflow: hidden - transition(all 0.3s ease) - visibility: hidden - padding-left: 14px - - .rowAction - theme('color', '$defaultColor') - cursor: pointer - line-height: 35px - transition(all 0.3s ease) - - &:hover, &:active - theme('color', '$textPrimaryColor') - - svg - theme('fill', '$textPrimaryColor') - theme('stroke', '$textPrimaryColor') - - svg - theme('fill', '$defaultColor') - theme('stroke', '$defaultColor') - transition(all 0.3s ease) - - &.edit-icon - width: 14px - height: 13px - - &.close-icon - width: 11px - height: 11px - - .measurementRowSidebar - theme('background', '$uiGray') - theme('color', '$textSecondaryColor') - cursor: pointer - flex: 1 - max-width: 30px - transition(all 0.3s ease) - - .measurementNumber - font-size: 14px - font-weight: 400 - margin-right: 5px - padding-top: 10px - text-align: center - - .measurementRowContent - flex: 1 - - .measurementDetails - padding: 5px 2px 0 14px - line-height: 30px - font-size: 14px - - .location - theme('color', '$textSecondaryColor') - font-weight: 400 - margin-left: -2px - - .value - theme('color', '$textPrimaryColor') diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableView/measurementLightTableView.html b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableView/measurementLightTableView.html deleted file mode 100644 index 3147342ef..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableView/measurementLightTableView.html +++ /dev/null @@ -1,29 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableView/measurementLightTableView.js b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableView/measurementLightTableView.js deleted file mode 100644 index c3832b269..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableView/measurementLightTableView.js +++ /dev/null @@ -1,75 +0,0 @@ -import { Template } from 'meteor/templating'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { OHIF } from 'ohif-core'; - -Template.measurementLightTableView.onCreated(() => { - const instance = Template.instance(); - const { measurementApi, timepointApi } = instance.data; - - instance.data.measurementGroups = new ReactiveVar(); - - instance.path = 'viewer.studyViewer.measurements'; - instance.saveObserver = new Tracker.Dependency(); - - instance.api = { - save() { - - const successHandler = () => { - OHIF.ui.unsavedChanges.clear(`${instance.path}.*`); - instance.saveObserver.changed(); - }; - - // Display the error messages - const errorHandler = data => { - OHIF.ui.showDialog('dialogInfo', Object.assign({ class: 'themed' }, data)); - }; - - const promise = instance.data.measurementApi.storeMeasurements(); - promise.then(successHandler).catch(errorHandler); - OHIF.ui.showDialog('dialogLoading', { - promise, - text: 'Measurements saved.' - }); - - return promise; - }, - exportCSV() { - const { measurementApi, timepointApi } = instance.data; - OHIF.measurements.exportCSV(measurementApi, timepointApi); - } - }; - - instance.autorun(() => { - measurementApi.changeObserver.depend(); - const data = OHIF.measurements.getMeasurementsGroupedByNumber(measurementApi, timepointApi); - instance.data.measurementGroups.set(data); - }); -}); - -Template.measurementLightTableView.helpers({ - hasUnsavedChanges() { - const instance = Template.instance(); - // Run this computation on save or every time any measurement / timepoint suffer changes - OHIF.ui.unsavedChanges.depend(); - instance.saveObserver.depend(); - - return OHIF.ui.unsavedChanges.probe('viewer.*') !== 0; - }, - - hasAnyMeasurement() { - const instance = Template.instance(); - const groups = instance.data.measurementGroups.get(); - - if (!groups) { - return false; - } - - const group = groups.find(item => item.measurementRows.length > 0); - return group; - }, - - saveEnabled() { - const server = OHIF.servers.getCurrentServer(); - return (server && server.type === 'dicomWeb'); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableView/measurementLightTableView.styl b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableView/measurementLightTableView.styl deleted file mode 100644 index 161d7dab0..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementLightTableView/measurementLightTableView.styl +++ /dev/null @@ -1,19 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.measurementLightTableView - .report-area - theme('background-color', '$uiGrayDarker') - margin-top: 2px - padding: 10px 0 - text-align: center - - .btn - theme('background-color', '$activeColor') - theme('border', '1px solid $uiBorderColorActive') - color: #000 - - .unsaved-changes-alert - padding-bottom: 10px; - font-size: 11px; - color: #FF0; - font-weight: 100; diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementRelabel/measurementRelabel.html b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementRelabel/measurementRelabel.html deleted file mode 100644 index 44ea10954..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementRelabel/measurementRelabel.html +++ /dev/null @@ -1,4 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementRelabel/measurementRelabel.js b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementRelabel/measurementRelabel.js deleted file mode 100644 index 41ab3cdb4..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementRelabel/measurementRelabel.js +++ /dev/null @@ -1,107 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Template } from 'meteor/templating'; -import { Blaze } from 'meteor/blaze'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Tracker } from 'meteor/tracker'; -import $ from 'jquery'; -import { - segmentedTerminologyList, - segmentedTerminologyCommonList } from '../../../lib/getLabelTerminologyList'; - -Template.measurementRelabel.onCreated(() => { - const instance = Template.instance(); - - instance.value = instance.data.currentValue || ''; - - instance.state = new ReactiveVar('closed'); - - instance.items = segmentedTerminologyList; - instance.commonItems = segmentedTerminologyCommonList; -}); - -Template.measurementRelabel.onRendered(() => { - const instance = Template.instance(); - const $measurementRelabel = instance.$('.measurement-relabel'); - - // Make the measure flow bounded by the window borders - $measurementRelabel.bounded(); - - // Wait template rerender before rendering the selectTree - Tracker.afterFlush(() => { - // Get the click or rendering position - const position = { - left: event.clientX || instance.data.position.x, - top: event.clientY || instance.data.position.y, - }; - - // Define the data for selectTreeComponent - const data = { - key: 'label', - items: instance.items, - commonItems: instance.commonItems, - hideCommon: instance.data.hideCommon, - label: 'Assign label', - search: true, - searchPlaceholder: 'Search labels', - threeColumns: instance.data.threeColumns, - position - }; - - // Define in which element the selectTree will be rendered in - const parentElement = $measurementRelabel[0]; - - // Render the selectTree element - instance.selectTreeView = Blaze.renderWithData(Template.selectTree, data, parentElement); - - // Focus the measure flow to handle closing - $measurementRelabel.focus(); - }); -}); - -Template.measurementRelabel.events({ - 'click, mousedown, mouseup'(event, instance) { - event.stopPropagation(); - }, - - 'click .tree-leaf input'(event, instance) { - const $target = $(event.currentTarget); - const $measureFlow = instance.$('.measurement-relabel'); - instance.state.set('selected'); - - instance.value = $target.data('component').value(); - instance.data.updateCallback(instance.value); - - $measureFlow.trigger('close') - }, - - 'blur .measurement-relabel'(event, instance) { - const $measurementRelabel = $(event.currentTarget); - const element = $measurementRelabel[0]; - Meteor.defer(() => { - const focused = $(':focus')[0]; - if (element !== focused && !$.contains(element, focused)) { - $measurementRelabel.trigger('close'); - } - }); - }, - - 'mouseleave .measurement-relabel'(event, instance) { - const $measurementRelabel = $(event.currentTarget); - const canClose = instance.state.get() === 'selected'; - if (canClose && !$.contains($measurementRelabel[0], event.toElement)) { - $measurementRelabel.trigger('close'); - } - }, - - 'mouseenter .measurement-relabel'(event, instance) { - // Prevent from closing if user go out and in too fast - clearTimeout(instance.closingTimeout); - $(event.currentTarget).off('animationend').removeClass('fadeOut'); - }, - - 'close .measurement-relabel'(event, instance) { - // Clear the timeout to prevent executing the close process twice - clearTimeout(instance.closingTimeout); - instance.data.doneCallback(); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementRelabel/measurementRelabel.styl b/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementRelabel/measurementRelabel.styl deleted file mode 100644 index 2768e4ec7..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementLightTable/measurementRelabel/measurementRelabel.styl +++ /dev/null @@ -1,106 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.measurement-relabel - outline: none - position: fixed - z-index: 1 - - &.fadeOut - animateFadeOut() - - .select-tree-root>.tree-content - width: 140px - - &>.tree-options - position: relative - z-index: 2 - - .tree-inputs - position: relative - - &>.tree-leaf - position: relative - - .icon-check - theme('background-color', '$activeColor') - animateZoomIn() - left: -46px - position: absolute - top: 3px - - span - background: white - font-weight: normal - height: 46px - line-height: 46px - padding: 0 12px - - input, span - display: none - - .actions - padding-top: 16px - opacity: 0 - - &:not(.fadeOut) - animateFadeIn() - animation-delay: 0.3s - - &.fadeOut - animateFadeOut() - - &.selected>.tree-leaf - - span - display: block - - &.tree-columns - - .select-tree-root - - &.navigated .select-tree-common .content - animation-name: none - - &.selected .select-tree-common .content - animation-name: selectTreeCommonCloseLeft - - .select-tree-common - padding-left: 0 - padding-right: 6px - right: auto - left: 0 - width: 180px - - &>.tree-content - transform-origin(0% 50%) - width: 280px - - .select-tree-common .content - right: -180px - - &.started .select-tree-common .content - right: 46px - - &.navigated .select-tree-common .content - animation-name: selectTreeCommonCloseRight - - .tree-inputs>label - float: left - width: 50% - -@keyframes selectTreeCommonCloseRight { - from { - height: 37px - display: table - right: 6px - opacity: 1 - visibility: visible - } - to { - height: 100% - right: -100% - opacity: 0 - visibility: hidden - width: calc(100% - 6px) - } -} diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/index.js b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/index.js deleted file mode 100644 index 889ac7a82..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/index.js +++ /dev/null @@ -1,26 +0,0 @@ -// Measurement Table Components imports -import './measurementTable.html'; -import './measurementTable.styl'; -import './measurementTable.js'; - -import './measurementTableView/measurementTableView.html'; -import './measurementTableView/measurementTableView.styl'; -import './measurementTableView/measurementTableView.js'; - -import './measurementTableRow/measurementTableRow.html'; -import './measurementTableRow/measurementTableRow.styl'; -import './measurementTableRow/measurementTableRow.js'; - -import './measurementTableHeaderRow/measurementTableHeaderRow.html'; -import './measurementTableHeaderRow/measurementTableHeaderRow.styl'; -import './measurementTableHeaderRow/measurementTableHeaderRow.js'; - -import './measurementTableTimepointCell/measurementTableTimepointCell.html'; -import './measurementTableTimepointCell/measurementTableTimepointCell.styl'; -import './measurementTableTimepointCell/measurementTableTimepointCell.js'; - -import './measurementTableTimepointHeader/measurementTableTimepointHeader.html'; -import './measurementTableTimepointHeader/measurementTableTimepointHeader.styl'; -import './measurementTableTimepointHeader/measurementTableTimepointHeader.js'; - -import './measurementTableWarnings/measurementTableWarningsDialog.html'; diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTable.html b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTable.html deleted file mode 100644 index 71ed7d0b6..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTable.html +++ /dev/null @@ -1,25 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTable.js b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTable.js deleted file mode 100644 index d57f75ef0..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTable.js +++ /dev/null @@ -1,87 +0,0 @@ -import { Template } from 'meteor/templating'; -import { ReactiveVar } from 'meteor/reactive-var'; -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; - -Template.measurementTable.onCreated(() => { - const instance = Template.instance(); - - instance.data.measurementTableLayout = new ReactiveVar('comparison'); - instance.data.timepoints = new ReactiveVar([]); - - // Run this computation every time table layout changes - instance.autorun(() => { - // Get the current table layout - const tableLayout = instance.data.measurementTableLayout.get(); - - const timepointApi = instance.data.timepointApi; - let timepoints; - if (!timepointApi) { - timepoints = []; - } else if (tableLayout === 'key') { - timepoints = timepointApi.key(); - } else { - timepoints = timepointApi.comparison(); - } - - // Return key timepoints - instance.data.timepoints.set(timepoints); - }); -}); - -Template.measurementTable.onRendered(() => { - const instance = Template.instance(); - - instance.autorun(() => { - // Run this computation every time the lesion table layout is changed - instance.data.measurementTableLayout.dep.depend(); - - if (instance.data.state.get('rightSidebar') !== 'measurements') { - // Remove the amount attribute from sidebar element tag - instance.$('#measurementTableContainer').closest('.sidebarMenu').removeAttr('data-timepoints'); - return; - } - - // Get the amount of timepoints being shown - const timepointAmount = instance.data.timepoints.get().length; - - // Set the amount in an attribute on sidebar element tag - instance.$('#measurementTableContainer').closest('.sidebarMenu').attr('data-timepoints', timepointAmount); - }); -}); - -Template.measurementTable.helpers({ - hasWarnings() { - return Template.instance().data.conformanceCriteria.nonconformities.get(); - }, - - buttonGroupData() { - const instance = Template.instance(); - return { - value: instance.data.measurementTableLayout, - options: [{ - value: 'comparison', - text: 'Comparison' - }, { - value: 'key', - text: 'Key Timepoints' - }] - }; - } -}); - -Template.measurementTable.events({ - 'click .warning-status'(event, instance) { - const nonconformities = instance.data.conformanceCriteria.nonconformities.get(); - const messages = []; - _.each(nonconformities, nonconformity => messages.push(nonconformity.message)); - - OHIF.ui.showDialog('measurementTableWarningsDialog', { - messages, - position: { - x: event.clientX, - y: event.clientY - } - }); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTable.styl b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTable.styl deleted file mode 100644 index 07e6956d3..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTable.styl +++ /dev/null @@ -1,43 +0,0 @@ -@require '{ohif:viewerbase}/app' - -#measurementTableContainer - theme('background-color', '$primaryBackgroundColor') - height: 100% - width: 100% - -.measurementTableTimepointHeaderRow - display: flex - padding: 0 2px 0 44px - position: relative - - .warning-status - theme('border', '2px solid $uiYellow') - border-radius: 16px - cursor: pointer - height: 32px - left: 0 - margin: 4px 6px - padding-top: 1px - position: absolute - text-align: center - top: 0 - transition(border-color 0.3s ease) - width: 32px - - &:hover - theme('border-color', '$hoverColor') - - svg - theme('fill', '$hoverColor') - - svg - theme('fill', '$uiYellow') - display: inline - height: 20px - transition(all 0.3s ease) - width: 22px - -.measurementTableLayoutChanger - margin: 0 auto - padding: 20px - text-align: center diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableHeaderRow/measurementTableHeaderRow.html b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableHeaderRow/measurementTableHeaderRow.html deleted file mode 100644 index 2989a2ef3..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableHeaderRow/measurementTableHeaderRow.html +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableHeaderRow/measurementTableHeaderRow.js b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableHeaderRow/measurementTableHeaderRow.js deleted file mode 100644 index 76095bd5d..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableHeaderRow/measurementTableHeaderRow.js +++ /dev/null @@ -1,33 +0,0 @@ -import { Template } from 'meteor/templating'; -import { OHIF } from 'ohif-core'; -import { Viewerbase } from 'meteor/ohif:viewerbase'; - -Template.measurementTableHeaderRow.helpers({ - numberOfMeasurements(toolGroupId) { - const { toolGroup, measurementRows } = Template.instance().data; - if (toolGroup.id === 'newTargets') { - let result = 0; - - measurementRows.forEach(measurementRow => { - const measurementData = measurementRow.entries[0]; - if (measurementData.isSplitLesion) return; - result++; - }); - - return result; - } - - return measurementRows.length ? measurementRows.length : null; - }, - - getMax(toolGroupId) { - const { conformanceCriteria } = Template.instance().data; - if (!conformanceCriteria) return; - - if (toolGroupId === 'targets') { - return conformanceCriteria.maxTargets.get(); - } else if (toolGroupId === 'newTargets') { - return conformanceCriteria.maxNewTargets.get(); - } - } -}); diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableHeaderRow/measurementTableHeaderRow.styl b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableHeaderRow/measurementTableHeaderRow.styl deleted file mode 100644 index 8e879c977..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableHeaderRow/measurementTableHeaderRow.styl +++ /dev/null @@ -1,83 +0,0 @@ -@import "{ohif:viewerbase}/app" - -$headerRowHeight = 63px - -.measurementTableHeaderRow - theme('background-color', '$uiGrayDarker') - theme('color', '$textSecondaryColor') - display: flex - theme('fill', '$textSecondaryColor') - height: $headerRowHeight - line-height: $headerRowHeight - margin-top: 2px - width: 100% - - &.inactive .add - cursor: not-allowed - - svg - fill: #5A666D - - div - align-items: stretch - flex: 1 - justify-content: space-around - text-align: center - - .add - cursor: pointer - max-width: 30px - padding-left: 2px - - svg - fill: #C1D8E3 - height: $headerRowHeight - max-width: 11px - - &:hover svg - theme('fill', '$hoverColor') - - &:active svg - theme('fill', '$activeColor') - - .type - theme('color', '$textSecondaryColor') - font-size: 22px - font-weight: 300 - line-height: $headerRowHeight - padding: 0 10px 0 20px - text-align: left - - .numberOfMeasurements - theme('color', '$uiSkyBlue') - float: right - font-weight: 300 - font-size: 40px - max-width: 54px - height: $headerRowHeight - line-height: 66px - - .max - height: $headerRowHeight - max-width: 64px - text-align: right - - .maxNumMeasurements - theme('background-color', '$textSecondaryColor') - border-radius: 3px - color: black - display: table - font-size: 12px - font-weight: 500 - height: 19px - line-height: 17px - margin-left: auto - margin-top: 22px - padding: 2px 6px 0 - text-transform: uppercase - transition($sidebarTransition) - - &.warning - .maxNumMeasurements - theme('background-color', '$uiYellow') - theme('color', '$textPrimaryColor') diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableRow/measurementTableRow.html b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableRow/measurementTableRow.html deleted file mode 100644 index c33f71c95..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableRow/measurementTableRow.html +++ /dev/null @@ -1,52 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableRow/measurementTableRow.js b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableRow/measurementTableRow.js deleted file mode 100644 index 37dee749f..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableRow/measurementTableRow.js +++ /dev/null @@ -1,100 +0,0 @@ -import { Template } from 'meteor/templating'; -import _ from 'underscore'; -import $ from 'jquery'; -import { OHIF } from 'ohif-core'; -import { cornerstone } from 'meteor/ohif:cornerstone'; - -Template.measurementTableRow.onCreated(() => { - const instance = Template.instance(); - - instance.getWarningMessages = () => { - const measurementTypeId = instance.data.rowItem.measurementTypeId; - const measurementNumber = instance.data.rowItem.measurementNumber; - const groupedNonConformities = instance.data.conformanceCriteria.groupedNonConformities.get() || {}; - const nonconformitiesByMeasurementTypeId = groupedNonConformities[measurementTypeId] || {}; - const nonconformitiesByMeasurementNumbers = nonconformitiesByMeasurementTypeId.measurementNumbers || {}; - const nonconformitiesByMeasurementNumber = nonconformitiesByMeasurementNumbers[measurementNumber] || {}; - - return _.uniq(nonconformitiesByMeasurementNumber.messages || []); - }; -}); - -Template.measurementTableRow.helpers({ - hasWarnings() { - return !!Template.instance().getWarningMessages().length; - } -}); - -Template.measurementTableRow.events({ - 'click .measurementRowSidebar .warning-icon'(event, instance) { - event.stopPropagation(); - OHIF.ui.showDialog('measurementTableWarningsDialog', { - messages: instance.getWarningMessages(), - position: { - x: event.clientX, - y: event.clientY - } - }); - }, - - 'click .measurementRowSidebar'(event, instance) { - const $row = instance.$('.measurementTableRow'); - const rowItem = instance.data.rowItem; - const timepoints = instance.data.timepoints.get(); - - $row.closest('.measurementTableView').find('.measurementTableRow').not($row).removeClass('active'); - $row.toggleClass('active'); - - const childToolKey = $(event.target).attr('data-child'); - OHIF.measurements.jumpToRowItem(rowItem, timepoints, childToolKey); - }, - - 'click .js-rename'(event, instance) { - const rowItem = instance.data.rowItem; - const entry = rowItem.entries[0]; - - // Show the measure flow for targets - OHIF.measurements.toggleLabelButton({ - measurement: entry, - element: document.body, - measurementApi: instance.data.measurementApi, - position: { - x: event.clientX, - y: event.clientY - }, - autoClick: true - }); - }, - - 'click .js-delete'(event, instance) { - const dialogSettings = { - class: 'themed', - title: 'Delete measurements', - message: 'Are you sure you want to delete the measurement across all timepoints?', - position: { - x: event.clientX, - y: event.clientY - } - }; - - OHIF.ui.showDialog('dialogConfirm', dialogSettings).then(formData => { - const measurementTypeId = instance.data.rowItem.measurementTypeId; - const measurement = instance.data.rowItem.entries[0]; - const measurementNumber = measurement.measurementNumber; - const { timepointApi, measurementApi } = instance.data; - - // Remove all the measurements with the given type and number - measurementApi.deleteMeasurements(measurementTypeId, { measurementNumber }); - - // Sync the new measurement data with cornerstone tools - const baseline = timepointApi.baseline(); - measurementApi.sortMeasurements(baseline.timepointId); - - // Repaint the images on all viewports without the removed measurements - _.each($('.imageViewerViewport'), element => cornerstone.updateImage(element)); - - // Notify that viewer suffered changes - OHIF.measurements.triggerTimepointUnsavedChanges('deleted'); - }); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableRow/measurementTableRow.styl b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableRow/measurementTableRow.styl deleted file mode 100644 index 0e1dd01d5..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableRow/measurementTableRow.styl +++ /dev/null @@ -1,123 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.measurementTableRow - display: flex - margin-left: -6px - margin-top: 2px - padding-left: 6px - // required transformation to make inner fixed elements relative to this one - transform(scale(1)) - width: calc(100% + 6px) - - &.active - - .measurementRowSidebar - theme('color', '$activeColor') - - .rowOptions - height: 35px - visibility: visible - - &.response-status .measurementRowSidebar .response-status-icon - theme('background-color', '$defaultColor') - theme('color', '$uiGray') - border-radius: 11px - font-size: 12px - font-weight: 700 - height: 21px - line-height: 22px - margin: 5px auto 0 - text-align: center - width: 21px - - &.warning .measurementRowSidebar - theme('background-color', '$uiYellow') - theme('color', '$textPrimaryColor') - - .warning-icon, svg - width: 22px - height: 20px - pointer-events: inherit - - .warning-icon - margin: 7px auto 0 - - svg - theme('fill', '$textPrimaryColor') - - .rowOptions - theme('background-color', '$uiGrayDarker') - height: 0 - overflow: hidden - transition(all 0.3s ease) - visibility: hidden - - .rowAction - theme('color', '$defaultColor') - cursor: pointer - line-height: 35px - transition(all 0.3s ease) - - &:hover, &:active - theme('color', '$textPrimaryColor') - - svg - theme('fill', '$textPrimaryColor') - theme('stroke', '$textPrimaryColor') - - svg - theme('fill', '$defaultColor') - theme('stroke', '$defaultColor') - transition(all 0.3s ease) - - &.edit-icon - width: 14px - height: 13px - - &.close-icon - width: 11px - height: 11px - - .measurementRowSidebar - theme('background', '$uiGray') - theme('color', '$textSecondaryColor') - cursor: pointer - flex: 1 - max-width: 30px - transition(all 0.3s ease) - - .measurementNumber - font-size: 14px - font-weight: 400 - margin-right: 5px - padding-top: 10px - text-align: center - - .measurementDetails - flex: 1 - padding: 5px 2px 0 0 - - &>* - padding-left: 14px - - .location - font-weight: 400 - font-size: 14px - theme('color', '$textSecondaryColor') - height: 30px - line-height: 30px - margin-left: -2px - width: 100% - - .timepointData - display: flex - min-height: 27px - margin-top: 1px - - div - flex: 1 - font-size: 14px - font-weight: 400 - justify-content: space-around - line-height: 18px - padding-bottom: 4px diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointCell/measurementTableTimepointCell.html b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointCell/measurementTableTimepointCell.html deleted file mode 100644 index b7ebd029b..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointCell/measurementTableTimepointCell.html +++ /dev/null @@ -1,12 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointCell/measurementTableTimepointCell.js b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointCell/measurementTableTimepointCell.js deleted file mode 100644 index 9b33726e3..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointCell/measurementTableTimepointCell.js +++ /dev/null @@ -1,127 +0,0 @@ -import { Template } from 'meteor/templating'; -import _ from 'underscore'; -import $ from 'jquery'; -import { OHIF } from 'ohif-core'; -import { cornerstone } from 'meteor/ohif:cornerstone'; - -Template.measurementTableTimepointCell.helpers({ - hasDataAtThisTimepoint() { - // This simple function just checks whether or not timepoint data - // exists for this Measurement at this Timepoint - const instance = Template.instance(); - const { rowItem, timepointId } = instance.data; - - if (timepointId) { - const dataAtThisTimepoint = _.where(rowItem.entries, { timepointId }); - return dataAtThisTimepoint.length > 0; - } else { - return rowItem.entries.length > 0; - } - }, - - displayData() { - const instance = Template.instance(); - const { rowItem, timepointId } = instance.data; - - let data; - if (timepointId) { - const dataAtThisTimepoint = _.where(rowItem.entries, { timepointId }); - if (dataAtThisTimepoint.length > 1) { - throw 'More than one measurement was found at the same timepoint with the same measurement number?'; - } - - data = dataAtThisTimepoint[0]; - } else { - data = rowItem.entries[0]; - } - - const config = OHIF.measurements.MeasurementApi.getConfiguration(); - const measurementTools = config.measurementTools; - - const toolGroup = _.findWhere(measurementTools, { id: rowItem.measurementTypeId }); - const tool = _.findWhere(toolGroup.childTools, { id: data.toolType }); - if (!tool) { - // TODO: Figure out what is going on here? - OHIF.log.warn('Something went wrong?'); - } - - const { displayFunction } = tool.options.measurementTable; - return displayFunction(data); - }, - - isLoading() { - const instance = Template.instance(); - const { rowItem, timepointId } = instance.data; - const { entries } = rowItem; - const measurementData = timepointId ? _.findWhere(entries, { timepointId }) : entries[0]; - const { studyInstanceUid } = measurementData; - return OHIF.studies.loadingDict.get(studyInstanceUid) === 'loading'; - } -}); - -Template.measurementTableTimepointCell.events({ - 'dblclick .measurementTableTimepointCell'(event, instance) { - const { rowItem, timepointId } = instance.data; - if (!timepointId) return; - - const measurementData = _.findWhere(rowItem.entries, { timepointId }); - if (!measurementData || measurementData.toolType !== 'nonTarget') return; - - const viewportIndex = rowItem.entries.indexOf(measurementData); - const $viewports = $('#viewer .imageViewerViewport'); - let $element = $viewports.eq(viewportIndex); - $element = $element.length ? $element : $viewports.eq(0); - - OHIF.ui.showDialog('dialogNonTargetMeasurement', { - event, - title: 'Change Lesion Location', - element: $element[0], - measurementData, - edit: true - }); - }, - - 'keydown .measurementTableTimepointCell'(event, instance) { - // Delete a lesion if Ctrl+D or DELETE is pressed while a lesion is selected - const keys = { - D: 68, - DELETE: 46 - }; - const keyCode = event.which; - - if (keyCode === keys.DELETE || keyCode === keys.BACKSPACE || (keyCode === keys.D && event.ctrlKey === true)) { - const timepointId = instance.data.timepointId; - - const offset = $(event.currentTarget).offset(); - const dialogSettings = { - class: 'themed', - title: 'Delete measurements', - message: 'Are you sure you want to delete this measurement?', - position: { - x: offset.left, - y: offset.top - } - }; - - OHIF.ui.showDialog('dialogConfirm', dialogSettings).then(() => { - const measurementTypeId = instance.data.rowItem.measurementTypeId; - const measurement = instance.data.rowItem.entries[0]; - const measurementNumber = measurement.measurementNumber; - const { timepointApi, measurementApi } = instance.data; - - // Remove all the measurements with the given type and number - measurementApi.deleteMeasurements(measurementTypeId, { - measurementNumber, - timepointId - }); - - // Sync the new measurement data with cornerstone tools - const baseline = timepointApi.baseline(); - measurementApi.sortMeasurements(baseline.timepointId); - - // Repaint the images on all viewports without the removed measurements - _.each($('.imageViewerViewport'), element => cornerstone.updateImage(element)); - }); - } - } -}); diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointCell/measurementTableTimepointCell.styl b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointCell/measurementTableTimepointCell.styl deleted file mode 100644 index ce5a0b398..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointCell/measurementTableTimepointCell.styl +++ /dev/null @@ -1,26 +0,0 @@ -@require '{ohif:viewerbase}/app' - -.measurementTableTimepointCell - theme('border-left', '%s solid $uiBorderColor' % $uiBorderThickness) - cursor: pointer - padding: 0 10px - position: relative - - .loading-spinner - display: none - font-size: 16px - position: absolute - right: 5px - top: 3px - - span - display: block - - &.loading .loading-spinner - display: block - - &, span - theme('color', '$textPrimaryColor') - - &:hover, span:hover - theme('color', '$activeColor') diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointHeader/measurementTableTimepointHeader.html b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointHeader/measurementTableTimepointHeader.html deleted file mode 100644 index cace4891c..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointHeader/measurementTableTimepointHeader.html +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointHeader/measurementTableTimepointHeader.js b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointHeader/measurementTableTimepointHeader.js deleted file mode 100644 index cb5c660bd..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointHeader/measurementTableTimepointHeader.js +++ /dev/null @@ -1,7 +0,0 @@ -import { Template } from 'meteor/templating'; - -Template.measurementTableTimepointHeader.helpers({ - timepointName(timepoint) { - return Template.instance().data.timepointApi.name(timepoint); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointHeader/measurementTableTimepointHeader.styl b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointHeader/measurementTableTimepointHeader.styl deleted file mode 100644 index 5d96c71dd..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableTimepointHeader/measurementTableTimepointHeader.styl +++ /dev/null @@ -1,29 +0,0 @@ -@require '{ohif:viewerbase}/app' - -.measurementTableTimepointHeader - flex: 1 - justify-content: space-around - padding-top: 2px - position: relative - - .timepointName, .timepointDate - theme('border-left', '%s solid $uiBorderColor' % $uiBorderThickness) - font-weight: 400 - padding-left: 12px - text-align: left - - .timepointName - theme('color', '$textSecondaryColor') - font-size: 12px - line-height: 12px - - .timepointDate - theme('color', '$textPrimaryColor') - font-size: 14px - line-height: 20px - padding-bottom: 6px - - .case-progress-container - position: absolute - right: 4px - top: 0 diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableView/measurementTableView.html b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableView/measurementTableView.html deleted file mode 100644 index 7757212fb..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableView/measurementTableView.html +++ /dev/null @@ -1,39 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableView/measurementTableView.js b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableView/measurementTableView.js deleted file mode 100644 index 0a141506f..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableView/measurementTableView.js +++ /dev/null @@ -1,94 +0,0 @@ -import { Template } from 'meteor/templating'; -import { Tracker } from 'meteor/tracker'; -import { ReactiveVar } from 'meteor/reactive-var'; -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; - -Template.measurementTableView.onCreated(() => { - const instance = Template.instance(); - const { measurementApi, timepointApi } = instance.data; - - instance.data.measurementGroups = new ReactiveVar(); - - Tracker.autorun(() => { - measurementApi.changeObserver.depend(); - const data = OHIF.measurements.getMeasurementsGroupedByNumber(measurementApi, timepointApi); - instance.data.measurementGroups.set(data); - }); -}); - -Template.measurementTableView.events({ - 'click .js-pdf'(event, instance) { - const { measurementApi, timepointApi } = instance.data; - OHIF.measurements.exportPdf(measurementApi, timepointApi); - } -}); - -Template.measurementTableView.helpers({ - hasMeasurements(toolGroupId) { - const instance = Template.instance(); - const groups = instance.data.measurementGroups.get(); - - if (!groups) { - return false; - } - - const group = _.find(groups, item => item.toolGroup.id === toolGroupId); - return group && !!group.measurementRows.length; - }, - - getNewLesionsToolGroup(newLesionGroup) { - const configuration = OHIF.measurements.MeasurementApi.getConfiguration(); - const toolGroup = _.findWhere(configuration.measurementTools, { id: newLesionGroup.toolGroupId }); - - return { - id: newLesionGroup.id, - name: newLesionGroup.name, - childTools: toolGroup.childTools, - measurementTypeId: toolGroup.id - }; - }, - - newLesionsMeasurements(toolGroup) { - const { measurementApi, timepointApi } = Template.instance().data; - const current = timepointApi.current(); - const baseline = timepointApi.baseline(); - - if (!measurementApi || !timepointApi || !current || !baseline) return; - - // If this is a baseline, stop here since there are no new measurements to display - if (!current || current.timepointType === 'baseline') { - OHIF.log.info('Skipping New Measurements section'); - return; - } - - // Retrieve all the data for this Measurement type (e.g. 'targets') - // which was recorded at baseline. - const measurementTypeId = toolGroup.measurementTypeId; - const atBaseline = measurementApi.fetch(measurementTypeId, { - timepointId: baseline.timepointId - }); - - // Obtain a list of the Measurement Numbers from the - // measurements which have baseline data - const numbers = atBaseline.map(m => m.measurementNumber); - - // Retrieve all the data for this Measurement type which - // do NOT match the Measurement Numbers obtained above - const data = measurementApi.fetch(measurementTypeId, { - measurementNumber: { $nin: numbers } - }); - - // Group the Measurements by Measurement Number - const groupObject = _.groupBy(data, entry => entry.measurementNumber); - - // Reformat the data for display in the table - return Object.keys(groupObject).map(key => ({ - measurementTypeId: measurementTypeId, - measurementNumber: key, - location: OHIF.measurements.getLocation(groupObject[key]), - responseStatus: false, // TODO: Get the latest timepoint and determine the response status - entries: groupObject[key] - })); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableView/measurementTableView.styl b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableView/measurementTableView.styl deleted file mode 100644 index 7e19953e3..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableView/measurementTableView.styl +++ /dev/null @@ -1,15 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.measurementTableView - - .report-area - theme('background-color', '$uiGrayDarker') - margin-top: 2px - padding: 10px 0 - - .btn.js-pdf - theme('background-color', '$activeColor') - theme('border', '1px solid $uiBorderColorActive') - color: #000 - display: table - margin: 0 auto diff --git a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableWarnings/measurementTableWarningsDialog.html b/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableWarnings/measurementTableWarningsDialog.html deleted file mode 100644 index 62f37518e..000000000 --- a/Packages/ohif-viewerbase/client/components/measurements/measurementTable/measurementTableWarnings/measurementTableWarningsDialog.html +++ /dev/null @@ -1,9 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/selectTree/index.js b/Packages/ohif-viewerbase/client/components/selectTree/index.js deleted file mode 100644 index ba90b4d4b..000000000 --- a/Packages/ohif-viewerbase/client/components/selectTree/index.js +++ /dev/null @@ -1,8 +0,0 @@ -// selectTree -import './selectTree/selectTree.html'; -import './selectTree/selectTree.styl'; -import './selectTree/selectTree.js'; - -// selectTreeCommon -import './selectTreeCommon/selectTreeCommon.html'; -import './selectTreeCommon/selectTreeCommon.js'; diff --git a/Packages/ohif-viewerbase/client/components/selectTree/mixin.js b/Packages/ohif-viewerbase/client/components/selectTree/mixin.js deleted file mode 100644 index 5a75ea4ed..000000000 --- a/Packages/ohif-viewerbase/client/components/selectTree/mixin.js +++ /dev/null @@ -1,91 +0,0 @@ -import { OHIF } from 'ohif-core'; -import { Template } from 'meteor/templating'; -import { ReactiveVar } from 'meteor/reactive-var'; -import _ from 'underscore'; - -/* - * input: controls a tree selection component - */ -OHIF.mixins.selectTree = new OHIF.Mixin({ - dependencies: 'group', - composition: { - onCreated() { - const instance = Template.instance(); - const component = instance.component; - const rootComponent = instance.data.root || component; - const rootInstance = rootComponent.templateInstance; - - // Store the component's current value - instance.currentValue = null; - - // Create the component's value storage property - instance.data.currentNode = new ReactiveVar(null); - - // Share the component in data property - instance.data.component = component; - - // Override the default value method - component.value = value => { - const isGet = _.isUndefined(value); - - // Return the current value - if (isGet) { - return component.parseData(rootInstance.currentValue); - } - - // Change the current value - rootInstance.currentValue = value; - - // Trigger the change event - component.$element.trigger('change'); - }; - - // Method to manipulate nodes - component.node = node => { - const isGet = _.isUndefined(node); - - // Return the current node - if (isGet) { - const currentNode = instance.data.currentNode.get(); - return currentNode ? currentNode.value : null; - } - - // get the items array - const items = component.templateInstance.data.items; - - // Get the node for the selected value - const currentNode = _.findWhere(items, { - value: node - }); - - // Change the current node - instance.data.currentNode.set(currentNode); - }; - - // Return plain data for all the leaves inside current node - component.getLeaves = () => { - const recursiveSeek = (items, result=[]) => { - _.each(items, item => { - if (item.items) { - recursiveSeek(item.items, result); - } else { - result.push(item); - } - }); - return result; - }; - - return recursiveSeek(instance.data.items); - }; - - }, - - onRendered() { - const instance = Template.instance(); - const component = instance.component; - - // Define the main element - component.$element = instance.$('.select-tree:first').first(); - } - } -}); diff --git a/Packages/ohif-viewerbase/client/components/selectTree/selectTree/selectTree.html b/Packages/ohif-viewerbase/client/components/selectTree/selectTree/selectTree.html deleted file mode 100644 index f0cf042b3..000000000 --- a/Packages/ohif-viewerbase/client/components/selectTree/selectTree/selectTree.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - diff --git a/Packages/ohif-viewerbase/client/components/selectTree/selectTree/selectTree.js b/Packages/ohif-viewerbase/client/components/selectTree/selectTree/selectTree.js deleted file mode 100644 index b637a627d..000000000 --- a/Packages/ohif-viewerbase/client/components/selectTree/selectTree/selectTree.js +++ /dev/null @@ -1,394 +0,0 @@ -import { OHIF } from 'ohif-core'; -import { Meteor } from 'meteor/meteor'; -import { Template } from 'meteor/templating'; -import { Tracker } from 'meteor/tracker'; -import { ReactiveVar } from 'meteor/reactive-var'; -import _ from 'underscore'; -import $ from 'jquery'; - -// TODO: use npm dependency -import transition from 'ohif-core/client/lib/third-party/transition-to-from-auto'; - -Template.selectTree.onCreated(() => { - const instance = Template.instance(); - - // Return the common items - instance.getCommonItems = () => { - const instance = Template.instance(); - - // Return the common items if given - if (instance.data.commonItems) { - return instance.data.commonItems; - } - - // Get all the tree leaves - const leaves = instance.data.component.getLeaves(); - - // Generate an object with encoded keys from the tree leaves - const leavesObject = {}; - _.each(leaves, leaf => { - leavesObject[OHIF.string.encodeId(leaf.value)] = leaf; - }); - - // Get the current items ranking - const ranking = OHIF.user.getData(instance.data.storageKey); - - // Sort the items based on how many times each one was used - const sorted = []; - _.each(ranking, (count, key) => sorted.push([key, count])); - sorted.sort((a, b) => b[1] - a[1]); - - // Create the result and push every item respecting the ranking order - const result = []; - _.each(sorted, item => { - const current = leavesObject[item[0]]; - if (current) { - result.push(current); - } - }); - - // Return the resulting array - return result; - }; - - // Create a reactive variable to control the search - instance.searchTerm = new ReactiveVar(''); -}); - -Template.selectTree.onRendered(() => { - const instance = Template.instance(); - const component = instance.$('.select-tree:first').data('component'); - const rootComponent = instance.data.root || component; - const rootInstance = rootComponent.templateInstance; - const $treeRoot = rootInstance.$('.select-tree-root:first').first(); - - instance.component = component; - - // Force to hardware acceleration to move element if browser supports translate property - instance.useTransform = OHIF.ui.styleProperty.check('transform', 'translate(1px, 1px)'); - - // Set the margin property and width - const isthreeColumns = instance.data.threeColumns; - if (!rootInstance.marginProperty) { - rootInstance.marginProperty = isthreeColumns ? 'margin-left' : 'margin-right'; - rootInstance.marginWidth = isthreeColumns ? $treeRoot.width() / 2 : $treeRoot.width(); - } - - // Define a function to set the margin and toggle common section - instance.setMargin = isHidden => { - const marginWidth = isHidden ? '' : rootInstance.marginWidth; - $treeRoot.children('.tree-content').css(rootInstance.marginProperty, marginWidth); - }; - - // Set the margin to display the common section - if (!$treeRoot.hasClass('started')) { - instance.setMargin(false); - } - - // Make the component respect the window boundaries - if (rootComponent === component) { - $treeRoot.bounded(); - } - - // Check if the component will be rendered on a specific position - const position = instance.data.position; - if (component === rootComponent && position) { - // Get the dimensions and move it with the given position as its center - const width = $treeRoot.outerWidth(); - const height = $treeRoot.outerHeight(); - position.left -= Math.round(width / 2); - position.top -= Math.round(height / 2); - - // Change the component's position and trigger the bounded event - $treeRoot.css(_.extend({}, position, { - position: 'fixed' - })).trigger('spatialChanged'); - } - - Meteor.defer(() => { - // Start the component transitions - $treeRoot.addClass('started'); - - // Focus the search box - $treeRoot.find('.tree-search input').focus(); - }); - - // Update the component's viewport height - instance.updateHeight = _.throttle(searchTerm => { - let height; - - // Check if there's a search term - if (searchTerm) { - // Set the viewport height as same as listed options height - height = rootInstance.$('.tree-inputs').height(); - } else { - // Set the viewport height as same as selected node's options height - height = rootInstance.$('.tree-options:last').data('height'); - } - - // Update the viewport's height - rootInstance.$('.tree-options:first').first().height(height); - }, 100, { trailing: false }); - - // Update the opened node - instance.updateOpen = () => { - rootInstance.$('.select-tree').removeClass('open'); - rootInstance.$('.select-tree:last').addClass('open'); - }; - - // Put the component in selected state - instance.setSelected = (flag) => { - if (flag) { - $treeRoot.addClass('selected'); - } else { - $treeRoot.removeClass('selected'); - } - }; - - // Store the element's initial height - const $treeOptions = instance.$('.tree-options:first').first(); - const height = $treeOptions.height(); - $treeOptions.data('height', height); - - $treeOptions.off('transitionend').on('transitionend', event => { - if (event.target !== event.currentTarget) return; - $treeRoot.trigger('spatialChanged'); - }); - - instance.autorun(() => { - // Run this computation everytime the current node is changed - instance.data.currentNode.dep.depend(); - - // Run this computation everytime the search term is changed - const searchTerm = instance.searchTerm.get(); - - // Clean the current node selection if the user started the search - if (searchTerm) { - rootInstance.data.currentNode.set(null); - } - - // Update the viewport height - Tracker.afterFlush(() => { - instance.updateHeight(searchTerm); - instance.updateOpen(); - }); - }); - - const selector = '.select-tree:first>.tree-content>.tree-options>.tree-breadcrumb .path-link'; - instance.$(selector).css('width', 0).each((index, element) => { - transition({ - element: element, - prop: 'width', - style: 'width 0.3s ease', - val: 'auto' - }); - }); -}); - -Template.selectTree.events({ - 'input .tree-search input'(event, instance) { - const $target = $(event.currentTarget); - // Get the tree root - const $treeRoot = $target.closest('.select-tree-root'); - - // Get the search term - const searchTerm = $target.val(); - - // Change the search term to update the tree items - instance.searchTerm.set(searchTerm); - - // Change the component state - const method = searchTerm ? 'addClass' : 'removeClass'; - $treeRoot[method]('navigated'); - instance.setMargin(!!searchTerm); - }, - - 'keydown .tree-search input'(event, instance) { - // Get the search term - const searchTerm = $(event.currentTarget).val().trim(); - - const $labels = instance.$('.tree-inputs:first>label'); - - // Select the label if ENTER was pressed and there is only one result - if (searchTerm.length && $labels.length === 1 && event.which === 13) { - $labels.find('input').click(); - } - }, - - 'change .select-tree:first>.tree-content>.tree-options>.tree-inputs>label>input'(event, instance) { - const component = instance.component; - const $target = $(event.currentTarget); - const $treeRoot = $target.closest('.select-tree-root'); - const $label = $target.closest('label'); - const eventComponent = $target.data('component'); - const rootComponent = instance.data.root || component; - const rootInstance = rootComponent.templateInstance; - const offsetTop = $target.closest('.wrapperLabel').offset().top; - - // Change the component's node - component.node(eventComponent.value()); - - // Unset the active leaf - rootInstance.$('label').removeClass('active').css('width', ''); - - // Unset the selected state - instance.setSelected(false); - - // Detect the first interaction with the component and do the animation - instance.setMargin(true); - $treeRoot.addClass('navigated'); - - // Check if the clicked element is a node or a leaf - const isLeaf = $label.hasClass('tree-leaf'); - if (isLeaf) { - // Change the active item - $label.css('width', $label.outerWidth()).addClass('active'); - - // Ckeck if there's a storageKey defined - const storageKey = instance.data.storageKey; - if (storageKey) { - // Get the current stored data - const storedData = _.extend({}, OHIF.user.getData(storageKey)); - - // Increment or create a counter for the clicked leaf - const itemKey = OHIF.string.encodeId($target.val()); - if (storedData[itemKey]) { - storedData[itemKey]++; - } else { - storedData[itemKey] = 1; - } - - // Update the stored data with the new count - OHIF.user.setData(storageKey, storedData); - } - - // Set the selected leaf value in the root component - const itemData = $target.data('component').templateInstance.data.itemData; - rootComponent.value(itemData); - - // Mark the component as selected - instance.setSelected(true); - } else { - // Get the position of the clicked element - const position = $label.position(); - - const getPosition = $element => { - if (instance.useTransform) { - const matrixToArray = str => str.match(/(-?[0-9\.]+)/g); - const transformMatrix = matrixToArray($element.css('transform')) || []; - return { - x: parseFloat(transformMatrix[4]) || 0, - y: parseFloat(transformMatrix[5]) || 0 - }; - } else { - return { - x: parseFloat($element.css('left')), - y: parseFloat($element.css('top')) - }; - } - }; - - const setPosition = ($element, position) => { - if (instance.useTransform) { - const translation = `translate(${position.x}px, ${position.y}px)`; - OHIF.ui.styleProperty.set($element[0], 'transform', translation); - } else { - $element.css('left', `${position.x}px`); - $element.css('top', `${position.y}px`); - } - }; - - Meteor.defer(() => { - const $treeNode = $label.parent().siblings('.select-tree'); - - // Do the transition from the clicked position to top - $treeNode.css(position); - setTimeout(() => $treeNode.css('top', 0)); - - const optionsTop = $target.closest('.tree-options').position().top; - const treeOffsetTop = $treeRoot.offset().top; - const treeRootPosition = getPosition($treeRoot); - treeRootPosition.y += offsetTop - treeOffsetTop - optionsTop; - setPosition($treeRoot, treeRootPosition); - }); - } - }, - - 'click .select-tree:first>.tree-content>.tree-options>.tree-breadcrumb .tree-back'(event, instance) { - const $target = $(event.currentTarget); - const rootComponent = instance.data.root || instance.component; - const rootInstance = rootComponent.templateInstance; - - // Prevent the default element action - event.preventDefault(); - - // Reset the checked inputs to unchecked state - rootInstance.$('input').removeAttr('checked'); - - // Unset the selected state - instance.setSelected(false); - instance.setMargin(false); - $target.closest('.select-tree-root').removeClass('navigated'); - - // Get the index of the breadcrumb's clicked option - const index = parseInt($target.attr('data-index')); - - // Set the current instance - let currentInstance = instance.component.parent.templateInstance; - - // Iterate over all parents until gets into the clicked node - for (let i = 1; i <= index; i++) { - // Unset the selected node - currentInstance.data.currentNode.set(null); - - // Check if it's not the root node - if (i < index) { - // Change the current instance - currentInstance = currentInstance.component.parent.templateInstance; - } - } - } -}); - -Template.selectTree.helpers({ - treeItems() { - const instance = Template.instance(); - - // Run this computation everytime the search term is changed - const searchTerm = instance.searchTerm.get(); - - // Get all the items - let items = instance.data.items; - - // Check if the search term was informed - if (searchTerm) { - // Search the items by the give search term - items = OHIF.string.search(items, searchTerm, 'label'); - - // Filter only the tree leaves - items = _.filter(items, item => !item.items); - } else if (instance.data.hideCommon) { - // Get the values of common items - const commonValues = _.pluck(instance.getCommonItems(), 'value'); - - // Filter only the items that are not common - items = _.filter(items, item => !_.contains(commonValues, item.value)); - } - - // Return the items sorted for tree columns - if (instance.data.threeColumns) { - const begin = items.splice(0, Math.ceil(items.length / 2)); - const sortedItems = []; - _.each(begin, (item, index) => { - sortedItems.push(item); - if (items[index]) { - sortedItems.push(items[index]); - } - }); - items = sortedItems; - } - - // Return the tree items - return items; - } -}); diff --git a/Packages/ohif-viewerbase/client/components/selectTree/selectTree/selectTree.styl b/Packages/ohif-viewerbase/client/components/selectTree/selectTree/selectTree.styl deleted file mode 100644 index e561b8bf7..000000000 --- a/Packages/ohif-viewerbase/client/components/selectTree/selectTree/selectTree.styl +++ /dev/null @@ -1,264 +0,0 @@ -@import "{ohif:viewerbase}/app" - -// TODO: [design] can't we use colors that are already in common pallete? -$gray1 = #A3A3A3 -$gray2 = #A0A0A0 -$gray3 = #C4C4C4 -$gray4 = #C0C0C0 -$gray5 = #9B9B9B -$gray6 = #303030 - -.select-tree-root - - .tree-content - background-color: white - position: relative - transition(transform 0.3s ease\, background-color 0.3s ease\, border-color 0.3s ease\, border-radius 0.3s ease\, margin-right 0.3s ease) - - .tree-search - a.tree-back - .tree-breadcrumb span - .tree-node - .tree-leaf - transition(all 0.3s ease) - - &.selected - - label.tree-leaf.active - box-shadow: 0 0 0 10px white, inset 0 0 0 200px white - - .tree-content - background-color: transparent - - &>.tree-content - border-color: transparent - border-radius: 0 - - .tree-search - background-color: transparent - border-color: transparent - color: transparent - - input, - i - opacity: 0 - - &, .select-tree - - &:not(.open)>.tree-content - - &>.tree-inputs - &>.tree-breadcrumb - display: none - - &>.tree-content>.tree-options - - &>.tree-inputs>label:not(.active) - &>.tree-breadcrumb a - &>.tree-breadcrumb span - color: transparent - - &>.tree-inputs>label.tree-node:not(.active) - border-color: transparent - - &.common-clicked .tree-leaf.active - background-color: transparent - box-shadow: none - color: transparent - -.select-tree-root - display: inline-block - position: relative - z-index: 0 - - &>.tree-content - border: 1px solid $gray3 - border-radius: 5px - overflow: hidden - - &>.tree-content>.tree-options - transform(scale(1)) - transition(height 0.3s ease) - - .tree-search - background-color: $gray4 - border-bottom: 1px solid $gray3 - color: $gray6 - display: flex - margin: 0 - padding: 5px - position: relative - text-align: center - - span - font-weight: bold - line-height: 24px - - input - border-color: $gray5 - font-weight: normal - padding-left: 34px - transition(opacity 0.3s ease) - - & ~ i - color: $gray1 - font-size: 18px - left: 16px - position: absolute - top: 37px - transition(opacity 0.3s ease) - - .tree-breadcrumb - line-height: 32px - padding: 5px 12px - - .path-link, .tree-current-node - display: inline-block - font-weight: normal - float: left - overflow: hidden - text-overflow: ellipsis - white-space: nowrap - - i - margin-right: 5px - - .select-tree-node - left: 0 - overflow: hidden - position: fixed - width: 100% - z-index: 2 - - & - .tree-content - .tree-inputs - height: 100% - - .tree-options - overflow: hidden - position: relative - z-index: 2 - - .tree-node, .tree-leaf - cursor: pointer - display: block - font-weight: normal - margin-bottom: 0 - padding: 0 12px - position: relative - z-index: 1 - - &>input - display: none - - .tree-node - height: 41px - border-bottom: 1px solid $gray3 - border-top: 1px solid $gray3 - line-height: 41px - margin-top: -1px - - &:last-child - border-bottom: 0 - - .tree-leaf - box-shadow: 0 0 0 200px transparent, inset 0 0 0 200px transparent - line-height: 26px - - &.active - box-shadow: 0 0 0 200px white, inset 0 0 0 200px white - transition(box-shadow 0.3s ease) - z-index: 0 - - &:last-child:after - display: block - content: '' - height: 10px - - &.collapsed - z-index: 1 - - .select-tree-common - height: 100% - padding-left: 6px - position: absolute - right: 0 - top: 0 - width: 50% - - .content - background-color: $gray6 - border: 1px solid $gray5 - border-radius: 5px - color: white - opacity: 0.9 - padding: 0 15px 12px - position: absolute - top: 50% - transform(translateY(-50%)) - width: calc(100% - 6px) - - h5.title - color: $gray5 - font-weight: normal - line-height: 20px - margin: 12px 0 16px - - div.labels - position: relative - - label - cursor: pointer - display: block - font-weight: 300 - line-height: 26px - margin: 0 - padding-left: 3px - transition(padding 0.3s ease) - - &:hover - padding-left: 0 - -.select-tree-root - - &>.tree-content - transform(scale(0)) - transform-origin(100% 50%) - - .select-tree-common - z-index: -1 - - .content - margin-left: calc(-100% - 6px) - transform(scale(0)) - transition(margin-left 0.3s ease 0.3s\, transform 0s linear 0.3s) - - &.started - - &>.tree-content - transform(scale(1)) - - .select-tree-common - - .content - margin-left: 0 - transform(scale(1) translateY(-50%)) - - &.navigated, &.selected - - .select-tree-common - - .content - opacity: 0 - transform(translateX(-100%) scale(0)) - transition(transform 0.3s ease\, opacity 0.3s ease) - -@keyframes selectTreeCommonOverflow { - from { - overflow: hidden - } - to { - overflow: visible - } -} diff --git a/Packages/ohif-viewerbase/client/components/selectTree/selectTreeCommon/selectTreeCommon.html b/Packages/ohif-viewerbase/client/components/selectTree/selectTreeCommon/selectTreeCommon.html deleted file mode 100644 index 073ecde71..000000000 --- a/Packages/ohif-viewerbase/client/components/selectTree/selectTreeCommon/selectTreeCommon.html +++ /dev/null @@ -1,12 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/selectTree/selectTreeCommon/selectTreeCommon.js b/Packages/ohif-viewerbase/client/components/selectTree/selectTreeCommon/selectTreeCommon.js deleted file mode 100644 index 52089f3e6..000000000 --- a/Packages/ohif-viewerbase/client/components/selectTree/selectTreeCommon/selectTreeCommon.js +++ /dev/null @@ -1,44 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Template } from 'meteor/templating'; -import { Tracker } from 'meteor/tracker'; - -Template.selectTreeCommon.events({ - 'click .select-tree-common label'(event, instance) { - event.preventDefault(); - - // Get the clicked label - const $target = $(event.currentTarget); - - // Store the offset position for further use - $target.data('offset', $target.offset()); - - // Build the input selector based on the label target - const inputSelector = '#' + $target.attr('for'); - - // Get the tree instance - const treeInstance = instance.data.treeInstance; - - // Check if the input is not rendered - if (!$(inputSelector).length) { - // Change the search terms with the clicked label string - - treeInstance.$('.tree-search input').val($target.text()).trigger('input'); - // Wait for options rerendering - - Tracker.afterFlush(() => { - const $treeRoot = treeInstance.$('.select-tree-root:first').first(); - $treeRoot.addClass('common-clicked'); - - // Wait for components initialization - Meteor.defer(() => $(inputSelector).click()); - }); - } - } -}); - -Template.selectTreeCommon.helpers({ - // Get the common items - items() { - return Template.instance().data.treeInstance.getCommonItems(); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/serverInformation/index.js b/Packages/ohif-viewerbase/client/components/serverInformation/index.js deleted file mode 100644 index daf0893bf..000000000 --- a/Packages/ohif-viewerbase/client/components/serverInformation/index.js +++ /dev/null @@ -1,15 +0,0 @@ -import './serverInformationDicomWeb/serverInformationDicomWeb.html'; -import './serverInformationDicomWeb/serverInformationDicomWeb.js'; - -import './serverInformationDimse/serverInformationDimse.html'; -import './serverInformationDimse/serverInformationDimse.js'; - -import './serverInformationForm/serverInformationForm.html'; -import './serverInformationForm/serverInformationForm.js'; - -import './serverInformationList/serverInformationList.html'; -import './serverInformationList/serverInformationList.js'; - -/*import './serverInformationModal/serverInformationModal.html'; -import './serverInformationModal/serverInformationModal.styl'; -import './serverInformationModal/serverInformationModal.js';*/ \ No newline at end of file diff --git a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationDicomWeb/serverInformationDicomWeb.html b/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationDicomWeb/serverInformationDicomWeb.html deleted file mode 100644 index 97429706c..000000000 --- a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationDicomWeb/serverInformationDicomWeb.html +++ /dev/null @@ -1,57 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationDicomWeb/serverInformationDicomWeb.js b/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationDicomWeb/serverInformationDicomWeb.js deleted file mode 100644 index 25ff896eb..000000000 --- a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationDicomWeb/serverInformationDicomWeb.js +++ /dev/null @@ -1,12 +0,0 @@ -import { Template } from 'meteor/templating'; - -Template.serverInformationDicomWeb.onRendered(() => { - const instance = Template.instance(); - instance.autorun(function() { - const mode = instance.data.mode.get(); - if (mode === 'edit') { - const data = instance.data.currentItem.get(); - instance.data.form.value(data); - } - }); -}); diff --git a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationDimse/serverInformationDimse.html b/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationDimse/serverInformationDimse.html deleted file mode 100644 index 8555290e3..000000000 --- a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationDimse/serverInformationDimse.html +++ /dev/null @@ -1,60 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationDimse/serverInformationDimse.js b/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationDimse/serverInformationDimse.js deleted file mode 100644 index 9cdd94146..000000000 --- a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationDimse/serverInformationDimse.js +++ /dev/null @@ -1,44 +0,0 @@ -import { Template } from 'meteor/templating'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Tracker } from 'meteor/tracker'; -import _ from 'underscore'; - -Template.serverInformationDimse.onCreated(() => { - const instance = Template.instance(); - instance.peers = new ReactiveVar([]); - instance.autorun(() => { - const currentItem = instance.data.currentItem.get(); - if (currentItem) { - instance.peers.set(currentItem.peers || []); - } - }); - const api = instance.data.api; - _.extend(api, { - newPeer() { - const peers = instance.peers.get(); - peers.push({}); - instance.peers.set(peers); - }, - - removePeer(peerIndex) { - const peers = instance.peers.get(); - peers.splice(peerIndex, 1); - instance.peers.set(peers); - - const data = instance.data.currentItem.get(); - data.peers = peers; - Tracker.afterFlush(() => instance.data.form.value(data)); - } - }); -}); - -Template.serverInformationDimse.onRendered(() => { - const instance = Template.instance(); - instance.autorun(() => { - const mode = instance.data.mode.get(); - if (mode === 'edit') { - const data = instance.data.currentItem.get(); - instance.data.form.value(data); - } - }); -}); diff --git a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationForm/serverInformationForm.html b/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationForm/serverInformationForm.html deleted file mode 100644 index 43c201990..000000000 --- a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationForm/serverInformationForm.html +++ /dev/null @@ -1,27 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationForm/serverInformationForm.js b/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationForm/serverInformationForm.js deleted file mode 100644 index e68ea1540..000000000 --- a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationForm/serverInformationForm.js +++ /dev/null @@ -1,74 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Template } from 'meteor/templating'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { OHIF } from 'ohif-core'; -import { DICOMWebServer as dicomSchema } from 'meteor/ohif:servers/both/schema/servers.js'; -import { DIMSEServer as dimseSchema } from 'meteor/ohif:servers/both/schema/servers.js'; - -Template.serverInformationForm.onCreated(() => { - const instance = Template.instance(); - - instance.data.api = { - save() { - // Stop here if the form validation fails - if (!instance.data.form.validate()) { - return; - } - - // Get the current form data - const formData = instance.data.form.value(); - - // Call the save method - Meteor.call('serverSave', formData, function(error) { - if (error) { - // TODO: check for errors: not-authorized, data-write - OHIF.log.error(error); - } - - instance.data.resetState(); - }); - } - }; - - instance.currentSchema = new ReactiveVar(dicomSchema); -}); - -Template.serverInformationForm.onRendered(() => { - const instance = Template.instance(); - - instance.data.$form = instance.$('form').first(); - instance.data.form = instance.data.$form.data('component'); - - // Handle the server type - instance.autorun(() => { - // Get the server type component - const typeComponent = instance.$('[data-key=type] :input').data('component'); - - // Run this computation every time the user change the server type - typeComponent.depend(); - - // Get the current server type value - const type = typeComponent.value(); - - // Set the serverType reactive value - instance.data.serverType.set(type); - - // Change the schema based on the selected server type - if (type === 'dimse') { - instance.currentSchema.set(dimseSchema); - } else { - instance.currentSchema.set(dicomSchema); - } - }); - - // Handle the form mode (edit or add) - instance.autorun(() => { - const mode = instance.data.mode.get(); - - // Check if it is on edit mode and load the saved data - if (mode === 'edit') { - const data = instance.data.currentItem.get(); - instance.data.form.value(data); - } - }); -}); diff --git a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationList/serverInformationList.html b/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationList/serverInformationList.html deleted file mode 100644 index 97df57bac..000000000 --- a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationList/serverInformationList.html +++ /dev/null @@ -1,45 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationList/serverInformationList.js b/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationList/serverInformationList.js deleted file mode 100644 index cf75b906a..000000000 --- a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationList/serverInformationList.js +++ /dev/null @@ -1,54 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Template } from 'meteor/templating'; -import { Servers, CurrentServer } from 'meteor/ohif:servers/both/collections'; - -Template.serverInformationList.onCreated(() => { - const instance = Template.instance(); - - instance.api = { - add: () => instance.data.mode.set('create'), - - edit(server) { - instance.data.currentItem.set(server); - instance.data.mode.set('edit'); - }, - - delete(server) { - // TODO: Replace this for confirmation dialog after LT-refactor is merged back to master - if (!window.confirm('Are you sure you want to remove this peer?')) { - return; - } - - Meteor.call('serverRemove', server._id, error => { - // TODO: check for errors: data-write - }); - }, - - use(server) { - Meteor.call('serverSetActive', server._id, error => { - // TODO: check for errors: data-write - }); - } - }; -}); - -Template.serverInformationList.helpers({ - isActive: function(server) { - const currentServer = CurrentServer.findOne(); - if (!currentServer) { - return; - } - - return server._id === currentServer.serverId; - }, - servers: function() { - const options = { - sort: { - origin: -1, - type: 1, - name: 1 - } - }; - return Servers.find({}, options).fetch(); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationModal/serverInformationModal.html b/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationModal/serverInformationModal.html deleted file mode 100644 index a0533adae..000000000 --- a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationModal/serverInformationModal.html +++ /dev/null @@ -1,12 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationModal/serverInformationModal.js b/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationModal/serverInformationModal.js deleted file mode 100644 index e46d2c5f5..000000000 --- a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationModal/serverInformationModal.js +++ /dev/null @@ -1,23 +0,0 @@ -import { Template } from 'meteor/templating'; -import { ReactiveVar } from 'meteor/reactive-var'; - -Template.serverInformationModal.onCreated(function() { - const instance = Template.instance(); - instance.container = { - mode: new ReactiveVar('list'), - serverType: new ReactiveVar(null), - currentItem: new ReactiveVar(null), - $form: null, - resetState: function() { - instance.container.mode.set('list'); - instance.container.serverType.set(null); - instance.container.currentItem.set(null); - } - }; -}); - -Template.serverInformationModal.events({ - 'click .js-back'(event, instance) { - instance.container.resetState(); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationModal/serverInformationModal.styl b/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationModal/serverInformationModal.styl deleted file mode 100644 index a23a4a1ae..000000000 --- a/Packages/ohif-viewerbase/client/components/serverInformation/serverInformationModal/serverInformationModal.styl +++ /dev/null @@ -1,5 +0,0 @@ -.server-information-form - label.wrapper - display: block - .checkbox - margin: 0 8px 0 0 diff --git a/Packages/ohif-viewerbase/client/components/themeSelectorModal/index.js b/Packages/ohif-viewerbase/client/components/themeSelectorModal/index.js deleted file mode 100644 index f4bd17197..000000000 --- a/Packages/ohif-viewerbase/client/components/themeSelectorModal/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import './themeSelectorModal/themeSelectorModal.html'; -import './themeSelectorModal/themeSelectorModal.styl'; -import './themeSelectorModal/themeSelectorModal.js'; diff --git a/Packages/ohif-viewerbase/client/components/themeSelectorModal/themeSelectorModal.html b/Packages/ohif-viewerbase/client/components/themeSelectorModal/themeSelectorModal.html deleted file mode 100644 index b138941a2..000000000 --- a/Packages/ohif-viewerbase/client/components/themeSelectorModal/themeSelectorModal.html +++ /dev/null @@ -1,17 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/themeSelectorModal/themeSelectorModal.js b/Packages/ohif-viewerbase/client/components/themeSelectorModal/themeSelectorModal.js deleted file mode 100644 index 69986ff82..000000000 --- a/Packages/ohif-viewerbase/client/components/themeSelectorModal/themeSelectorModal.js +++ /dev/null @@ -1,80 +0,0 @@ -import { Template } from 'meteor/templating'; -import { ReactiveDict } from 'meteor/reactive-dict'; - -const DEFAULT_THEME = 'tide'; - -const getCurrentTheme = () => sessionStorage.getItem('theme'); - -const setActualTheme = theme => sessionStorage.setItem('theme', theme); - -const addThemeToBody = theme => document.body.classList.add('theme-' + theme); - -const removeThemesFromBody = () => { - const classList = document.body.classList; - - for (let i = classList.length - 1; i >= 0; i--) { - if (classList[i].search('theme-') !== -1) { - document.body.classList.remove(classList[i]); - } - } -}; - -Template.themeSelectorModal.onCreated(() => { - const instance = Template.instance(); - let currentTheme = getCurrentTheme(); - if (!currentTheme) { - currentTheme = DEFAULT_THEME; - setActualTheme(currentTheme); - } - - instance.state = new ReactiveDict(); - instance.state.set('selectedTheme', currentTheme); - - addThemeToBody(currentTheme); - - instance.container = { - currentTheme, - - previewTheme(theme, state) { - state.set('selectedTheme', theme); - removeThemesFromBody(); - addThemeToBody(theme); - }, - - applyTheme(state) { - setActualTheme(state.get('selectedTheme')); - }, - - resetState(state) { - const theme = getCurrentTheme(); - - state.set('selectedTheme', theme); - removeThemesFromBody(); - addThemeToBody(theme); - } - }; - - const { promise } = instance.data; - promise.then(() => instance.container.applyTheme(instance.state)); - promise.catch(() => instance.container.resetState(instance.state)); -}); - -Template.themeSelectorModal.helpers({ - themes: [ 'crickets', 'honeycomb', 'mint', 'overcast', 'quartz', 'tide', 'tigerlily' ], - - ucFirst(text) { - return text.charAt(0).toUpperCase() + text.slice(1); - }, - - printClassIfSelected(theme) { - const instance = Template.instance(); - - return theme === instance.state.get('selectedTheme') ? 'selected' : ''; - } -}); - -Template.themeSelectorModal.events({ - 'click .preview-theme'(event, instance) { - instance.container.previewTheme(event.currentTarget.dataset.theme, instance.state); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/themeSelectorModal/themeSelectorModal.styl b/Packages/ohif-viewerbase/client/components/themeSelectorModal/themeSelectorModal.styl deleted file mode 100644 index d509ebdf2..000000000 --- a/Packages/ohif-viewerbase/client/components/themeSelectorModal/themeSelectorModal.styl +++ /dev/null @@ -1,36 +0,0 @@ -@import "{ohif:viewerbase}/app.styl" - -#themeSelectorModal - .theme-list - list-style: none - padding: 0 - - li - display: inline-block - cursor: pointer - margin-right: 10px - margin-bottom: 10px - padding: 10px - width: 110px - theme('border', '1px solid $uiBorderColorDark') - - &:hover - background-color: rgba(21, 25, 30, 0.7) - - &:last-child - margin-right: 0 - - &.selected - theme('border', '3px solid $uiBorderColorActive') - padding: 7px; - - .icon-wrapper - height: 64px - width: 64px - margin: 0 auto - line-height: 6.5 - - .theme-title - font-weight: normal - font-size: 1.1em - margin-bottom: 0 diff --git a/Packages/ohif-viewerbase/client/components/viewer/ConnectedCornerstoneViewport.js b/Packages/ohif-viewerbase/client/components/viewer/ConnectedCornerstoneViewport.js deleted file mode 100644 index 265fffb7f..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/ConnectedCornerstoneViewport.js +++ /dev/null @@ -1,26 +0,0 @@ -import { connect } from 'react-redux'; -import CornerstoneViewport from 'react-cornerstone-viewport'; -import { setViewportActive } from '../../lib/redux/actions.js'; - -const mapStateToProps = state => { - return { - activeViewportIndex: state.viewports.activeViewportIndex, - activeTool: state.tools.buttons.find(tool => tool.active === true).command - }; -}; - -const mapDispatchToProps = dispatch => { - return { - setViewportActive: viewportIndex => { - console.log(`setViewportActive: ${viewportIndex}`); - dispatch(setViewportActive(viewportIndex)) - } - }; -}; - -const ConnectedCornerstoneViewport = connect( - mapStateToProps, - mapDispatchToProps -)(CornerstoneViewport); - -export default ConnectedCornerstoneViewport; diff --git a/Packages/ohif-viewerbase/client/components/viewer/GridLayout/GridLayout.js b/Packages/ohif-viewerbase/client/components/viewer/GridLayout/GridLayout.js deleted file mode 100644 index 6cbf2be48..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/GridLayout/GridLayout.js +++ /dev/null @@ -1,165 +0,0 @@ -import { Component } from 'react'; -import React from 'react'; -import PropTypes from 'prop-types'; -import { OHIF } from 'ohif-core'; -import { cornerstone, cornerstoneTools } from 'meteor/ohif:cornerstone'; -import ConnectedCornerstoneViewport from '../ConnectedCornerstoneViewport.js'; -import './GridLayout.styl'; -import StackManager from '../../../lib/StackManager.js'; - -const TOP_CLASS = 'top'; -const BOTTOM_CLASS = 'bottom'; -const MIDDLE_CLASS = 'middle'; - -function getCornerstoneStack(viewportData) { - const { - displaySetInstanceUid, - studyInstanceUid, - } = viewportData; - - // Create shortcut to displaySet - const study = OHIF.viewer.Studies.findBy({ - studyInstanceUid, - }); - - const displaySet = study.displaySets.find((set) => { - return set.displaySetInstanceUid === displaySetInstanceUid; - }); - - // Get stack from Stack Manager - const stack = StackManager.findOrCreateStack(study, displaySet); - stack.currentImageIdIndex = 0; - - return stack; -} - -class GridLayout extends Component { - constructor(props) { - super(props); - - this.getClass = this.getClass.bind(this); - } - - // Get class for each viewport, so each app - // using ohif-viewerbase can style on their own - getClass(index) { - const { rows, columns } = this.props; - - if (rows === 1) { - return `${TOP_CLASS} ${BOTTOM_CLASS}`; - } - - const actualRow = Math.floor(index / columns); - - if ( actualRow === 0 ) { - return TOP_CLASS; - } - if ( actualRow + 1 === rows ) { - return BOTTOM_CLASS; - } - - return MIDDLE_CLASS; - } - - getActiveClass(index) { - if (this.props.activeViewportIndex === index) { - return 'active'; - }; - - return '' - } - - render() { - // Get the height percentage for each viewport - const rows = this.props.rows || 1; - const height = 100 / rows; - - // Get the width percentage for each viewport - const columns = this.props.columns || 1; - const width = 100 / columns; - - let viewportData = this.props.viewportData; - const numViewports = rows * columns; - const numViewportsWithData = viewportData.length; - - // Check if the viewportData length is different from the given - if (numViewportsWithData < numViewports) { - // Add the missing viewports - const difference = numViewports - numViewportsWithData; - for (let i = 0; i < difference; i++) { - viewportData.push({ - viewportIndex: numViewportsWithData + i + 1, - rows, - columns - }); - } - } else if (numViewportsWithData > numViewports) { - // Remove the additional viewports - viewportData = viewportData.slice(0, numViewports); - } - - const viewports = viewportData.map((data, index) => { - const className = `viewportContainer ${this.getClass(index)} ${this.getActiveClass(index)}`; - - // TODO[react]: Not sure why I needed to do this. Looks like - // empty viewports aren't provided with a viewportIndex normally? - data.viewportIndex = index; - - const styles = { - height: `${height}%`, - width: `${width}%`, - }; - - const cornerstoneViewport = (data) => { - const stack = getCornerstoneStack(data) - const viewportData = { - stack, - ...data - }; - - return (); - }; - - const pluginViewport = (data) => ( -
-
- ); - - let contents; - if (!data.studyInstanceUid || !data.displaySetInstanceUid) { - contents = ( -
-
- Please drag a stack here to view images. -
-
- ); - } else if (data.plugin === 'cornerstone') { - contents = cornerstoneViewport(data); - } else { - contents = pluginViewport(data); - } - - return ( -
- {contents} - {/*{>seriesQuickSwitch (clone this viewport=viewport viewportIndex=@index)}*/} -
- ); - }); - - const layoutClass = `layout-${rows}-${columns}`; - - return ( -
- { viewports } -
- ) - } -} - -export default GridLayout; diff --git a/Packages/ohif-viewerbase/client/components/viewer/GridLayout/GridLayout.styl b/Packages/ohif-viewerbase/client/components/viewer/GridLayout/GridLayout.styl deleted file mode 100644 index bd344a990..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/GridLayout/GridLayout.styl +++ /dev/null @@ -1,9 +0,0 @@ -@import "{ohif:viewerbase}/app" - -#imageViewerViewports - height: 100% - padding-bottom: 1px - width: 100% - -.mainContent - theme('background-color', '$primaryBackgroundColor') diff --git a/Packages/ohif-viewerbase/client/components/viewer/ToolContextMenu/ToolContextMenu.css b/Packages/ohif-viewerbase/client/components/viewer/ToolContextMenu/ToolContextMenu.css deleted file mode 100644 index 0818cf6e2..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/ToolContextMenu/ToolContextMenu.css +++ /dev/null @@ -1,37 +0,0 @@ -@value globals: "../GlobalStyles.css"; -@value textActiveColor, uiGrayDark, uiGrayLight from globals; - -.ToolContextMenu { - position: absolute; - background-color: white; - border: 1px solid white; - border-radius: 5px; - z-index: 1000; - display: block; - width: 160px; -} - -.ToolContextMenu > ul { - list-style-type: none; - padding-left: 0; - margin: 0; -} - -.ToolContextMenu > ul > li > button { - padding: 10px; - font-size: 14px; - border: none; - color: uiGrayLight; - border-radius: 3px; - outline: none; - cursor: pointer; - background: none; -} - -.ToolContextMenu > ul > li > button:hover { - color: uiGrayDark; -} - -.ToolContextMenu > ul > li > button:active { - color: textActiveColor; -} diff --git a/Packages/ohif-viewerbase/client/components/viewer/ToolContextMenu/ToolContextMenu.js b/Packages/ohif-viewerbase/client/components/viewer/ToolContextMenu/ToolContextMenu.js deleted file mode 100644 index de6e1f24b..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/ToolContextMenu/ToolContextMenu.js +++ /dev/null @@ -1,263 +0,0 @@ -import { Component } from 'react'; -import React from 'react'; -/*import * as cornerstone from 'cornerstone-core'; -import * as cornerstoneTools from 'cornerstone-tools';*/ -import { cornerstone, cornerstoneTools } from 'meteor/ohif:cornerstone'; -import PropTypes from 'prop-types'; -import './ToolContextMenu.css'; - -const toolTypes = ['Bidirectional']; - -let defaultDropdownItems = [ - { - actionType: 'Delete', - action: ({ nearbyToolData, eventData }) => { - const element = eventData.element; - - cornerstoneTools.removeToolState( - element, - nearbyToolData.toolType, - nearbyToolData.tool - ); - cornerstone.updateImage(element); - } - }, - { - actionType: 'bidirectionalLabel', - action: ({ nearbyToolData, eventData }) => { - const element = eventData.element; - const { tool, toolType } = nearbyToolData; - - const doneCallback = () => { - cornerstone.updateImage(element); - }; - - const options = { - skipButton: true - }; - - const ToolInstance = cornerstoneTools.getToolForElement( - element, - toolType - ); - ToolInstance.configuration.getMeasurementLocationCallback( - tool, - eventData, - doneCallback, - options - ); - } - }, - { - actionType: 'bidirectionalDescription', - action: ({ nearbyToolData, eventData }) => { - const element = eventData.element; - const { tool, toolType } = nearbyToolData; - - const doneCallback = () => { - cornerstone.updateImage(element); - }; - - const options = { - skipButton: true, - editDescription: true - }; - - const ToolInstance = cornerstoneTools.getToolForElement( - element, - toolType - ); - ToolInstance.configuration.getMeasurementLocationCallback( - tool, - eventData, - doneCallback, - options - ); - } - } -]; - -function getNearbyToolData(element, coords, toolTypes) { - const nearbyTool = {}; - let pointNearTool = false; - - toolTypes.forEach(toolType => { - const toolData = cornerstoneTools.getToolState(element, toolType); - if (!toolData) { - return; - } - - toolData.data.forEach(function(data, index) { - const toolInterface = cornerstoneTools[`${toolType}Tool`]; - - // TODO: vNext wants me to do this? - // Switch to cornerstoneTools.store.state.tools - const t = new toolInterface(); - - if (t.pointNearTool(element, data, coords)) { - pointNearTool = true; - nearbyTool.tool = data; - nearbyTool.index = index; - nearbyTool.toolType = toolType; - } - }); - - if (pointNearTool) { - return false; - } - }); - - return pointNearTool ? nearbyTool : undefined; -} - -function getDropdownItems(eventData, isTouchEvent = false) { - const nearbyToolData = getNearbyToolData( - eventData.element, - eventData.currentPoints.canvas, - toolTypes - ); - - // Annotate tools for touch events already have a press handle to edit it, has a better UX for deleting it - if ( - isTouchEvent && - nearbyToolData && - nearbyToolData.toolType === 'arrowAnnotate' - ) { - return; - } - - let dropdownItems = []; - if (nearbyToolData) { - defaultDropdownItems.forEach(function(item) { - item.params = { - eventData, - nearbyToolData - }; - - if (item.actionType === 'Delete') { - item.text = 'Delete measurement'; - } - - if (item.actionType === 'bidirectionalLabel') { - if (nearbyToolData.toolType !== 'Bidirectional') { - return; - } - item.text = `${nearbyToolData.tool.location ? 'Edit' : 'Add'} Label`; - } - - if (item.actionType === 'bidirectionalDescription') { - if ( - nearbyToolData.toolType !== 'Bidirectional' || - !nearbyToolData.tool.location - ) { - return; - } - item.text = `${ - nearbyToolData.tool.description ? 'Edit' : 'Add' - } Description`; - } - - dropdownItems.push(item); - }); - } - - return dropdownItems; -} - -class ToolContextMenu extends Component { - constructor(props) { - super(props); - - this.mainElement = React.createRef(); - } - - render() { - if (!this.props.toolContextMenuData) { - return ''; - } - - const { eventData, isTouchEvent } = this.props.toolContextMenuData; - const dropdownItems = getDropdownItems(eventData, isTouchEvent); - - // Skip if there is no dropdown item - if (!dropdownItems.length) { - return ''; - } - - const dropdownComponents = dropdownItems.map(item => { - const itemOnClick = event => { - item.action(item.params); - this.props.onClose(); - }; - - return ( -
  • - -
  • - ); - }); - - const position = { - top: `${eventData.currentPoints.canvas.y}px`, - left: `${eventData.currentPoints.canvas.x}px` - }; - - return ( -
    -
      - {dropdownComponents} -
    -
    - ); - } - - componentDidMount = () => { - if (this.mainElement.current) { - this.updateElementPosition(); - } - }; - - componentDidUpdate = () => { - if (this.mainElement.current) { - this.updateElementPosition(); - } - }; - - updateElementPosition = () => { - const { - offsetParent, - offsetTop, - offsetHeight, - offsetWidth, - offsetLeft - } = this.mainElement.current; - const { eventData } = this.props.toolContextMenuData; - if (offsetTop + offsetHeight > offsetParent.offsetHeight) { - const offBoundPixels = - offsetTop + offsetHeight - offsetParent.offsetHeight; - const top = eventData.currentPoints.canvas.y - offBoundPixels; - - this.mainElement.current.style.top = `${top > 0 ? top : 0}px`; - } - if (offsetLeft + offsetWidth > offsetParent.offsetWidth) { - const offBoundPixels = - offsetLeft + offsetWidth - offsetParent.offsetWidth; - const left = eventData.currentPoints.canvas.x - offBoundPixels; - - this.mainElement.current.style.left = `${left > 0 ? left : 0}px`; - } - }; -} - -ToolContextMenu.propTypes = { - toolContextMenuData: PropTypes.object, // or null - onClose: PropTypes.func.isRequired -}; - -export default ToolContextMenu; diff --git a/Packages/ohif-viewerbase/client/components/viewer/ToolContextMenu/toolContextMenu-blz.js b/Packages/ohif-viewerbase/client/components/viewer/ToolContextMenu/toolContextMenu-blz.js deleted file mode 100644 index 257ae1337..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/ToolContextMenu/toolContextMenu-blz.js +++ /dev/null @@ -1,75 +0,0 @@ -import { Template } from 'meteor/templating'; -import { OHIF } from 'ohif-core'; -import { cornerstone, cornerstoneTools } from 'meteor/ohif:cornerstone'; -import { toolManager } from '../../../lib/toolManager'; - -const toolTypes = ['length', 'simpleAngle', 'probe', 'ellipticalRoi', 'rectangleRoi', 'arrowAnnotate']; -const TypeToLabelMap = { - length: 'Length', - simpleAngle: 'Angle', - probe: 'Probe', - ellipticalRoi: 'Elliptical ROI', - rectangleRoi: 'Rectangle ROI', - arrowAnnotate: 'Annotation' -}; -let dropdownItems = [{ - actionType: 'Delete', - action: ({ nearbyToolData, eventData }) => { - const element = eventData.element; - - cornerstoneTools.removeToolState(element, nearbyToolData.toolType, nearbyToolData.tool); - cornerstone.updateImage(element); - } -}]; - -const getTypeText = function(toolData, actionType) { - const toolType = toolData.toolType; - let message = `${TypeToLabelMap[toolType]}`; - - if (toolType === 'arrowAnnotate') { - message = `${message} "${toolData.tool.text}"`; - } - - return `${actionType} ${message}`; -}; - -const createDropdown = function(eventData, isTouchEvent = false) { - const nearbyToolData = toolManager.getNearbyToolData(eventData.element, eventData.currentPoints.canvas, toolTypes); - - // Annotate tools for touch events already have a press handle to edit it, has a better UX for deleting it - if (isTouchEvent && nearbyToolData.toolType === 'arrowAnnotate') return; - - if (nearbyToolData) { - dropdownItems.forEach(function(item) { - item.params = { - eventData, - nearbyToolData - }; - item.text = getTypeText(nearbyToolData, item.actionType); - }); - - OHIF.ui.showDropdown(dropdownItems, { - menuClasses: 'dropdown-menu-left', - event: eventData.event - }); - } -}; - -/* -TODO[react]: Migrate these to ViewerMain React Component - -Template.viewerMain.events({ - 'cornerstonetoolsmouseclick .imageViewerViewport'(event) { - const { originalEvent } = event; - const eventData = originalEvent.detail; - if (eventData.event && eventData.event.which === 3) { - createDropdown(eventData); - } - }, - - 'cornerstonetoolstouchpress .imageViewerViewport'(event) { - const { originalEvent } = event; - const eventData = originalEvent.detail; - createDropdown(eventData, true); - } -});*/ diff --git a/Packages/ohif-viewerbase/client/components/viewer/ViewerMain/ViewerMain.js b/Packages/ohif-viewerbase/client/components/viewer/ViewerMain/ViewerMain.js deleted file mode 100644 index bb90e7b40..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/ViewerMain/ViewerMain.js +++ /dev/null @@ -1,148 +0,0 @@ -import { Component } from 'react'; -import React from 'react'; -import PropTypes from 'prop-types'; -import { connect } from 'react-redux'; - -import { LayoutManager } from 'react-viewerbase'; -import { OHIF } from 'ohif-core'; - -// Local Modules -import { unloadHandlers } from '../../../lib/unloadHandlers'; -import { cornerstone, cornerstoneTools } from 'meteor/ohif:cornerstone'; -import ConnectedCornerstoneViewport from '../ConnectedCornerstoneViewport.js'; -import StackManager from '../../../lib/StackManager.js'; - -const { StudyLoadingListener, StudyPrefetcher, ResizeViewportManager } = OHIF.classes; - -import './ViewerMain.styl'; - -window.ResizeViewportManager = window.ResizeViewportManager || new ResizeViewportManager(); - -function getCornerstoneStack(viewportData) { - const { - displaySetInstanceUid, - studyInstanceUid, - } = viewportData; - - // Create shortcut to displaySet - const study = OHIF.viewer.Studies.findBy({ - studyInstanceUid, - }); - - const displaySet = study.displaySets.find((set) => { - return set.displaySetInstanceUid === displaySetInstanceUid; - }); - - // Get stack from Stack Manager - const stack = StackManager.findOrCreateStack(study, displaySet); - stack.currentImageIdIndex = 0; - - return stack; -} - -class ViewerMain extends Component { - constructor(props) { - super(props); - - this.state = { - displaySets: [] - }; - - this.getCornerstoneViewport = this.getCornerstoneViewport.bind(this); - } - - componentDidMount() { - // Attach the Window resize listener - // Don't use jQuery here. "window.onresize" will always be null - // If its necessary, check all the code for window.onresize getter - // and change it to jQuery._data(window, 'events')['resize']. - // Otherwise this function will be probably overrided. - // See cineDialog instance.setResizeHandler function - window.addEventListener('resize', window.ResizeViewportManager.getResizeHandler()); - - // Add beforeUnload event handler to check for unsaved changes - window.addEventListener('beforeunload', unloadHandlers.beforeUnload); - - const { studies } = this.props; - this.studyPrefetcher = StudyPrefetcher.getInstance(); - this.studyPrefetcher.setStudies(studies); - this.studyLoadingListener = StudyLoadingListener.getInstance(); - this.studyLoadingListener.clear(); - this.studyLoadingListener.addStudies(studies); - - // Get all the display sets for the viewer studies - const displaySets = []; - studies.forEach((study) => { - study.displaySets.forEach(dSet => dSet.images.length && displaySets.push(dSet)); - }); - - this.setState({ - displaySets - }); - } - - getCornerstoneViewport(data, index) { - const stack = getCornerstoneStack(data) - const viewportData = { - stack, - ...data - }; - - return (); - }; - - render() { - // TODO: re-add plugins back in - const viewportData = this.state.displaySets.map((dSet, index) => { - return this.getCornerstoneViewport(dSet, index); - }) - - // TODO: Connect LayoutManager to redux - return ( -
    - -
    - ); - } - - componentWillUnmount() { - // Remove the Window resize listener - window.removeEventListener('resize', window.ResizeViewportManager.getResizeHandler()); - - // Remove beforeUnload event handler... - window.removeEventListener('beforeunload', unloadHandlers.beforeUnload); - - // Destroy the synchronizer used to update reference lines - OHIF.viewer.updateImageSynchronizer.destroy(); - - ProtocolEngine = null; - - // Stop prefetching when we close the viewer - this.studyPrefetcher.destroy(); - - // Destroy stack loading listeners when we close the viewer - this.studyLoadingListener.clear(); - - // Clear references to all stacks in the StackManager - OHIF.viewerbase.stackManager.clearStacks(); - - // @TypeSafeStudies - // Clears OHIF.viewer.Studies collection - OHIF.viewer.Studies.removeAll(); - - // @TypeSafeStudies - // Clears OHIF.viewer.StudyMetadataList collection - OHIF.viewer.StudyMetadataList.removeAll(); - } -} - -ViewerMain.propTypes = { - studies: PropTypes.array.isRequired -}; - -export default ViewerMain; diff --git a/Packages/ohif-viewerbase/client/components/viewer/ViewerMain/ViewerMain.styl b/Packages/ohif-viewerbase/client/components/viewer/ViewerMain/ViewerMain.styl deleted file mode 100644 index 50c6ab265..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/ViewerMain/ViewerMain.styl +++ /dev/null @@ -1,34 +0,0 @@ -@import "{ohif:viewerbase}/app" - -#viewer - height: "calc(100% - %s)" % $topBarHeight - - &>.loadingTextDiv - theme('color', '$textSecondaryColor') - font-size: 30px - height: 100% - line-height: "calc(100% - %s)" % $topBarHeight - -.ViewerMain - width: 100% - height: 100% - transition(all 0.3s ease) - - #imageViewerViewports - .viewportContainer - theme('border', '%s solid $uiBorderColorDark' % $viewportBorderThickness) - float: left - position: relative - - outline: 0 // Prevent blue outline in Chrome - - &:hover - &.active - &:hover.active - outline: 0 // Prevent blue outline in Chrome - - &:hover - theme('border', '%s solid $uiBorderColor' % $viewportBorderThickness) - - &.active, &:hover.active - theme('border', '%s solid $uiBorderColorActive' % $viewportBorderThickness) diff --git a/Packages/ohif-viewerbase/client/components/viewer/annotationDialogs/annotationDialogs.html b/Packages/ohif-viewerbase/client/components/viewer/annotationDialogs/annotationDialogs.html deleted file mode 100644 index abfa54231..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/annotationDialogs/annotationDialogs.html +++ /dev/null @@ -1,33 +0,0 @@ - \ No newline at end of file diff --git a/Packages/ohif-viewerbase/client/components/viewer/annotationDialogs/annotationDialogs.js b/Packages/ohif-viewerbase/client/components/viewer/annotationDialogs/annotationDialogs.js deleted file mode 100644 index e5e3e5a77..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/annotationDialogs/annotationDialogs.js +++ /dev/null @@ -1,11 +0,0 @@ -Template.annotationDialogs.onRendered(() => { - const instance = Template.instance(); - const dialogIds = ['annotationDialog', 'relabelAnnotationDialog']; - - dialogIds.forEach(id => { - const dialog = instance.$('#' + id); - dialog.draggable(); - dialogPolyfill.registerDialog(dialog.get(0)); - }); -}); - diff --git a/Packages/ohif-viewerbase/client/components/viewer/annotationDialogs/annotationDialogs.styl b/Packages/ohif-viewerbase/client/components/viewer/annotationDialogs/annotationDialogs.styl deleted file mode 100644 index 2912a0f5c..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/annotationDialogs/annotationDialogs.styl +++ /dev/null @@ -1,30 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.annotationDialog - theme('border', '1px solid $uiBorderColor', 0.95) - theme('background', '$uiGrayDarkest', 0.95) - theme('color', '$textSecondaryColor') - z-index: 1000 - position: absolute - top: 0 - bottom: 0 - left: 0 - right: 0 - margin: auto - overflow: hidden - padding: 10px - width: 300px - height: 140px - border-radius: 8px - - h5, label - font-weight: 400 - - .annotationTextInputOptions - padding: 10px 0 - - .annotationTextInput - margin-left: 5px - - .annotationDialogConfirm - float: right diff --git a/Packages/ohif-viewerbase/client/components/viewer/confirmDeleteDialog/confirmDeleteDialog.html b/Packages/ohif-viewerbase/client/components/viewer/confirmDeleteDialog/confirmDeleteDialog.html deleted file mode 100644 index 23fb5ba9e..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/confirmDeleteDialog/confirmDeleteDialog.html +++ /dev/null @@ -1,16 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/viewer/confirmDeleteDialog/confirmDeleteDialog.js b/Packages/ohif-viewerbase/client/components/viewer/confirmDeleteDialog/confirmDeleteDialog.js deleted file mode 100644 index 291ae5006..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/confirmDeleteDialog/confirmDeleteDialog.js +++ /dev/null @@ -1,37 +0,0 @@ -import { Template } from 'meteor/templating'; - -import { dialogUtils } from '../../../lib/dialogUtils'; - -// Global object of key names (TODO: put this somewhere else) -const keys = { - ESC: 27, - ENTER: 13 -}; - -Template.confirmDeleteDialog.events({ - 'click #cancel, click #close'() { - // Action canceled, just close dialog without calling callback - dialogUtils.closeHandler(false); - }, - 'click #confirm'() { - // Action confirmed, close dialog and calls callback, if exists - dialogUtils.closeHandler(); - }, - 'keydown #confirmDeleteDialog'(e) { - // Action canceled, just close dialog without calling callback - if (e.which === keys.ESC) { - dialogUtils.closeHandler(false); - return false; - } - - if (this.keyPressAllowed === false) { - return; - } - - // If Enter is pressed - if (e.which === keys.ENTER) { - // Action confirmed, close dialog and calls callback, if exists - dialogUtils.closeHandler(); - } - } -}); diff --git a/Packages/ohif-viewerbase/client/components/viewer/confirmDeleteDialog/confirmDeleteDialog.styl b/Packages/ohif-viewerbase/client/components/viewer/confirmDeleteDialog/confirmDeleteDialog.styl deleted file mode 100644 index 96fc8581b..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/confirmDeleteDialog/confirmDeleteDialog.styl +++ /dev/null @@ -1,25 +0,0 @@ -#confirmDeleteDialog - position: absolute - top: 0 - bottom: 0 - left: 0 - right: 0 - z-index: 100 - width: 300px - min-height: 145px - max-height: 300px - height: fit-content - margin: auto - border-radius: 5px - padding: 10px 20px 10px 20px - background-color: rgba(255,255,255,1) - outline: none - - .btn - text-decoration: none - - #cancel - float: left - - #confirm - float: right diff --git a/Packages/ohif-viewerbase/client/components/viewer/downloadDialog/downloadDialog.html b/Packages/ohif-viewerbase/client/components/viewer/downloadDialog/downloadDialog.html deleted file mode 100644 index eee1238b5..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/downloadDialog/downloadDialog.html +++ /dev/null @@ -1,66 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/viewer/downloadDialog/downloadDialog.js b/Packages/ohif-viewerbase/client/components/viewer/downloadDialog/downloadDialog.js deleted file mode 100644 index 3e97ffce0..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/downloadDialog/downloadDialog.js +++ /dev/null @@ -1,235 +0,0 @@ -import { Template } from 'meteor/templating'; -import { Tracker } from 'meteor/tracker'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Session } from 'meteor/session'; -import $ from 'jquery'; -//import { SimpleSchema } from 'meteor/aldeed:simple-schema'; -import { OHIF } from 'ohif-core'; -import { cornerstone, cornerstoneTools } from 'meteor/ohif:cornerstone'; - -OHIF.viewerbase.getImageDownloadDialogAnnotationTools = () => { - return ['length', 'dragProbe', 'angle', 'annotate', 'ellipticalRoi', 'rectangleRoi']; -}; - -/** - * Converts a base64 data to a blob. This is needed to enabled JPEG images downloading on IE11. - * Source: https://stackoverflow.com/questions/16245767/creating-a-blob-from-a-base64-string-in-javascript/16245768 - */ -const b64toBlob = (b64Data, contentType='', sliceSize=512) => { - const byteCharacters = atob(b64Data); - const byteArrays = []; - - for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) { - const slice = byteCharacters.slice(offset, offset + sliceSize); - - const byteNumbers = new Array(slice.length); - for (let i = 0; i < slice.length; i++) { - byteNumbers[i] = slice.charCodeAt(i); - } - - const byteArray = new Uint8Array(byteNumbers); - - byteArrays.push(byteArray); - } - - const blob = new Blob(byteArrays, { type: contentType }); - return blob; -}; - -Template.imageDownloadDialog.onCreated(() => { - const instance = Template.instance(); - - instance.schema = new SimpleSchema({ - width: { type: Number }, - height: { type: Number }, - name: { - type: String, - defaultValue: 'image' - }, - type: { - type: String, - allowedValues: ['jpeg', 'png'], - valuesLabels: ['JPEG', 'PNG'], - defaultValue: 'jpeg' - }, - showAnnotations: { - type: Boolean, - label: 'Show Annotations', - defaultValue: true - } - }); - - instance.changeObserver = new Tracker.Dependency(); - - instance.keepAspect = new ReactiveVar(true); - instance.showAnnotations = new ReactiveVar(false); - - instance.lastImage = {}; - - instance.getConfirmCallback = () => () => { - return instance.downloadImage(); - }; -}); - -Template.imageDownloadDialog.onRendered(() => { - const instance = Template.instance(); - const { viewportUtils } = OHIF.viewerbase; - - instance.$viewportElement = instance.$('.viewport-element'); - instance.viewportElement = instance.$viewportElement[0]; - instance.$viewportPreview = instance.$('.viewport-preview'); - instance.viewportPreview = instance.$viewportPreview[0]; - - cornerstone.enable(instance.viewportElement); - OHIF.viewerbase.toolManager.instantiateTools(instance.viewportElement); - - instance.downloadCanvas = $(instance.viewportElement).find('canvas')[0]; - - instance.form = instance.$('form').data('component'); - - instance.setElementSize = (element, canvas, size, value) => { - $(element)[size](value); - canvas[size] = value; - canvas.style[size] = `${value}px`; - - instance.form.item(size).$element.val(value); - }; - - instance.toggleAnnotations = toggle => { - const action = toggle ? 'setToolEnabledForElement' : 'setToolDisabledForElement'; - const annotationTools = OHIF.viewerbase.getImageDownloadDialogAnnotationTools(); - annotationTools.forEach(tool => cornerstoneTools[action](instance.viewportElement, tool)); - }; - - instance.updateViewportPreview = () => { - instance.$viewportElement.one('cornerstoneimagerendered', event => { - // Wait for the tools to handle CornerstoneImageRendered event - Tracker.afterFlush(() => { - const enabledElement = cornerstone.getEnabledElement(event.currentTarget); - const formData = instance.form.value(); - const image = instance.viewportPreview; - const type = 'image/' + formData.type; - const dataUrl = instance.downloadCanvas.toDataURL(type, 1); - image.src = dataUrl; - - const $element = $(enabledElement.element); - let width = $element.width(); - let height = $element.height(); - if (width > 512 || height > 512) { - const multiplier = 512 / Math.max(width, height); - height *= multiplier; - width *= multiplier; - } - - image.width = width; - image.height = height; - }); - }); - }; - - instance.downloadImage = () => { - const formData = instance.form.value(); - const filename = `${formData.name}.${formData.type}`; - const mimetype = `image/${formData.type}`; - - // Handles JPEG images for IE11 - if (instance.downloadCanvas.msToBlob && formData.type === 'jpeg') { - const image = instance.downloadCanvas.toDataURL(mimetype, 1); - const blob = b64toBlob(image.replace('data:image/jpeg;base64,', ''), mimetype); - return window.navigator.msSaveBlob(blob, filename); - } - - return cornerstoneTools.SaveAs(instance.viewportElement, filename, mimetype); - }; - - instance.autorun(() => { - instance.changeObserver.depend(); - Session.get('UpdateDownloadViewport'); - const activeViewport = viewportUtils.getActiveViewportElement(); - - if (activeViewport) { - const enabledElement = cornerstone.getEnabledElement(activeViewport); - - const viewport = Object.assign({}, enabledElement.viewport); - delete viewport.scale; - viewport.translation = { - x: 0, - y: 0 - }; - - cornerstone.loadImage(enabledElement.image.imageId).then(image => { - instance.lastImage = image; - const { viewportElement, downloadCanvas } = instance; - const formData = instance.form.value(); - - cornerstone.displayImage(viewportElement, image); - cornerstone.setViewport(viewportElement, viewport); - cornerstone.resize(viewportElement, true); - - instance.toggleAnnotations(formData.showAnnotations); - - const width = Math.min(formData.width || image.width, 16384); - const height = Math.min(formData.height || image.height, 16384); - instance.setElementSize(viewportElement, downloadCanvas, 'width', width); - instance.setElementSize(viewportElement, downloadCanvas, 'height', height); - - cornerstone.fitToWindow(viewportElement); - instance.updateViewportPreview(); - }); - } - }); -}); - -Template.imageDownloadDialog.onDestroyed(() => { - const instance = Template.instance(); - - cornerstone.disable(instance.viewportElement); -}); - -Template.imageDownloadDialog.events({ - 'click .js-keep-aspect'(event, instance) { - const currentState = instance.keepAspect.get(); - instance.keepAspect.set(!currentState); - instance.$('[data-key=width]').trigger('input'); - }, - - 'change [data-key=showAnnotations], change [data-key=type]'(event, instance) { - instance.changeObserver.changed(); - }, - - 'input [data-key=width]'(event, instance) { - const { viewportElement, downloadCanvas } = instance; - const formData = instance.form.value(); - const { width, height } = instance.lastImage; - const newWidth = formData.width; - instance.setElementSize(viewportElement, downloadCanvas, 'width', newWidth); - if (instance.keepAspect.get()) { - const multiplier = newWidth / width; - const newHeight = Math.round(height * multiplier); - instance.setElementSize(viewportElement, downloadCanvas, 'height', newHeight); - } - - instance.changeObserver.changed(); - }, - - 'input [data-key=height]'(event, instance) { - const { viewportElement, downloadCanvas } = instance; - const formData = instance.form.value(); - const { width, height } = instance.lastImage; - const newHeight = formData.height; - instance.setElementSize(viewportElement, downloadCanvas, 'height', newHeight); - if (instance.keepAspect.get()) { - const multiplier = newHeight / height; - const newWidth = Math.round(width * multiplier); - instance.setElementSize(viewportElement, downloadCanvas, 'width', newWidth); - } - - instance.changeObserver.changed(); - } -}); - -Template.imageDownloadDialog.helpers({ - keepAspect() { - return Template.instance().keepAspect.get(); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/viewer/downloadDialog/downloadDialog.styl b/Packages/ohif-viewerbase/client/components/viewer/downloadDialog/downloadDialog.styl deleted file mode 100644 index 4c44b244a..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/downloadDialog/downloadDialog.styl +++ /dev/null @@ -1,17 +0,0 @@ -@require '{ohif:viewerbase}/app' - -#imageDownloadDialog - - .image-preview - display: table - margin: 0 auto - - h3 - white-space: nowrap - - .viewport-preview - max-width: 512px - max-height: 512px - - .wrapperLabel - display: block diff --git a/Packages/ohif-viewerbase/client/components/viewer/index.js b/Packages/ohif-viewerbase/client/components/viewer/index.js deleted file mode 100644 index 2fb47d21a..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/index.js +++ /dev/null @@ -1,11 +0,0 @@ -import ViewerMain from './ViewerMain/ViewerMain.js'; -import GridLayout from './GridLayout/GridLayout.js'; -import ToolContextMenu from './ToolContextMenu/ToolContextMenu.js'; - -const viewer = { - ViewerMain, - GridLayout, - ToolContextMenu, -}; - -export default viewer; diff --git a/Packages/ohif-viewerbase/client/components/viewer/layoutButton/layoutButton.html b/Packages/ohif-viewerbase/client/components/viewer/layoutButton/layoutButton.html deleted file mode 100644 index 92b6ca57f..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/layoutButton/layoutButton.html +++ /dev/null @@ -1,20 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/viewer/layoutButton/layoutButton.js b/Packages/ohif-viewerbase/client/components/viewer/layoutButton/layoutButton.js deleted file mode 100644 index a6ef5514d..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/layoutButton/layoutButton.js +++ /dev/null @@ -1,21 +0,0 @@ -import { Template } from 'meteor/templating'; -import $ from 'jquery'; -import { viewportUtils } from '../../../lib/viewportUtils'; - -Template.layoutButton.events({ - // TODO: Check why 'click' event won't fire? - 'mousedown .js-dropdown-toggle'(event) { - // Select the button and it's target dropdown menu - const $button = $(event.currentTarget); - const $dropdown = $($button.data('target')); - - // Adjust the dropdown's CSS to properly place it on the page - $dropdown.css({ - top: $button.offset().top + $button.outerHeight() + 'px', - left: $button.offset().left + 'px' - }); - - // Open or close the layout chooser dialog - viewportUtils.toggleDialog($dropdown); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/viewer/layoutChooser/layoutChooser.html b/Packages/ohif-viewerbase/client/components/viewer/layoutChooser/layoutChooser.html deleted file mode 100644 index 962639bb4..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/layoutChooser/layoutChooser.html +++ /dev/null @@ -1,30 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/viewer/layoutChooser/layoutChooser.js b/Packages/ohif-viewerbase/client/components/viewer/layoutChooser/layoutChooser.js deleted file mode 100644 index e33338ea0..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/layoutChooser/layoutChooser.js +++ /dev/null @@ -1,92 +0,0 @@ -import { Template } from 'meteor/templating'; -import { Session } from 'meteor/session'; -import { OHIF } from 'ohif-core'; -import 'meteor/ohif:viewerbase'; -import { viewportUtils } from '../../../lib/viewportUtils'; - -Template.layoutChooser.onRendered(() => { - const instance = Template.instance(); - - /** - * Adds the 'hover' class to cells above and to the left of the current cell - * This is used to "fill in" the grid that the user will change the layout to, - * if they click on a specific table cell. - * - * @param currentCell - */ - instance.highlightCells = currentCell => { - const cells = this.$('.layoutChooser table td'); - cells.removeClass('hover'); - - currentCell = this.$(currentCell); - const table = currentCell.parents('.layoutChooser table').get(0); - const rowIndex = currentCell.closest('tr').index(); - const columnIndex = currentCell.index(); - - // Loop through the table row by row - // and cell by cell to apply the highlighting - for (let i = table.rows.length - 1; i >= 0; i--) { - const row = table.rows[i]; - if (i <= rowIndex) { - for (let j = row.cells.length - 1; j >= 0; j--) { - if (j <= columnIndex) { - const cell = row.cells[j]; - cell.classList.add('hover'); - } - } - } - } - }; - - // Refresh layout chooser highlighting based on current viewports state - instance.refreshHighlights = () => { - // Stop here if layoutManager is not defined yet - if (!OHIF.viewer.layoutManager) { - return; - } - - // Get the layout rows and columns amount - const info = OHIF.viewer.layoutManager.layoutProps; - - // get the limiter cell - const cell = instance.$('tr').eq(info.rows - 1).children().eq(info.columns - 1); - - // Highlight all cells before the limiter - instance.highlightCells(cell); - }; - - instance.autorun(() => { - // Run this computation every time the viewer layout is changed - - instance.refreshHighlights(); - }); -}); - -Template.layoutChooser.events({ - 'touchstart .layoutChooser table td, mouseenter .layoutChooser table td'(event, instance) { - instance.highlightCells(event.currentTarget); - }, - - 'mouseleave .layoutChooser'(event, instance) { - instance.refreshHighlights(); - }, - - 'click .layoutChooser table td'(event, instance) { - const $currentCell = instance.$(event.currentTarget); - const rowIndex = $currentCell.closest('tr').index(); - const columnIndex = $currentCell.index(); - - // Add 1 because the indices start from zero - const layoutProps = { - rows: rowIndex + 1, - columns: columnIndex + 1 - }; - - OHIF.viewer.layoutManager.layoutTemplateName = 'gridLayout'; - OHIF.viewer.layoutManager.layoutProps = layoutProps; - OHIF.viewer.layoutManager.updateViewports(); - - const $dropdown = instance.$('.layoutChooser'); - viewportUtils.toggleDialog($dropdown); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/viewer/layoutChooser/layoutChooser.styl b/Packages/ohif-viewerbase/client/components/viewer/layoutChooser/layoutChooser.styl deleted file mode 100644 index a42050f2b..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/layoutChooser/layoutChooser.styl +++ /dev/null @@ -1,28 +0,0 @@ -@import "{ohif:viewerbase}/app" - -$borderColor = rgba(77, 99, 110, 0.81) - -.layoutChooser - theme('background', '$uiGrayDarkest', 0.95) - border: 1px solid $borderColor; - border-radius: 8px - height: 92px - min-height: 92px - min-width: 92px // to override bootstrap's dropdown-menu class - padding: 5px 0; - position: absolute; - width: 92px - z-index: 5000 - - table - margin: 0 auto - - td - theme('border', '1px solid $uiBorderColorDark') - cursor: pointer - height: 20px - transition(background-color 0.1s ease) - width: 20px - - &:hover, &.hover // Add the hover class here to be triggered by mouseenter/mouseleave - theme('background-color', '$activeColor') diff --git a/Packages/ohif-viewerbase/client/components/viewer/seriesQuickSwitch/seriesQuickSwitch.html b/Packages/ohif-viewerbase/client/components/viewer/seriesQuickSwitch/seriesQuickSwitch.html deleted file mode 100644 index 451151d80..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/seriesQuickSwitch/seriesQuickSwitch.html +++ /dev/null @@ -1,27 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/viewer/seriesQuickSwitch/seriesQuickSwitch.js b/Packages/ohif-viewerbase/client/components/viewer/seriesQuickSwitch/seriesQuickSwitch.js deleted file mode 100644 index 4ec178651..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/seriesQuickSwitch/seriesQuickSwitch.js +++ /dev/null @@ -1,146 +0,0 @@ -import { Template } from 'meteor/templating'; -import { ReactiveVar } from 'meteor/reactive-var'; -import $ from 'jquery'; -import { OHIF } from 'ohif-core'; - -Template.seriesQuickSwitch.onCreated(() => { - const instance = Template.instance(); - - // Defines the study being shown in the current viewport - instance.currentStudy = new ReactiveVar(); - - // Gets the viewport data for the given viewport index - instance.getViewportData = viewportIndex => { - const layoutManager = OHIF.viewer.layoutManager; - return layoutManager && layoutManager.viewportData && layoutManager.viewportData[viewportIndex]; - }; - - // Gets the current viewport data - const viewportIndex = instance.data.viewportIndex; - - instance.study = {}; - instance.lastStudy = {}; - - instance.autorun(() => { - OHIF.viewer.layoutManager.observer.depend(); - - const viewportData = instance.getViewportData(viewportIndex); - - // @TypeSafeStudies - if (viewportData) { - // Finds the current study and return it - instance.study = OHIF.viewer.Studies.findBy({ - studyInstanceUid: viewportData.studyInstanceUid - }); - } - - if (!instance.study) { - instance.study = OHIF.viewer.Studies.getElementByIndex(0); - } - - if (!instance.study) { - return; - } - - if (instance.study.studyInstanceUid !== instance.lastStudy.studyInstanceUid) { - // Change the current study to update the thumbnails - instance.currentStudy.set(instance.study); - - instance.lastStudy = instance.study; - } - }); -}); - -Template.seriesQuickSwitch.helpers({ - shallDisplay() { - const instance = Template.instance(); - const { rows, columns } = instance.data; - return OHIF.viewer.displaySeriesQuickSwitch && rows === 1 && columns <= 2; - }, - - side() { - const instance = Template.instance(); - const { columns, viewportIndex } = instance.data; - if (columns === 1) return ''; - return viewportIndex === 0 ? 'left' : 'right'; - }, - - seriesItems() { - const instance = Template.instance(); - - OHIF.viewer.layoutManager.observer.depend(); - const { viewportIndex } = instance.data; - const viewportData = OHIF.viewer.layoutManager.viewportData[viewportIndex]; - const study = instance.currentStudy.get(); - - const seriesItems = []; - - let displaySets = study.displaySets; - if (!displaySets.length) { - displaySets = OHIF.viewerbase.sortingManager.getDisplaySets(study); - study.displaySets = displaySets; - study.setDisplaySets(displaySets); - - study.forEachDisplaySet(displaySet => { - OHIF.viewerbase.stackManager.makeAndAddStack(study, displaySet); - }); - } - - const items = displaySets.length; - for (let i = 0; i < items; i++) { - const displaySet = displaySets[i]; - const item = { class: '' }; - seriesItems.push(item); - if (i === 8 && items !== 9) { - item.class += ' count'; - item.value = items; - break; - } - - if (displaySet.displaySetInstanceUid === viewportData.displaySetInstanceUid) { - item.class += ' active'; - } - } - - return seriesItems; - }, - - studyBrowserTemplate() { - return OHIF.viewer.quickSwitchStudyBrowserTemplate || 'studyBrowserQuickSwitch'; - } -}); - -Template.seriesQuickSwitch.events({ - 'mouseenter .series-switch, rescale .series-switch'(event, instance) { - // Control the width of the series browser - const $switch = $(event.currentTarget); - const $seriesBrowser = $switch.find('.series-browser'); - const $seriesQuickSwitch = $switch.closest('.series-quick-switch'); - - const isRight = $seriesQuickSwitch.hasClass('right'); - const switchOffsetLeft = $switch.offset().left; - const switchOuterWidth = $switch.outerWidth(); - - let browserWidth; - if (isRight) { - browserWidth = $(window).width() - switchOffsetLeft; - } else { - browserWidth = switchOffsetLeft + switchOuterWidth; - } - - $seriesBrowser.width(browserWidth - (browserWidth % 240)); - - const $quickSwitch = instance.$('.series-quick-switch'); - if ($quickSwitch.is(':hover')) { - $quickSwitch.addClass('series-triggered'); - } - }, - - 'mouseleave .series-browser'(event, instance) { - $(event.currentTarget).children('.scrollable').stop().animate({ scrollTop: 0 }, 300, 'swing'); - }, - - 'mouseleave .series-quick-switch'(event, instance) { - $(event.currentTarget).removeClass('series-triggered'); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/viewer/seriesQuickSwitch/seriesQuickSwitch.styl b/Packages/ohif-viewerbase/client/components/viewer/seriesQuickSwitch/seriesQuickSwitch.styl deleted file mode 100644 index 637a6dbec..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/seriesQuickSwitch/seriesQuickSwitch.styl +++ /dev/null @@ -1,202 +0,0 @@ -@require '{ohif:viewerbase}/app' - -.series-quick-switch - position: absolute - top: calc(100% - 100vh) - - &:before - box-shadow(0 0 0 5000px rgba(0, 0, 0, 0.8)) - transition(opacity 0.3s ease) - opacity: 0 - - &:hover - z-index: 2 - - &:before - opacity: 1 - - &:not(.left):not(.right) - left: 50% - transform(translateX(-50%)) - - &.left - theme('border-right', '1px solid $uiBorderColor') - right: 0 - - &.right - left: 0 - - .series-switch - float: right - - .study-switch - float: left - - .study-browser - left: auto - right: 0 - transform-origin(calc(100% - 1em) calc(1em + 17px)) - - .series-browser - left: 0 - right: auto - transform-origin(1em calc(1em + 15px)) - - .thumbnails-wrapper - transform-origin(0% 0%) - - .thumbnailEntry - float: left - - .series-item - float: left - - .title-label - theme('color', '$textSecondaryColor') - font-size: 12px - font-weight: 500 - line-height: 12px - opacity: 1 - padding-bottom: 3px - text-align: center - transition(opacity 0.3s ease) - - .series-switch, - .study-switch - float: left - position: relative - - .study-switch:hover:after - content: '' - display: block - height: 100px - left: 0 - position: absolute - top: 0 - width: 300px - - .study-browser - left: 0 - margin-top: 100px - max-height: calc(100% - 100px) - transform-origin(1em calc(1em + 17px)) - width: 300px - - .study-browser-list - padding: 0 10px - - .series-browser - max-height: 100% - max-width: 720px - right: 0 - transform-origin(calc(100% - 1em) calc(1em + 15px)) - - .thumbnails-wrapper - transition(transform 0.3s ease) - transform-origin(100% 0%) - - .thumbnailEntry - float: right - - .seriesDetails - opacity: 0 - transform(translateY(-100%)) - transition(transform 0.3s ease\, opacity 0.3s ease) - - .scrollable - padding-top: 15px - transition(padding-bottom 0.3s ease) - - .series-browser, - .study-browser - min-height: 120px - opacity: 0 - position: absolute - top: 0 - transform(scale(0)) - transition(transform 0.3s ease\, opacity 0.3s ease) - z-index: 3 - - .series-box, - .study-box - height: 57px - width: 57px - - .study-box - theme('background-color', '$uiGrayDark') - theme('border', 'solid 2px $uiBorderColorDark') - border-radius(11px) - - .series-item - theme('background-color', '$boxBackgroundColor') - border-radius(3px) - float: right - height: 15px - margin: 2px - transition(opacity 0.3s ease) - width: 15px - - &.count - theme('color', '$textPrimaryColor') - background-color: transparent - font-size: 12px - font-weight: 500 - line-height: 17px - text-align: center - - &.active - theme('background-color', '$activeColor') - - &.series-triggered .series-browser, - .series-switch:hover .series-browser, - .study-switch:hover .study-browser - opacity: 1 - transform(scale(1)) - - &.series-triggered .series-item, - .series-switch:hover .title-label - opacity: 0 - - &.series-triggered - .thumbnails-wrapper - transform(scale(0.9) translateY(80px)) - - .series-browser:not(:hover) - &>.scrollable - padding-bottom: 80px - - &>.scroll-nav - opacity: 0 - - .series-switch:hover .series-browser - .thumbnails-wrapper - transform(scale(1) translateY(0)) - - .thumbnailEntry .seriesDetails - opacity: 1 - transform(translateY(0)) - transition-delay(0.3s) - - .study-browser-item.active .study-item-box - theme('box-shadow', 'inset 0 0 0 3px $activeColor') - -@media screen and (max-width: 1599px) - .series-quick-switch - - .series-box, - .study-box - width: 36px - height: 36px - - .study-box - border-radius(7px) - - .series-item - height: 10px - margin: 1px - width: 10px - - &.count - font-size: 10px - font-weight: 300 - line-height: 10px diff --git a/Packages/ohif-viewerbase/client/components/viewer/studySeriesQuickSwitch/studySeriesQuickSwitch.html b/Packages/ohif-viewerbase/client/components/viewer/studySeriesQuickSwitch/studySeriesQuickSwitch.html deleted file mode 100644 index 7d6b9f935..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/studySeriesQuickSwitch/studySeriesQuickSwitch.html +++ /dev/null @@ -1,42 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/viewer/studySeriesQuickSwitch/studySeriesQuickSwitch.js b/Packages/ohif-viewerbase/client/components/viewer/studySeriesQuickSwitch/studySeriesQuickSwitch.js deleted file mode 100644 index 3de62b7d2..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/studySeriesQuickSwitch/studySeriesQuickSwitch.js +++ /dev/null @@ -1,119 +0,0 @@ -import { Template } from 'meteor/templating'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Session } from 'meteor/session'; -import $ from 'jquery'; - -import { OHIF } from 'ohif-core'; - -Template.studySeriesQuickSwitch.onCreated(() => { - const instance = Template.instance(); - - // Defines the study being shown in the current viewport - instance.data.currentStudy = new ReactiveVar(); - - // Gets the viewport data for the given viewport index - instance.getViewportData = viewportIndex => { - const layoutManager = OHIF.viewer.layoutManager; - return layoutManager && layoutManager.viewportData && layoutManager.viewportData[viewportIndex]; - }; - - // Gets the current viewport data - const viewportIndex = instance.data.viewportIndex; - - instance.study = {}; - instance.lastStudy = {}; - - instance.autorun(() => { - - const viewportData = instance.getViewportData(viewportIndex); - - // @TypeSafeStudies - if (viewportData) { - // Finds the current study and return it - instance.study = OHIF.viewer.Studies.findBy({ - studyInstanceUid: viewportData.studyInstanceUid - }); - } else { - instance.study = OHIF.viewer.Studies.getElementByIndex(0); - } - - if (!instance.study) { - return; - } - - if (instance.study.studyInstanceUid !== instance.lastStudy.studyInstanceUid) { - // Change the current study to update the thumbnails - instance.data.currentStudy.set(instance.study); - - instance.lastStudy = instance.study; - } - }); -}); - -const checkScrollArea = element => { - const { scrollHeight, offsetHeight, scrollTop } = element; - - const matrix = $(element).find('.thumbnailsWrapper').css('transform'); - - let translateY = 0; - - if(matrix && matrix !== 'none') { - translateY = parseInt(matrix.match(/-?[\d\.]+/g)[5]); - } - - if(scrollHeight > offsetHeight + scrollTop + translateY) { - element.classList.add('show-scroll-indicator-down'); - } - else { - element.classList.remove('show-scroll-indicator-down'); - } - - if(scrollTop > 0) { - element.classList.add('show-scroll-indicator-up'); - } - else { - element.classList.remove('show-scroll-indicator-up'); - } -}; - -Template.studySeriesQuickSwitch.events({ - 'mouseenter .js-quick-switch, mouseenter .js-quick-switch .switchSectionSeries'(event, instance) { - instance.$('.quickSwitchWrapper').addClass('overlay'); - $(event.currentTarget).addClass('hover'); - instance.$('.scrollArea').each((index, scrollAreaElement) => checkScrollArea(scrollAreaElement)); - }, - 'mouseleave .js-quick-switch'(event, instance) { - instance.$('.js-quick-switch, .switchSectionSeries').removeClass('hover'); - instance.$('.quickSwitchWrapper').removeClass('overlay'); - }, - 'click .thumbnailEntry'(event, instance) { - // Close the quick switch if we have selected a series - instance.$('.js-quick-switch, .switchSectionSeries').removeClass('hover'); - instance.$('.quickSwitchWrapper').removeClass('overlay'); - }, - 'click .study-browser-item'(event, instance) { - instance.$('.switchSectionSeries').addClass('hover'); - }, - 'scroll .scrollArea'(event) { - checkScrollArea(event.currentTarget); - } -}); - -Template.studySeriesQuickSwitch.helpers({ - // Get the current study - currentStudy() { - return Template.instance().data.currentStudy.get(); - }, - // Check if is Mac OS - // This is necessary due to fix scrollbar space only in browsers in Mac OS: - // Since Lion version, the scrollbar is visible only when user scrolls a div - // As scrollbar is hidden, the space added to hide it in Windows browsers - // is not enough in Mac OS. For WebKit (Safari and Chrome in Mac OS) there is a CSS - // solution using ::-webkit-scrollbar, but unfortunately doesn't work for Firefox - // JS seems to be the only solution for now: - // - http://stackoverflow.com/questions/6165472/custom-css-scrollbar-for-firefox/6165489#6165489 - // - http://stackoverflow.com/questions/18317634/force-visible-scrollbar-in-firefox-on-mac-os-x/18318273 - isMac() { - return window.navigator.appVersion.indexOf('Mac'); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/viewer/studySeriesQuickSwitch/studySeriesQuickSwitch.styl b/Packages/ohif-viewerbase/client/components/viewer/studySeriesQuickSwitch/studySeriesQuickSwitch.styl deleted file mode 100644 index 5d3f583de..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/studySeriesQuickSwitch/studySeriesQuickSwitch.styl +++ /dev/null @@ -1,279 +0,0 @@ -@require '{ohif:viewerbase}/app' - -$switchSize = 55px -$seriesSpacing = 2px - -.quickSwitchWrapper - position: fixed - top: 0 - z-index: 1 - - &.middle - left: 50% - - .quickSwitch - transform(translateX(-50%)) - - &.left - theme('border-right', '1px solid $uiBorderColor') - right: 50% - &.right-sidebar-only - .seriesHover - .scrollArea - padding-left: 200px; - - &.right - left: 50% - &.left-sidebar-only - .seriesHover - .scrollArea - padding-right: 200px; - - &.overlay .quickSwitch - transition(z-index 0s linear 0s) - z-index: 3 - - &:before - theme('background-color', '$primaryBackgroundColor') - bottom: 0 - content: '' - left: 0 - opacity: 0 - position: fixed - right: 0 - top: 0 - transition(opacity 0.3s ease\, visibility 0s linear 0.3s) - visibility: hidden - z-index: 2 - - &.overlay:before - opacity: 0.8 - transition(opacity 0.3s ease\, visibility 0s linear 0s) - visibility: visible - -.quickSwitch - position: relative - transition(z-index 0s linear 0.3s) - z-index: 1 - - .switchSection - display: inline-block - float: left - height: 100% - position: relative - - &.switchSectionSeries.hover, &.switchSectionStudy:hover - .seriesSwitch .seriesItem - opacity: 0 - .switchHover - opacity: 1 - .studyHover - height: auto - padding-top: $switchSize - transition(padding-top 0.3s ease\, visibility 0s linear 0s) - visibility: visible - - &.switchSectionSeries.hover - .seriesHover - .thumbnailsWrapper - transform(scale(0.9) translateY($switchSize)) - transition(all 0.3s ease) - .thumbnailEntry .seriesDetails - opacity: 0 - visibility: hidden - - &:hover .seriesHover - .thumbnailsWrapper - transform(scale(1) translateY(0)) - .thumbnailEntry .seriesDetails - opacity: 1 - transform(translateY(0)) - transition(all 0.3s ease) - transition-delay(0.3s) - visibility: visible - - .seriesHover .thumbnailEntry .seriesDetails - opacity: 0 - transform(translateY(-36px)) - - .seriesSwitch .seriesItem - transition(opacity 0.3s ease) - - .studySwitch, .seriesSwitch - position: relative - - .studySwitch - padding: 2px 1px 0 - - .studyTimepointBrowser - background-color: transparent - - .study-browser-item.active .study-item-box - theme('box-shadow', 'inset 0 0 0 3px $activeColor') - - .studyBox - theme('background-color', '$uiGrayDark') - theme('border', 'solid 2px $uiBorderColorDark') - border-radius: 11px - display: block - height: $switchSize - width: $switchSize - - .seriesSwitch - display: block - height: $switchSize + $seriesSpacing - width: $switchSize + $seriesSpacing - - .seriesItem - theme('background-color', '$boxBackgroundColor') - border-radius: 3px - height: 15px - margin: $seriesSpacing - width: 15px - - &.count - background-color: transparent - theme('color', '$textPrimaryColor') - font-size: 12px - font-weight: 500 - line-height: 17px - text-align: center - - &.active - theme('background-color', '$activeColor') - - .label - theme('color', '$textSecondaryColor') - display: block - font-size: 12px - font-weight: 500 - line-height: 12px - padding: 0 - padding-bottom: 3px - text-align: center - -.switchHover - border: 10px solid transparent - border-radius: 5px - margin: -10px - opacity: 0 - overflow: hidden - position: absolute - top: 0 - z-index: 10000 - - .scrollArea - margin-right: -22px; - max-height: 610px - overflow-x: hidden - overflow-y: scroll - width: calc(100% + 22px) - - &.is-mac - padding-right: 22px - - &.show-scroll-indicator-up:before - &.show-scroll-indicator-down:after - font-family: FontAwesome - display: block - theme('color', '$activeColor') - font-size: 2em - width: 100% - height: 10px - position: absolute - z-index: 1 - text-align: center - left: 0 - - &.show-scroll-indicator-up:before - top: -10px - content: '\f102' - - &.show-scroll-indicator-down:after - bottom: 18px - content: '\f103' - -.studyHover - height: 0 - padding-top: 0 - transition(padding-top 0.3s ease\, visibility 0s linear 0.3s) - visibility: hidden - width: 320px - - .scrollArea - height: 500px - -.seriesHover - transform(scale(0)) - transition(all 0.3s ease) - width: 731px - - .thumbnailEntry - margin: 0 - -.quickSwitchWrapper.left, .quickSwitchWrapper.middle - .seriesHover .thumbnailEntry - float: right - .studyHover - left: 0 - .seriesHover, .thumbnailsWrapper - right: 0 - transform-origin(100% 0%) - -.quickSwitchWrapper.right - .seriesHover .thumbnailEntry - float: left - .studyHover - right: 0 - .seriesHover, .thumbnailsWrapper - left: 0 - transform-origin(0% 0%) - -// Responsive layout -$switchSmallSize = 35px -$seriesSmallSpacing = 1px - -@media screen and (max-width: 1023px) - .switchSectionSeries.hover .seriesHover - transform(scale(0.5)) -@media screen and (min-width: 1024px) and (max-width: 1151px) - .switchSectionSeries.hover .seriesHover - transform(scale(0.61)) -@media screen and (min-width: 1152px) and (max-width: 1279px) - .switchSectionSeries.hover .seriesHover - transform(scale(0.69)) -@media screen and (min-width: 1280px) and (max-width: 1359px) - .switchSectionSeries.hover .seriesHover - transform(scale(0.77)) -@media screen and (min-width: 1360px) and (max-width: 1439px) - .switchSectionSeries.hover .seriesHover - transform(scale(0.82)) -@media screen and (min-width: 1440px) and (max-width: 1599px) - .switchSectionSeries.hover .seriesHover - transform(scale(0.87)) -@media screen and (min-width: 1600px) and (max-width: 1919px) - .switchSectionSeries.hover .seriesHover - transform(scale(0.97)) -@media screen and (min-width: 1920px) - .switchSectionSeries.hover .seriesHover - transform(scale(1)) - -@media screen and (max-width: 1599px) - .quickSwitch - .switchSection - .studySwitch .studyBox - border-radius: 7px - height: $switchSmallSize - width: $switchSmallSize - .seriesSwitch - height: $switchSmallSize + $seriesSmallSpacing - width: $switchSmallSize + $seriesSmallSpacing - .seriesItem - border-radius: 2px - height: 10px - margin: $seriesSmallSpacing - width: 10px - &.count - font-size: 10px - font-weight: 300 - line-height: 10px diff --git a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepoint.html b/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepoint.html deleted file mode 100644 index cd27b5221..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepoint.html +++ /dev/null @@ -1,12 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepoint.js b/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepoint.js deleted file mode 100644 index e690885e6..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepoint.js +++ /dev/null @@ -1,98 +0,0 @@ -import { Template } from 'meteor/templating'; -import { OHIF } from 'ohif-core'; - -Template.studyTimepoint.onCreated(() => { - const instance = Template.instance(); - const data = instance.data; - - instance.isActive = {}; - if (data.isUnassociatedStudy === true && data.studyInstanceUids.length === 1) { - instance.isActive[data.studyInstanceUids[0]] = true; - } -}); - -// Initialize the timepoint wrapper max-height to enable CSS transition -Template.studyTimepoint.onRendered(() => { - const instance = Template.instance(); - - const $studies = instance.$('.studyTimepoint'); - const $wrapper = $studies.closest('.studyTimepointWrapper'); - const $timepoint = $wrapper.closest('.timepoint-item'); - const studiesVisible = $studies.is(':visible'); - - if (!studiesVisible) { - $timepoint.addClass('active'); - } - - // Recalculates the timepoint height to make CSS transition smoother - $studies.trigger('displayStateChanged'); - - if (!studiesVisible) { - $timepoint.removeClass('active'); - } -}); - -Template.studyTimepoint.events({ - // Changes the selected study - 'selectionChanged .studyTimepoint'(event, instance, changed) { - const $selection = $(changed.selection); - - // Defines where will be the studies searched - let $studiesTarget = instance.$('.studyTimepoint'); - - // @TypeSafeStudies - if (changed.isQuickSwitch) { - // Changes the current quick switch study - const study = OHIF.viewer.Studies.findBy({ - studyInstanceUid: changed.studyInstanceUid - }); - instance.data.currentStudy.set(study); - - // Changes the target to toggle the selection in all the studies - $studiesTarget = $studiesTarget.closest('.studyTimepointBrowser'); - } - - // Removes selected state from all studies but the triggered study - $studiesTarget.find('.study-browser-item').not($selection).removeClass('active'); - - if (changed.isQuickSwitch) { - // Reset active studies map to allow only one active study - instance.isActive = {}; - // Add selected state for the triggered study - $selection.addClass('active'); - } else { - const $timepoint = instance.$('.studyTimepoint'); - // Set the max-height to inherit to be able to expand the wrapper on its full height - instance.$('.studyTimepointWrapper').css('max-height', 'inherit'); - // Toggle selected state for the triggered study - $selection.removeClass('loading'); - $selection.toggleClass('active'); - // Recalculates the timepoint height to make CSS transition smoother - const $thumbnails = $selection.find('.study-browser-series'); - $thumbnails.one('transitionend', () => $timepoint.trigger('displayStateChanged')); - } - - // Set the current study as active - instance.isActive[changed.studyInstanceUid] = $selection.hasClass('active'); - }, - // It should be triggered when the timepoint height is changed - 'displayStateChanged .studyTimepoint'(event, instance) { - const $timepoint = $(event.currentTarget); - const $wrapper = $timepoint.closest('.studyTimepointWrapper'); - - // Set the max-height for the wrapper to make CSS transition smoother - $wrapper.css('max-height', $timepoint.height()); - } -}); - -Template.studyTimepoint.helpers({ - isActive(study) { - const instance = Template.instance(); - - if (!study.studyInstanceUid) { - return; - } - - return instance.isActive[study.studyInstanceUid]; - } -}); diff --git a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepoint.styl b/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepoint.styl deleted file mode 100644 index e7bdea03a..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepoint.styl +++ /dev/null @@ -1,8 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.studyTimepointWrapper - overflow: hidden - transition($sidebarTransition) - -.timepoint-item:not(.active) .studyTimepointWrapper - max-height: 0 !important diff --git a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepointBrowser.html b/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepointBrowser.html deleted file mode 100644 index cc93aa501..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepointBrowser.html +++ /dev/null @@ -1,44 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepointBrowser.js b/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepointBrowser.js deleted file mode 100644 index 8e3136fbe..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepointBrowser.js +++ /dev/null @@ -1,211 +0,0 @@ -import { Template } from 'meteor/templating'; -import { ReactiveVar } from 'meteor/reactive-var'; -import { Tracker } from 'meteor/tracker'; -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; -import { OHIFError } from '../../../lib/classes/OHIFError'; - -Template.studyTimepointBrowser.onCreated(() => { - const instance = Template.instance(); - - // Reactive variable to control the view type for all or key timepoints - instance.timepointViewType = new ReactiveVar(instance.data.timepointViewType); - - // Defines whether to show all key timepoints or only the current one - instance.showAdditionalTimepoints = new ReactiveVar(true); - - // Return the current study if it's defined - instance.getCurrentStudy = () => { - return instance.data.currentStudy && instance.data.currentStudy.get(); - }; - - // Get the studies for a specific timepoint - instance.getStudies = timepoint => { - // @TypeSafeStudies - - if (!timepoint) { - return OHIF.viewer.Studies.all(); - } - - return timepoint.studyInstanceUids.map(studyInstanceUid => { - const query = { studyInstanceUid }; - - const loadedStudy = OHIF.viewer.Studies.findBy(query); - if (loadedStudy) return loadedStudy; - - const notYetLoaded = OHIF.studylist.collections.Studies.findOne(query); - if (notYetLoaded) return notYetLoaded; - - // const studyData = _.findWhere(timepoint.studiesData, query); - // if (studyData) return studyData; - - throw new OHIFError(`No study data available for Study: ${studyInstanceUid}`); - }); - }; -}); - -Template.studyTimepointBrowser.onRendered(() => { - const instance = Template.instance(); - - // Collapse all timepoints but first when timepoint view type changes - instance.autorun(() => { - // Runs this computation every time the timepointViewType is changed - const type = instance.timepointViewType.get(); - - // Removes all active classes to collapse the timepoints and studies - instance.$('.timepoint-item, .study-browser-item').removeClass('active'); - if (type === 'key' && !instance.data.currentStudy) { - // Show only first timepoint expanded for key timepoints - instance.$('.timepoint-item:first').addClass('active'); - } - }); - - // Expand only the timepoints with loaded studies in viewports - let lastStudy; - let activeStudiesUids = []; - - // Wait for rerendering and set the timepoint as active - instance.refreshActiveStudies = () => Tracker.afterFlush(() => { - _.each(activeStudiesUids, studyInstanceUid => { - instance.$(`.study-browser-item[data-uid='${studyInstanceUid}']`).addClass('active'); - }); - // Show only first timepoint expanded for key timepoints - instance.$('.timepoint-item:first').addClass('active'); - }); - - instance.autorun(() => { - // Runs this computation every time the current study is changed - const currentStudy = instance.data.currentStudy && instance.data.currentStudy.get(); - - // Stop here if there's no current study set - if (!currentStudy) { - return; - } - - // Check if the study really changed and update the last study - if (currentStudy !== lastStudy) { - instance.showAdditionalTimepoints.set(false); - lastStudy = currentStudy; - activeStudiesUids = [currentStudy.studyInstanceUid]; - } - - instance.refreshActiveStudies(); - }); -}); - -Template.studyTimepointBrowser.events({ - 'click .timepointHeader'(event, instance) { - const $timepoint = $(event.currentTarget).closest('.timepoint-item'); - - // Recalculates the timepoint height to make CSS transition smoother - $timepoint.find('.studyTimepoint').trigger('displayStateChanged'); - - // Toggle active class to group/ungroup timepoint studies - $timepoint.toggleClass('active'); - }, - - 'click .study-item-box.additional'(event, instance) { - // Show all key timepoints - instance.showAdditionalTimepoints.set(true); - } -}); - -Template.studyTimepointBrowser.helpers({ - // Decides if the timepoint view type switch shall be shown or omitted - shallShowViewType(timepointList) { - const instance = Template.instance(); - return timepointList.length && !instance.data.timepointViewType; - }, - - // Returns the button group data for switching between timepoint view types - viewTypeButtonGroupData() { - return { - value: Template.instance().timepointViewType, - options: [{ - value: 'key', - text: 'Key Timepoints' - }, { - value: 'all', - text: 'All Timepoints' - }] - }; - }, - - // Defines whether to show all key timepoints or only the current one - showAdditionalTimepoints() { - return Template.instance().showAdditionalTimepoints.get(); - }, - - hasAdditionalTimepoints() { - const instance = Template.instance(); - const { timepointApi } = instance.data; - const allTimepoints = timepointApi && timepointApi.all(); - return allTimepoints && allTimepoints.length > 1; - }, - - // Get the timepoints to be listed - timepoints() { - const instance = Template.instance(); - // Get the current study - const currentStudy = instance.getCurrentStudy(); - // Declare the timepoints - const { timepointApi } = instance.data; - let timepoints; - if (currentStudy && !instance.showAdditionalTimepoints.get()) { - // Show only the current study's timepoint - timepoints = timepointApi.study(currentStudy.studyInstanceUid); - } else { - if (!timepointApi) { - // If there is no timepoint API defined whatsoever, this means that there is no - // current timepoint ID, so we can just display all of the currently loaded studies - // in the study sidebar - timepoints = []; - } else if (instance.timepointViewType.get() === 'all') { - // Show all timepoints - timepoints = timepointApi.all(); - } else { - // Show only key timepoints - timepoints = timepointApi.key(); - } - } - - // Filter timepoints and show only the current timepoint and previous ones - let result = []; - const currentTimepoint = timepointApi.current(); - if (currentTimepoint) { - timepoints.forEach(timepoint => { - if (timepoint.latestDate.getTime() <= currentTimepoint.latestDate.getTime()) { - result.push(timepoint); - } - }); - } - - // Returns the timepoints - return result; - }, - - // Get the studies for a specific timepoint - studies(timepoint) { - return Template.instance().getStudies(timepoint); - }, - - // Build the modalities summary for all timepoint's studies - modalitiesSummary(timepoint) { - const instance = Template.instance(); - - const studies = instance.getStudies(timepoint); - - const modalities = {}; - studies.forEach(study => { - const modality = study.modalities || 'UN'; - modalities[modality] = modalities[modality] + 1 || 1; - }); - - const result = []; - _.each(modalities, (count, modality) => { - result.push(`${count} ${modality}`); - }); - - return result.join(', '); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepointBrowser.styl b/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepointBrowser.styl deleted file mode 100644 index 13ae8d64a..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepointBrowser.styl +++ /dev/null @@ -1,41 +0,0 @@ -@require '{ohif:viewerbase}/app' - -$timepointButtonHeight = 55px - -.studyTimepointBrowser - theme('background-color', '$primaryBackgroundColor') - float: left - height: 100% - position: relative - width: 100% - - .timepointButtonContainer - theme('background-color', '$primaryBackgroundColor') - theme('border-bottom', '1px solid $uiBorderColor') - display: none - height: $timepointButtonHeight - left: 10px - position: absolute - right: 10px - top: 0 - z-index: 1 - - &.viewTypeVisible - - .timepointButtonContainer - display: block - - .studyTimepointScrollArea - padding-top: $timepointButtonHeight - - .studyTimepointScrollArea - height: 100% - overflow-x: hidden - overflow-y: auto - margin-right: -36px - padding-bottom: 20px - padding-right: 36px - -ms-overflow-style: none - - &::-webkit-scrollbar - display: none diff --git a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepointStudy.html b/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepointStudy.html deleted file mode 100644 index a7a5da855..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepointStudy.html +++ /dev/null @@ -1,31 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepointStudy.js b/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepointStudy.js deleted file mode 100644 index 28305b2c1..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/studyTimepointBrowser/studyTimepointStudy.js +++ /dev/null @@ -1,181 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Template } from 'meteor/templating'; -import { ReactiveVar } from 'meteor/reactive-var'; -import _ from 'underscore'; -import $ from 'jquery'; -import { OHIF } from 'ohif-core'; - -Template.studyTimepointStudy.onCreated(() => { - const instance = Template.instance(); - - instance.loading = new ReactiveVar(false); - - const studyMetadata = OHIF.viewerbase.getStudyMetadata(instance.data.study); - const firstInstance = studyMetadata.getFirstInstance(); - if (firstInstance) { - instance.modalities = firstInstance.getRawValue('x00080060'); - instance.studyDescription = firstInstance.getRawValue('x00081030'); - instance.studyDate = firstInstance.getRawValue('x00080020'); - } - - // Get the current study element - instance.getStudyElement = (isGlobal=false) => { - const studyInstanceUid = instance.data.study.studyInstanceUid; - const selector = `.study-browser-item[data-uid='${studyInstanceUid}']`; - return isGlobal ? $(selector) : instance.$browser.find(selector); - }; - - instance.isQuickSwitch = () => { - return !_.isUndefined(instance.data.viewportIndex); - }; - - // Set the current study as selected in the studies list - instance.select = (isQuickSwitch=false) => { - const studyInstanceUid = instance.data.study.studyInstanceUid; - - const $study = instance.getStudyElement(); - const $timepoint = $study.closest('.studyTimepoint'); - - const selectionChanged = { - selection: [$study[0]], - studyInstanceUid, - isQuickSwitch - }; - - $timepoint.trigger('selectionChanged', selectionChanged); - }; - - instance.initializeStudyWrapper = () => { - // Stop here if it's a quick switch - if (instance.isQuickSwitch()) { - return; - } - - const $study = instance.getStudyElement(); - const $thumbnails = $study.find('.study-browser-series'); - $study.addClass('active'); - // If element already has max-height property set, .height() - // will return that value, so remove it to recalculate - $thumbnails.css('max-height', ''); - $thumbnails.css('max-height', $thumbnails.height()); - $study.removeClass('active'); - - // Here we add, remove, and add the active class again because this way - // the max-height animation appears smooth to the user. - if (instance.data.active) { - Meteor.setTimeout(() => $study.addClass('active'), 1); - } - }; -}); - -// Initialize the study wrapper max-height to enable CSS transition -Template.studyTimepointStudy.onRendered(() => { - const instance = Template.instance(); - - // Keep the study timepoint browser element to manipulate elements even after DOM is removed - instance.$browser = instance.$('.study-browser-item').closest('.studyTimepointBrowser'); - - instance.initializeStudyWrapper(); -}); - -Template.studyTimepointStudy.events({ - // Recalculates the timepoint height to make CSS transition smoother - 'transitionend .study-browser-series'(event, instance) { - if (event.target === event.currentTarget) { - $(event.currentTarget).closest('.studyTimepoint').trigger('displayStateChanged'); - } - }, - - // Transfers the active state to the current study - 'click .studyQuickSwitchTimepoint .study-item-container'(event, instance) { - instance.select(true); - }, - - // Set loading state - 'loadStarted .study-browser-item'(event, instance) { - instance.loading.set(true); - }, - - // Remove loading state and fix the thumbnails wrappers height - 'loadEnded .study-browser-item'(event, instance) { - instance.loading.set(false); - instance.initializeStudyWrapper(); - }, - - // Changes the current study selection for the clicked study - 'click .study-item-box'(event, instance) { - const studyData = instance.data.study; - const { studyInstanceUid } = studyData; - const isQuickSwitch = instance.isQuickSwitch(); - - // @TypeSafeStudies - // Check if the study already has series data, - // and if not, retrieve it. - if (!studyData.seriesList) { - const alreadyLoaded = OHIF.viewer.Studies.findBy({ studyInstanceUid }); - - if (!alreadyLoaded) { - const $studies = instance.getStudyElement(true); - $studies.trigger('loadStarted'); - OHIF.studies.retrieveStudyMetadata(studyInstanceUid).then(study => { - instance.data.study = study; - OHIF.viewer.Studies.insert(study); - - Meteor.setTimeout(() => { - $studies.trigger('loadEnded'); - instance.select(isQuickSwitch); - }, 1); - }).catch(error => { - OHIF.log.error(`There was an error trying to retrieve the study\'s metadata for studyInstanceUid: ${studyInstanceUid}`); - OHIF.log.error(error.stack); - - OHIF.log.trace(); - }); - } else { - studyData.seriesList = alreadyLoaded.seriesList; - instance.select(isQuickSwitch); - } - } else { - instance.select(isQuickSwitch); - } - } -}); - -Template.studyTimepointStudy.helpers({ - isLoading() { - // @TypeSafeStudies - const instance = Template.instance(); - const studyData = instance.data.study; - const alreadyLoaded = OHIF.viewer.Studies.findBy({ studyInstanceUid: studyData.studyInstanceUid }); - return instance.loading.get() && !alreadyLoaded; - }, - - modalities() { - const instance = Template.instance(); - const modalities = instance.modalities || 'UN'; - - // Replace backslashes with spaces - return modalities.replace(/\\/g, ' '); - }, - - modalityStyle() { - // Responsively styles the Modality Acronyms for studies - // with more than one modality - const instance = Template.instance(); - const modalities = instance.modalities || 'UN'; - const numModalities = modalities.split(/\\/g).length; - - if (numModalities === 1) { - // If we have only one modality, it should take up the whole div. - return 'font-size: 1em'; - } else if (numModalities === 2) { - // If we have two, let them sit side-by-side - return 'font-size: 0.75em'; - } else { - // If we have more than two modalities, change the line height to display multiple rows, - // depending on the number of modalities we need to display. - const lineHeight = Math.ceil(numModalities / 2) * 1.2; - return 'line-height: ' + lineHeight + 'em'; - } - } -}); diff --git a/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionButton/toolbarSectionButton.html b/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionButton/toolbarSectionButton.html deleted file mode 100644 index d3fd7e644..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionButton/toolbarSectionButton.html +++ /dev/null @@ -1,42 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionButton/toolbarSectionButton.js b/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionButton/toolbarSectionButton.js deleted file mode 100644 index 7c0e52255..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionButton/toolbarSectionButton.js +++ /dev/null @@ -1,129 +0,0 @@ -import { OHIF } from 'ohif-core'; -import { Template } from 'meteor/templating'; -import { Session } from 'meteor/session'; -import _ from 'underscore'; - -Template.toolbarSectionButton.onCreated(() => { - const instance = Template.instance(); - - instance.isActive = activeToolId => { - OHIF.commands.last.dep.depend(); - const subTools = instance.data.subTools; - const currentId = instance.data.id; - const isCurrentTool = currentId === activeToolId; - const isSubTool = subTools && _.findWhere(subTools, { id: activeToolId }); - const activeCommandButtons = Session.get('ToolManagerActiveCommandButtons') || []; - const isActiveCommandButton = activeCommandButtons.indexOf(instance.data.id) !== -1; - const isActive = typeof instance.data.active === 'function' && instance.data.active(); - - // Check if the current tool, a sub tool or a command button is active - return isActive || isCurrentTool || isSubTool || isActiveCommandButton; - }; - - instance.getActiveToolSubProperty = (propertyName, activeToolId) => { - const instance = Template.instance(); - const subTools = instance.data.subTools; - const defaultProperty = instance.data[propertyName]; - const currentId = instance.data.id; - - if (subTools && activeToolId !== currentId && instance.isActive(activeToolId)) { - const subTool = _.findWhere(subTools, { id: activeToolId }); - return subTool ? subTool[propertyName] : defaultProperty; - } else { - return defaultProperty; - } - }; - - instance.autorun(computation => { - Session.get('ToolManagerActiveToolUpdated'); - - // Get the last executed command - const lastCommand = OHIF.commands.last.get(); - - // Prevent running this computation on its first run - if (computation.firstRun) return; - - // Stop here if it's not the last command or if it's already an active tool - const { id } = instance.data; - const activeToolId = OHIF.viewerbase.toolManager.getActiveTool(); - if (lastCommand !== id || instance.isActive(activeToolId)) return; - - // Add an active class to a button for 100ms to give the impression the button was pressed - const flashButton = $element => { - $element.addClass('active'); - setTimeout(() => { - if ($element.hasClass('expandable') && $element.find('.toolbarSectionButton.active').length) return; - - const activeToolId = OHIF.viewerbase.toolManager.getActiveTool(); - const isActive = instance.isActive(activeToolId); - if (!isActive) { - $element.removeClass('active'); - } - }, 100); - }; - - // Flash the active button - const $button = instance.$('.toolbarSectionButton').first(); - flashButton($button); - - // Flash the parent button as well in case of this button is inside a drawer - const $parentButton = $button.closest('.toolbarSectionButton.expandable'); - if ($parentButton.length) { - flashButton($parentButton); - } - }); -}); - -Template.toolbarSectionButton.helpers({ - activeClass() { - Session.get('ToolManagerActiveToolUpdated'); - const instance = Template.instance(); - const activeToolId = OHIF.viewerbase.toolManager.getActiveTool(); - const isActive = instance.isActive(activeToolId); - return isActive ? 'active' : ''; - }, - - svgLink() { - Session.get('ToolManagerActiveToolUpdated'); - const instance = Template.instance(); - const activeToolId = OHIF.viewerbase.toolManager.getActiveTool(); - const svgLink = instance.getActiveToolSubProperty('svgLink', activeToolId); - return _.isFunction(svgLink) ? svgLink() : svgLink; - }, - - iconClasses() { - Session.get('ToolManagerActiveToolUpdated'); - const instance = Template.instance(); - const activeToolId = OHIF.viewerbase.toolManager.getActiveTool(); - const iconClasses = instance.getActiveToolSubProperty('iconClasses', activeToolId); - return _.isFunction(iconClasses) ? iconClasses() : iconClasses; - }, - - disableButton() { - window.store.getState().viewports.activeViewport; - const instance = Template.instance(); - const isCommandDisabled = OHIF.commands.isDisabled(instance.data.id); - const isFunctionDisabled = instance.data.disableFunction && instance.data.disableFunction(); - return isCommandDisabled || isFunctionDisabled; - }, - - hasSubTools() { - return this.subTools || this.subToolsTemplateName; - } -}); - -Template.toolbarSectionButton.events({ - 'click .toolbarSectionButton:not(.expandable)'(event, instance) { - // Prevent the event from bubbling to parent tools - event.stopPropagation(); - const $currentTarget = $(event.currentTarget); - - // Stop here if the button is disabled or customAction - if ($currentTarget.hasClass('disabled') || $currentTarget.hasClass('customAction')) { - return; - } - - // Run the command attached to the button - OHIF.commands.run(instance.data.id); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionButton/toolbarSectionButton.styl b/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionButton/toolbarSectionButton.styl deleted file mode 100644 index 1786b32cb..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionButton/toolbarSectionButton.styl +++ /dev/null @@ -1,63 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.toolbarSectionButton - theme('color', '$defaultColor') - theme('fill', '$defaultColor') - theme('stroke', '$defaultColor') - cursor: pointer - display: inline-block - min-width: 30px - outline: none - position: relative - text-align: center - - &.disabled - &>.buttonLabel, &>.svgContainer - opacity: 0.5 - cursor: not-allowed - - &:hover - &, i - theme('color', '$textSecondaryColor') - - .buttonLabel - theme('color', '$textSecondaryColor') - font-size: 12px - font-weight: 500 - - .svgContainer - margin: 0 auto - text-align: center - - i - theme('color', '$textSecondaryColor') - font-size: 18px - line-height: 30px - - svg - background-color: transparent - margin: 2px - width: 21px - height: 21px - - &:hover - &>.buttonLabel - theme('color', '$hoverColor') - - &>i - theme('color', '$hoverColor') - - &>.svgContainer>svg - theme('fill', '$hoverColor') - theme('stroke', '$hoverColor') - - &:active, &.active - &>.buttonLabel, &>.svgContainer - theme('color', '$activeColor') - - svg - theme('fill', '$activeColor') - theme('stroke', '$activeColor') - - i - theme('color', '$activeColor') diff --git a/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionTools/toolbarSectionTools.html b/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionTools/toolbarSectionTools.html deleted file mode 100644 index 77d17fe42..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionTools/toolbarSectionTools.html +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionTools/toolbarSectionTools.js b/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionTools/toolbarSectionTools.js deleted file mode 100644 index f8de09736..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionTools/toolbarSectionTools.js +++ /dev/null @@ -1,67 +0,0 @@ -import { Template } from 'meteor/templating'; -import { Meteor } from 'meteor/meteor'; - -Template.toolbarSectionTools.events({ - 'click .expandable'(event, instance) { - const $target = $(event.currentTarget); - const isExpanded = $target.hasClass('expanded'); - $target.toggleClass('expanded', !isExpanded); - - // Remove the previously set repositioning css attribute - const $box = $target.find('.toolbarSectionDrawerContainer:first'); - $box.css('left', ''); - - // Stop here if the tool group is not expanded - if (isExpanded) { - return; - } - - // Move the box left or right if it is overflowing the window - const transitionendHandler = event => { - const originalEvent = event.originalEvent; - const propertyName = originalEvent && originalEvent.propertyName; - if (propertyName && propertyName === 'transform') { - $target.off('transitionend', transitionendHandler); - } else { - return; - } - - const boxWidth = $box.outerWidth(); - const start = $box.offset().left; - const bodyWidth = $(document.body).outerWidth(); - const end = start + boxWidth; - - if (start < 0) { - $box.css('left', `calc(50% - ${start}px)`); - } else if (end > bodyWidth) { - const diff = end - bodyWidth; - $box.css('left', `calc(50% - ${diff}px)`); - } - }; - - // Attach the handler to deal with position fixing - $target.on('transitionend', transitionendHandler); - }, - - 'focusout .expandable'(event, instance) { - const target = event.target; - const currentTarget = event.currentTarget; - - // Postpone the execution to be able to get the focused element - Meteor.defer(() => { - const $focused = $(':focus'); - const $expandable = $(currentTarget).closest('.expandable'); - const focusInside = $expandable.find(':focus').length; - - // Check if the expandable lost the focus - if (!$focused.length || !focusInside) { - // Stop here if focus is going from subtool to expandable tool - if (currentTarget !== target && $focused[0] === currentTarget) { - return; - } - - $expandable.removeClass('expanded'); - } - }); - } -}); diff --git a/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionTools/toolbarSectionTools.styl b/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionTools/toolbarSectionTools.styl deleted file mode 100644 index 387394da1..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/toolbarSectionTools/toolbarSectionTools.styl +++ /dev/null @@ -1,45 +0,0 @@ -@import "{ohif:viewerbase}/app" - -$distance = 10px - -.toolbarSectionTools - position: relative - - .toolbarSectionButton>.buttonLabel i.expanded-status - text-align: center - transition(all 300ms ease) - width: 8px - - .toolbarSectionButton.expanded - &>.buttonLabel i.expanded-status - transform(rotateX(180deg)) - - &>.toolbarSectionDrawerContainer - opacity: 1 - transform(translateX(-50%) translateY(0) scale(1)) - - .toolbarSectionDrawerContainer - bottom: - $toolbarDrawerHeight - height: $toolbarDrawerHeight - left: 50% - min-width: 100% - opacity: 0 - padding-top: $distance - position: absolute - transition(opacity 0.3s ease\, transform 0.3s ease\, left 0.3s ease) - transform(translateX(-50%) translateY( - ($toolbarDrawerHeight + $distance)) scale(0)) - white-space: nowrap - z-index: 2 - - .toolbarSectionDrawer - theme('background', '$uiGrayDarkest', 0.95) - theme('border', '2px solid $uiBorderColor', 0.95) - border-radius: 7px - theme('color', '$textPrimaryColor') - content: '' - display: block - font-size: 18px - height: $toolbarDrawerHeight - padding-top: 6px - text-align: center - width: 100% diff --git a/Packages/ohif-viewerbase/client/components/viewer/userPreferences/dialog.html b/Packages/ohif-viewerbase/client/components/viewer/userPreferences/dialog.html deleted file mode 100644 index f248b5704..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/userPreferences/dialog.html +++ /dev/null @@ -1,20 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/viewer/userPreferences/dialog.js b/Packages/ohif-viewerbase/client/components/viewer/userPreferences/dialog.js deleted file mode 100644 index 4a0366d41..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/userPreferences/dialog.js +++ /dev/null @@ -1,22 +0,0 @@ -import { Template } from 'meteor/templating'; -import { ReactiveVar } from 'meteor/reactive-var'; - -Template.userPreferencesDialog.onCreated(() => { - const instance = Template.instance(); - instance.activeTab = new ReactiveVar('hotkeys'); -}); - -Template.userPreferencesDialog.events({ - 'click .nav-tabs li a'(event, instance) { - const tabId = $(event.currentTarget).attr('data-id'); - instance.activeTab.set(tabId); - } -}); - -Template.userPreferencesDialog.helpers({ - tabClasses(tabId) { - const instance = Template.instance(); - const activeTab = instance.activeTab.get(); - return tabId === activeTab ? 'active' : ''; - } -}); diff --git a/Packages/ohif-viewerbase/client/components/viewer/userPreferences/dialog.styl b/Packages/ohif-viewerbase/client/components/viewer/userPreferences/dialog.styl deleted file mode 100644 index 8208c150c..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/userPreferences/dialog.styl +++ /dev/null @@ -1,18 +0,0 @@ -@require '{ohif:viewerbase}/app' - -.dialog-user-preferences - - .modal-body - overflow: hidden - - .form-content - border-bottom: 3px solid #000000 - margin-bottom: 20px - margin-left: -22px - margin-right: -22px - max-height: 70vh - overflow-y: auto - padding: 22px - - .popover - width: 300px diff --git a/Packages/ohif-viewerbase/client/components/viewer/windowLevelPresets/form.html b/Packages/ohif-viewerbase/client/components/viewer/windowLevelPresets/form.html deleted file mode 100644 index bb4934cce..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/windowLevelPresets/form.html +++ /dev/null @@ -1,31 +0,0 @@ - diff --git a/Packages/ohif-viewerbase/client/components/viewer/windowLevelPresets/form.js b/Packages/ohif-viewerbase/client/components/viewer/windowLevelPresets/form.js deleted file mode 100644 index b8e3081b3..000000000 --- a/Packages/ohif-viewerbase/client/components/viewer/windowLevelPresets/form.js +++ /dev/null @@ -1,37 +0,0 @@ -import { Template } from 'meteor/templating'; -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; - -Template.windowLevelPresetsForm.onCreated(() => { - const instance = Template.instance(); - const { wlPresets } = OHIF.viewerbase; - - instance.api = { - save() { - const form = instance.$('form').first().data('component'); - const definitions = form.value(); - const promise = wlPresets.store(definitions); - promise.then(() => OHIF.ui.notifications.success({ - text: 'The Window/Levels preferences were successfully saved.' - })); - return promise; - }, - - resetDefaults() { - const dialogOptions = { - class: 'themed', - title: 'Reset Window/Levels Presets', - message: 'Are you sure you want to reset all the window level presets to their defaults?' - }; - - return OHIF.ui.showDialog('dialogConfirm', dialogOptions).then(() => wlPresets.resetDefaults()); - } - }; -}); - -Template.windowLevelPresetsForm.helpers({ - getPresetsInputInformationList() { - OHIF.viewerbase.wlPresets.changeObserver.depend(); - return _.toArray(OHIF.viewer.wlPresets); - } -}); diff --git a/Packages/ohif-viewerbase/client/index.js b/Packages/ohif-viewerbase/client/index.js deleted file mode 100644 index 30516c160..000000000 --- a/Packages/ohif-viewerbase/client/index.js +++ /dev/null @@ -1,180 +0,0 @@ -import { Viewerbase } from '../namespace'; - -/** - * Imports file with side effects only (files that do not export anything...) - */ - -import './collections'; -import './lib/debugReactivity'; -import components from './components/index.js'; - -Viewerbase.components = components; - -/** - * Exported Functions - */ - -// getElementIfNotEmpty -import { getElementIfNotEmpty } from './lib/getElementIfNotEmpty'; -Viewerbase.getElementIfNotEmpty = getElementIfNotEmpty; - -// getStackDataIfNotEmpty -import { getStackDataIfNotEmpty } from './lib/getStackDataIfNotEmpty'; -Viewerbase.getStackDataIfNotEmpty = getStackDataIfNotEmpty; - -// switchToImageRelative -import { switchToImageRelative } from './lib/switchToImageRelative'; -Viewerbase.switchToImageRelative = switchToImageRelative; - -// switchToImageByIndex -import { switchToImageByIndex } from './lib/switchToImageByIndex'; -Viewerbase.switchToImageByIndex = switchToImageByIndex; - -// getFrameOfReferenceUID -import { getFrameOfReferenceUID } from './lib/getFrameOfReferenceUID'; -Viewerbase.getFrameOfReferenceUID = getFrameOfReferenceUID; - -// getImageIdForImagePath -import { getImageIdForImagePath } from './lib/getImageIdForImagePath'; -Viewerbase.getImageIdForImagePath = getImageIdForImagePath; - -// updateCrosshairsSynchronizer -import { updateCrosshairsSynchronizer } from './lib/updateCrosshairsSynchronizer'; -Viewerbase.updateCrosshairsSynchronizer = updateCrosshairsSynchronizer; - -// getImageId -import { getImageId } from './lib/getImageId'; -Viewerbase.getImageId = getImageId; - -// setActiveViewport -import { setActiveViewport } from './lib/setActiveViewport'; -Viewerbase.setActiveViewport = setActiveViewport; - -// setFocusToActiveViewport -import { setFocusToActiveViewport } from './lib/setFocusToActiveViewport'; -Viewerbase.setFocusToActiveViewport = setFocusToActiveViewport; - -// getWADORSImageId -import { getWADORSImageId } from './lib/getWADORSImageId'; -Viewerbase.getWADORSImageId = getWADORSImageId; - -// updateAllViewports -import { updateAllViewports } from './lib/updateAllViewports'; -Viewerbase.updateAllViewports = updateAllViewports; - -// sortStudy -import { sortStudy } from './lib/sortStudy'; -Viewerbase.sortStudy = sortStudy; - -// updateMetaDataManager -import { updateMetaDataManager } from './lib/updateMetaDataManager'; -Viewerbase.updateMetaDataManager = updateMetaDataManager; - -// updateOrientationMarkers -import { updateOrientationMarkers } from './lib/updateOrientationMarkers'; -Viewerbase.updateOrientationMarkers = updateOrientationMarkers; - -// isImage -import { isImage } from './lib/isImage'; -Viewerbase.isImage = isImage; - -// getInstanceClassDefaultViewport, setInstanceClassDefaultViewportFunction -import { getInstanceClassDefaultViewport, setInstanceClassDefaultViewportFunction } from './lib/instanceClassSpecificViewport'; -Viewerbase.getInstanceClassDefaultViewport = getInstanceClassDefaultViewport; -Viewerbase.setInstanceClassDefaultViewportFunction = setInstanceClassDefaultViewportFunction; - -// displayReferenceLines -import { displayReferenceLines } from './lib/displayReferenceLines'; -Viewerbase.displayReferenceLines = displayReferenceLines; - -// getStudyMetadata -import { getStudyMetadata } from './lib/getStudyMetadata'; -Viewerbase.getStudyMetadata = getStudyMetadata; - -/** - * Exported Namespaces (sub-namespaces) - */ - -// panelNavigation.* -import { panelNavigation } from './lib/panelNavigation'; -Viewerbase.panelNavigation = panelNavigation; - -// prepareViewerData -import { prepareViewerData } from './lib/prepareViewerData'; -Viewerbase.prepareViewerData = prepareViewerData; - -// renderViewer -import { renderViewer } from './lib/renderViewer'; -Viewerbase.renderViewer = renderViewer; - -// WLPresets.* -import { WLPresets } from './lib/WLPresets'; -Viewerbase.wlPresets = WLPresets; - -// hotkeyUtils.* -import { hotkeyUtils } from './lib/hotkeyUtils'; -Viewerbase.hotkeyUtils = hotkeyUtils; - -// viewportOverlayUtils.* -import { viewportOverlayUtils } from './lib/viewportOverlayUtils'; -Viewerbase.viewportOverlayUtils = viewportOverlayUtils; - -// viewportUtils.* -import { viewportUtils } from './lib/viewportUtils'; -Viewerbase.viewportUtils = viewportUtils; - -// dialogUtils.* -import { dialogUtils } from './lib/dialogUtils'; -Viewerbase.dialogUtils = dialogUtils; - -// unloadHandlers.* -import { unloadHandlers } from './lib/unloadHandlers'; -Viewerbase.unloadHandlers = unloadHandlers; - -// sortingManager.* -import { sortingManager } from './lib/sortingManager'; -Viewerbase.sortingManager = sortingManager; - -// crosshairsSynchronizers.* -import { crosshairsSynchronizers } from './lib/crosshairsSynchronizers'; -Viewerbase.crosshairsSynchronizers = crosshairsSynchronizers; - -// annotateTextUtils.* -import { annotateTextUtils } from './lib/annotateTextUtils'; -Viewerbase.annotateTextUtils = annotateTextUtils; - -// textMarkerUtils.* -import { textMarkerUtils } from './lib/textMarkerUtils'; -Viewerbase.textMarkerUtils = textMarkerUtils; - -// createStacks.* -import { createStacks } from './lib/createStacks'; -Viewerbase.createStacks = createStacks; - - -/** - * Exported Singletons - */ - -// StackManager as "stackManager" (since it's a plain object instance, the exported name starts with a lowercase letter) -import { StackManager } from './lib/StackManager'; -Viewerbase.stackManager = StackManager; - -// toolManager -import { toolManager } from './lib/toolManager'; -Viewerbase.toolManager = toolManager; - -/** - * Exported Helpers - */ - -import { helpers } from './lib/helpers/'; -Viewerbase.helpers = helpers; - -/** - * Exported Collections - */ - -// sopClassDictionary -import { sopClassDictionary } from './lib/sopClassDictionary'; -Viewerbase.sopClassDictionary = sopClassDictionary; \ No newline at end of file diff --git a/Packages/ohif-viewerbase/client/lib/StackManager.js b/Packages/ohif-viewerbase/client/lib/StackManager.js deleted file mode 100644 index 2dccef36e..000000000 --- a/Packages/ohif-viewerbase/client/lib/StackManager.js +++ /dev/null @@ -1,151 +0,0 @@ -import { OHIF } from 'ohif-core'; -import { getImageId } from './getImageId'; - -let stackMap = {}; -let configuration = {}; -const stackUpdatedCallbacks = []; - -const { OHIFError } = OHIF.classes; - - -/** - * Loop through the current series and add metadata to the - * Cornerstone meta data provider. This will be used to fill information - * into the viewport overlays, and to calculate reference lines and orientation markers - * @param {Object} stackMap stackMap object - * @param {Object} study Study object - * @param {Object} displaySet The set of images to make the stack from - * @return {Array} Array with image IDs - */ -function createAndAddStack(stackMap, study, displaySet) { - const metadataProvider = OHIF.viewer.metadataProvider; - const numImages = displaySet.images.length; - const imageIds = []; - let imageId; - - displaySet.images.forEach((instance, imageIndex) => { - const image = instance.getData(); - const metaData = { - instance: image, // in this context, instance will be the data of the InstanceMetadata object... - series: displaySet, // TODO: Check this - study, - numImages, - imageIndex: imageIndex + 1 - }; - - const numberOfFrames = image.numberOfFrames; - if (numberOfFrames > 1) { - OHIF.log.info('Multiframe image detected'); - for (let i = 0; i < numberOfFrames; i++) { - metaData.frameNumber = i; - imageId = getImageId(image, i); - imageIds.push(imageId); - metadataProvider.addMetadata(imageId, metaData); - } - } else { - metaData.frameNumber = 1; - imageId = getImageId(image); - imageIds.push(imageId); - metadataProvider.addMetadata(imageId, metaData); - } - }); - - const stack = { - displaySetInstanceUid: displaySet.displaySetInstanceUid, - imageIds, - frameRate: displaySet.frameRate, - isClip: displaySet.isClip - }; - - stackMap[displaySet.displaySetInstanceUid] = stack; - - return stack; -} - -configuration = { - createAndAddStack -}; - -/** - * This object contains all the functions needed for interacting with the stack manager. - * Generally, findStack is the only function used. If you want to know when new stacks - * come in, you can register a callback with addStackUpdatedCallback. - */ -const StackManager = { - /** - * Removes all current stacks - */ - clearStacks() { - stackMap = {}; - }, - /** - * Create a stack from an image set, as well as add in the metadata on a per image bases. - * @param study The study who's metadata will be added - * @param displaySet The set of images to make the stack from - * @return {Array} Array with image IDs - */ - makeAndAddStack(study, displaySet) { - return configuration.createAndAddStack(stackMap, study, displaySet, stackUpdatedCallbacks); - }, - /** - * Find a stack from the currently created stacks. - * @param displaySetInstanceUid The UID of the stack to find. - * @returns {*} undefined if not found, otherwise the stack object is returned. - */ - findStack(displaySetInstanceUid) { - return stackMap[displaySetInstanceUid]; - }, - /** - * Find a stack or reate one if it has not been created yet - * @param study The study who's metadata will be added - * @param displaySet The set of images to make the stack from - * @return {Array} Array with image IDs - */ - findOrCreateStack(study, displaySet) { - let stack = this.findStack(displaySet.displaySetInstanceUid); - - if (!stack || !stack.imageIds) { - stack = this.makeAndAddStack(study, displaySet); - } - - return stack; - }, - /** - * Gets the underlying map of displaySetInstanceUid to stack object. - * WARNING: Do not change this object. It directly affects the manager. - * @returns {{}} map of displaySetInstanceUid -> stack. - */ - getAllStacks() { - return stackMap; - }, - /** - * Adds in a callback to be called on a stack being added / updated. - * @param callback must accept at minimum one argument, - * which is the stack that was added / updated. - */ - addStackUpdatedCallback(callback) { - if (typeof callback !== 'function') { - throw new OHIFError('callback must be provided as a function'); - } - stackUpdatedCallbacks.push(callback); - }, - /** - * Return configuration - */ - getConfiguration() { - return configuration; - }, - /** - * Set configuration, in order to provide compatibility - * with other systems by overriding this functions - * @param {Object} config object with functions to be overrided - * - * For now, only makeAndAddStack can be overrided - */ - setConfiguration(config) { - configuration = config; - } -}; - -export { StackManager }; -export default StackManager; diff --git a/Packages/ohif-viewerbase/client/lib/WLPresets.js b/Packages/ohif-viewerbase/client/lib/WLPresets.js deleted file mode 100644 index 4f23bb7d3..000000000 --- a/Packages/ohif-viewerbase/client/lib/WLPresets.js +++ /dev/null @@ -1,228 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Session } from 'meteor/session'; -import { Tracker } from 'meteor/tracker'; -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; -import { cornerstone } from 'meteor/ohif:cornerstone'; -import { viewportUtils } from './viewportUtils'; - -const WL_PRESET_CUSTOM = 'WL_PRESET_CUSTOM'; -const WL_PRESET_DEFAULT = 'WL_PRESET_DEFAULT'; -const WL_STORAGE_KEY = `WindowLevelPresetsDefinitions`; - -OHIF.viewer.defaultWLPresets = { - 0: { - id: 'Soft Tissue', - wc: 40, - ww: 400 - }, - 1: { - id: 'Lung', - wc: -600, - ww: 1500 - }, - 2: { - id: 'Liver', - wc: 90, - ww: 150 - }, - 3: { - id: 'Bone', - wc: 480, - ww: 2500 - }, - 4: { - id: 'Brain', - wc: 40, - ww: 80 - }, - 5: {}, - 6: {}, - 7: {}, - 8: {}, - 9: {} -}; - -class WindowLevelPresetsManager { - constructor() { - this.defaults = {}; - this.retrieveFunction = null; - this.storeFunction = null; - this.changeObserver = new Tracker.Dependency(); - } - - setRetrieveFunction(retrieveFunction) { - this.retrieveFunction = retrieveFunction; - } - - setStoreFunction(storeFunction) { - this.storeFunction = storeFunction; - } - - /** - * Updates the enabledElement data for the Cornerstone element - * to reflect the current W/L preset which is applied. - * - * @param {HTMLElement} element - */ - updateElementWLPresetData(element) { - const wlPresetData = cornerstone.getElementData(element, 'wlPreset'); - const enabledElement = cornerstone.getEnabledElement(element); - const { viewport, image } = enabledElement; - const { windowCenter, windowWidth } = viewport.voi; - let presetName; - - if (windowWidth === image.windowWidth && windowCenter === image.windowCenter) { - presetName = WL_PRESET_DEFAULT; - } else { - const WLPresets = OHIF.viewer.wlPresets; - - const currentPreset = Object.values(WLPresets).find(currentPreset => { - return (windowCenter === currentPreset.wc && - windowWidth === currentPreset.ww); - }); - - if (currentPreset) { - presetName = currentPreset.id; - } else { - presetName = WL_PRESET_CUSTOM; - } - } - - wlPresetData.name = presetName; - wlPresetData.ww = windowWidth; - wlPresetData.wc = windowCenter; - - if (wlPresetData.name === WL_PRESET_CUSTOM) { - const custom = wlPresetData.custom || (wlPresetData.custom = Object.create(null)); - custom.ww = windowWidth; - custom.wc = windowCenter; - } - } - - /** - * Set specified W/L preset on given element on fallback to default W/L preset if the specified preset is not valid. - * @param {String} presetName The desired W/L preset to be applied - * @param {HTMLElement} element An enabled viewport DOM Element. - */ - applyWLPreset(presetName, element) { - const wlPresets = OHIF.viewer.wlPresets; - const wlPresetData = cornerstone.getElementData(element, 'wlPreset'); - const viewport = cornerstone.getViewport(element); - - const preset = wlPresets[presetName] || _.findWhere(wlPresets, { id: presetName }); - if (presetName === WL_PRESET_CUSTOM && wlPresetData.custom) { - viewport.voi.windowWidth = wlPresetData.custom.ww; - viewport.voi.windowCenter = wlPresetData.custom.wc; - } else if (preset && !_.isEmpty(preset) && preset.id) { - presetName = preset.id; - viewport.voi.windowWidth = preset.ww; - viewport.voi.windowCenter = preset.wc; - } else { - const enabledElement = cornerstone.getEnabledElement(element); - viewport.voi.windowWidth = enabledElement.image.windowWidth; - viewport.voi.windowCenter = enabledElement.image.windowCenter; - presetName = WL_PRESET_DEFAULT; - } - - wlPresetData.name = presetName; - wlPresetData.ww = viewport.voi.windowWidth; - wlPresetData.wc = viewport.voi.windowCenter; - - // Update the viewport - cornerstone.setViewport(element, viewport); - - // Notify other components about W/L Preset changes - Session.set('OHIFWlPresetApplied', presetName); - } - - store(wlPresets) { - return new Promise((resolve, reject) => { - if (this.storeFunction) { - this.storeFunction.call(this, WL_STORAGE_KEY, wlPresets).then(resolve).catch(reject); - } else if (OHIF.user.userLoggedIn()) { - OHIF.user.setData(WL_STORAGE_KEY, wlPresets).then(resolve).catch(reject); - } else { - const wlPresetsJSON = JSON.stringify(wlPresets); - localStorage.setItem(WL_STORAGE_KEY, wlPresetsJSON); - resolve(); - } - }).then(() => this.setOHIFWLPresets.call(this, wlPresets)); - } - - retrieve() { - return new Promise((resolve, reject) => { - if (this.retrieveFunction) { - this.retrieveFunction.call(this).then(resolve).catch(reject); - } else if (OHIF.user.userLoggedIn()) { - try { - resolve(OHIF.user.getData(WL_STORAGE_KEY)); - } catch(error) { - reject(error); - } - } else { - const wlPresetsJSON = localStorage.getItem(WL_STORAGE_KEY) || ''; - const wlPresets = JSON.parse(wlPresetsJSON) || undefined; - resolve(wlPresets); - } - }); - } - - load() { - return new Promise((resolve, reject) => { - this.retrieve().then(wlPresets => { - if (wlPresets) { - this.setOHIFWLPresets.call(this, wlPresets); - } else { - this.loadDefaults.call(this); - } - }).catch(() => this.loadDefaults.call(this)); - }); - } - - applyWLPresetToActiveElement(presetName) { - const element = viewportUtils.getActiveViewportElement(); - if (!element) { - return; - } - - this.applyWLPreset(presetName, element); - } - - /** - * Overrides OHIF's wlPresets - * @param {Object} wlPresets Object with wlPresets mapping - */ - setOHIFWLPresets(wlPresets) { - const hasOwn = Object.prototype.hasOwnProperty; - const presetMap = Object.create(null); // Objects without prototype have much faster lookup times - for (let index in wlPresets) { - if (hasOwn.call(wlPresets, index)) { - presetMap[index] = wlPresets[index]; - } - } - - OHIF.viewer.wlPresets = presetMap; - this.changeObserver.changed(); - } - - loadDefaults() { - this.setOHIFWLPresets(OHIF.viewer.defaultWLPresets); - } - - resetDefaults() { - return this.store(OHIF.viewer.defaultWLPresets); - } -} - -/** - * Export functions inside WLPresets namespace. - */ -const WLPresets = new WindowLevelPresetsManager(); - -Meteor.startup(() => { - WLPresets.loadDefaults(); - WLPresets.load(); -}); - -export { WLPresets }; diff --git a/Packages/ohif-viewerbase/client/lib/annotateTextUtils.js b/Packages/ohif-viewerbase/client/lib/annotateTextUtils.js deleted file mode 100644 index bd7679c0e..000000000 --- a/Packages/ohif-viewerbase/client/lib/annotateTextUtils.js +++ /dev/null @@ -1,124 +0,0 @@ -import { viewportUtils } from './viewportUtils'; - -const getTextCallback = doneChangingTextCallback => { - // This handles the text entry for the annotation tool - const keyPressHandler = e => { - // If Enter or Esc are pressed, close the dialog - if (e.which === 13 || e.which === 27) { - closeHandler(); - } - }; - - const closeHandler = () => { - dialog.get(0).close(); - doneChangingTextCallback(getTextInput.val()); - // Reset the text value - getTextInput.val(''); - - // Reset the focus to the active viewport element - // This makes the mobile Safari keyboard close - const element = viewportUtils.getActiveViewportElement(); - $(element).focus(); - }; - - const dialog = $('#annotationDialog'); - if (dialog.get(0).open === true) { - return; - } - - const getTextInput = $('.annotationTextInput'); - - // Focus on the text input to open the Safari keyboard - getTextInput.focus(); - - dialog.get(0).showModal(); - - const confirm = dialog.find('.annotationDialogConfirm'); - confirm.off('click'); - confirm.on('click', () => { - closeHandler(); - }); - - // Use keydown since keypress doesn't handle ESC in Chrome - dialog.off('keydown'); - dialog.on('keydown', keyPressHandler); -}; - -const changeTextCallback = (data, eventData, doneChangingTextCallback) => { - const dialog = $('#relabelAnnotationDialog'); - if (dialog.get(0).open === true) { - return; - } - - // Is necessary to use Blaze object to not create - // circular depencency with helper object (./helpers) - if (Blaze._globalHelpers.isTouchDevice()) { - // Center the dialog on screen on touch devices - dialog.css({ - top: 0, - left: 0, - right: 0, - bottom: 0, - margin: 'auto' - }); - } else { - // Place the dialog above the tool that is being relabelled - dialog.css({ - top: eventData.currentPoints.page.y - dialog.outerHeight() - 20, - left: eventData.currentPoints.page.x - dialog.outerWidth() / 2 - }); - } - - const getTextInput = dialog.find('.annotationTextInput'); - const confirm = dialog.find('.relabelConfirm'); - const remove = dialog.find('.relabelRemove'); - - getTextInput.val(data.text); - - // Focus on the text input to open the Safari keyboard - getTextInput.focus(); - - dialog.get(0).showModal(); - - confirm.off('click'); - confirm.on('click', () => { - dialog.get(0).close(); - doneChangingTextCallback(data, getTextInput.val()); - }); - - // If the remove button is clicked, delete this marker - remove.off('click'); - remove.on('click', () => { - dialog.get(0).close(); - doneChangingTextCallback(data, undefined, true); - }); - - dialog.off('keydown'); - dialog.on('keydown', keyPressHandler); - - const keyPressHandler = e => { - // If Enter is pressed, close the dialog - if (e.which === 13) { - closeHandler(); - } - }; - - const closeHandler = () => { - dialog.get(0).close(); - doneChangingTextCallback(data, getTextInput.val()); - // Reset the text value - getTextInput.val(''); - - // Reset the focus to the active viewport element - // This makes the mobile Safari keyboard close - const element = viewportUtils.getActiveViewportElement(); - $(element).focus(); - }; -}; - -const annotateTextUtils = { - getTextCallback, - changeTextCallback -}; - -export { annotateTextUtils }; \ No newline at end of file diff --git a/Packages/ohif-viewerbase/client/lib/classes/LayoutManager.js b/Packages/ohif-viewerbase/client/lib/classes/LayoutManager.js deleted file mode 100644 index 616414f0e..000000000 --- a/Packages/ohif-viewerbase/client/lib/classes/LayoutManager.js +++ /dev/null @@ -1,660 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Blaze } from 'meteor/blaze'; -import { Session } from 'meteor/session'; -import { Tracker } from 'meteor/tracker'; -import { Template } from 'meteor/templating'; -import _ from 'underscore'; -import $ from 'jquery'; - -import { OHIF } from 'ohif-core'; - -import viewerComponents from '../../components/viewer/index.js'; - -const PLUGIN_CORNERSTONE = 'cornerstone'; - -let isInteractingWithViewport = false; -Meteor.startup(() => { - const setInteracting = (flag) => { - isInteractingWithViewport = flag; - }; - - const $body = $('body'); - $body.on('mousedown', '.imageViewerViewport', () => setInteracting(true)); - $body.on('mouseup', () => setInteracting(false)); -}); - -// Displays Series in Viewports given a Protocol and list of Studies -export class LayoutManager { - /** - * Constructor: initializes a Layout Manager object. - * @param {Function} - * @param {Array} studies Array of studies objects that will be rendered in the Viewer. Each object will be rendered in a div.imageViewerViewport - */ - constructor(setContents, studies) { - OHIF.log.info('LayoutManager constructor'); - - this.setContents = setContents; - this.observer = new Tracker.Dependency(); - this.studies = studies; - this.viewportData = []; - this.layoutTemplate = viewerComponents.GridLayout; - this.layoutProps = { - rows: 1, - columns: 1 - }; - - this.isZoomed = false; - } - - /** - * Returns the number of viewports rendered, based on layoutProps - * @return {integer} number of viewports - */ - getNumberOfViewports() { - return this.layoutProps.rows * this.layoutProps.columns; - } - - /** - * It creates a new viewport data. This is useful for the first rendering when no viewportData is set yet. - */ - setDefaultViewportData() { - OHIF.log.info('LayoutManager setDefaultViewportData'); - - const self = this; - - // Get the number of viewports to be rendered - const viewportsAmount = this.getNumberOfViewports(); - - // Store the old viewport data and reset the current - const oldViewportData = self.viewportData; - - // Get the studies and display sets sequence map - const sequenceMap = this.getDisplaySetSequenceMap(); - - // Check if the display sets are sequenced - const isSequenced = this.isDisplaySetsSequenced(sequenceMap); - - // Define the current viewport index and the viewport data array - let currentViewportIndex = 0; - if (viewportsAmount > oldViewportData.length && oldViewportData.length && isSequenced) { - // Keep the displayed display sets - self.viewportData = oldViewportData; - currentViewportIndex = oldViewportData.length; - } else if (viewportsAmount <= oldViewportData.length) { - // Reduce the original displayed display sets - self.viewportData = oldViewportData.slice(0, viewportsAmount); - return; - } else { - // Reset all display sets - self.viewportData = []; - } - - // Get all the display sets for the viewer studies - let displaySets = []; - this.studies.forEach((study) => { - study.displaySets.forEach(dSet => dSet.images.length && displaySets.push(dSet)); - }); - - // Get the display sets that will be appended to the current ones - let appendix; - const currentLength = self.viewportData.length; - if (currentLength) { - // TODO: isolate displaySets array by study (maybe a map?) - const beginIndex = sequenceMap.values().next().value[0].displaySetIndex + currentLength; - const endIndex = beginIndex + (viewportsAmount - currentLength); - appendix = displaySets.slice(beginIndex, endIndex); - } else { - // Get available display sets from the first to the grid size - appendix = displaySets.slice(0, viewportsAmount); - } - - // Generate the additional data based on the appendix - const additionalData = []; - appendix.forEach((displaySet, index) => { - const { images, studyInstanceUid, seriesInstanceUid, displaySetInstanceUid } = displaySet; - const sopInstanceUid = images[0] && images[0].getSOPInstanceUID ? images[0].getSOPInstanceUID() : ''; - const viewportIndex = currentViewportIndex + index; - const data = { - viewportIndex, - studyInstanceUid, - seriesInstanceUid, - displaySetInstanceUid, - sopInstanceUid, - plugin: PLUGIN_CORNERSTONE - }; - - additionalData.push(data); - }); - - // Append the additional data with the viewport data - self.viewportData = self.viewportData.concat(additionalData); - - // Push empty objects if the amount is lesser than the grid size - while (self.viewportData.length < viewportsAmount) { - self.viewportData.push({}); - } - } - - /** - * Updates the grid with the new layout props. - * It iterates over all viewportData to render the studies - * in the viewports. - * If no viewportData or no viewports defined, it renders the default viewport data. - */ - updateViewports() { - OHIF.log.info('LayoutManager updateViewports'); - - if (!this.viewportData || - !this.viewportData.length || - this.viewportData.length !== this.getNumberOfViewports()) { - this.setDefaultViewportData(); - } - - this.viewportData.forEach(data => { - if (!data.plugin) { - data.plugin = PLUGIN_CORNERSTONE; - } - }) - - // imageViewerViewports occasionally needs relevant layout data in order to set - // the element style of the viewport in question - const layoutProps = this.layoutProps; - const data = $.extend({ - viewportData: [] - }, layoutProps); - - this.viewportData.forEach((viewportData) => { - const viewportDataAndLayoutProps = $.extend(viewportData, layoutProps); - - data.viewportData.push(viewportDataAndLayoutProps); - }); - - const component = viewerComponents.GridLayout; - this.setContents(component, data); - - this.isZoomed = false; - } - - /** - * This function destroys and re-renders the imageViewerViewport template. - * It uses the data provided to load a new display set into the produced viewport. - * @param {integer} viewportIndex index of the viewport to be re-rendered - * @param {Object} data instance data object - */ - rerenderViewportWithNewDisplaySet(viewportIndex, viewportData) { - // Clone the data to prevent changing the original object - const updatedViewportData = _.clone(viewportData); - - OHIF.log.info(`LayoutManager rerenderViewportWithNewDisplaySet: ${viewportIndex}`); - - // Record the current viewportIndex so this can be passed into the re-rendering call - updatedViewportData.viewportIndex = viewportIndex; - - // If we have been provided with a plugin to use, use it. - // Otherwise, use whichever plugin is currently in use in this viewport. - const plugin = updatedViewportData.plugin || this.viewportData[viewportIndex].plugin; - const pluginData = updatedViewportData.pluginData || this.viewportData[viewportIndex].pluginData; - - // Update the dictionary of loaded displaySet for the specified viewport - this.viewportData[viewportIndex] = { - viewportIndex, - displaySetInstanceUid: updatedViewportData.displaySetInstanceUid, - seriesInstanceUid: updatedViewportData.seriesInstanceUid, - studyInstanceUid: updatedViewportData.studyInstanceUid, - renderedCallback: updatedViewportData.renderedCallback, - currentImageIdIndex: updatedViewportData.currentImageIdIndex || 0, - plugin, - pluginData, - ...this.layoutProps - }; - - const component = viewerComponents.GridLayout; - const data = { - viewportData: this.viewportData, - ...this.layoutProps - }; - - this.setContents(component, data); - } - - /** - * Enlarge a single viewport. Useful when the layout has more than one viewport - * @param {integer} viewportIndex Index of the viewport to be enlarged - */ - enlargeViewport(viewportIndex) { - OHIF.log.info(`LayoutManager enlargeViewport: ${viewportIndex}`); - - if (!this.viewportData || - !this.viewportData.length) { - return; - } - - // Clone the array for later - this.previousViewportData = this.viewportData.slice(0); - - const singleViewportData = $.extend({}, this.viewportData[viewportIndex]); - singleViewportData.rows = 1; - singleViewportData.columns = 1; - singleViewportData.viewportIndex = 0; - - const data = { - viewportData: [singleViewportData], - rows: 1, - columns: 1 - }; - - const component = viewerComponents.GridLayout; - this.setContents(component, data); - - this.isZoomed = true; - this.zoomedViewportIndex = viewportIndex; - this.viewportData = data.viewportData; - } - - /** - * Resets to the previous layout configuration. - * Useful after enlarging a single viewport. - */ - resetPreviousLayout() { - OHIF.log.info('LayoutManager resetPreviousLayout'); - - if (!this.isZoomed) { - return; - } - - this.previousViewportData[this.zoomedViewportIndex] = $.extend({}, this.viewportData[0]); - this.previousViewportData[this.zoomedViewportIndex].viewportIndex = this.zoomedViewportIndex; - this.viewportData = this.previousViewportData; - this.updateViewports(); - } - - /** - * Toogle viewport enlargement. - * Useful for user to enlarge or going back to previous layout configurations - * @param {integer} viewportIndex Index of the viewport to be toggled - */ - toggleEnlargement(viewportIndex) { - OHIF.log.info(`LayoutManager toggleEnlargement: ${viewportIndex}`); - - if (this.isZoomed) { - this.resetPreviousLayout(); - } else { - // Don't enlarge the viewport if we only have one Viewport - // to begin with - if (this.getNumberOfViewports() > 1) { - this.enlargeViewport(viewportIndex); - } - } - } - - /** - * Return the display sets map sequence of display sets and viewports - */ - getDisplaySetSequenceMap() { - OHIF.log.info('LayoutManager getDisplaySetSequenceMap'); - - // Get the viewport data list - const viewportDataList = this.viewportData; - - // Create a map to control the display set sequence - const sequenceMap = new Map(); - - // Iterate over each viewport and register its details on the sequence map - viewportDataList.forEach((viewportData, viewportIndex) => { - // Get the current study - const currentStudy = _.findWhere(this.studies, { - studyInstanceUid: viewportData.studyInstanceUid - }) || this.studies[0]; - - // Get the display sets - const displaySets = currentStudy.displaySets; - - // Get the current display set - const displaySet = _.findWhere(displaySets, { - displaySetInstanceUid: viewportData.displaySetInstanceUid - }); - - // Get the current instance index (using 9999 to sort greater than -1) - let displaySetIndex = _.indexOf(displaySets, displaySet); - displaySetIndex = displaySetIndex < 0 ? 9999 : displaySetIndex; - - // Try to get a map entry for current study or create it if not present - let studyViewports = sequenceMap.get(currentStudy); - if (!studyViewports) { - studyViewports = []; - sequenceMap.set(currentStudy, studyViewports); - } - - // Register the viewport index and the display set index on the map - studyViewports.push({ - viewportIndex, - displaySetIndex - }); - }); - - // Return the generated sequence map - return sequenceMap; - } - - /** - * Check if all the display sets and viewports are sequenced - * @param {Array} definedSequenceMap Array of display set sequence map - * @return {Boolean} Returns if the display set sequence map is sequenced or not - */ - isDisplaySetsSequenced(definedSequenceMap) { - OHIF.log.info('LayoutManager isDisplaySetsSequenced'); - - let isSequenced = true; - - // Get the studies and display sets sequence map - const sequenceMap = definedSequenceMap || this.getDisplaySetSequenceMap(); - - sequenceMap.forEach((studyViewports, study) => { - let lastDisplaySetIndex = null; - let lastViewportIndex = null; - studyViewports.forEach(({ viewportIndex, displaySetIndex }, index) => { - // Check if the sequence is wrong - if ( - displaySetIndex !== 9999 && - lastViewportIndex !== null && - lastDisplaySetIndex !== null && - displaySetIndex !== null && - (viewportIndex - 1 !== lastViewportIndex || - displaySetIndex - 1 !== lastDisplaySetIndex) - ) { - // Set the sequenced flag as false; - isSequenced = false; - } - - // Update the last viewport index - lastViewportIndex = viewportIndex; - - // Update the last display set index - lastDisplaySetIndex = displaySetIndex; - }); - }); - - return isSequenced; - } - - /** - * Check if is possible to move display sets on a specific direction. - * It checks if looping is allowed by OHIF.uiSettings.displaySetNavigationLoopOverSeries - * @param {Boolean} isNext Represents the direction - * @return {Boolean} Returns if display sets can be moved - */ - canMoveDisplaySets(isNext) { - OHIF.log.info('LayoutManager canMoveDisplaySets'); - - // Get the setting that defines if the display set navigation is multiple - const isMultiple = OHIF.uiSettings.displaySetNavigationMultipleViewports; - - // Get the setting that allow display set navigation looping over series - const allowLooping = OHIF.uiSettings.displaySetNavigationLoopOverSeries; - - // Get the studies and display sets sequence map - const sequenceMap = this.getDisplaySetSequenceMap(); - - // Check if the display sets are sequenced - const isSequenced = this.isDisplaySetsSequenced(sequenceMap); - - // Get Active Viewport Index if isMultiple is false - const activeViewportIndex = !isMultiple ? window.store.getState().viewports.activeViewport : null; - - // Check if is next and looping is blocked - if (isNext && !allowLooping) { - // Check if the end was reached - let endReached = true; - - sequenceMap.forEach((studyViewports, study) => { - // Get active viewport index if isMultiple is false ortherwise get last - const studyViewport = studyViewports[activeViewportIndex !== null ? activeViewportIndex : studyViewports.length - 1]; - if (!studyViewport) { - return; - } - - const viewportIndex = studyViewport.displaySetIndex; - const layoutViewports = studyViewports.length; - const amount = study.displaySets.length; - const move = !isMultiple ? 1 : ((amount % layoutViewports) || layoutViewports); - const lastStepIndex = amount - move; - - // 9999 for index means empty viewport, see getDisplaySetSequenceMap function - if (viewportIndex !== 9999 && viewportIndex !== lastStepIndex) { - endReached = false; - } - }); - - // Return false if end is not reached yet - if ((!isMultiple || isSequenced) && endReached) { - return false; - } - } - - // Check if is previous and looping is blocked - if (!isNext && !allowLooping) { - // Check if the begin was reached - let beginReached = true; - - if (activeViewportIndex >= 0) { - sequenceMap.forEach((studyViewports, study) => { - // Get active viewport index if isMultiple is false ortherwise get first - const studyViewport = studyViewports[activeViewportIndex !== null ? activeViewportIndex : 0]; - if (!studyViewport) { - return; - } - - const viewportIndex = studyViewport.displaySetIndex; - const layoutViewports = studyViewports.length; - - // 9999 for index means empty viewport, see getDisplaySetSequenceMap function - if (viewportIndex !== 9999 && viewportIndex - layoutViewports !== -layoutViewports) { - beginReached = false; - } - }); - } - - // Return false if begin is not reached yet - if ((!isMultiple || isSequenced) && beginReached) { - return false; - } - } - - return true; - } - - /** - * Move display sets forward or backward in the given viewport index - * @param {integer} viewportIndex Index of the viewport to be moved - * @param {Boolean} isNext Represents the direction (true = forward, false = backward) - */ - moveSingleViewportDisplaySets(viewportIndex, isNext) { - OHIF.log.info(`LayoutManager moveSingleViewportDisplaySets: ${viewportIndex}`); - - // Get the setting that allow display set navigation looping over series - const allowLooping = OHIF.uiSettings.displaySetNavigationLoopOverSeries; - - // Get the selected viewport data - const viewportData = this.viewportData[viewportIndex]; - - // Get the current study - const currentStudy = _.findWhere(this.studies, { - studyInstanceUid: viewportData.studyInstanceUid - }) || this.studies[0]; - - // Get the display sets - const displaySets = currentStudy.displaySets; - - // Get the current display set - const currentDisplaySet = _.findWhere(displaySets, { - displaySetInstanceUid: viewportData.displaySetInstanceUid - }); - - // Get the new index and ensure that it will exists in display sets - let newIndex = _.indexOf(displaySets, currentDisplaySet); - if (isNext) { - newIndex++; - if (newIndex >= displaySets.length) { - // Stop here if looping is not allowed - if (!allowLooping) { - return; - } - - newIndex = 0; - } - } else { - newIndex--; - if (newIndex < 0) { - // Stop here if looping is not allowed - if (!allowLooping) { - return; - } - - newIndex = displaySets.length - 1; - } - } - - // Get the display set data for the new index - const newDisplaySetData = displaySets[newIndex]; - - // Rerender the viewport using the new display set data - this.rerenderViewportWithNewDisplaySet(viewportIndex, newDisplaySetData); - } - - /** - * Move multiple display sets forward or backward in all viewports - * @param {Boolean} isNext Represents the direction (true = forward, false = backward) - */ - moveMultipleViewportDisplaySets(isNext) { - OHIF.log.info('LayoutManager moveMultipleViewportDisplaySets'); - - // Get the setting that allow display set navigation looping over series - const allowLooping = OHIF.uiSettings.displaySetNavigationLoopOverSeries; - - // Create a map to control the display set sequence - const sequenceMap = this.getDisplaySetSequenceMap(); - - // Check if the display sets are sequenced - const isSequenced = this.isDisplaySetsSequenced(sequenceMap); - - const displaySetsToRender = []; - - // Iterate over the studies map and move its display sets - sequenceMap.forEach((studyViewports, study) => { - // Sort the viewports on the study by the display set index - studyViewports.sort((a, b) => a.displaySetIndex > b.displaySetIndex); - - // Get the study display sets - const displaySets = study.displaySets; - - // Calculate the base index - const firstIndex = studyViewports[0].displaySetIndex; - const steps = studyViewports.length; - const rest = firstIndex % steps; - let baseIndex = rest ? firstIndex - rest : firstIndex; - const direction = isNext ? 1 : -1; - baseIndex += steps * direction; - - const amount = displaySets.length; - - // Check if the indexes are sequenced or will overflow the array bounds - if (baseIndex >= amount) { - const move = (amount % steps) || steps; - const lastStepIndex = amount - move; - if (firstIndex + steps !== lastStepIndex + steps) { - // Reset the index if the display sets are sequenced but shifted - baseIndex = lastStepIndex; - } else if (!allowLooping) { - // Stop here if looping is not allowed - return; - } else { - // Start over the series if looping is allowed - baseIndex = 0; - } - } else if (baseIndex < 0) { - if (firstIndex > 0) { - // Reset the index if the display sets are sequenced but shifted - baseIndex = 0; - } else if (!allowLooping) { - // Stop here if looping is not allowed - return; - } else { - // Go to the series' end if looping is allowed - baseIndex = (amount - 1) - ((amount - 1) % steps); - } - } else if (!isSequenced) { - // Reset the sequence if indexes are not sequenced - baseIndex = 0; - } - - // Iterate over the current study viewports - studyViewports.forEach(({ viewportIndex }, index) => { - // Get the new displaySet index to be rendered in viewport - const newIndex = baseIndex + index; - - // Get the display set data for the new index - const displaySetData = displaySets[newIndex] || {}; - - // Add the current display set that on the render list - displaySetsToRender.push(displaySetData); - }); - }); - - // Sort the display sets - const sortingFunction = OHIF.utils.sortBy({ - name: 'studyInstanceUid' - }, { - name: 'instanceNumber' - }, { - name: 'seriesNumber' - }); - displaySetsToRender.sort((a, b) => sortingFunction(a, b)); - - // Iterate over each display set data and render on its respective viewport - displaySetsToRender.forEach((data, index) => { - this.rerenderViewportWithNewDisplaySet(index, data); - }); - } - - /** - * Move display sets forward or backward - * @param {Boolean} isNext Represents the direction (true = forward, false = backward) - */ - moveDisplaySets(isNext) { - // Prevent display sets navigation while interacting with any cornerstone tool - if (isInteractingWithViewport) return; - - OHIF.log.info('LayoutManager moveDisplaySets'); - - //Check if navigation is on a single or multiple viewports - if (OHIF.uiSettings.displaySetNavigationMultipleViewports) { - // Move display sets on multiple viewports - this.moveMultipleViewportDisplaySets(isNext); - } else { - // Get the selected viewport index - const viewportIndex = window.store.getState().viewports.activeViewport; - - // Move display sets on a single viewport - this.moveSingleViewportDisplaySets(viewportIndex, isNext); - } - } - - /** - * Check if a study is loaded into a viewport - * @param {string} studyInstanceUid Study instance Uid string - * @param {integer} viewportIndex Index of the viewport to be checked - * @return {Boolean} Returns if the given study is in the given viewport or not - */ - isStudyLoadedIntoViewport(studyInstanceUid, viewportIndex) { - return (this.viewportData.find(item => item.studyInstanceUid === studyInstanceUid && item.viewportIndex === viewportIndex) !== void 0); - } - - /** - * Check if the layout has multiple rows and columns - * @return {Boolean} Return if the layout has multiple rows and columns or not - */ - isMultipleLayout() { - return this.layoutProps.row !== 1 && this.layoutProps.columns !== 1; - } -} - diff --git a/Packages/ohif-viewerbase/client/lib/createStacks.js b/Packages/ohif-viewerbase/client/lib/createStacks.js deleted file mode 100644 index 6412b4245..000000000 --- a/Packages/ohif-viewerbase/client/lib/createStacks.js +++ /dev/null @@ -1,128 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { isImage } from './isImage'; -import { OHIF } from 'ohif-core'; - -const isMultiFrame = instance => { - // NumberOfFrames (0028,0008) - return instance.getRawValue('x00280008') > 1; -}; - -const makeDisplaySet = (series, instances) => { - const instance = instances[0]; - - const { ImageSet } = OHIF.classes; - const imageSet = new ImageSet(instances); - const seriesData = series.getData(); - - // set appropriate attributes to image set... - imageSet.setAttributes({ - displaySetInstanceUid: imageSet.uid, // create a local alias for the imageSet UID - seriesDate: seriesData.seriesDate, - seriesTime: seriesData.seriesTime, - seriesInstanceUid: series.getSeriesInstanceUID(), - seriesNumber: instance.getRawValue('x00200011'), - seriesDescription: instance.getRawValue('x0008103e'), - numImageFrames: instances.length, - frameRate: instance.getRawValue('x00181063'), - modality: instance.getRawValue('x00080060'), - isMultiFrame: isMultiFrame(instance) - }); - - // Sort the images in this series if needed - const shallSort = !OHIF.utils.ObjectPath.get(Meteor, 'settings.public.ui.sortSeriesByIncomingOrder'); - if (shallSort) { - imageSet.sortBy((a, b) => { - // Sort by InstanceNumber (0020,0013) - return (parseInt(a.getRawValue('x00200013', 0)) || 0) - (parseInt(b.getRawValue('x00200013', 0)) || 0); - }); - } - - // Include the first image instance number (after sorted) - imageSet.setAttribute('instanceNumber', imageSet.getImage(0).getRawValue('x00200013')); - - return imageSet; -}; - -const isSingleImageModality = modality => { - return (modality === 'CR' || - modality === 'MG' || - modality === 'DX'); -}; - -/** - * Creates a set of series to be placed in the Study Metadata - * The series that appear in the Study Metadata must represent - * imaging modalities. - * - * Furthermore, for drag/drop functionality, - * it is easiest if the stack objects also contain information about - * which study they are linked to. - * - * @param study The study instance metadata to be used - * @returns {Array} An array of series to be placed in the Study Metadata - */ -const createStacks = study => { - // Define an empty array of display sets - const displaySets = []; - - if (!study || !study.getSeriesCount()) { - return displaySets; - } - - // Loop through the series (SeriesMetadata) - study.forEachSeries(series => { - // If the series has no instances, skip it - if (!series.getInstanceCount()) { - return; - } - - // Search through the instances (InstanceMedatada object) of this series - // Split Multi-frame instances and Single-image modalities - // into their own specific display sets. Place the rest of each - // series into another display set. - const stackableInstances = []; - series.forEachInstance(instance => { - // All imaging modalities must have a valid value for sopClassUid (x00080016) or rows (x00280010) - if (!isImage(instance.getRawValue('x00080016')) && !instance.getRawValue('x00280010')) { - return; - } - - let displaySet; - if (isMultiFrame(instance)) { - displaySet = makeDisplaySet(series, [ instance ]); - displaySet.setAttributes({ - isClip: true, - studyInstanceUid: study.getStudyInstanceUID(), // Include the study instance Uid for drag/drop purposes - numImageFrames: instance.getRawValue('x00280008'), // Override the default value of instances.length - instanceNumber: instance.getRawValue('x00200013'), // Include the instance number - acquisitionDatetime: instance.getRawValue('x0008002a') // Include the acquisition datetime - }); - displaySets.push(displaySet); - } else if (isSingleImageModality(instance.modality)) { - displaySet = makeDisplaySet(series, [ instance ]); - displaySet.setAttributes({ - studyInstanceUid: study.getStudyInstanceUID(), // Include the study instance Uid - instanceNumber: instance.getRawValue('x00200013'), // Include the instance number - acquisitionDatetime: instance.getRawValue('x0008002a') // Include the acquisition datetime - }); - displaySets.push(displaySet); - } else { - stackableInstances.push(instance); - } - }); - - if (stackableInstances.length) { - const displaySet = makeDisplaySet(series, stackableInstances); - displaySet.setAttribute('studyInstanceUid', study.getStudyInstanceUID()); - displaySets.push(displaySet); - } - }); - - return displaySets; -}; - -/** - * Expose "createStacks"... - */ - -export { createStacks }; diff --git a/Packages/ohif-viewerbase/client/lib/crosshairsSynchronizers.js b/Packages/ohif-viewerbase/client/lib/crosshairsSynchronizers.js deleted file mode 100644 index a02bbb7f6..000000000 --- a/Packages/ohif-viewerbase/client/lib/crosshairsSynchronizers.js +++ /dev/null @@ -1,4 +0,0 @@ - -export const crosshairsSynchronizers = { - synchronizers: {} -}; diff --git a/Packages/ohif-viewerbase/client/lib/dialogUtils.js b/Packages/ohif-viewerbase/client/lib/dialogUtils.js deleted file mode 100644 index bdd16c05c..000000000 --- a/Packages/ohif-viewerbase/client/lib/dialogUtils.js +++ /dev/null @@ -1,72 +0,0 @@ -import { Blaze } from 'meteor/blaze'; -import { Template } from 'meteor/templating'; -import $ from 'jquery'; - -import { setFocusToActiveViewport } from './setFocusToActiveViewport'; - -let doneCallbackFunction; - -/** - * Removes the backdrop abd closes opened dialog - * and focus to the active viewport. If a done callback is set, - * it's called before - * @param {Boolean} runCallback Indicate if callback function needs to be called. Default: true - */ -const closeHandler = (runCallback = true) => { - // Check if callback function exists - if (runCallback && typeof doneCallbackFunction === 'function') { - doneCallbackFunction(); - } - - // Hide the lesion dialog - $('#confirmDeleteDialog').css('display', 'none'); - - // Remove the backdrop - $('.removableBackdrop').remove(); - - // Remove the callback - doneCallbackFunction = undefined; - - // Restore the focus to the active viewport - setFocusToActiveViewport(); -}; - -/** - * Displays the confirmation dialog template and the removable backdrop element - * - * @param doneCallback A callback - * @param options - */ -const showConfirmDialog = (doneCallback, options) => { - // Show the backdrop - options = options || {}; - Blaze.renderWithData(Template.removableBackdrop, options, document.body); - - let confirmDeleteDialog = $('#confirmDeleteDialog'); - confirmDeleteDialog.remove(); - - const viewer = document.getElementById('viewer'); - Blaze.renderWithData(Template.confirmDeleteDialog, options, viewer); - - // Make sure the context menu is closed when the user clicks away - $('.removableBackdrop').one('mousedown touchstart', () => { - // Close dialog without calling callback - closeHandler(false); - }); - - confirmDeleteDialog = $('#confirmDeleteDialog'); - confirmDeleteDialog.css('display', 'block'); - confirmDeleteDialog.focus(); - - // If callback function is defined, save it for closeHandler - if (doneCallback && typeof doneCallback === 'function') { - doneCallbackFunction = doneCallback; - } -}; - -const dialogUtils = { - showConfirmDialog, - closeHandler -}; - -export { dialogUtils }; diff --git a/Packages/ohif-viewerbase/client/lib/displayReferenceLines.js b/Packages/ohif-viewerbase/client/lib/displayReferenceLines.js deleted file mode 100644 index 1f8f4ba10..000000000 --- a/Packages/ohif-viewerbase/client/lib/displayReferenceLines.js +++ /dev/null @@ -1,55 +0,0 @@ -import { OHIF } from 'ohif-core'; -import { cornerstone, cornerstoneTools } from 'meteor/ohif:cornerstone'; - -/** - * This function disables reference lines for a specific viewport element. - * It also enables reference lines for all other viewports with the - * class .imageViewerViewport. - * - * @param element {node} DOM Node representing the viewport element - */ -export function displayReferenceLines(element) { - - // Check if image plane (orientation / loction) data is present for the current image - const enabledElement = cornerstone.getEnabledElement(element); - - // Check if element is already enabled and it's image was rendered - if(!enabledElement || !enabledElement.image) { - OHIF.log.info('displayReferenceLines enabled element is undefined or it\'s image is not rendered'); - return; - } - - const imageId = enabledElement.image.imageId; - const imagePlane = cornerstone.metaData.get('imagePlane', imageId); - - // Disable reference lines for the current element - cornerstoneTools.setToolDisabledForElement(element, 'referenceLines'); - - if (!OHIF.viewer.refLinesEnabled || !imagePlane || !imagePlane.frameOfReferenceUID) { - OHIF.log.info('displayReferenceLines refLinesEnabled is not enabled, no imagePlane or no frameOfReferenceUID'); - return; - } - - OHIF.log.info(`displayReferenceLines for image with id: ${imageId}`); - - // Loop through all other viewport elements and enable reference lines - $('.imageViewerViewport').not(element).each((index, viewportElement) => { - let imageId; - if($(viewportElement).find('canvas').length) { - try { - const enabledElement = cornerstone.getEnabledElement(viewportElement); - imageId = enabledElement.image.imageId; - } catch(error) { - return; - } - - if (!imageId) { - return; - } - - cornerstoneTools.setToolEnabledForElement(viewportElement, 'referenceLines', { - synchronizationContext: OHIF.viewer.updateImageSynchronizer - }); - } - }); -} diff --git a/Packages/ohif-viewerbase/client/lib/getElementIfNotEmpty.js b/Packages/ohif-viewerbase/client/lib/getElementIfNotEmpty.js deleted file mode 100644 index cecd15176..000000000 --- a/Packages/ohif-viewerbase/client/lib/getElementIfNotEmpty.js +++ /dev/null @@ -1,27 +0,0 @@ -import $ from 'jquery'; - -export function getElementIfNotEmpty(viewportIndex) { - // Meteor template helpers run more often than expected - // They often seem to run just before the whole template is rendered - // This meant that the onRendered event hadn't fired yet, so the - // element wasn't enabled / set empty yet. The check here - // for canvases under the 'enabled' element div is to prevent - // 'undefined' errors from the helper functions - - var imageViewerViewports = $('.imageViewerViewport'), - element = imageViewerViewports.get(viewportIndex), - canvases = imageViewerViewports.eq(viewportIndex).find('canvas'); - - if (!element || $(element).hasClass('empty') || canvases.length === 0) { - return; - } - - // Check to make sure the element is enabled. - try { - var enabledElement = cornerstone.getEnabledElement(element); - } catch(error) { - return; - } - - return element; -} diff --git a/Packages/ohif-viewerbase/client/lib/getFrameOfReferenceUID.js b/Packages/ohif-viewerbase/client/lib/getFrameOfReferenceUID.js deleted file mode 100644 index fedcd4577..000000000 --- a/Packages/ohif-viewerbase/client/lib/getFrameOfReferenceUID.js +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Helper function to quickly obtain the frameOfReferenceUID - * for a given element from the enabled image's metadata. - * - * If no image, imagePlane, or frameOfReferenceUID is available, - * the function will return undefined. - * - * @param element - * @returns {string} - */ -export function getFrameOfReferenceUID(element) { - var enabledElement; - try { - enabledElement = cornerstone.getEnabledElement(element); - } catch(error) { - return; - } - - if (!enabledElement || !enabledElement.image) { - return; - } - - var imageId = enabledElement.image.imageId; - var imagePlane = cornerstone.metaData.get('imagePlane', imageId); - if (!imagePlane || !imagePlane.frameOfReferenceUID) { - return; - } - - return imagePlane.frameOfReferenceUID; -} diff --git a/Packages/ohif-viewerbase/client/lib/getImageId.js b/Packages/ohif-viewerbase/client/lib/getImageId.js deleted file mode 100644 index 1f14d0d20..000000000 --- a/Packages/ohif-viewerbase/client/lib/getImageId.js +++ /dev/null @@ -1,51 +0,0 @@ -import { getWADORSImageId } from './getWADORSImageId'; - -// https://stackoverflow.com/a/6021027/3895126 -function updateQueryStringParameter(uri, key, value) { - const regex = new RegExp('([?&])' + key + '=.*?(&|$)', 'i'); - const separator = uri.indexOf('?') !== -1 ? '&' : '?'; - if (uri.match(regex)) { - return uri.replace(regex, '$1' + key + '=' + value + '$2'); - } else { - return uri + separator + key + '=' + value; - } -} - -/** - * Obtain an imageId for Cornerstone from an image instance - * - * @param instance - * @param frame - * @param thumbnail - * @returns {string} The imageId to be used by Cornerstone - */ -export function getImageId(instance, frame, thumbnail=false) { - if (!instance) { - return; - } - - if (typeof instance.getImageId === 'function') { - return instance.getImageId(); - } - - if (instance.url) { - if (frame !== undefined) { - instance.url = updateQueryStringParameter(instance.url, 'frame', frame); - } - - return instance.url; - } - - const renderingAttr = thumbnail ? 'thumbnailRendering' : 'imageRendering'; - - if (!instance[renderingAttr] || instance[renderingAttr] === 'wadouri' || !instance.wadorsuri) { - let imageId = 'dicomweb:' + instance.wadouri; - if (frame !== undefined) { - imageId += '&frame=' + frame; - } - - return imageId; - } else { - return getWADORSImageId(instance, frame, thumbnail); // WADO-RS Retrieve Frame - } -} diff --git a/Packages/ohif-viewerbase/client/lib/getImageIdForImagePath.js b/Packages/ohif-viewerbase/client/lib/getImageIdForImagePath.js deleted file mode 100644 index 33bde2eff..000000000 --- a/Packages/ohif-viewerbase/client/lib/getImageIdForImagePath.js +++ /dev/null @@ -1,18 +0,0 @@ -import { OHIF } from 'ohif-core'; - -/** - * Obtain an imageId for the given imagePath - * - * @param {String} imagePath Path containing study, series and instance UIDs and frame index - * @returns {String} The resulting imageId for the given imagePath - */ - -export const getImageIdForImagePath = (imagePath, thumbnail=false) => { - const [studyInstanceUid, seriesInstanceUid, sopInstanceUid, frameIndex] = imagePath.split('_'); - const study = OHIF.viewer.Studies.findBy({ studyInstanceUid }); - const studyMetadata = OHIF.viewerbase.getStudyMetadata(study); - const series = studyMetadata.getSeriesByUID(seriesInstanceUid); - const instance = series.getInstanceByUID(sopInstanceUid); - const imageId = OHIF.viewerbase.getImageId(instance, frameIndex, thumbnail); - return imageId; -}; diff --git a/Packages/ohif-viewerbase/client/lib/getStackDataIfNotEmpty.js b/Packages/ohif-viewerbase/client/lib/getStackDataIfNotEmpty.js deleted file mode 100644 index c5e1c4d81..000000000 --- a/Packages/ohif-viewerbase/client/lib/getStackDataIfNotEmpty.js +++ /dev/null @@ -1,22 +0,0 @@ -import { getElementIfNotEmpty } from './getElementIfNotEmpty.js'; - -export function getStackDataIfNotEmpty(viewportIndex) { - const element = getElementIfNotEmpty(viewportIndex); - if (!element) { - return; - } - - const stackToolData = cornerstoneTools.getToolState(element, 'stack'); - if (!stackToolData || - !stackToolData.data || - !stackToolData.data.length) { - return; - } - - const stack = stackToolData.data[0]; - if (!stack) { - return; - } - - return stack; -} diff --git a/Packages/ohif-viewerbase/client/lib/getStudyMetadata.js b/Packages/ohif-viewerbase/client/lib/getStudyMetadata.js deleted file mode 100644 index 9ef896f26..000000000 --- a/Packages/ohif-viewerbase/client/lib/getStudyMetadata.js +++ /dev/null @@ -1,12 +0,0 @@ -import { OHIF } from 'ohif-core'; - -const getStudyMetadata = study => { - let studyMetadata = study; - if (study && !(studyMetadata instanceof OHIF.viewerbase.metadata.StudyMetadata)) { - studyMetadata = new OHIF.metadata.StudyMetadata(study, study.studyInstanceUid); - } - - return studyMetadata; -}; - -export { getStudyMetadata }; diff --git a/Packages/ohif-viewerbase/client/lib/getWADORSImageId.js b/Packages/ohif-viewerbase/client/lib/getWADORSImageId.js deleted file mode 100644 index af95cca3c..000000000 --- a/Packages/ohif-viewerbase/client/lib/getWADORSImageId.js +++ /dev/null @@ -1,33 +0,0 @@ -import { OHIF } from 'ohif-core'; - -function getWADORSImageUrl(instance, frame) { - let wadorsuri = instance.wadorsuri; - - if (!wadorsuri) { - return; - } - - // We need to sum 1 because WADO-RS frame number is 1-based - frame = (frame || 0) + 1; - - // Replaces /frame/1 by /frame/{frame} - wadorsuri = wadorsuri.replace(/(%2Fframes%2F)(\d+)/, `$1${frame}`); - - return wadorsuri; -} - -/** - * Obtain an imageId for Cornerstone based on the WADO-RS scheme - * - * @param {object} instanceMetada metadata object (InstanceMetadata) - * @returns {string} The imageId to be used by Cornerstone - */ -export function getWADORSImageId(instance, frame) { - const uri = getWADORSImageUrl(instance, frame); - - if (!uri) { - return; - } - - return `wadors:${uri}`; -}; diff --git a/Packages/ohif-viewerbase/client/lib/hotkeyUtils.js b/Packages/ohif-viewerbase/client/lib/hotkeyUtils.js deleted file mode 100644 index 9a3b52f76..000000000 --- a/Packages/ohif-viewerbase/client/lib/hotkeyUtils.js +++ /dev/null @@ -1,284 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import $ from 'jquery'; -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; -import { toolManager } from './toolManager'; -import { switchToImageRelative } from './switchToImageRelative'; -import { switchToImageByIndex } from './switchToImageByIndex'; -import { viewportUtils } from './viewportUtils'; -import { panelNavigation } from './panelNavigation'; -import { WLPresets } from './WLPresets'; - -// TODO: add this to namespace definitions -Meteor.startup(function() { - OHIF.viewer.loadIndicatorDelay = 200; - - OHIF.viewer.defaultTool = { - left: 'wwwc', - right: 'zoom', - middle: 'pan' - }; - - OHIF.viewer.refLinesEnabled = true; - OHIF.viewer.isPlaying = {}; - OHIF.viewer.cine = { - framesPerSecond: 24, - loop: true - }; - - OHIF.viewer.defaultHotkeys = { - // Tool hotkeys - defaultTool: 'ESC', - zoom: 'Z', - wwwc: 'W', - pan: 'P', - angle: 'A', - stackScroll: 'S', - magnify: 'M', - length: '', - annotate: '', - dragProbe: '', - ellipticalRoi: '', - rectangleRoi: '', - - // Viewport hotkeys - flipH: 'H', - flipV: 'V', - rotateR: 'R', - rotateL: 'L', - invert: 'I', - zoomIn: '', - zoomOut: '', - zoomToFit: '', - resetViewport: '', - clearTools: '', - - // Viewport navigation hotkeys - scrollDown: 'DOWN', - scrollUp: 'UP', - scrollLastImage: 'END', - scrollFirstImage: 'HOME', - previousDisplaySet: 'PAGEUP', - nextDisplaySet: 'PAGEDOWN', - nextPanel: 'RIGHT', - previousPanel: 'LEFT', - - // Miscellaneous hotkeys - toggleOverlayTags: 'O', - toggleCinePlay: 'SPACE', - toggleCineDialog: '', - toggleDownloadDialog: '', - - // Preset hotkeys - WLPreset0: '1', - WLPreset1: '2', - WLPreset2: '3', - WLPreset3: '4', - WLPreset4: '5', - WLPreset5: '6', - WLPreset6: '7', - WLPreset7: '8', - WLPreset8: '9', - WLPreset9: '0' - }; - - // For now - OHIF.viewer.hotkeys = OHIF.viewer.defaultHotkeys; - - // Create commands context for viewer - const contextName = 'viewer'; - OHIF.commands.createContext(contextName); - - // Create a function that returns true if the active viewport is empty - const isActiveViewportEmpty = () => { - const activeViewport = window.store.getState().viewports.activeViewport || 0; - return $('.imageViewerViewport').eq(activeViewport).hasClass('empty'); - }; - - // Functions to register the tool switching commands - const registerToolCommands = map => _.each(map, (commandName, toolId) => { - OHIF.commands.register(contextName, toolId, { - name: commandName, - action: toolManager.setActiveTool, - params: toolId - }); - }); - - // Register the default tool command - OHIF.commands.register(contextName, 'defaultTool', { - name: 'Default Tool', - action: () => toolManager.setActiveTool() - }); - - // Register the tool switching commands - registerToolCommands({ - wwwc: 'W/L', - zoom: 'Zoom', - angle: 'Angle Measurement', - dragProbe: 'Pixel Probe', - ellipticalRoi: 'Elliptical ROI', - rectangleRoi: 'Rectangle ROI', - magnify: 'Magnify', - annotate: 'Annotate', - stackScroll: 'Scroll Stack', - pan: 'Pan', - length: 'Length Measurement', - wwwcRegion: 'W/L by Region', - crosshairs: 'Crosshairs' - }); - - // Functions to register the viewport commands - const registerViewportCommands = map => _.each(map, (commandName, commandId) => { - OHIF.commands.register(contextName, commandId, { - name: commandName, - action: viewportUtils[commandId], - disabled: isActiveViewportEmpty - }); - }); - - // Register the viewport commands - registerViewportCommands({ - zoomIn: 'Zoom In', - zoomOut: 'Zoom Out', - zoomToFit: 'Zoom to Fit', - invert: 'Invert', - flipH: 'Flip Horizontally', - flipV: 'Flip Vertically', - rotateR: 'Rotate Right', - rotateL: 'Rotate Left', - resetViewport: 'Reset', - clearTools: 'Clear Tools' - }); - - // Register the preset switching commands - const applyPreset = presetName => WLPresets.applyWLPresetToActiveElement(presetName); - for (let i = 0; i < 10; i++) { - OHIF.commands.register(contextName, `WLPreset${i}`, { - name: `W/L Preset ${i + 1}`, - action: applyPreset, - params: i - }); - } - - // Check if display sets can be moved - const canMoveDisplaySets = isNext => { - if (!OHIF.viewer.layoutManager) { - return false; - } else { - return OHIF.viewer.layoutManager.canMoveDisplaySets(isNext); - } - }; - - // Register viewport navigation commands - OHIF.commands.set(contextName, { - scrollDown: { - name: 'Scroll Down', - action: () => !isActiveViewportEmpty() && switchToImageRelative(1) - }, - scrollUp: { - name: 'Scroll Up', - action: () => !isActiveViewportEmpty() && switchToImageRelative(-1) - }, - scrollFirstImage: { - name: 'Scroll to First Image', - action: () => !isActiveViewportEmpty() && switchToImageByIndex(0) - }, - scrollLastImage: { - name: 'Scroll to Last Image', - action: () => !isActiveViewportEmpty() && switchToImageByIndex(-1) - }, - previousDisplaySet: { - name: 'Previous Series', - action: () => OHIF.viewer.layoutManager.moveDisplaySets(false), - disabled: () => !canMoveDisplaySets(false) - }, - nextDisplaySet: { - name: 'Next Series', - action: () => OHIF.viewer.layoutManager.moveDisplaySets(true), - disabled: () => !canMoveDisplaySets(true) - }, - nextPanel: { - name: 'Next Image Viewport', - action: () => panelNavigation.loadNextActivePanel() - }, - previousPanel: { - name: 'Previous Image Viewport', - action: () => panelNavigation.loadPreviousActivePanel() - } - }, true); - - // Register miscellaneous commands - OHIF.commands.set(contextName, { - toggleOverlayTags: { - name: 'Toggle Image Info Overlay', - action() { - const $dicomTags = $('.imageViewerViewportOverlay .dicomTag'); - $dicomTags.toggle($dicomTags.eq(0).css('display') === 'none'); - } - }, - toggleCinePlay: { - name: 'Play/Pause Cine', - action: viewportUtils.toggleCinePlay, - disabled: OHIF.viewerbase.viewportUtils.hasMultipleFrames - }, - toggleCineDialog: { - name: 'Show/Hide Cine Controls', - action: viewportUtils.toggleCineDialog, - disabled: OHIF.viewerbase.viewportUtils.hasMultipleFrames - }, - toggleDownloadDialog: { - name: 'Show/Hide Download Dialog', - action: viewportUtils.toggleDownloadDialog, - disabled: () => !viewportUtils.isDownloadEnabled() - } - }, true); - - OHIF.viewer.hotkeyFunctions = {}; - - OHIF.viewer.loadedSeriesData = {}; - - // Enable hotkeys - hotkeyUtils.enableHotkeys(); -}); - -// Define a jQuery reverse function -$.fn.reverse = [].reverse; - -/** - * Overrides OHIF's refLinesEnabled - * @param {Boolean} refLinesEnabled True to enable and False to disable - */ -function setOHIFRefLines(refLinesEnabled) { - OHIF.viewer.refLinesEnabled = refLinesEnabled; -} - -/** - * Overrides OHIF's hotkeys - * @param {Object} hotkeys Object with hotkeys mapping - */ -function setOHIFHotkeys(hotkeys) { - OHIF.viewer.hotkeys = hotkeys; -} - -/** - * Binds all hotkeys keydown events to the tasks defined in - * OHIF.viewer.hotkeys or a given param - * @param {Object} hotkeys hotkey and task mapping (not required). If not given, uses OHIF.viewer.hotkeys - */ -function enableHotkeys(hotkeys) { - const definitions = hotkeys || OHIF.viewer.hotkeys; - OHIF.hotkeys.set('viewer', definitions, true); - OHIF.context.set('viewer'); -} - -/** - * Export functions inside hotkeyUtils namespace. - */ - -const hotkeyUtils = { - setOHIFRefLines, /* @TODO: find a better place for this... */ - setOHIFHotkeys, - enableHotkeys -}; - -export { hotkeyUtils }; diff --git a/Packages/ohif-viewerbase/client/lib/instanceClassSpecificViewport.js b/Packages/ohif-viewerbase/client/lib/instanceClassSpecificViewport.js deleted file mode 100644 index febd314f4..000000000 --- a/Packages/ohif-viewerbase/client/lib/instanceClassSpecificViewport.js +++ /dev/null @@ -1,18 +0,0 @@ - -const instanceClassViewportSettingsFunctions = {}; - -const getInstanceClassDefaultViewport = (series, enabledElement, imageId) => { - let instanceClass = series.sopClassUid; - - if (!instanceClassViewportSettingsFunctions[instanceClass]) { - return; - } - - return instanceClassViewportSettingsFunctions[instanceClass](series, enabledElement, imageId); -}; - -const setInstanceClassDefaultViewportFunction = (instanceClass, fn) => { - instanceClassViewportSettingsFunctions[instanceClass] = fn; -}; - -export { getInstanceClassDefaultViewport, setInstanceClassDefaultViewportFunction }; diff --git a/Packages/ohif-viewerbase/client/lib/isImage.js b/Packages/ohif-viewerbase/client/lib/isImage.js deleted file mode 100644 index f90d26ce5..000000000 --- a/Packages/ohif-viewerbase/client/lib/isImage.js +++ /dev/null @@ -1,61 +0,0 @@ -import { sopClassDictionary } from './sopClassDictionary'; - -/** - * Checks whether dicom files with specified SOP Class UID have image data - * @param {string} sopClassUid - SOP Class UID to be checked - * @returns {boolean} - true if it has image data - */ -export function isImage(sopClassUid) { - if (sopClassUid === sopClassDictionary.ComputedRadiographyImageStorage - || sopClassUid === sopClassDictionary.DigitalXRayImageStorageForPresentation - || sopClassUid === sopClassDictionary.DigitalXRayImageStorageForProcessing - || sopClassUid === sopClassDictionary.DigitalMammographyXRayImageStorageForPresentation - || sopClassUid === sopClassDictionary.DigitalMammographyXRayImageStorageForProcessing - || sopClassUid === sopClassDictionary.DigitalIntraOralXRayImageStorageForPresentation - || sopClassUid === sopClassDictionary.DigitalIntraOralXRayImageStorageForProcessing - || sopClassUid === sopClassDictionary.CTImageStorage - || sopClassUid === sopClassDictionary.EnhancedCTImageStorage - || sopClassUid === sopClassDictionary.LegacyConvertedEnhancedCTImageStorage - || sopClassUid === sopClassDictionary.UltrasoundMultiframeImageStorage - || sopClassUid === sopClassDictionary.MRImageStorage - || sopClassUid === sopClassDictionary.EnhancedMRImageStorage - || sopClassUid === sopClassDictionary.EnhancedMRColorImageStorage - || sopClassUid === sopClassDictionary.LegacyConvertedEnhancedMRImageStorage - || sopClassUid === sopClassDictionary.UltrasoundImageStorage - || sopClassUid === sopClassDictionary.SecondaryCaptureImageStorage - || sopClassUid === sopClassDictionary.MultiframeSingleBitSecondaryCaptureImageStorage - || sopClassUid === sopClassDictionary.MultiframeGrayscaleByteSecondaryCaptureImageStorage - || sopClassUid === sopClassDictionary.MultiframeGrayscaleWordSecondaryCaptureImageStorage - || sopClassUid === sopClassDictionary.MultiframeTrueColorSecondaryCaptureImageStorage - || sopClassUid === sopClassDictionary.XRayAngiographicImageStorage - || sopClassUid === sopClassDictionary.EnhancedXAImageStorage - || sopClassUid === sopClassDictionary.XRayRadiofluoroscopicImageStorage - || sopClassUid === sopClassDictionary.EnhancedXRFImageStorage - || sopClassUid === sopClassDictionary.XRay3DAngiographicImageStorage - || sopClassUid === sopClassDictionary.XRay3DCraniofacialImageStorage - || sopClassUid === sopClassDictionary.BreastTomosynthesisImageStorage - || sopClassUid === sopClassDictionary.BreastProjectionXRayImageStorageForPresentation - || sopClassUid === sopClassDictionary.BreastProjectionXRayImageStorageForProcessing - || sopClassUid === sopClassDictionary.IntravascularOpticalCoherenceTomographyImageStorageForPresentation - || sopClassUid === sopClassDictionary.IntravascularOpticalCoherenceTomographyImageStorageForProcessing - || sopClassUid === sopClassDictionary.NuclearMedicineImageStorage - || sopClassUid === sopClassDictionary.VLEndoscopicImageStorage - || sopClassUid === sopClassDictionary.VideoEndoscopicImageStorage - || sopClassUid === sopClassDictionary.VLMicroscopicImageStorage - || sopClassUid === sopClassDictionary.VideoMicroscopicImageStorage - || sopClassUid === sopClassDictionary.VLSlideCoordinatesMicroscopicImageStorage - || sopClassUid === sopClassDictionary.VLPhotographicImageStorage - || sopClassUid === sopClassDictionary.VideoPhotographicImageStorage - || sopClassUid === sopClassDictionary.OphthalmicPhotography8BitImageStorage - || sopClassUid === sopClassDictionary.OphthalmicPhotography16BitImageStorage - || sopClassUid === sopClassDictionary.OphthalmicTomographyImageStorage - || sopClassUid === sopClassDictionary.VLWholeSlideMicroscopyImageStorage - || sopClassUid === sopClassDictionary.PositronEmissionTomographyImageStorage - || sopClassUid === sopClassDictionary.EnhancedPETImageStorage - || sopClassUid === sopClassDictionary.LegacyConvertedEnhancedPETImageStorage - || sopClassUid === sopClassDictionary.RTImageStorage) { - return true; - } - - return false; -} diff --git a/Packages/ohif-viewerbase/client/lib/panelNavigation.js b/Packages/ohif-viewerbase/client/lib/panelNavigation.js deleted file mode 100644 index ccf7f693a..000000000 --- a/Packages/ohif-viewerbase/client/lib/panelNavigation.js +++ /dev/null @@ -1,53 +0,0 @@ -import { Session } from 'meteor/session'; -import $ from 'jquery'; -import { OHIF } from 'ohif-core'; -import { setActiveViewport } from './setActiveViewport'; - -const loadPreviousActivePanel = () => { - OHIF.log.info('nextActivePanel'); - let currentIndex = window.store.getState().viewports.activeViewport; - currentIndex--; - - const $viewports = $('.viewportContainer'); - const numViewports = $viewports.length; - if (currentIndex < 0) { - currentIndex = numViewports - 1; - } - - const viewportContainer = $viewports.get(currentIndex); - if (!viewportContainer) { - return; - } - - setActiveViewport(viewportContainer); -}; - -const loadNextActivePanel = () => { - OHIF.log.info('nextActivePanel'); - let currentIndex = window.store.getState().viewports.activeViewport; - currentIndex++; - - const $viewports = $('.viewportContainer'); - const numViewports = $viewports.length; - if (currentIndex >= numViewports) { - currentIndex = 0; - } - - const viewportContainer = $viewports.get(currentIndex); - if (!viewportContainer) { - return; - } - - setActiveViewport(viewportContainer); -}; - -/** - * Export functions inside panelNavigation namespace. - */ - -const panelNavigation = { - loadPreviousActivePanel, - loadNextActivePanel -}; - -export { panelNavigation }; diff --git a/Packages/ohif-viewerbase/client/lib/prepareViewerData.js b/Packages/ohif-viewerbase/client/lib/prepareViewerData.js deleted file mode 100644 index b6da439f0..000000000 --- a/Packages/ohif-viewerbase/client/lib/prepareViewerData.js +++ /dev/null @@ -1,137 +0,0 @@ -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; - -/** - * Prepare the studies data to render the viewer template - * - * @param {Array} studyInstanceUids List of studies that will be loaded into viewer - * @param {Array} seriesInstanceUids List of series that will be loaded into viewer. If it is not defined, all series will be loaded - * @param {String} timepointId ID of the current timepoint to get the studies from - * @param {Object} timepointsFilter An object containing the filter to retrieve the timepoints - * @return {Promise} Promise that will be resolved with the studies when the metadata is loaded - */ -export const prepareViewerData = ({ studyInstanceUids, seriesInstanceUids, timepointId, timepointsFilter={} }) => { - // Clear the cornerstone tool data to sync the measurements with the measurements API - cornerstoneTools.globalImageIdSpecificToolStateManager.restoreToolState({}); - - // Retrieve the studies metadata - const promise = new Promise((resolve, reject) => { - const processData = viewerData => { - OHIF.studies.retrieveStudiesMetadata(viewerData.studyInstanceUids, viewerData.seriesInstanceUids).then(studies => { - // Add additional metadata to our study from the studylist - studies.forEach(study => { - const studylistStudy = OHIF.studylist.collections.Studies.findOne({ - studyInstanceUid: study.studyInstanceUid - }); - - if (!studylistStudy) { - return; - } - - Object.assign(study, studylistStudy); - }); - - resolve({ - studies, - viewerData - }); - }).catch(reject); - }; - - // Check if the studies are already given and ignore the timepoint ID if so - if (studyInstanceUids && studyInstanceUids.length) { - const viewerData = { - studyInstanceUids, - seriesInstanceUids, - }; - processData(viewerData); - } else { - // Find the timepoint by ID and load the studies from it - OHIF.studylist.timepointApi.retrieveTimepoints(timepointsFilter).then(() => { - const viewerData = buildViewerDataFromTimepointId(timepointId); - processData(viewerData); - }).catch(reject); - } - }); - - return promise; -}; - -const buildViewerDataFromTimepointId = timepointId => { - const timepoint = OHIF.studylist.timepointApi.timepoints.findOne({ timepointId }); - if (!timepoint) { - throw new Error('Unable to find a time point with the given ID'); - } - - // Get the relevant studyInstanceUids given the timepoints - const data = getDataFromTimepoint(timepoint); - if (!data.studyInstanceUids) { - throw new Error('No studies found that are related to this timepoint'); - } - - // Build the viewer data and return it - return Object.assign(data, { currentTimepointId: timepointId }); -}; - -/** - * Retrieves related studies given a Baseline or Follow-up Timepoint - * - * @param {Object} timepoint A document from the Timepoints Collection - * @returns {Object} An object containing the related studies UIDs and timepoint IDs - */ -const getDataFromTimepoint = timepoint => { - let relatedStudies = _.clone(timepoint.studyInstanceUids); - - // If this is the baseline, we should stop here and return the relevant studies - if (isBaseline(timepoint)) { - return { - studyInstanceUids: relatedStudies, - timepointIds: [timepoint.timepointId] - }; - } - - // Otherwise, this is a follow-up exam, so we should also find the baseline timepoint, - // and all studies related to it. We also enforce that the Baseline should have a studyDate - // prior to the latest studyDate in the current (Follow-up) Timepoint. - const Timepoints = OHIF.studylist.timepointApi.timepoints; - const baseline = Timepoints.findOne({ - timepointType: 'baseline', - patientId: timepoint.patientId, - latestDate: { - $lte: timepoint.latestDate - } - }); - - let timepointIds = []; - if (baseline) { - relatedStudies = relatedStudies.concat(baseline.studyInstanceUids); - timepointIds.push(baseline.timepointId); - } else { - OHIF.log.warn('No Baseline found while opening a Follow-up Timepoint'); - } - - const priorFilter = { latestDate: { $lt: timepoint.latestDate } }; - const priorSorting = { sort: { latestDate: -1 } }; - const prior = OHIF.studylist.timepointApi.timepoints.findOne(priorFilter, priorSorting); - if (prior && prior.timepointId !== baseline.timepointId) { - relatedStudies = relatedStudies.concat(prior.studyInstanceUids); - timepointIds.push(prior.timepointId); - } - - relatedStudies = _.uniq(relatedStudies); - - timepointIds.push(timepoint.timepointId); - - return { - studyInstanceUids: relatedStudies, - timepointIds - }; -}; - -/** - * Checks if a Timepoints is a baseline or not - * - * @param {Object} timepoint A document from the Timepoints Collection - * @returns {boolean} Whether or not the timepoint is stored as a Baseline - */ -const isBaseline = timepoint => timepoint.timepointType === 'baseline'; diff --git a/Packages/ohif-viewerbase/client/lib/setActiveViewport.js b/Packages/ohif-viewerbase/client/lib/setActiveViewport.js deleted file mode 100644 index 31a815db0..000000000 --- a/Packages/ohif-viewerbase/client/lib/setActiveViewport.js +++ /dev/null @@ -1,66 +0,0 @@ -import $ from 'jquery'; -import { OHIF } from 'ohif-core'; -//import { StudyPrefetcher } from './classes/StudyPrefetcher'; -import { displayReferenceLines } from './displayReferenceLines'; - -const PLUGIN_CORNERSTONE = 'cornerstone'; - -/** - * Sets a viewport element active - * @param {node} element DOM element to be activated or viewportIndex - */ -export function setActiveViewport(element) { - const $viewports = $('.viewportContainer'); - const viewportIndex = $viewports.index(element); - - const $element = $viewports.eq(viewportIndex); - if (!$element.length) { - OHIF.log.info('setActiveViewport element does not exist'); - return; - } - - OHIF.log.info(`setActiveViewport setting viewport index: ${viewportIndex}`); - - // If viewport is not active - if (!$element.parents('.viewportContainer').hasClass('active')) { - // Trigger an event for compatibility with other systems - $element.trigger('OHIFBeforeActivateViewport'); - } - - // When an OHIFActivateViewport event is fired, update the Redux state - // with the viewport index that it was fired from. - window.store.dispatch({ - type: 'SET_VIEWPORT_ACTIVE', - viewportIndex - }); - - // Finally, enable stack prefetching and hide the reference lines from - // the newly activated viewport that has a canvas - const { layoutManager } = OHIF.viewerbase; - const viewportData = layoutManager.viewportData[viewportIndex]; - - if (viewportData.plugin === PLUGIN_CORNERSTONE && - $element.find('canvas').length) { - // Cornerstone Tools compare DOM elements (check getEnabledElement cornerstone function) - // so we can't pass a jQuery object as an argument, otherwise it throws an excepetion - const domElement = $element.find('.imageViewerViewport').get(0); - displayReferenceLines(domElement); - //StudyPrefetcher.getInstance().prefetch(); - - // @TODO Add this to OHIFAfterActivateViewport handler... - const synchronizer = OHIF.viewer.stackImagePositionOffsetSynchronizer; - if (!synchronizer) { return; } - - synchronizer.update(); - } - - // Set the div to focused, so keypress events are handled - //$(element).focus(); - //.focus() event breaks in FF&IE - $element.triggerHandler('focus'); - - // Trigger OHIFAfterActivateViewport event on activated instance - // for compatibility with other systems - $element.trigger('OHIFAfterActivateViewport'); - -} diff --git a/Packages/ohif-viewerbase/client/lib/setFocusToActiveViewport.js b/Packages/ohif-viewerbase/client/lib/setFocusToActiveViewport.js deleted file mode 100644 index b44e10947..000000000 --- a/Packages/ohif-viewerbase/client/lib/setFocusToActiveViewport.js +++ /dev/null @@ -1,24 +0,0 @@ -import { Session } from 'meteor/session'; -import $ from 'jquery'; - -/** - * Restores the browser focus to the currently specified active viewport - * as determined from Meteor's Session variable. - * - * This is allows keydown events to be captured on the focused element. - */ -const setFocusToActiveViewport = () => { - // Get the list of viewports - const viewports = $('.imageViewerViewport'); - - // Get the current active viewport index from Session - const activeViewportIndex = window.store.getState().viewports.activeViewport; - - // Find the div from the list of viewports - const activeViewport = viewports.eq(activeViewportIndex); - - // Set the browser focus to this div - activeViewport.focus(); -}; - -export { setFocusToActiveViewport }; diff --git a/Packages/ohif-viewerbase/client/lib/setMammogramViewportAlignment.js b/Packages/ohif-viewerbase/client/lib/setMammogramViewportAlignment.js deleted file mode 100644 index 28ffcc36d..000000000 --- a/Packages/ohif-viewerbase/client/lib/setMammogramViewportAlignment.js +++ /dev/null @@ -1,72 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import $ from 'jquery'; - -import { OHIF } from 'ohif-core'; -import { setInstanceClassDefaultViewportFunction } from './instanceClassSpecificViewport'; - -const setMammogramViewportAlignment = (series, enabledElement, imageId) => { - // Don't apply the MG viewport alignment to other series types - const viewTypes = ['MLO', 'CC', 'LM', 'ML', 'XCCL']; - const requiresInversion = ['LM']; // Tomo series are flipped - - const instance = cornerstone.metaData.get('instance', imageId); - if (!instance) { - return; - } - - const element = enabledElement.element; - - const left = $(enabledElement.canvas).offset().left; - const right = left + enabledElement.canvas.width; - - const metadataProvider = OHIF.viewer.metadataProvider; - - let laterality = instance.laterality; - let position; - - if (viewTypes.indexOf(instance.viewPosition) < 0) { - return; - } - - // Check if we should flip the laterality - if (requiresInversion.indexOf(instance.viewPosition) > -1) { - if (laterality === 'R') { - laterality = 'L'; - } else if (laterality === 'L') { - laterality = 'R'; - } - } - - if (laterality === 'R') { - // Set X translation to Canvas max in image pixels - image width - // This places it on the right side of the screen - position = cornerstone.pageToPixel(element, right, 0); - if (position.x !== enabledElement.image.width) { - enabledElement.viewport.translation.x += position.x - enabledElement.image.width; - } - - metadataProvider.addSpecificMetadata(imageId, 'tagDisplay', { - side: 'L' - }); - - } else if (laterality === 'L') { - // Use pageToPixel to and jQuery to find pixel coordinates of leftmost - // side of the current canvas - position = cornerstone.pageToPixel(element, left, 0); - if (position.x !== 0) { - enabledElement.viewport.translation.x += position.x; - } - - metadataProvider.addSpecificMetadata(imageId, 'tagDisplay', { - side: 'R' - }); - } - - return enabledElement.viewport; -}; - -Meteor.startup(function() { - setInstanceClassDefaultViewportFunction('1.2.840.10008.5.1.4.1.1.1.2', setMammogramViewportAlignment); -}); - -export { setMammogramViewportAlignment }; diff --git a/Packages/ohif-viewerbase/client/lib/sopClassDictionary.js b/Packages/ohif-viewerbase/client/lib/sopClassDictionary.js deleted file mode 100644 index 7be21ce3a..000000000 --- a/Packages/ohif-viewerbase/client/lib/sopClassDictionary.js +++ /dev/null @@ -1,116 +0,0 @@ -// TODO: Deprecate since we have the same thing in dcmjs? -export const sopClassDictionary = { - ComputedRadiographyImageStorage: "1.2.840.10008.5.1.4.1.1.1", - DigitalXRayImageStorageForPresentation: "1.2.840.10008.5.1.4.1.1.1.1", - DigitalXRayImageStorageForProcessing: "1.2.840.10008.5.1.4.1.1.1.1.1", - DigitalMammographyXRayImageStorageForPresentation: "1.2.840.10008.5.1.4.1.1.1.2", - DigitalMammographyXRayImageStorageForProcessing: "1.2.840.10008.5.1.4.1.1.1.2.1", - DigitalIntraOralXRayImageStorageForPresentation: "1.2.840.10008.5.1.4.1.1.1.3", - DigitalIntraOralXRayImageStorageForProcessing: "1.2.840.10008.5.1.4.1.1.1.3.1", - CTImageStorage: "1.2.840.10008.5.1.4.1.1.2", - EnhancedCTImageStorage: "1.2.840.10008.5.1.4.1.1.2.1", - LegacyConvertedEnhancedCTImageStorage: "1.2.840.10008.5.1.4.1.1.2.2", - UltrasoundMultiframeImageStorage: "1.2.840.10008.5.1.4.1.1.3.1", - MRImageStorage: "1.2.840.10008.5.1.4.1.1.4", - EnhancedMRImageStorage: "1.2.840.10008.5.1.4.1.1.4.1", - MRSpectroscopyStorage: "1.2.840.10008.5.1.4.1.1.4.2", - EnhancedMRColorImageStorage: "1.2.840.10008.5.1.4.1.1.4.3", - LegacyConvertedEnhancedMRImageStorage: "1.2.840.10008.5.1.4.1.1.4.4", - UltrasoundImageStorage: "1.2.840.10008.5.1.4.1.1.6.1", - EnhancedUSVolumeStorage: "1.2.840.10008.5.1.4.1.1.6.2", - SecondaryCaptureImageStorage: "1.2.840.10008.5.1.4.1.1.7", - MultiframeSingleBitSecondaryCaptureImageStorage: "1.2.840.10008.5.1.4.1.1.7.1", - MultiframeGrayscaleByteSecondaryCaptureImageStorage: "1.2.840.10008.5.1.4.1.1.7.2", - MultiframeGrayscaleWordSecondaryCaptureImageStorage: "1.2.840.10008.5.1.4.1.1.7.3", - MultiframeTrueColorSecondaryCaptureImageStorage: "1.2.840.10008.5.1.4.1.1.7.4", - Sop12LeadECGWaveformStorage: "1.2.840.10008.5.1.4.1.1.9.1.1", - GeneralECGWaveformStorage: "1.2.840.10008.5.1.4.1.1.9.1.2", - AmbulatoryECGWaveformStorage: "1.2.840.10008.5.1.4.1.1.9.1.3", - HemodynamicWaveformStorage: "1.2.840.10008.5.1.4.1.1.9.2.1", - CardiacElectrophysiologyWaveformStorage: "1.2.840.10008.5.1.4.1.1.9.3.1", - BasicVoiceAudioWaveformStorage: "1.2.840.10008.5.1.4.1.1.9.4.1", - GeneralAudioWaveformStorage: "1.2.840.10008.5.1.4.1.1.9.4.2", - ArterialPulseWaveformStorage: "1.2.840.10008.5.1.4.1.1.9.5.1", - RespiratoryWaveformStorage: "1.2.840.10008.5.1.4.1.1.9.6.1", - GrayscaleSoftcopyPresentationStateStorage: "1.2.840.10008.5.1.4.1.1.11.1", - ColorSoftcopyPresentationStateStorage: "1.2.840.10008.5.1.4.1.1.11.2", - PseudoColorSoftcopyPresentationStateStorage: "1.2.840.10008.5.1.4.1.1.11.3", - BlendingSoftcopyPresentationStateStorage: "1.2.840.10008.5.1.4.1.1.11.4", - XAXRFGrayscaleSoftcopyPresentationStateStorage: "1.2.840.10008.5.1.4.1.1.11.5", - XRayAngiographicImageStorage: "1.2.840.10008.5.1.4.1.1.12.1", - EnhancedXAImageStorage: "1.2.840.10008.5.1.4.1.1.12.1.1", - XRayRadiofluoroscopicImageStorage: "1.2.840.10008.5.1.4.1.1.12.2", - EnhancedXRFImageStorage: "1.2.840.10008.5.1.4.1.1.12.2.1", - XRay3DAngiographicImageStorage: "1.2.840.10008.5.1.4.1.1.13.1.1", - XRay3DCraniofacialImageStorage: "1.2.840.10008.5.1.4.1.1.13.1.2", - BreastTomosynthesisImageStorage: "1.2.840.10008.5.1.4.1.1.13.1.3", - BreastProjectionXRayImageStorageForPresentation: "1.2.840.10008.5.1.4.1.1.13.1.4", - BreastProjectionXRayImageStorageForProcessing: "1.2.840.10008.5.1.4.1.1.13.1.5", - IntravascularOpticalCoherenceTomographyImageStorageForPresentation: "1.2.840.10008.5.1.4.1.1.14.1", - IntravascularOpticalCoherenceTomographyImageStorageForProcessing: "1.2.840.10008.5.1.4.1.1.14.2", - NuclearMedicineImageStorage: "1.2.840.10008.5.1.4.1.1.20", - RawDataStorage: "1.2.840.10008.5.1.4.1.1.66", - SpatialRegistrationStorage: "1.2.840.10008.5.1.4.1.1.66.1", - SpatialFiducialsStorage: "1.2.840.10008.5.1.4.1.1.66.2", - DeformableSpatialRegistrationStorage: "1.2.840.10008.5.1.4.1.1.66.3", - SegmentationStorage: "1.2.840.10008.5.1.4.1.1.66.4", - SurfaceSegmentationStorage: "1.2.840.10008.5.1.4.1.1.66.5", - RealWorldValueMappingStorage: "1.2.840.10008.5.1.4.1.1.67", - SurfaceScanMeshStorage: "1.2.840.10008.5.1.4.1.1.68.1", - SurfaceScanPointCloudStorage: "1.2.840.10008.5.1.4.1.1.68.2", - VLEndoscopicImageStorage: "1.2.840.10008.5.1.4.1.1.77.1.1", - VideoEndoscopicImageStorage: "1.2.840.10008.5.1.4.1.1.77.1.1.1", - VLMicroscopicImageStorage: "1.2.840.10008.5.1.4.1.1.77.1.2", - VideoMicroscopicImageStorage: "1.2.840.10008.5.1.4.1.1.77.1.2.1", - VLSlideCoordinatesMicroscopicImageStorage: "1.2.840.10008.5.1.4.1.1.77.1.3", - VLPhotographicImageStorage: "1.2.840.10008.5.1.4.1.1.77.1.4", - VideoPhotographicImageStorage: "1.2.840.10008.5.1.4.1.1.77.1.4.1", - OphthalmicPhotography8BitImageStorage: "1.2.840.10008.5.1.4.1.1.77.1.5.1", - OphthalmicPhotography16BitImageStorage: "1.2.840.10008.5.1.4.1.1.77.1.5.2", - StereometricRelationshipStorage: "1.2.840.10008.5.1.4.1.1.77.1.5.3", - OphthalmicTomographyImageStorage: "1.2.840.10008.5.1.4.1.1.77.1.5.4", - VLWholeSlideMicroscopyImageStorage: "1.2.840.10008.5.1.4.1.1.77.1.6", - LensometryMeasurementsStorage: "1.2.840.10008.5.1.4.1.1.78.1", - AutorefractionMeasurementsStorage: "1.2.840.10008.5.1.4.1.1.78.2", - KeratometryMeasurementsStorage: "1.2.840.10008.5.1.4.1.1.78.3", - SubjectiveRefractionMeasurementsStorage: "1.2.840.10008.5.1.4.1.1.78.4", - VisualAcuityMeasurementsStorage: "1.2.840.10008.5.1.4.1.1.78.5", - SpectaclePrescriptionReportStorage: "1.2.840.10008.5.1.4.1.1.78.6", - OphthalmicAxialMeasurementsStorage: "1.2.840.10008.5.1.4.1.1.78.7", - IntraocularLensCalculationsStorage: "1.2.840.10008.5.1.4.1.1.78.8", - MacularGridThicknessandVolumeReport: "1.2.840.10008.5.1.4.1.1.79.1", - OphthalmicVisualFieldStaticPerimetryMeasurementsStorage: "1.2.840.10008.5.1.4.1.1.80.1", - OphthalmicThicknessMapStorage: "1.2.840.10008.5.1.4.1.1.81.1", - CornealTopographyMapStorage: "1.2.840.10008.5.1.4.1.1.82.1", - BasicTextSR: "1.2.840.10008.5.1.4.1.1.88.11", - EnhancedSR: "1.2.840.10008.5.1.4.1.1.88.22", - ComprehensiveSR: "1.2.840.10008.5.1.4.1.1.88.33", - Comprehensive3DSR: "1.2.840.10008.5.1.4.1.1.88.34", - ProcedureLog: "1.2.840.10008.5.1.4.1.1.88.40", - MammographyCADSR: "1.2.840.10008.5.1.4.1.1.88.50", - KeyObjectSelection: "1.2.840.10008.5.1.4.1.1.88.59", - ChestCADSR: "1.2.840.10008.5.1.4.1.1.88.65", - XRayRadiationDoseSR: "1.2.840.10008.5.1.4.1.1.88.67", - RadiopharmaceuticalRadiationDoseSR: "1.2.840.10008.5.1.4.1.1.88.68", - ColonCADSR: "1.2.840.10008.5.1.4.1.1.88.69", - ImplantationPlanSRDocumentStorage: "1.2.840.10008.5.1.4.1.1.88.70", - EncapsulatedPDFStorage: "1.2.840.10008.5.1.4.1.1.104.1", - EncapsulatedCDAStorage: "1.2.840.10008.5.1.4.1.1.104.2", - PositronEmissionTomographyImageStorage: "1.2.840.10008.5.1.4.1.1.128", - EnhancedPETImageStorage: "1.2.840.10008.5.1.4.1.1.130", - LegacyConvertedEnhancedPETImageStorage: "1.2.840.10008.5.1.4.1.1.128.1", - BasicStructuredDisplayStorage: "1.2.840.10008.5.1.4.1.1.131", - RTImageStorage: "1.2.840.10008.5.1.4.1.1.481.1", - RTDoseStorage: "1.2.840.10008.5.1.4.1.1.481.2", - RTStructureSetStorage: "1.2.840.10008.5.1.4.1.1.481.3", - RTBeamsTreatmentRecordStorage: "1.2.840.10008.5.1.4.1.1.481.4", - RTPlanStorage: "1.2.840.10008.5.1.4.1.1.481.5", - RTBrachyTreatmentRecordStorage: "1.2.840.10008.5.1.4.1.1.481.6", - RTTreatmentSummaryRecordStorage: "1.2.840.10008.5.1.4.1.1.481.7", - RTIonPlanStorage: "1.2.840.10008.5.1.4.1.1.481.8", - RTIonBeamsTreatmentRecordStorage: "1.2.840.10008.5.1.4.1.1.481.9", - RTBeamsDeliveryInstructionStorage: "1.2.840.10008.5.1.4.34.7", - GenericImplantTemplateStorage: "1.2.840.10008.5.1.4.43.1", - ImplantAssemblyTemplateStorage: "1.2.840.10008.5.1.4.44.1", - ImplantTemplateGroupStorage: "1.2.840.10008.5.1.4.45.1" -}; diff --git a/Packages/ohif-viewerbase/client/lib/sortStudy.js b/Packages/ohif-viewerbase/client/lib/sortStudy.js deleted file mode 100644 index 998541087..000000000 --- a/Packages/ohif-viewerbase/client/lib/sortStudy.js +++ /dev/null @@ -1,21 +0,0 @@ -import { OHIF } from 'ohif-core'; - -const { OHIFError } = OHIF.classes; - -/** - * Sorts the series and instances inside a study instance by their series - * and instance numbers in ascending order. - * - * @param {Object} study The study instance - */ -export function sortStudy(study) { - if (!study || !study.seriesList) { - throw new OHIFError('Insufficient study data was provided to sortStudy'); - } - - study.seriesList.sort((a, b) => a.seriesNumber - b.seriesNumber); - - study.seriesList.forEach(series => { - series.instances.sort((a, b) => a.instanceNumber - b.instanceNumber); - }); -} diff --git a/Packages/ohif-viewerbase/client/lib/sortingManager.js b/Packages/ohif-viewerbase/client/lib/sortingManager.js deleted file mode 100644 index 801d041fb..000000000 --- a/Packages/ohif-viewerbase/client/lib/sortingManager.js +++ /dev/null @@ -1,13 +0,0 @@ -import { createStacks } from './createStacks'; - -const getDisplaySets = (studyMetadata, seriesNumber, iteratorFunction) => { - const iteratorFn = typeof iteratorFunction !== 'function' ? createStacks : iteratorFunction; - - return iteratorFn(studyMetadata, seriesNumber); -}; - -const sortingManager = { - getDisplaySets -}; - -export { sortingManager }; \ No newline at end of file diff --git a/Packages/ohif-viewerbase/client/lib/switchToImageByIndex.js b/Packages/ohif-viewerbase/client/lib/switchToImageByIndex.js deleted file mode 100644 index 8daef3181..000000000 --- a/Packages/ohif-viewerbase/client/lib/switchToImageByIndex.js +++ /dev/null @@ -1,18 +0,0 @@ -import { viewportUtils } from './viewportUtils'; -import { cornerstoneTools } from 'meteor/ohif:cornerstone'; - -const scrollToIndex = cornerstoneTools.import('util/scrollToIndex'); - -/** - * This function switches to an image given an element and the index of the image in the current stack - * Note: Negative indexing is supported: - * - * e.g. switchToImageByIndex(element, -1) to switch to the last image of the stack - * - * @param element - * @param {number} [newImageIdIndex] The image index in the stack to switch to. - */ -export function switchToImageByIndex(newImageIdIndex) { - var element = viewportUtils.getActiveViewportElement(); - scrollToIndex(element, newImageIdIndex); -} diff --git a/Packages/ohif-viewerbase/client/lib/switchToImageRelative.js b/Packages/ohif-viewerbase/client/lib/switchToImageRelative.js deleted file mode 100644 index 95b858013..000000000 --- a/Packages/ohif-viewerbase/client/lib/switchToImageRelative.js +++ /dev/null @@ -1,18 +0,0 @@ -import { viewportUtils } from './viewportUtils'; -import { cornerstoneTools } from 'meteor/ohif:cornerstone'; - -const scroll = cornerstoneTools.import('util/scroll'); - -/** - * This function switches to an image given an element and - * the relative distance from the current image in the stack - * - * e.g. switchToImageRelative(element, -1) to switch to currentImageIdIndex - 1 - * - * @param element - * @param {number} [distanceFromCurrentIndex] The image index in the stack to switch to. - */ -export function switchToImageRelative(distanceFromCurrentIndex) { - var element = viewportUtils.getActiveViewportElement(); - scroll(element, distanceFromCurrentIndex); -} diff --git a/Packages/ohif-viewerbase/client/lib/toolManager.js b/Packages/ohif-viewerbase/client/lib/toolManager.js deleted file mode 100644 index 3471f8963..000000000 --- a/Packages/ohif-viewerbase/client/lib/toolManager.js +++ /dev/null @@ -1,276 +0,0 @@ -import { Session } from 'meteor/session'; -import { OHIF } from 'ohif-core'; -import { cornerstone, cornerstoneTools } from 'meteor/ohif:cornerstone'; - -let activeTool; -let tools = {}; -let initialized = false; -let defaultTool = { - left: 'wwwc', - right: 'zoom', - middle: 'pan' -}; - -const defaultToolConfig = { - shadow: false, - shadowColor: '#000000', - shadowOffsetX: 0, - shadowOffsetY: 0, - drawHandlesOnHover: true -}; - -const buttonNum = { - 'left': 1, - 'right': 2, - 'middle': 4 -}; - -/** - * Exported "toolManager" Singleton - */ -export const toolManager = { - init() { - // if a default tool is globally defined, make it the default tool... - if (OHIF.viewer.defaultTool) { - toolManager.setDefaultTool(OHIF.viewer.defaultTool.left); - toolManager.setDefaultTool(OHIF.viewer.defaultTool.right, 'right'); - toolManager.setDefaultTool(OHIF.viewer.defaultTool.middle, 'middle'); - } - - cornerstoneTools.init(); - - tools = { - length: 'LengthTool', - angle: 'AngleTool', - annotate: 'ArrowAnnotateTool', - wwwc: 'WwwcTool', - zoom: 'ZoomTool', - pan: 'PanTool', - dragProbe: 'DragProbeTool', - magnify: 'MagnifyTool', - crosshairs: 'CrosshairsTool', - stackScroll: 'StackScrollTool', - ellipticalRoi: 'EllipticalRoiTool', - rectangleRoi: 'RectangleRoiTool', - wwwcRegion: 'WwwcRegionTool', - zoomTouchPinch: 'ZoomTouchPinchTool', - panMultiTouch: 'PanMultiTouchTool', - stackScrollMouseWheel: 'StackScrollMouseWheelTool', - referenceLines: 'ReferenceLinesTool' - }; - - const { textStyle, toolStyle, toolColors } = cornerstoneTools; - - // Set text box background color - textStyle.setBackgroundColor('transparent'); - - // Set the tool font and font size - // context.font = "[style] [variant] [weight] [size]/[line height] [font family]"; - const fontFamily = 'Roboto, OpenSans, HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif'; - textStyle.setFont('15px ' + fontFamily); - - // Set the tool width - toolStyle.setToolWidth(2); - - // Set color for inactive tools - toolColors.setToolColor('rgb(255, 255, 0)'); // yellow - - // Set color for active tools - toolColors.setActiveColor('rgb(50, 205, 50)'); // limegreen - - initialized = true; - }, - /** - * This function searches an object to return the keys that contain a specific value - * - * @param object {object} The object to be searched - * @param value The value to be found - * - * @returns {array} The keys for which the object has the specified value - */ - getKeysByValue(object, value) { - // http://stackoverflow.com/questions/9907419/javascript-object-get-key-by-value - return Object.keys(object).filter(key => object[key] === value); - }, - - getMouseButtonMask(button) { - return buttonNum[button] || undefined; - }, - - configureLoadProcess() { - // Whenever CornerstoneImageLoadProgress is fired, identify which viewports - // the "in-progress" image is to be displayed in. Then pass the percent complete - // via the Meteor Session to the other templates to be displayed in the relevant viewports. - - function handleLoadProgress (e) { - const eventData = e.detail; - const viewportIndices = toolManager.getKeysByValue(window.ViewportLoading, eventData.imageId); - viewportIndices.forEach(viewportIndex => { - Session.set('CornerstoneLoadProgress' + viewportIndex, eventData.percentComplete); - }); - - const encodedId = OHIF.string.encodeId(eventData.imageId); - Session.set('CornerstoneThumbnailLoadProgress' + encodedId, eventData.percentComplete); - } - - cornerstone.events.removeEventListener('cornerstoneimageloadprogress', handleLoadProgress); - cornerstone.events.addEventListener('cornerstoneimageloadprogress', handleLoadProgress); - }, - - getTools() { - return Object.keys(tools); - }, - - setActiveTool(toolName, button = 'left') { - // Using setActiveTool with no arguments activates the default tools for all buttons - if (!toolName) { - toolManager.setActiveTool(toolManager.getDefaultTool()); - toolManager.setActiveTool(toolManager.getDefaultTool('right'), 'right'); - toolManager.setActiveTool(toolManager.getDefaultTool('middle'), 'middle'); - return; - } - - let options = {}; - const mouseButtonMask = toolManager.getMouseButtonMask(button); - if (mouseButtonMask) { - options = { - mouseButtonMask - } - } - - // Set active tools for the other buttons than this one - switch(button) { - case 'left': - cornerstoneTools.setToolActive(toolManager.getActiveTool('right'), { - mouseButtonMask: toolManager.getMouseButtonMask('right') - }); - cornerstoneTools.setToolActive(toolManager.getActiveTool('middle'), { - mouseButtonMask: toolManager.getMouseButtonMask('middle') - }); - break; - case 'right': - cornerstoneTools.setToolActive(toolManager.getActiveTool('left'), { - mouseButtonMask: toolManager.getMouseButtonMask('left') - }); - cornerstoneTools.setToolActive(toolManager.getActiveTool('middle'), { - mouseButtonMask: toolManager.getMouseButtonMask('middle') - }); - break; - case 'middle': - cornerstoneTools.setToolActive(toolManager.getActiveTool('left'), { - mouseButtonMask: toolManager.getMouseButtonMask('left') - }); - cornerstoneTools.setToolActive(toolManager.getActiveTool('right'), { - mouseButtonMask: toolManager.getMouseButtonMask('right') - }); - break; - } - - cornerstoneTools.setToolActive(toolName, options); - activeTool[button] = toolName; - }, - - instantiateTools(element) { - // Instantiate all cornerstone tools for the given element - Object.keys(tools).forEach(toolName => { - const apiTool = cornerstoneTools[tools[toolName]]; - if (apiTool) { - cornerstoneTools.addToolForElement(element, apiTool, { - name: toolName, - configuration: defaultToolConfig - }); - - // Set all tools (except the active tools) passive by default in order to render the external data if exists - if (!activeTool || !Object.values(activeTool).includes(toolName)) { - cornerstoneTools.setToolPassive(toolName); - } - } - }); - - // Activate pinch zoom - cornerstoneTools.setToolActive('zoomTouchPinch', { - mouseButtonMask: 0, - isTouchActive: true - }); - - // Activate two-finger pan - cornerstoneTools.setToolActive('panMultiTouch', { - mouseButtonMask: 0, - isTouchActive: true - }); - - // Activate mouse wheel and three (or more) finger stack scroll - cornerstoneTools.setToolActive('stackScrollMouseWheel', { - mouseButtonMask: 0, - isTouchActive: true - }); - }, - - removeToolsForElement(element) { - Object.keys(tools).forEach(toolName => { - cornerstoneTools.removeToolForElement(element, toolName); - }); - }, - - getNearbyToolData(element, coords, toolTypes) { - let pointNearTool = false; - const nearbyTool = {}; - - const toolTypesToCheck = toolTypes || this.getTools(); - toolTypesToCheck.forEach(toolType => { - const toolData = cornerstoneTools.getToolState(element, toolType); - if (!toolData) { - return; - } - - for (let i = 0; i < toolData.data.length; i++) { - const data = toolData.data[i]; - const tool = cornerstoneTools.getToolForElement(element, toolType); - if (tool && typeof tool.pointNearTool === 'function' && tool.pointNearTool(element, data, coords)) { - pointNearTool = true; - nearbyTool.tool = data; - nearbyTool.index = i; - nearbyTool.toolType = toolType; - break; - } - } - - if (pointNearTool === true) { - return false; - } - }); - - return pointNearTool ? nearbyTool : undefined; - }, - - getActiveTool(button = 'left') { - if (!initialized) { - toolManager.init(); - } - - // If activeTool is not defined, we should set as defaultTool - if (!activeTool) { - activeTool = defaultTool; - } - - return activeTool[button]; - }, - - setDefaultTool(tool, button = 'left') { - defaultTool[button] = tool; - }, - - getDefaultTool(button = 'left') { - return defaultTool[button]; - }, - - activateCommandButton(button) { - // TODO: Do we need this? - }, - - deactivateCommandButton(button) { - // TODO: Do we need this? - } -}; - -toolManager.init(); diff --git a/Packages/ohif-viewerbase/client/lib/unloadHandlers.js b/Packages/ohif-viewerbase/client/lib/unloadHandlers.js deleted file mode 100644 index 8e9a2bb37..000000000 --- a/Packages/ohif-viewerbase/client/lib/unloadHandlers.js +++ /dev/null @@ -1,12 +0,0 @@ -import { OHIF } from 'ohif-core'; - -export const unloadHandlers = { - beforeUnload: function(event) { - // Check for any unsaved changes on viewer namespace... - if (OHIF.ui.unsavedChanges.probe('viewer.*') > 0) { - let confirmationMessage = 'You have unsaved changes!'; - event.returnValue = confirmationMessage; - return confirmationMessage; - } - } -}; diff --git a/Packages/ohif-viewerbase/client/lib/updateAllViewports.js b/Packages/ohif-viewerbase/client/lib/updateAllViewports.js deleted file mode 100644 index f2bbab505..000000000 --- a/Packages/ohif-viewerbase/client/lib/updateAllViewports.js +++ /dev/null @@ -1,8 +0,0 @@ -import $ from 'jquery'; - -export function updateAllViewports() { - var viewports = $('.imageViewerViewport').not('.empty'); - viewports.each(function(index, element) { - cornerstone.updateImage(element); - }); -} diff --git a/Packages/ohif-viewerbase/client/lib/updateCrosshairsSynchronizer.js b/Packages/ohif-viewerbase/client/lib/updateCrosshairsSynchronizer.js deleted file mode 100644 index f262cee84..000000000 --- a/Packages/ohif-viewerbase/client/lib/updateCrosshairsSynchronizer.js +++ /dev/null @@ -1,36 +0,0 @@ -import $ from 'jquery'; -import { getFrameOfReferenceUID } from './getFrameOfReferenceUID'; -import { crosshairsSynchronizers } from './crosshairsSynchronizers'; - -/** - * This function is used to maintain the updateImageSynchronizers - * that are using in the Crosshair tool. The function creates - * (and destroys any currently existing) a new synchronizer for the given - * frame of reference. It then searches for other viewports that share the same - * frame of reference, and adds those to the synchronizer. These viewports - * will now function together when the Crosshair tool is used. - * - * @param currentFrameOfReferenceUID - */ - export function updateCrosshairsSynchronizer(currentFrameOfReferenceUID) { - // Check if an old synchronizer exists, and if it does, destroy it - // If not, create a new one - let synchronizer = crosshairsSynchronizers.synchronizers[currentFrameOfReferenceUID]; - if (synchronizer) { - // If it already exists, remove all source & target elements - synchronizer.destroy(); - } else { - // Create a new synchronizer - crosshairsSynchronizers.synchronizers[currentFrameOfReferenceUID] = new cornerstoneTools.Synchronizer('cornerstonenewimage', cornerstoneTools.updateImageSynchronizer); - synchronizer = crosshairsSynchronizers.synchronizers[currentFrameOfReferenceUID]; - } - - // Add all elements that stem from the same frame of reference - $('.imageViewerViewport').each((index, element) => { - const frameOfReferenceUID = getFrameOfReferenceUID(element); - if (currentFrameOfReferenceUID !== frameOfReferenceUID) { - return; - } - synchronizer.add(element); - }); -} diff --git a/Packages/ohif-viewerbase/client/lib/updateMetaDataManager.js b/Packages/ohif-viewerbase/client/lib/updateMetaDataManager.js deleted file mode 100644 index f166843fc..000000000 --- a/Packages/ohif-viewerbase/client/lib/updateMetaDataManager.js +++ /dev/null @@ -1,88 +0,0 @@ -import _ from 'underscore'; -import { OHIF } from 'ohif-core'; -import { getWADORSImageId } from './getWADORSImageId'; - -function getRadiopharmaceuticalInfoMetaData(instance) { - const radiopharmaceuticalInfo = instance.radiopharmaceuticalInfo; - - if ((instance.modality !== 'PT') || !radiopharmaceuticalInfo) { - return; - } - const { WadoRsMetaDataBuilder } = OHIF.metadata; - - return new WadoRsMetaDataBuilder() - .addTag('00181072', radiopharmaceuticalInfo.radiopharmaceuticalStartTime) - .addTag('00181074', radiopharmaceuticalInfo.radionuclideTotalDose) - .addTag('00181075', radiopharmaceuticalInfo.radionuclideHalfLife) - .toJSON(); -} - -const getWadoRsInstanceMetaData = (study, series, instance) => { - const { WadoRsMetaDataBuilder } = OHIF.metadata; - return new WadoRsMetaDataBuilder() - .addTag('00080016', instance.sopClassUid) - .addTag('00080018', instance.sopInstanceUid) - .addTag('00080021', series.seriesDate) - .addTag('00080031', series.seriesTime) - .addTag('00080060', instance.modality) - .addTag('00101010', study.patientAge) - .addTag('00101020', study.patientSize) - .addTag('00101030', study.patientWeight) - .addTag('00180050', instance.sliceThickness) - .addTag('0020000e', series.seriesInstanceUid) - .addTag('00200011', series.seriesNumber) - .addTag('0020000d', study.studyInstanceUid) - .addTag('00200013', instance.instanceNumber) - .addTag('00200032', instance.imagePositionPatient, true) - .addTag('00200037', instance.imageOrientationPatient, true) - .addTag('00200052', instance.frameOfReferenceUID) - .addTag('00201041', instance.sliceLocation) - .addTag('00280002', instance.samplesPerPixel) - .addTag('00280004', instance.photometricInterpretation) - .addTag('00280006', instance.planarConfiguration) - .addTag('00280010', instance.rows) - .addTag('00280011', instance.columns) - .addTag('00280030', instance.pixelSpacing, true) - .addTag('00280034', instance.pixelAspectRatio, true) - .addTag('00280100', instance.bitsAllocated) - .addTag('00280101', instance.bitsStored) - .addTag('00280102', instance.highBit) - .addTag('00280103', instance.pixelRepresentation) - .addTag('00280106', instance.smallestPixelValue) - .addTag('00280107', instance.largestPixelValue) - .addTag('00281050', instance.windowCenter, true) - .addTag('00281051', instance.windowWidth, true) - .addTag('00281052', instance.rescaleIntercept) - .addTag('00281053', instance.rescaleSlope) - .addTag('00281054', instance.rescaleType) - .addTag('00281101', instance.redPaletteColorLookupTableDescriptor) - .addTag('00281102', instance.greenPaletteColorLookupTableDescriptor) - .addTag('00281103', instance.bluePaletteColorLookupTableDescriptor) - .addTag('00281201', instance.redPaletteColorLookupTableData) - .addTag('00281202', instance.greenPaletteColorLookupTableData) - .addTag('00281203', instance.bluePaletteColorLookupTableData) - .addTag('00540016', getRadiopharmaceuticalInfoMetaData(instance)) - .toJSON(); -}; - -export function updateMetaDataManager(study) { - study.seriesList.forEach(series => { - series.instances.forEach(instance => { - // Cache just images that are going to be loaded via WADO-RS - if ((instance.imageRendering !== 'wadors') && (instance.thumbnailRendering !== 'wadors')) { - return; - } - - const metaData = getWadoRsInstanceMetaData(study, series, instance); - const numberOfFrames = instance.numberOfFrames || 1; - - // We can share the same metaData with all frames because it doesn't have - // any frame specific data, such as frameNumber, pixelData, offset, etc. - // WADO-RS frame number is 1-based - for (let frameNumber = 0; frameNumber < numberOfFrames; frameNumber++) { - const imageId = getWADORSImageId(instance, frameNumber); - cornerstoneWADOImageLoader.wadors.metaDataManager.add(imageId, metaData); - } - }); - }); -} diff --git a/Packages/ohif-viewerbase/client/lib/updateOrientationMarkers.js b/Packages/ohif-viewerbase/client/lib/updateOrientationMarkers.js deleted file mode 100644 index af78fb80a..000000000 --- a/Packages/ohif-viewerbase/client/lib/updateOrientationMarkers.js +++ /dev/null @@ -1,67 +0,0 @@ -import $ from 'jquery'; - -/** - * Updates the orientation labels on a Cornerstone-enabled Viewport element - * when the viewport settings change (e.g. when a horizontal flip or a rotation occurs) - * - * @param element The DOM element of the Cornerstone viewport - * optional - * @param viewport The current viewport - */ -export function updateOrientationMarkers(element, viewport) { - // Get the current viewport settings - if(!viewport) { - viewport = cornerstone.getViewport(element); - } - - // Updates the orientation labels on the viewport - const enabledElement = cornerstone.getEnabledElement(element); - const imagePlane = cornerstone.metaData.get('imagePlane', enabledElement.image.imageId); - - if (!imagePlane || !imagePlane.rowCosines || !imagePlane.columnCosines) { - return; - } - - const rowString = cornerstoneTools.orientation.getOrientationString(imagePlane.rowCosines); - const columnString = cornerstoneTools.orientation.getOrientationString(imagePlane.columnCosines); - const oppositeRowString = cornerstoneTools.orientation.invertOrientationString(rowString); - const oppositeColumnString = cornerstoneTools.orientation.invertOrientationString(columnString); - - const markers = { - top: oppositeColumnString, - left: oppositeRowString - }; - - // If any vertical or horizontal flips are applied, change the orientation strings ahead of - // the rotation applications - if (viewport.vflip) { - markers.top = cornerstoneTools.orientation.invertOrientationString(markers.top); - } - - if (viewport.hflip) { - markers.left = cornerstoneTools.orientation.invertOrientationString(markers.left); - } - - // TODO[react]: This should set values in the redux store - - // Get the viewport orientation marker DOM elements - const viewportOrientationMarkers = $(element).siblings('.viewportOrientationMarkers'); - const topMarker = viewportOrientationMarkers.find('.topMid'); - const leftMarker = viewportOrientationMarkers.find('.leftMid'); - - // Swap the labels accordingly if the viewport has been rotated - // This could be done in a more complex way for intermediate rotation values (e.g. 45 degrees) - if (viewport.rotation === 90 || viewport.rotation === -270) { - topMarker.text(markers.left); - leftMarker.text(cornerstoneTools.orientation.invertOrientationString(markers.top)); - } else if (viewport.rotation === -90 || viewport.rotation === 270) { - topMarker.text(cornerstoneTools.orientation.invertOrientationString(markers.left)); - leftMarker.text(markers.top); - } else if (viewport.rotation === 180 || viewport.rotation === -180) { - topMarker.text(cornerstoneTools.orientation.invertOrientationString(markers.top)); - leftMarker.text(cornerstoneTools.orientation.invertOrientationString(markers.left)); - } else { - topMarker.text(markers.top); - leftMarker.text(markers.left); - } -} diff --git a/Packages/ohif-viewerbase/client/lib/viewportOverlayUtils.js b/Packages/ohif-viewerbase/client/lib/viewportOverlayUtils.js deleted file mode 100644 index 62c3a3e95..000000000 --- a/Packages/ohif-viewerbase/client/lib/viewportOverlayUtils.js +++ /dev/null @@ -1,101 +0,0 @@ -import { cornerstone } from 'meteor/ohif:cornerstone'; -import { getElementIfNotEmpty } from './getElementIfNotEmpty'; - -const getPatient = function(property) { - if (!this.imageId) { - return false; - } - - const patient = cornerstone.metaData.get('patient', this.imageId); - if (!patient) { - return ''; - } - - return patient[property]; -}; - -const getStudy = function(property) { - if (!this.imageId) { - return false; - } - - const study = cornerstone.metaData.get('study', this.imageId); - if (!study) { - return ''; - } - - return study[property]; -}; - -const getSeries = function(property) { - if (!this.imageId) { - return false; - } - - const series = cornerstone.metaData.get('series', this.imageId); - if (!series) { - return ''; - } - - return series[property]; -}; - -const getInstance = function(property) { - if (!this.imageId) { - return false; - } - - const instance = cornerstone.metaData.get('instance', this.imageId); - if (!instance) { - return ''; - } - - return instance[property]; -}; - -const getTagDisplay = function(property) { - if (!this.imageId) { - return false; - } - - const instance = cornerstone.metaData.get('tagDisplay', this.imageId); - if (!instance) { - return ''; - } - - return instance[property]; -}; - -const getImage = function(viewportIndex) { - const element = getElementIfNotEmpty(viewportIndex); - if (!element) { - return false; - } - - let enabledElement; - try { - enabledElement = cornerstone.getEnabledElement(element); - } catch(error) { - return false; - } - - if (!enabledElement || !enabledElement.image) { - return false; - } - - return enabledElement.image; -}; - -const formatDateTime = (date, time) => `${date} ${time}`; - -const viewportOverlayUtils = { - getPatient, - getStudy, - getSeries, - getInstance, - getTagDisplay, - getImage, - formatDateTime -}; - -export { viewportOverlayUtils }; diff --git a/Packages/ohif-viewerbase/client/lib/viewportUtils.js b/Packages/ohif-viewerbase/client/lib/viewportUtils.js deleted file mode 100644 index 964a14d52..000000000 --- a/Packages/ohif-viewerbase/client/lib/viewportUtils.js +++ /dev/null @@ -1,383 +0,0 @@ -import $ from 'jquery'; -import _ from 'underscore'; -// Local Modules -import { OHIF } from 'ohif-core'; -import { cornerstone, cornerstoneTools } from 'meteor/ohif:cornerstone'; -import { updateOrientationMarkers } from './updateOrientationMarkers'; -import { getInstanceClassDefaultViewport } from './instanceClassSpecificViewport'; - -/** - * Get a cornerstone enabledElement for a DOM Element - * @param {DOMElement} element Element to get the enabledElement from Cornerstone - * @return {Object} Cornerstone's enabledElement object for the given - * element or undefined if the element is not enabled - */ -const getEnabledElement = element => { - let enabledElement; - - try { - enabledElement = cornerstone.getEnabledElement(element); - } catch(error) { - OHIF.log.warn(error); - } - - return enabledElement; -}; - -/** - * Get the active viewport element. It uses activeViewport Session Variable - * @return {DOMElement} DOMElement of the current active viewport - */ -const getActiveViewportElement = () => { - const viewportIndex = window.store.getState().viewports.activeViewport || 0; - return $('.imageViewerViewport').get(viewportIndex); -}; - -/** - * Get a cornerstone enabledElement for the Active Viewport Element - * @return {Object} Cornerstone's enabledElement object for the active - * viewport element or undefined if the element - * is not enabled - */ -const getEnabledElementForActiveElement = () => { - const activeViewportElement = getActiveViewportElement(); - const enabledElement = getEnabledElement(activeViewportElement); - - return enabledElement; -}; - -const zoomIn = () => { - const element = getActiveViewportElement(); - if (!element) { - return; - } - - const viewport = cornerstone.getViewport(element); - const scaleIncrement = 0.15; - const maximumScale = 10; - viewport.scale = Math.min(viewport.scale + scaleIncrement, maximumScale); - cornerstone.setViewport(element, viewport); -}; - -const zoomOut = () => { - const element = getActiveViewportElement(); - if (!element) { - return; - } - - const viewport = cornerstone.getViewport(element); - const scaleIncrement = 0.15; - const minimumScale = 0.05; - viewport.scale = Math.max(viewport.scale - scaleIncrement, minimumScale); - cornerstone.setViewport(element, viewport); -}; - -const zoomToFit = () => { - const element = getActiveViewportElement(); - if (!element) { - return; - } - - cornerstone.fitToWindow(element); -}; - -const rotateL = () => { - const element = getActiveViewportElement(); - if (!element) { - return; - } - - const viewport = cornerstone.getViewport(element); - viewport.rotation -= 90; - cornerstone.setViewport(element, viewport); - updateOrientationMarkers(element, viewport); -}; - -const rotateR = () => { - const element = getActiveViewportElement(); - if (!element) { - return; - } - - const viewport = cornerstone.getViewport(element); - viewport.rotation += 90; - cornerstone.setViewport(element, viewport); - updateOrientationMarkers(element, viewport); -}; - -const invert = () => { - const element = getActiveViewportElement(); - if (!element) { - return; - } - - const viewport = cornerstone.getViewport(element); - viewport.invert = (viewport.invert === false); - cornerstone.setViewport(element, viewport); -}; - -const flipV = () => { - const element = getActiveViewportElement(); - const viewport = cornerstone.getViewport(element); - viewport.vflip = (viewport.vflip === false); - cornerstone.setViewport(element, viewport); - updateOrientationMarkers(element, viewport); -}; - -const flipH = () => { - const element = getActiveViewportElement(); - const viewport = cornerstone.getViewport(element); - viewport.hflip = (viewport.hflip === false); - cornerstone.setViewport(element, viewport); - updateOrientationMarkers(element, viewport); -}; - -const resetViewportWithElement = element => { - const enabledElement = cornerstone.getEnabledElement(element); - if (enabledElement.fitToWindow === false) { - const imageId = enabledElement.image.imageId; - const instance = cornerstone.metaData.get('instance', imageId); - - enabledElement.viewport = cornerstone.getDefaultViewport(enabledElement.canvas, enabledElement.image); - - const instanceClassDefaultViewport = getInstanceClassDefaultViewport(instance, enabledElement, imageId); - cornerstone.setViewport(element, instanceClassDefaultViewport); - } else { - cornerstone.reset(element); - } -}; - -const resetViewport = (viewportIndex=null) => { - if (viewportIndex === null) { - resetViewportWithElement(getActiveViewportElement()); - } else if (viewportIndex === 'all') { - $('.imageViewerViewport').each((index, element) => { - resetViewportWithElement(element); - }); - } else { - resetViewportWithElement($('.imageViewerViewport').get(viewportIndex)); - } -}; - -const clearTools = () => { - const element = getActiveViewportElement(); - const toolStateManager = cornerstoneTools.globalImageIdSpecificToolStateManager; - toolStateManager.clear(element); - cornerstone.updateImage(element); -}; - -const linkStackScroll = () => { - const synchronizer = OHIF.viewer.stackImagePositionOffsetSynchronizer; - - if (!synchronizer) { return; } - - if (synchronizer.isActive()) { - synchronizer.deactivate(); - } else { - synchronizer.activate(); - } -}; - -// This function was originally defined alone inside client/lib/toggleDialog.js -// and has been moved here to avoid circular dependency issues. -const toggleDialog = (element, closeAction) => { - const $element = $(element); - if ($element.is('dialog')) { - if (element.hasAttribute('open')) { - if (closeAction) { - closeAction(); - } - - element.close(); - } else { - element.show(); - } - } else { - const isClosed = $element.hasClass('dialog-open'); - $element.toggleClass('dialog-closed', isClosed); - $element.toggleClass('dialog-open', !isClosed); - } -}; - -// Toggle the play/stop state for the cornerstone clip tool -const toggleCinePlay = () => { - // Get the active viewport element - const element = getActiveViewportElement(); - - // Check if it's playing the clip to toggle it - if (isPlaying()) { - cornerstoneTools.stopClip(element); - } else { - cornerstoneTools.playClip(element); - } -}; - -// Show/hide the CINE dialog -const toggleCineDialog = () => { - const dialog = document.getElementById('cineDialog'); - - toggleDialog(dialog, stopAllClips); -}; - -const toggleDownloadDialog = () => { - stopActiveClip(); - const $dialog = $('#imageDownloadDialog'); - if ($dialog.length) { - $dialog.find('.close:first').click(); - } else { - OHIF.ui.showDialog('imageDownloadDialog'); - } -}; - -const isDownloadEnabled = () => { - const activeViewport = getActiveViewportElement(); - - return activeViewport ? true : false; -}; - -// Check if the clip is playing on the active viewport -const isPlaying = () => { - // Get the viewport element and its current playClip tool state - const element = getActiveViewportElement(); - // Empty Elements throws cornerstore exception - if (!element || !$(element).find('canvas').length) { - return; - } - - const toolState = cornerstoneTools.getToolState(element, 'playClip'); - - // Stop here if the tool state is not defined yet - if (!toolState) { - return false; - } - - // Get the clip state - const clipState = toolState.data[0]; - - if (clipState) { - // Return true if the clip is playing - return !_.isUndefined(clipState.intervalId); - } - - return false; -}; - -// Check if a study has multiple frames -const hasMultipleFrames = () => { - // Its called everytime active viewport and/or layout change - window.store.getState().viewports.activeViewport; - - const activeViewport = getActiveViewportElement(); - - // No active viewport yet: disable button - if (!activeViewport || !$(activeViewport).find('canvas').length) { - return true; - } - - // Get images in the stack - const stackToolData = cornerstoneTools.getToolState(activeViewport, 'stack'); - - // No images in the stack, so disable button - if (!stackToolData || !stackToolData.data || !stackToolData.data.length) { - return true; - } - - // Get number of images in the stack - const stackData = stackToolData.data[0]; - const nImages = stackData.imageIds && stackData.imageIds.length ? stackData.imageIds.length : 1; - - // Stack has just one image, so disable button - if (nImages === 1) { - return true; - } - - return false; -}; - -// Stop clips on all non-empty elements -const stopAllClips = () => { - const elements = $('.imageViewerViewport').not('.empty'); - elements.each((index, element) => { - if ($(element).find('canvas').length) { - cornerstoneTools.stopClip(element); - } - }); -}; - -const stopActiveClip = () => { - const activeElement = getActiveViewportElement(); - - if ($(activeElement).find('canvas').length) { - cornerstoneTools.stopClip(activeElement); - } -}; - -const isStackScrollLinkingDisabled = () => { - let linkableViewportsCount = 0; - - // Its called everytime active viewport and/or layout change - window.store.getState().viewports.activeViewport; - - const synchronizer = OHIF.viewer.stackImagePositionOffsetSynchronizer; - if (synchronizer) { - const linkableViewports = synchronizer.getLinkableViewports(); - linkableViewportsCount = linkableViewports.length; - } - - return linkableViewportsCount <= 1; -}; - -const isStackScrollLinkingActive = () => { - let isActive = true; - const synchronizer = OHIF.viewer.stackImagePositionOffsetSynchronizer; - - if (!synchronizer) { return; } - - const syncedElements = _.pluck(synchronizer.syncedViewports, 'element'); - const $renderedViewports = $('.imageViewerViewport'); - $renderedViewports.each((index, element) => { - if (!_.contains(syncedElements, element)) { - isActive = false; - } - }); - - return isActive; -}; - -// Create an event listener to update playing state when a clip stops playing -window.addEventListener('cornerstonetoolsclipstopped', () => { - console.log('cornerstonetoolsclipstopped'); -}); - -/** - * Export functions inside viewportUtils namespace. - */ - -const viewportUtils = { - getEnabledElementForActiveElement, - getEnabledElement, - getActiveViewportElement, - zoomIn, - zoomOut, - zoomToFit, - rotateL, - rotateR, - invert, - flipV, - flipH, - resetViewport, - clearTools, - linkStackScroll, - toggleDialog, - toggleCinePlay, - toggleCineDialog, - toggleDownloadDialog, - isPlaying, - isDownloadEnabled, - hasMultipleFrames, - stopAllClips, - isStackScrollLinkingDisabled, - isStackScrollLinkingActive -}; - -export { viewportUtils }; diff --git a/Packages/ohif-viewerbase/main.js b/Packages/ohif-viewerbase/main.js deleted file mode 100644 index 593365c8e..000000000 --- a/Packages/ohif-viewerbase/main.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Import namespace... - */ - -import { OHIF, Viewerbase } from './namespace.js'; - -/** - * Import scripts that will populate the Viewerbase namespace as a side effect only import. This is effectively the public API... - */ - -import './client/'; // which is actually: import './client/index.js'; - -/** - * Export relevant objects... - * - * With the following export it becomes possible to import "OHIF" from "ohif:core" and "Viewerbase" - * from "ohif:viewerbase" using a single import (a shorthand), like this: - * - * import { OHIF } from 'meteor/ohif:viewerbase'; - * - * Which is equivalent to: - * - * import { OHIF } from 'ohif-core'; - * import 'meteor/ohif:viewerbase'; - * - * The second (extended) format should be used when other OHIF packages are also to be used within - * the current module. This makes it explicit that the following imports will populate their - * respective namespaces within the to "OHIF" namespace. Example: - * - * import { OHIF } from 'ohif-core'; - * import 'meteor/ohif:viewerbase'; - * import 'meteor/ohif:hanging-protocols'; - * [ ... ] - * OHIF.viewerbase.setActiveViewport(...); - * OHIF.hangingprotocols.doSomething(...); - * - */ - -export { OHIF, Viewerbase }; diff --git a/Packages/ohif-viewerbase/namespace.js b/Packages/ohif-viewerbase/namespace.js deleted file mode 100644 index 359d32d4f..000000000 --- a/Packages/ohif-viewerbase/namespace.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Import main dependency - */ - -import { OHIF } from 'ohif-core'; - -/** - * Create Viewerbase namespace - */ - -const Viewerbase = {}; - -/** - * Append Viewerbase namespace to OHIF namespace - */ - -OHIF.viewerbase = Viewerbase; - -/** - * Export relevant objects - */ - -export { OHIF, Viewerbase }; diff --git a/Packages/ohif-viewerbase/package.js b/Packages/ohif-viewerbase/package.js deleted file mode 100644 index 922de1d45..000000000 --- a/Packages/ohif-viewerbase/package.js +++ /dev/null @@ -1,199 +0,0 @@ -Package.describe({ - name: 'ohif:viewerbase', - summary: 'Shared components and functions for Meteor DICOM Viewers', - version: '0.0.1' -}); - -Npm.depends({ - 'react-cornerstone-viewport': '0.1.1', //'git://github.com:cornerstonejs/react-cornerstone-viewport.git', - 'react-viewerbase': 'git://github.com:OHIF/react-viewerbase.git', //'0.1.2', //'git://github.com:OHIF/react-viewerbase.git', - hammerjs: '2.0.8', - 'cornerstone-core': '2.2.8', - 'cornerstone-tools': '3.0.0-b.1471', - 'cornerstone-math': '0.1.7', - 'dicom-parser': '1.8.3', - 'cornerstone-wado-image-loader': '2.2.3', - 'react-redux': '6.0.0', - jquery: '3.3.1', - 'ohif-core': 'file:///Users/Erik/Projects/OHIF/ohif-core/' -}); - -Package.onUse(function(api) { - api.versionsFrom('1.7'); - - api.use(['ecmascript', - 'templating', - 'http', - 'stylus', - ]); - - // OHIF dependencies - api.use([ - 'ohif:cornerstone', - 'ohif:themes' - ]); - - const assets = [ - 'assets/icons.svg', - 'assets/user-menu-icons.svg', - 'assets/fonts/Roboto-Black-latin-ext.woff', - 'assets/fonts/Roboto-Black-latin-ext.woff2', - 'assets/fonts/Roboto-Black-latin.woff', - 'assets/fonts/Roboto-Black-latin.woff2', - 'assets/fonts/Roboto-BlackItalic-latin-ext.woff', - 'assets/fonts/Roboto-BlackItalic-latin-ext.woff2', - 'assets/fonts/Roboto-BlackItalic-latin.woff', - 'assets/fonts/Roboto-BlackItalic-latin.woff2', - 'assets/fonts/Roboto-Bold-latin-ext.woff', - 'assets/fonts/Roboto-Bold-latin-ext.woff2', - 'assets/fonts/Roboto-Bold-latin.woff', - 'assets/fonts/Roboto-Bold-latin.woff2', - 'assets/fonts/Roboto-BoldItalic-latin-ext.woff', - 'assets/fonts/Roboto-BoldItalic-latin-ext.woff2', - 'assets/fonts/Roboto-BoldItalic-latin.woff', - 'assets/fonts/Roboto-BoldItalic-latin.woff2', - 'assets/fonts/Roboto-Italic-latin-ext.woff', - 'assets/fonts/Roboto-Italic-latin-ext.woff2', - 'assets/fonts/Roboto-Italic-latin.woff', - 'assets/fonts/Roboto-Italic-latin.woff2', - 'assets/fonts/Roboto-Light-latin-ext.woff', - 'assets/fonts/Roboto-Light-latin-ext.woff2', - 'assets/fonts/Roboto-Light-latin.woff', - 'assets/fonts/Roboto-Light-latin.woff2', - 'assets/fonts/Roboto-LightItalic-latin-ext.woff', - 'assets/fonts/Roboto-LightItalic-latin-ext.woff2', - 'assets/fonts/Roboto-LightItalic-latin.woff', - 'assets/fonts/Roboto-LightItalic-latin.woff2', - 'assets/fonts/Roboto-Medium-latin-ext.woff', - 'assets/fonts/Roboto-Medium-latin-ext.woff2', - 'assets/fonts/Roboto-Medium-latin.woff', - 'assets/fonts/Roboto-Medium-latin.woff2', - 'assets/fonts/Roboto-MediumItalic-latin-ext.woff', - 'assets/fonts/Roboto-MediumItalic-latin-ext.woff2', - 'assets/fonts/Roboto-MediumItalic-latin.woff', - 'assets/fonts/Roboto-MediumItalic-latin.woff2', - 'assets/fonts/Roboto-Regular-latin-ext.woff', - 'assets/fonts/Roboto-Regular-latin-ext.woff2', - 'assets/fonts/Roboto-Regular-latin.woff', - 'assets/fonts/Roboto-Regular-latin.woff2', - 'assets/fonts/Roboto-Thin-latin-ext.woff', - 'assets/fonts/Roboto-Thin-latin-ext.woff2', - 'assets/fonts/Roboto-Thin-latin.woff', - 'assets/fonts/Roboto-Thin-latin.woff2', - 'assets/fonts/Roboto-ThinItalic-latin-ext.woff', - 'assets/fonts/Roboto-ThinItalic-latin-ext.woff2', - 'assets/fonts/Roboto-ThinItalic-latin.woff', - 'assets/fonts/Roboto-ThinItalic-latin.woff2', - 'assets/fonts/Sanchez-Regular-latin-ext.woff', - 'assets/fonts/Sanchez-Regular-latin-ext.woff2', - 'assets/fonts/Sanchez-Regular-latin.woff', - 'assets/fonts/Sanchez-Regular-latin.woff2' - ]; - - api.addAssets(assets, 'client'); - - // Basic components - api.addFiles('client/components/basic/layout/layout.styl', 'client'); - api.addFiles('client/components/basic/loadingText/loadingText.html', 'client'); - api.addFiles('client/components/basic/loadingText/loadingText.styl', 'client'); - api.addFiles('client/components/basic/errorText/errorText.html', 'client'); - api.addFiles('client/components/basic/errorText/errorText.styl', 'client'); - - api.addFiles('client/components/basic/removableBackdrop/removableBackdrop.html', 'client'); - api.addFiles('client/components/basic/removableBackdrop/removableBackdrop.styl', 'client'); - - api.addFiles('client/components/basic/aboutModal/aboutModal.html', 'client'); - api.addFiles('client/components/basic/aboutModal/aboutModal.js', 'client'); - api.addFiles('client/components/basic/aboutModal/aboutModal.styl', 'client'); - - // Viewer components - api.addFiles('client/components/viewer/annotationDialogs/annotationDialogs.html', 'client'); - api.addFiles('client/components/viewer/annotationDialogs/annotationDialogs.js', 'client'); - api.addFiles('client/components/viewer/annotationDialogs/annotationDialogs.styl', 'client'); - - api.addFiles('client/components/viewer/layoutButton/layoutButton.html', 'client'); - api.addFiles('client/components/viewer/layoutButton/layoutButton.js', 'client'); - - api.addFiles('client/components/viewer/layoutChooser/layoutChooser.html', 'client'); - api.addFiles('client/components/viewer/layoutChooser/layoutChooser.js', 'client'); - api.addFiles('client/components/viewer/layoutChooser/layoutChooser.styl', 'client'); - - api.addFiles('client/components/viewer/downloadDialog/downloadDialog.html', 'client'); - api.addFiles('client/components/viewer/downloadDialog/downloadDialog.js', 'client'); - api.addFiles('client/components/viewer/downloadDialog/downloadDialog.styl', 'client'); - - api.addFiles('client/components/viewer/toolbarSectionButton/toolbarSectionButton.html', 'client'); - api.addFiles('client/components/viewer/toolbarSectionButton/toolbarSectionButton.js', 'client'); - api.addFiles('client/components/viewer/toolbarSectionButton/toolbarSectionButton.styl', 'client'); - - api.addFiles('client/components/viewer/toolbarSectionTools/toolbarSectionTools.html', 'client'); - api.addFiles('client/components/viewer/toolbarSectionTools/toolbarSectionTools.js', 'client'); - api.addFiles('client/components/viewer/toolbarSectionTools/toolbarSectionTools.styl', 'client'); - - api.addFiles('client/components/viewer/userPreferences/dialog.html', 'client'); - api.addFiles('client/components/viewer/userPreferences/dialog.js', 'client'); - api.addFiles('client/components/viewer/userPreferences/dialog.styl', 'client'); - - api.addFiles('client/components/viewer/confirmDeleteDialog/confirmDeleteDialog.html', 'client'); - api.addFiles('client/components/viewer/confirmDeleteDialog/confirmDeleteDialog.js', 'client'); - api.addFiles('client/components/viewer/confirmDeleteDialog/confirmDeleteDialog.styl', 'client'); - - api.addFiles('client/components/viewer/seriesQuickSwitch/seriesQuickSwitch.html', 'client'); - api.addFiles('client/components/viewer/seriesQuickSwitch/seriesQuickSwitch.styl', 'client'); - api.addFiles('client/components/viewer/seriesQuickSwitch/seriesQuickSwitch.js', 'client'); - - api.addFiles('client/components/viewer/studySeriesQuickSwitch/studySeriesQuickSwitch.html', 'client'); - api.addFiles('client/components/viewer/studySeriesQuickSwitch/studySeriesQuickSwitch.styl', 'client'); - api.addFiles('client/components/viewer/studySeriesQuickSwitch/studySeriesQuickSwitch.js', 'client'); - - /*api.addFiles('client/components/viewer/studyTimepointBrowser/studyTimepoint.html', 'client'); - api.addFiles('client/components/viewer/studyTimepointBrowser/studyTimepoint.styl', 'client'); - api.addFiles('client/components/viewer/studyTimepointBrowser/studyTimepoint.js', 'client'); - - api.addFiles('client/components/viewer/studyTimepointBrowser/studyTimepointBrowser.html', 'client'); - api.addFiles('client/components/viewer/studyTimepointBrowser/studyTimepointBrowser.styl', 'client'); - api.addFiles('client/components/viewer/studyTimepointBrowser/studyTimepointBrowser.js', 'client'); - - api.addFiles('client/components/viewer/studyTimepointBrowser/studyTimepointStudy.html', 'client'); - api.addFiles('client/components/viewer/studyTimepointBrowser/studyTimepointStudy.js', 'client');*/ - - api.addFiles('client/components/viewer/windowLevelPresets/form.html', 'client'); - api.addFiles('client/components/viewer/windowLevelPresets/form.js', 'client'); - - api.export('dialogPolyfill', 'client'); - - api.addAssets('assets/theme-icons.png', 'client'); - - // Importable colors / typography settings - api.addFiles([ - 'app.styl', - 'styles/imports/mixins.styl', - 'styles/imports/spacings.styl', - 'styles/imports/variables.styl', - 'styles/imports/theming.styl', - 'styles/imports/theme-icons.styl' - ], 'client', { - isImport: true - }); - - // Common styles - api.addFiles([ - 'styles/common/webfonts.styl', - 'styles/common/keyframes.styl', - 'styles/common/global.styl', - 'styles/common/form.styl', - 'styles/common/spacings.styl' - ], 'client'); - - // Component styles - api.addFiles([ - 'styles/components/dialog.styl', - 'styles/components/popover.styl', - 'styles/components/radio.styl', - 'styles/components/select2.styl', - 'styles/components/states.styl' - ], 'client'); - - api.mainModule('main.js', 'client'); - -}); diff --git a/Packages/ohif-viewerbase/styles/common/form.styl b/Packages/ohif-viewerbase/styles/common/form.styl deleted file mode 100644 index 6a148fab7..000000000 --- a/Packages/ohif-viewerbase/styles/common/form.styl +++ /dev/null @@ -1,94 +0,0 @@ -@import "{ohif:viewerbase}/app" - -label.wrapperLabel - cursor: pointer - -label.wrapperLabel:not(.checkboxLabel) - cursor: pointer - display: flex - flex-direction: column - - .wrapperText - display: block - order: -1 - transition(color 0.3s ease) - -.form-themed - - .btn, input[type=text], input[type=password], input[type=number] - - &[disabled], &.disabled - - &, &:hover, &:active - theme('background-color', '$uiGrayDarker') - theme('border-color', '$uiGrayLight') - theme('color', '$textPrimaryColor') - - & + .wrapperText - theme('color', '$textPrimaryColor') - cursor: auto - - input[type=text], input[type=password], input[type=number] - theme('background-color', '$uiGray') - theme('border-color', '$uiBorderColor') - theme('color', '$textPrimaryColor') - font-weight: normal - transition(background-color 0.3s ease\, border-color 0.3s ease) - - &:active, &:focus - theme('background-color', '$uiGrayDark') - theme('border-color', '$activeColor') - box-shadow: none - - & + .wrapperText - theme('color', '$activeColor') - - .btn-primary - theme('background-color', '$activeColor') - theme('border-color', '$uiBorderColorActive') - theme('color', '$textColorActive') - transition(background-color 0.3s ease\, border-color 0.3s ease) - - &:hover, &:active, &:focus, &:focus:active - theme('background-color', '$activeColor', 0.8) - theme('border-color', '$uiBorderColorActive', 0.8) - theme('color', '$textColorActive') - - span.select2.select2-container - width: 100% !important - - span.select2-selection - color: rgba(255, 255, 255, 0.52) - background-color: #2c353f - - span.select2-selection__arrow - theme('background-color', '$uiGray') - - &:hover, &:focus - span.select2-selection__arrow - theme('background-color', '$uiGray') - theme('color', '$textPrimaryColor') - - span.select2-selection__rendered - theme('color', '$textPrimaryColor') - font-size: 14px - - &.select2-container--open span.select2-selection span.select2-selection__arrow - theme('background-color', '$uiGrayDark') - theme('color', '$textPrimaryColor') - - .form-control - background-color: #FFFFFF - border: 0 - border-radius(2px) - font-size: 14px - height: 30px - line-height: 16px - padding: 8px 9px 6px - - &:focus - theme('box-shadow', '0 0 0 2px $activeColor !important') - - .form-themed .form-control - theme('box-shadow', '0 0 0 1px $uiBorderColor') - diff --git a/Packages/ohif-viewerbase/styles/common/global.styl b/Packages/ohif-viewerbase/styles/common/global.styl deleted file mode 100644 index 4eeea8a43..000000000 --- a/Packages/ohif-viewerbase/styles/common/global.styl +++ /dev/null @@ -1,356 +0,0 @@ -@import '{ohif:viewerbase}/app' - -html body - theme('background-color', '$primaryBackgroundColor') - font-family: 'Roboto', 'OpenSans', 'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif - -webkit-backface-visibility: hidden // Prevent Chrome from shifting parent elements on transform - font-family: Roboto - -html body.stretch - height: 100% - min-width: 0 - overflow: hidden - position: fixed - width: 100% - -html hr - theme('border-top', '1px solid $uiBorderColor') - -body .table > thead > tr > th - theme('border-color', '$uiBorderColor') - -body ol - margin: 0 - padding-left: 1em - -// This is needed for IE11 because svgxuse doesn't allow the browser to capture mouse events on SVG -svg, use - pointer-events: none - -input::-ms-clear - display: none - -label.form-group - width: 100% - - &>span.select2 - display: block - width: 100% !important - - span.select2-selection - min-height: 34px - - span.select2-selection__rendered - height: 34px - line-height: 34px - - span.select2-selection__arrow - height: 34px - -.select-small+span.select2.select2-container span.select2-selection - height: 20px - - span.select2-selection__rendered - height: 20px - line-height: 20px - padding-left: 5px - padding-right: 17px - - span.select2-selection__arrow - height: 20px - width: 12px - - &:after - font-size: 12px - height: 20px - line-height: 20px - width: 12px - -.select2-container-nowrap - - .select2-dropdown - display: table - - .select2-results__options li - white-space: nowrap - -body .select2-container--default .select2-results>.select2-results__options - max-height: 320px - -.center-table - display: table - margin-left: auto - margin-right: auto - -.height-auto - height: auto !important - -.caret-down - display: inline-block - width: 0 - height: 0 - margin-top: .5rem - border-top: 5px solid - border-right: 5px solid transparent - border-left: 5px solid transparent - -.noselect - -webkit-touch-callout: none - -webkit-user-select: none - -khtml-user-select: none - -moz-user-select: none - -ms-user-select: none - user-select: none - -.btn - transition(background-color 0.3s ease) - -.modal-dialog - .modal-content - theme('background-color', '$uiGrayDarker') - theme('border-color', '$uiBorderColor') - theme('color', '$textSecondaryColor') - border-radius(6px) - border: 0 - - .modal-header, .modal-footer - theme('border-color', '$uiBorderColor') - - .dialog-separator, - .dialog-separator-before, - .dialog-separator-after - position: relative - - .dialog-separator:before, - .dialog-separator:after, - .dialog-separator-before:before, - .dialog-separator-after:after - background-color: #000000 - box-shadow(-50px 0 0 #000000\, 50px 0 0 #000000) - content: ' ' - display: block - height: 3px - left: 0 - position: absolute - width: 100% - - .dialog-separator:before, - .dialog-separator-before:before - top: -3px - - .dialog-separator:after, - .dialog-separator-after:after - bottom: -3px - - .modal-body - theme('color', '$textPrimaryColor') - padding: 16px 22px 25px - position: relative - - .modal-header - border-bottom-width: 3px - border-bottom-style: solid - border-bottom-color: #000000 - padding: 19px 22px 17px - position: relative - - h4 - theme('color', '$textSecondaryColor') - font-size: 20px - font-weight: 500 - line-height: 24px - padding-right: 24px - - .modal-footer - border-top: 0 - - .card-round - theme('background-color', '$uiGrayDark') - border-radius(5px) - padding: 10px - - .modal-header - position: relative - - button.close - position: absolute - right: 21px - top: 50% - transform(translateY(-50%)) - transition(color 0.3s ease) - -.button-close, .modal-dialog button.close - theme('color', '$textSecondaryColor') - height: 20px - opacity: 1 - overflow: hidden - padding: 2px - text-align: center - text-shadow: none - width: 20px - - &:hover span - &:before, &:after - theme('background-color', '$textPrimaryColor') - - &:active span - &:before, &:after - theme('background-color', '$activeColor') - - span - color: transparent - display: block - font-size: 0 - height: 100% - line-height: 0 - overflow: hidden - position: relative - width: 100% - - &:before, &:after - theme('background-color', '$textSecondaryColor') - content: ' ' - display: block - height: 2px - transition(background-color 0.3s ease) - width: 19px - - &:before - left: 1px - position: absolute - top: 1px - transform(rotate(45deg)) - transform-origin(1px 50%) - - &:after - right: 1px - position: absolute - top: 1px - transform(rotate(-45deg)) - transform-origin(calc(100% - 1px) 50%) - -.full-width - width: 100% - -.full-height - height: 100% - -.flex-h - display: flex - flex-direction: row - -.flex-v - display: flex - flex-direction: column - -.flex-grow - flex-grow: 1 - -.nowrap - white-space: nowrap - -.themed - table - theme('color', '$textPrimaryColor') - - th, td - font-size: 15px - font-weight: normal - - th - line-height: 60px - - td - line-height: 18px - - .btn - border: 0 - border-radius(4px) - font-size: 15px - font-weight: normal - height: 37px - line-height: 37px - padding: 0 12px - - &.btn-primary, &.btn-secondary - color: #000000 - - &:hover, &:active, &:focus, &:focus:active - color: #000000 - - &.btn-primary, &.btn-secondary, &.btn-danger - transition(background-color 0.3s ease) - - &.btn-primary - theme('background-color', '$activeColor') - - &:hover, &:active, &:focus, &:focus:active - theme('background-color', '$activeColor', 0.8) - - &.btn-secondary - theme('background-color', '$textSecondaryColor') - - &:hover, &:active, &:focus, &:focus:active - theme('background-color', '$textSecondaryColor', 0.8) - - &.btn-danger - theme('background-color', '$destructiveColor') - theme('color', '$textPrimaryColor') - - &:hover, &:active, &:focus, &:focus:active - theme('color', '$textPrimaryColor') - theme('background-color', '$destructiveColor', 0.8) - - &.active - box-shadow(inset 1px 1px 2px rgba(0, 0, 0, 0.5)) - - .wrapperLabel .wrapperText - theme('color', '$textPrimaryColor') - font-size: 14px - font-weight: bold - line-height: 16px - - &:not(:empty) - margin-bottom: 13px - - .nav-tabs - border-bottom: 0 - margin-bottom: 3px - position: relative - z-index: 1 - - &>li - font-size: 14px - font-weight: normal - height: 40px - line-height: 40px - margin-bottom: 0 - - &>a - display: block - width: 100% - line-height: inherit - margin: 0 - height: inherit - padding: 0 10px 0 10px - - &:after - background-color: transparent - bottom: -3px - content: ' ' - display: block - height: 3px - transition(background-color 0.3s ease) - width: 100% - - &>a, &.active>a - &, &:hover, &:active, &:focus - theme('color', '$activeColor') - background-color: transparent - border: 0 - - &.active>a - font-weight: bold - - &:after - theme('background-color', '$activeColor') diff --git a/Packages/ohif-viewerbase/styles/common/keyframes.styl b/Packages/ohif-viewerbase/styles/common/keyframes.styl deleted file mode 100644 index 61ab6e3fa..000000000 --- a/Packages/ohif-viewerbase/styles/common/keyframes.styl +++ /dev/null @@ -1,45 +0,0 @@ -@import "{ohif:viewerbase}/app" - -@keyframes zoomIn - 0% - transform(scale(0)) - 100% - transform(scale(1)) - -@keyframes zoomOut - 0% - transform(scale(1)) - 100% - transform(scale(0)) - -@keyframes slideInDown - 0% - opacity: 0 - transform(translateY(-100%) scale(0)) - 100% - opacity: 1 - transform(translateY(0) scale(1)) - -@keyframes slideOutUp - 0% - opacity: 1 - transform(translateY(0) scale(1)) - 100% - opacity: 0 - transform(translateY(-100%) scale(0)) - -@keyframes fadeIn - from - opacity: 0 - visibility: hidden - to - opacity: 1 - visibility: visible - -@keyframes fadeOut - from - opacity: 1 - visibility: visible - to - opacity: 0 - visibility: hidden diff --git a/Packages/ohif-viewerbase/styles/common/spacings.styl b/Packages/ohif-viewerbase/styles/common/spacings.styl deleted file mode 100644 index 5130acf10..000000000 --- a/Packages/ohif-viewerbase/styles/common/spacings.styl +++ /dev/null @@ -1,31 +0,0 @@ -@import "{ohif:viewerbase}/app" - -generateSpacings('', $spacer-x, $spacer-y) - -.m-x-auto - margin-left: auto !important - margin-right: auto !important - -// MIN WIDTH 1920 -generateSpacings('r', $spacer-x, $spacer-y) - -@media screen and (min-width: 1600px) and (max-width: 1919px) - generateSpacings('r', ($spacer-x * 0.9), ($spacer-y * 0.9)) - -@media screen and (min-width: 1440px) and (max-width: 1599px) - generateSpacings('r', ($spacer-x * 0.8), ($spacer-y * 0.8)) - -@media screen and (min-width: 1360px) and (max-width: 1439px) - generateSpacings('r', ($spacer-x * 0.7), ($spacer-y * 0.7)) - -@media screen and (min-width: 1280px) and (max-width: 1359px) - generateSpacings('r', ($spacer-x * 0.6), ($spacer-y * 0.6)) - -@media screen and (min-width: 1152px) and (max-width: 1279px) - generateSpacings('r', ($spacer-x * 0.5), ($spacer-y * 0.5)) - -@media screen and (min-width: 1024px) and (max-width: 1151px) - generateSpacings('r', ($spacer-x * 0.4), ($spacer-y * 0.4)) - -@media screen and (max-width: 1023px) - generateSpacings('r', ($spacer-x * 0.3), ($spacer-y * 0.3)) diff --git a/Packages/ohif-viewerbase/styles/common/webfonts.styl b/Packages/ohif-viewerbase/styles/common/webfonts.styl deleted file mode 100644 index 9a9753741..000000000 --- a/Packages/ohif-viewerbase/styles/common/webfonts.styl +++ /dev/null @@ -1,4 +0,0 @@ -// TODO: Find out why Meteor is complaining about these? -// Replaced them with 's in the HEAD.html of each application, for now. -//@import url(http://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900,900italic&subset=latin,latin-ext) -//@import url(http://fonts.googleapis.com/css?family=Sanchez:400,700&subset=latin,latin-ext) diff --git a/Packages/ohif-viewerbase/styles/components/dialog.styl b/Packages/ohif-viewerbase/styles/components/dialog.styl deleted file mode 100644 index 9df9efa08..000000000 --- a/Packages/ohif-viewerbase/styles/components/dialog.styl +++ /dev/null @@ -1,11 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.viewerDialogs>.dialog-animated - &:not(.dialog-closed):not(.dialog-open) - display: none - - &.dialog-closed - animateFadeOut() - - &.dialog-open - animateFadeIn() diff --git a/Packages/ohif-viewerbase/styles/components/popover.styl b/Packages/ohif-viewerbase/styles/components/popover.styl deleted file mode 100644 index b92b62a5a..000000000 --- a/Packages/ohif-viewerbase/styles/components/popover.styl +++ /dev/null @@ -1,21 +0,0 @@ -@require '{ohif:viewerbase}/app' - -div.popover - theme('background-color', '$uiGray') - theme('color', '$textPrimaryColor') - - .popover-title - theme('background-color', '$uiGrayDark') - theme('border-bottom-color', '$uiGrayDarkest') - - &.top .arrow:after - theme('border-top-color', '$uiGray') - - &.right .arrow:after - theme('border-right-color', '$uiGray') - - &.bottom .arrow:after - theme('border-bottom-color', '$uiGray') - - &.left .arrow:after - theme('border-left-color', '$uiGray') diff --git a/Packages/ohif-viewerbase/styles/components/radio.styl b/Packages/ohif-viewerbase/styles/components/radio.styl deleted file mode 100644 index a57f9a2c9..000000000 --- a/Packages/ohif-viewerbase/styles/components/radio.styl +++ /dev/null @@ -1,39 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.group-radio - label - cursor: pointer - - input - display: none - - span - padding-left: 23px - position: relative - &:before - background: white - border-radius: 8px - content: '' - display: block - height: 16px - left: 0 - position: absolute - top: 50% - transform(translateY(-50%)) - width: 16px - - input:focus + span:before - // TODO: [design] define a outline for the design - theme('box-shadow', '0 0 2px 2px $textSecondaryColor') - outline: none - - input:checked + span:after - theme('background', '$uiBorderColorDark') - border-radius: 5px - content: '' - height: 10px - left: 3px - position: absolute - top: 50% - transform(translateY(-50%)) - width: 10px diff --git a/Packages/ohif-viewerbase/styles/components/select2.styl b/Packages/ohif-viewerbase/styles/components/select2.styl deleted file mode 100644 index ec0ba5ccd..000000000 --- a/Packages/ohif-viewerbase/styles/components/select2.styl +++ /dev/null @@ -1,70 +0,0 @@ -@import "{ohif:viewerbase}/app" - -// TODO: [design] can't we use colors that are already in common pallete? -$gray1 = #C3C3C3 -$gray2 = #B6B6B6 -$gray3 = #A6A6A6 -$gray4 = #676767 -$gray5 = #3E3E3E -$borderRadius = 2px - -span.select2.select2-container - font-weight: normal - - span.select2-selection - &:hover, &:focus - span.select2-selection__arrow - background-color: $gray3 - - span.select2-selection - border: 0 - border-radius: $borderRadius - - &, span.select2-selection__rendered, span.select2-selection__arrow - height: 30px - - span.select2-selection__rendered - line-height: 34px - padding-left: 11px - - span.select2-selection__arrow - theme('border-left', '1px solid $primaryBackgroundColor') - background-color: $gray1 - border-top-right-radius: $borderRadius - border-bottom-right-radius: $borderRadius - right: 0 - top: 0 - transition(background-color 0.3s ease) - width: 20px - - b - display: none - - span.select2-selection--multiple - background-color: $gray2 - min-height: 30px - - input.select2-search__field - color: $gray5 - placeholder-color($gray5) - - li.select2-selection__choice - theme('border-color', '$uiGray') - background-color: #FFF - border-radius: $borderRadius - color: $gray5 - font-size: 12px - line-height: 22px - margin-top: 3px - - span.select2-selection__choice__remove - color: $gray4 - float: right - font-size: 20px - font-weight: 300 - line-height: 20px - margin-left: 6px - margin-right: 0 - - span.select2-selection__clear - display: none diff --git a/Packages/ohif-viewerbase/styles/components/states.styl b/Packages/ohif-viewerbase/styles/components/states.styl deleted file mode 100644 index a3d62dd48..000000000 --- a/Packages/ohif-viewerbase/styles/components/states.styl +++ /dev/null @@ -1,31 +0,0 @@ -@import "{ohif:viewerbase}/app" - -.form-themed .state-error, .state-error - - &.wrapperLabel input + .wrapperText - theme('color', '$uiStateErrorText') - - &+.tooltip - - .tooltip-inner - color: white - theme('background-color', '$uiStateErrorBorder') - - &.top .tooltip-arrow - theme('border-top-color', '$uiStateErrorBorder') - &.right .tooltip-arrow - theme('border-right-color', '$uiStateErrorBorder') - &.bottom .tooltip-arrow - theme('border-bottom-color', '$uiStateErrorBorder') - &.left .tooltip-arrow - theme('border-left-color', '$uiStateErrorBorder') - - - &:not(.component-group) - &.form-control, .form-control - theme('background-color', '$uiStateError') - theme('border-color', '$uiStateErrorBorder') - - .select2-selection - theme('background-color', '$uiStateError') - theme('border-color', '$uiStateErrorBorder') diff --git a/Packages/ohif-viewerbase/styles/imports/animations.styl b/Packages/ohif-viewerbase/styles/imports/animations.styl deleted file mode 100644 index d1c195735..000000000 --- a/Packages/ohif-viewerbase/styles/imports/animations.styl +++ /dev/null @@ -1,29 +0,0 @@ -animationDefaults() - animation-duration: 0.3s - animation-direction: alternate - animation-timing-function: ease-out - animation-fill-mode: forwards - -animateZoomIn() - animationDefaults() - animation-name: zoomIn - -animateZoomOut() - animationDefaults() - animation-name: zoomOut - -animateSlideInDown() - animationDefaults() - animation-name: slideInDown - -animateSlideOutUp() - animationDefaults() - animation-name: slideOutUp - -animateFadeIn() - animationDefaults() - animation-name: fadeIn - -animateFadeOut() - animationDefaults() - animation-name: fadeOut diff --git a/Packages/ohif-viewerbase/styles/imports/mixins.styl b/Packages/ohif-viewerbase/styles/imports/mixins.styl deleted file mode 100644 index c85aa29ea..000000000 --- a/Packages/ohif-viewerbase/styles/imports/mixins.styl +++ /dev/null @@ -1,57 +0,0 @@ -/* - Basic mixin which vendorizes a propery. Usage: - - vendorize(box-sizing, border-box) -*/ -vendorize(property, value) - -webkit-{property} value - -moz-{property} value - -ms-{property} value - -o-{property} value - {property} value - -animation(a) - vendorize(animation, a) - -border-radius(r) - vendorize(border-radius, r) - -border-top-left-radius(r) - vendorize(border-top-left-radius, r) - -border-top-right-radius(r) - vendorize(border-top-right-radius, r) - -border-bottom-left-radius(r) - vendorize(border-bottom-left-radius, r) - -border-bottom-right-radius(r) - vendorize(border-bottom-right-radius, r) - -box-shadow(s) - vendorize(box-shadow, s) - -text-shadow(s) - vendorize(text-shadow, s) - -transform(t) - vendorize(transform, t) - -transform-origin(o) - vendorize(transform-origin, o) - -transition(t) - vendorize(transition, t) - -transition-delay(d) - vendorize(transition-delay, d) - -placeholder-color(c) - &::-webkit-input-placeholder - color: c - &:-moz-placeholder - color: c - &::-moz-placeholder - color: c - &:-ms-input-placeholder - color: c diff --git a/Packages/ohif-viewerbase/styles/imports/spacings.styl b/Packages/ohif-viewerbase/styles/imports/spacings.styl deleted file mode 100644 index a0d4e3c83..000000000 --- a/Packages/ohif-viewerbase/styles/imports/spacings.styl +++ /dev/null @@ -1,39 +0,0 @@ -$spacer = 1rem - -$spacer-x = $spacer -$spacer-y = $spacer - -generateSpacings($prefix, $spacerX, $spacerY) - $spacerAxis = $spacerX, - $spacerY - - $spacings = 0 0, - 1 1, - 2 1.5, - 3 3g - - $properties = m margin, - p padding - - $sides = t top 1, - r right 0, - b bottom 1, - l left 0 - - $axes = x left right 0, - y top bottom 1 - - .r-font - font-size: $spacerX - - for $property in $properties - for $spacing in $spacings - .{$prefix}{$property[0]}-a-{$spacing[0]} - {$property[1]} $spacing[1]*$spacer !important - for $side in $sides - .{$prefix}{$property[0]}-{$side[0]}-{$spacing[0]} - {$property[1]}-{$side[1]} $spacing[1]*$spacerAxis[$side[2]] !important - for $axis in $axes - .{$prefix}{$property[0]}-{$axis[0]}-{$spacing[0]} - {$property[1]}-{$axis[1]} $spacing[1]*$spacerAxis[$axis[3]] !important - {$property[1]}-{$axis[2]} $spacing[1]*$spacerAxis[$axis[3]] !important diff --git a/Packages/ohif-viewerbase/styles/imports/theme-icons.styl b/Packages/ohif-viewerbase/styles/imports/theme-icons.styl deleted file mode 100644 index b04418982..000000000 --- a/Packages/ohif-viewerbase/styles/imports/theme-icons.styl +++ /dev/null @@ -1,47 +0,0 @@ -.theme-icon-crickets -.theme-icon-tide -.theme-icon-tigerlily -.theme-icon-quartz -.theme-icon-overcast -.theme-icon-mint -.theme-icon-honeycomb - display: inline-block - background: url('/packages/ohif_design/assets/theme-icons.png') no-repeat - overflow: hidden - text-indent: -9999px - text-align: left - -.theme-icon-crickets - background-position: -0px -0px - width: 64px - height: 56px - -.theme-icon-tide - background-position: -0px -56px - width: 64px - height: 54px - -.theme-icon-tigerlily - background-position: -0px -110px - width: 62px - height: 61px - -.theme-icon-quartz - background-position: -0px -171px - width: 59px - height: 64px - -.theme-icon-overcast - background-position: -0px -235px - width: 58px - height: 37px - -.theme-icon-mint - background-position: -0px -272px - width: 57px - height: 61px - -.theme-icon-honeycomb - background-position: -0px -333px - width: 50px - height: 58px diff --git a/Packages/ohif-viewerbase/styles/imports/theming.styl b/Packages/ohif-viewerbase/styles/imports/theming.styl deleted file mode 100644 index b8f8c5d14..000000000 --- a/Packages/ohif-viewerbase/styles/imports/theming.styl +++ /dev/null @@ -1,64 +0,0 @@ -@require "{ohif:themes}/themes" - -/* - * Process each theme variable in the given value, splitting it by space - */ -parseSpaceVars($theme, $value, $alpha) - // Split values by space - $valueSplit = split(' ', $value) - - // Create an empty list - $list = '' - pop($list) - - // Iterate over split values - for $property in $valueSplit - // Try to get the theme with current property key - $val = $theme[$property] - if ($val) - if($val is a 'color') - // Apply given alpha if it's a color - $val = alpha($val, $alpha) - // Push the processed theme variable to the list - push($list, $val) - else - // Push the property itself if not found in theme variables - push($list, $property) - - // Merge the resulting processed list by joining values back with space - join(' ', $list) - -/* - * Process each theme variable in the given value, splitting it by comma - */ -parseCommaVars($theme, $value, $alpha) - // Split values by comma - $valueSplit = split(',', $value) - - // Create an empty list - $list = '' - pop($list) - - // Iterate over split values - for $sentence in $valueSplit - // Procces the values splitting by space - push($list, parseSpaceVars($theme, $sentence, $alpha)) - - // Merge the resulting processed list by joining values back with comma - unquote(join(',', $list)) - -/* - * Return a processed theme variable or color with alpha - */ -theme($property, $value, $alpha=1) - - // Crete the selector for default theme - / {selector()} - {$property}: parseCommaVars($themes[$defaultTheme], $value, $alpha) - - // Create the selector for each registered theme - for $themeName, $theme in $themes - for $selectorPiece in split(',', selector()) - // prefix the selector with the body.theme-{themeName} selector - / body.theme-{$themeName} {$selectorPiece} - {$property}: parseCommaVars($theme, $value, $alpha) diff --git a/Packages/ohif-viewerbase/styles/imports/variables.styl b/Packages/ohif-viewerbase/styles/imports/variables.styl deleted file mode 100644 index 4e0bace73..000000000 --- a/Packages/ohif-viewerbase/styles/imports/variables.styl +++ /dev/null @@ -1,25 +0,0 @@ -@import "./theming.styl" - -// Sizes -$topBarHeight = 40px -$topBarExpandedHeight = 160px -$toolbarHeight = 78px -$toolbarDrawerHeight = 62px -$studiesSidebarMenuWidth = 307px -$rightSidebarMenuWidth = 323px -$studyListPadding = 8% -$studyListPaddingMediumScreen = 10px - -// Fonts -$logoFontFamily = "Sanchez" -$logoFontWeight = 300 - -// Transitions -$transitionDuration = 0.3s -$transitionEffect = ease -$sidebarTransition = all $transitionDuration $transitionEffect - - -// Thicknesses -$viewportBorderThickness = 1px -$uiBorderThickness = 1px diff --git a/Packages/ohif-viewerbase/tests/client/components/viewer/gridLayout/gridLayout.tests.js b/Packages/ohif-viewerbase/tests/client/components/viewer/gridLayout/gridLayout.tests.js deleted file mode 100644 index 22208722b..000000000 --- a/Packages/ohif-viewerbase/tests/client/components/viewer/gridLayout/gridLayout.tests.js +++ /dev/null @@ -1,73 +0,0 @@ -import { Template } from 'meteor/templating'; -import '../../../../../client/components/viewer/gridLayout/gridLayout.html'; -import '../../../../../client/components/viewer/gridLayout/gridLayout.js'; -chai.should(); - -describe('GridLayout', function() { - describe('Helpers', function() { - before(function() { - Template.instance = function() { - return { - data: { - rows: 2, - columns: 2, - viewportData: [] - } - } - } - }); - - it('should get the height percentage of each viewport', function() { - const percentage = Template.gridLayout.__helpers[' height'](); - - percentage.should.be.eq(50); - }); - - it('should get the width percentage of each viewport', function() { - const percentage = Template.gridLayout.__helpers[' height'](); - - percentage.should.be.eq(50); - }); - }) - - after(function() { - Meteor.sendCoverage(function() { }); - }); - - // describe('Testing getClass() Helper', function () { - // it('should return priorDropdown', function () { - // Template.priorDropdown.__helpers.get('getClass')() - // .should.equal('priorDropdown'); - // }); - - // it('should return empty string', function () { - // Template.priorDropdown.__helpers.get('getClass')() - // .should.equal(''); - // }); - // }); - - // describe('Testing dropdown change event', function () { - - // let openPriorStudyWindowStub; - // let test; - - // before(function () { - - // Template.instance = function () { return { openPriorStudyWindow: sinon.spy() } }; - - // $.fn.select2 = function () { - // return [{ - // selectedIndex: 0, - // options: [{ - // text: 'Attrial Septum' - // }] - // }] - // }; - // }); - - // it('should return priorDropdown', function () { - // Template.priorDropdown.fireEvent('change #studySelect'); - // // TODO: spy is not working - // }); - // }); -}); \ No newline at end of file diff --git a/Packages/ohif-viewerbase/tests/coverage/exportCoverageReport.js b/Packages/ohif-viewerbase/tests/coverage/exportCoverageReport.js deleted file mode 100644 index 1095e7f2c..000000000 --- a/Packages/ohif-viewerbase/tests/coverage/exportCoverageReport.js +++ /dev/null @@ -1,20 +0,0 @@ -import { chai } from 'meteor/practicalmeteor:chai'; -import ReportService from 'meteor/lmieulet:meteor-coverage' - -chai.should(); - -describe('Exporting coverage report', function() { - it('Generating coverage report', function() { }); - - after(function() { - const reportService = new ReportService.ReportService(); - const mockRes = { end: () => { }, writeHead: () => { } }; - - // The possible reports - // Check https://github.com/serut/meteor-coverage - reportService.generateReport(mockRes, 'text-summary', {}); - reportService.generateReport(mockRes, 'html', {}); - reportService.generateReport(mockRes, 'json-summary', {}); - reportService.generateReport(mockRes, 'lcovonly', {}); - }); -}); \ No newline at end of file diff --git a/Packages-react/ohif-viewer/README.md b/README-react.md similarity index 100% rename from Packages-react/ohif-viewer/README.md rename to README-react.md diff --git a/StandaloneViewer/.gitignore b/StandaloneViewer/.gitignore deleted file mode 100644 index 02359136c..000000000 --- a/StandaloneViewer/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -myOutputFolder/ -node_modules -StandaloneViewer/client/sha.js -StandaloneViewer/client/version.js \ No newline at end of file diff --git a/StandaloneViewer/SampleClientOnlyBuild/00a3252f025c3b436cda09bf88f5ead9f975d4be.js b/StandaloneViewer/SampleClientOnlyBuild/00a3252f025c3b436cda09bf88f5ead9f975d4be.js deleted file mode 100644 index befd99ef1..000000000 --- a/StandaloneViewer/SampleClientOnlyBuild/00a3252f025c3b436cda09bf88f5ead9f975d4be.js +++ /dev/null @@ -1,224 +0,0 @@ -!function(){var t,e,n;(function(){t=this}).call(this),function(){e=__meteor_runtime_config__.meteorEnv,n={isProduction:"production"===e.NODE_ENV,isDevelopment:"production"!==e.NODE_ENV,isClient:!0,isServer:!1,isCordova:!1},"object"==typeof __meteor_runtime_config__&&__meteor_runtime_config__.PUBLIC_SETTINGS&&(n.settings={public:__meteor_runtime_config__.PUBLIC_SETTINGS})}.call(this),function(){function t(t){if(t)return n._debug("Exception in callback of async function",t.stack?t.stack:t)}if(n.isServer)var e=Npm.require("fibers/future");"object"==typeof __meteor_runtime_config__&&__meteor_runtime_config__.meteorRelease&&(n.release=__meteor_runtime_config__.meteorRelease),n._get=function(t){for(var e=1;e=0;r--){var o=arguments[r+1];if(n)n=!1;else for(var i in e[r][o])return;delete e[r][o]}},n.wrapAsync=function(r,o){return function(){for(var i=o||this,a=Array.prototype.slice.call(arguments),s,u=a.length-1;u>=0;--u){var c=a[u],l=typeof c;if("undefined"!==l){"function"===l&&(s=c);break}}if(!s){if(n.isClient)s=t;else{var f=new e;s=f.resolver()}++u}a[u]=n.bindEnvironment(s);var p=r.apply(i,a);return f?f.wait():p}};var r=Object.prototype.hasOwnProperty;n._inherits=function(t,e){for(var n in e)r.call(e,n)&&(t[n]=e[n]);var o=function(){this.constructor=t};return o.prototype=e.prototype,t.prototype=new o,t.__super__=e.prototype,t};var o=!1;n._wrapAsync=function(t,e){return o||(n._debug("Meteor._wrapAsync has been renamed to Meteor.wrapAsync"),o=!0),n.wrapAsync.apply(n,arguments)}}.call(this),function(){"use strict";function t(){if(o.setImmediate){var t=function(t){o.setImmediate(t)};return t.implementation="setImmediate",t}return null}function e(){function t(t,e){return"string"==typeof t&&t.substring(0,e.length)===e}function e(e){if(e.source===o&&t(e.data,s)){var n=e.data.substring(s.length);try{a[n]&&a[n]()}finally{delete a[n]}}}if(!o.postMessage||o.importScripts)return null;var n=!0,r=o.onmessage;if(o.onmessage=function(){n=!1},o.postMessage("","*"),o.onmessage=r,!n)return null;var i=0,a={},s="Meteor._setImmediate."+Math.random()+".";o.addEventListener?o.addEventListener("message",e,!1):o.attachEvent("onmessage",e);var u=function(t){a[++i]=t,o.postMessage(s+i,"*")};return u.implementation="postMessage",u}function r(){var t=function(t){o.setTimeout(t,0)};return t.implementation="setTimeout",t}var o=this;n._setImmediate=t()||e()||r()}.call(this),function(){function t(t){if(Package.ddp){var e=Package.ddp.DDP,n=e._CurrentMethodInvocation||e._CurrentInvocation,r=n.get();if(r&&r.isSimulation)throw new Error("Can't set timers inside simulations");return function(){n.withValue(null,t)}}return t}function e(e,r){return n.bindEnvironment(t(r),e)}n.setTimeout=function(t,n){return setTimeout(e("setTimeout callback",t),n)},n.setInterval=function(t,n){return setInterval(e("setInterval callback",t),n)},n.clearInterval=function(t){return clearInterval(t)},n.clearTimeout=function(t){return clearTimeout(t)},n.defer=function(t){n._setImmediate(e("defer callback",t))}}.call(this),function(){n.makeErrorType=function(t,e){var r=function(){Error.captureStackTrace?Error.captureStackTrace(this,r):this.stack=(new Error).stack,e.apply(this,arguments),this.errorType=t};return n._inherits(r,Error),r},n.Error=n.makeErrorType("Meteor.Error",function(t,e,n){var r=this;r.isClientSafe=!0,r.error=t,r.reason=e,r.details=n,r.reason?r.message=r.reason+" ["+r.error+"]":r.message="["+r.error+"]"}),n.Error.prototype.clone=function(){var t=this;return new n.Error(t.error,t.reason,t.details)}}.call(this),function(){n._noYieldsAllowed=function(t){return t()},n._SynchronousQueue=function(){var t=this;t._tasks=[],t._running=!1,t._runTimeout=null};var t=n._SynchronousQueue.prototype;t.runTask=function(t){var e=this;if(!e.safeToRunTask())throw new Error("Could not synchronously run a task from a running task");e._tasks.push(t);var r=e._tasks;e._tasks=[],e._running=!0,e._runTimeout&&(clearTimeout(e._runTimeout),e._runTimeout=null);try{for(;r.length>0;){var o=r.shift();try{o()}catch(t){if(0===r.length)throw t;n._debug("Exception in queued task: "+(t.stack||t))}}}finally{e._running=!1}},t.queueTask=function(t){var e=this;e._tasks.push(t),e._runTimeout||(e._runTimeout=setTimeout(function(){return e.flush.apply(e,arguments)},0))},t.flush=function(){this.runTask(function(){})},t.drain=function(){var t=this;if(t.safeToRunTask())for(;t._tasks.length>0;)t.flush()},t.safeToRunTask=function(){return!this._running}}.call(this),function(){var t=[],e=!1,r=!1,o=0,i=function(){o++},a=function(){o--,s()},s=function(){if(!(r||!e||o>0)){for(r=!0;t.length;)t.shift()();n.isCordova&&WebAppLocalServer.startupDidComplete()}},u=function(){e||(e=!0,s())};n.isCordova&&(i(),document.addEventListener("deviceready",a,!1)),"complete"===document.readyState||"loaded"===document.readyState?window.setTimeout(u):document.addEventListener?(document.addEventListener("DOMContentLoaded",u,!1),window.addEventListener("load",u,!1)):(document.attachEvent("onreadystatechange",function(){"complete"===document.readyState&&u()}),window.attachEvent("load",u)),n.startup=function(e){var o=!document.addEventListener&&document.documentElement.doScroll;if(o&&window===top){try{o("left")}catch(t){return void setTimeout(function(){n.startup(e)},50)}e()}else r?e():t.push(e)}}.call(this),function(){var t=0;n._debug=function(){if(t)t--;else if("undefined"!=typeof console&&void 0!==console.log)if(0==arguments.length)console.log("");else if("function"==typeof console.log.apply){for(var e=!0,n=0;n2;if(null==n&&(n=[]),v&&n.reduce===v)return e&&(t=A.bind(t,e)),i?n.reduce(t,r):n.reduce(t);if(E(n,function(n,u,a){i?r=t.call(e,r,n,u,a):(r=n,i=!0)}),!i)throw new TypeError(F);return r},A.reduceRight=A.foldr=function(n,t,r,e){var i=arguments.length>2;if(null==n&&(n=[]),y&&n.reduceRight===y)return e&&(t=A.bind(t,e)),i?n.reduceRight(t,r):n.reduceRight(t);var u=n.length;if(!O(n)){var a=A.keys(n);u=a.length}if(E(n,function(c,o,l){o=a?a[--u]:--u,i?r=t.call(e,r,n[o],o,l):(r=n[o],i=!0)}),!i)throw new TypeError(F);return r},A.find=A.detect=function(n,t,r){var e;return M(n,function(n,i,u){if(t.call(r,n,i,u))return e=n,!0}),e},A.filter=A.select=function(n,t,r){var e=[];return null==n?e:d&&n.filter===d?n.filter(t,r):(E(n,function(n,i,u){t.call(r,n,i,u)&&e.push(n)}),e)},A.reject=function(n,t,r){return A.filter(n,function(n,e,i){return!t.call(r,n,e,i)},r)},A.every=A.all=function(n,t,r){t||(t=A.identity);var i=!0;return null==n?i:g&&n.every===g?n.every(t,r):(E(n,function(n,u,a){if(!(i=i&&t.call(r,n,u,a)))return e}),!!i)};var M=A.some=A.any=function(n,t,r){t||(t=A.identity);var i=!1;return null==n?i:m&&n.some===m?n.some(t,r):(E(n,function(n,u,a){if(i||(i=t.call(r,n,u,a)))return e}),!!i)};A.contains=A.include=function(n,t){return null!=n&&(b&&n.indexOf===b?-1!=n.indexOf(t):M(n,function(n){return n===t}))},A.invoke=function(n,t){var r=o.call(arguments,2),e=A.isFunction(t);return A.map(n,function(n){return(e?t:n[t]).apply(n,r)})},A.pluck=function(n,t){return A.map(n,function(n){return n[t]})},A.where=function(n,t,r){return A.isEmpty(t)?r?void 0:[]:A[r?"find":"filter"](n,function(n){for(var r in t)if(t[r]!==n[r])return!1;return!0})},A.findWhere=function(n,t){return A.where(n,t,!0)},A.max=function(n,t,r){if(!t&&A.isArray(n)&&n[0]===+n[0]&&n.length<65535)return Math.max.apply(Math,n);if(!t&&A.isEmpty(n))return-1/0;var e={computed:-1/0,value:-1/0};return E(n,function(n,i,u){var a=t?t.call(r,n,i,u):n;a>e.computed&&(e={value:n,computed:a})}),e.value},A.min=function(n,t,r){if(!t&&A.isArray(n)&&n[0]===+n[0]&&n.length<65535)return Math.min.apply(Math,n);if(!t&&A.isEmpty(n))return 1/0;var e={computed:1/0,value:1/0};return E(n,function(n,i,u){var a=t?t.call(r,n,i,u):n;ae||void 0===r)return 1;if(r>>1;r.call(e,n[c])=0})})},A.difference=function(n){var t=l.apply(i,o.call(arguments,1));return A.filter(n,function(n){return!A.contains(t,n)})},A.zip=function(){for(var n=A.max(A.pluck(arguments,"length").concat(0)),t=new Array(n),r=0;r=0;r--)t=[n[r].apply(this,t)];return t[0]}},A.after=function(n,t){return function(){if(--n<1)return t.apply(this,arguments)}},A.keys=x||function(n){if(n!==Object(n))throw new TypeError("Invalid object");var t=[];for(var r in n)A.has(n,r)&&t.push(r);return t},A.values=function(n){for(var t=A.keys(n),r=t.length,e=new Array(r),i=0;i":">",'"':""","'":"'"}};q.unescape=A.invert(q.escape);var B={escape:new RegExp("["+A.keys(q.escape).join("")+"]","g"),unescape:new RegExp("("+A.keys(q.unescape).join("|")+")","g")};A.each(["escape","unescape"],function(n){A[n]=function(t){return null==t?"":(""+t).replace(B[n],function(t){return q[n][t]})}}),A.result=function(n,t){if(null!=n){var r=n[t];return A.isFunction(r)?r.call(n):r}},A.mixin=function(n){E(A.functions(n),function(t){var r=A[t]=n[t];A.prototype[t]=function(){var n=[this._wrapped];return c.apply(n,arguments),U.call(this,r.apply(A,n))}})};var D=0;A.uniqueId=function(n){var t=++D+"";return n?n+t:t},A.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var P=/(.)^/,z={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},C=/\\|'|\r|\n|\t|\u2028|\u2029/g;A.template=function(n,t,r){var e;r=A.defaults({},r,A.templateSettings);var i=new RegExp([(r.escape||P).source,(r.interpolate||P).source,(r.evaluate||P).source].join("|")+"|$","g"),u=0,a="__p+='";n.replace(i,function(t,r,e,i,c){return a+=n.slice(u,c).replace(C,function(n){return"\\"+z[n]}),r&&(a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'"),e&&(a+="'+\n((__t=("+e+"))==null?'':__t)+\n'"),i&&(a+="';\n"+i+"\n__p+='"),u=c+t.length,t}),a+="';\n",r.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{e=new Function(r.variable||"obj","_",a)}catch(n){throw n.source=a,n}if(t)return e(t,A);var c=function(n){return e.call(this,n,A)};return c.source="function("+(r.variable||"obj")+"){\n"+a+"}",c},A.chain=function(n){return A(n).chain()};var U=function(n){return this._chain?A(n).chain():n};A.mixin(A),E(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=i[n];A.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!=n&&"splice"!=n||0!==r.length||delete r[0],U.call(this,r)}}),E(["concat","join","slice"],function(n){var t=i[n];A.prototype[n]=function(){return U.call(this,t.apply(this._wrapped,arguments))}}),A.extend(A.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this)}.call(this),function(){t=n._}.call(this),"undefined"==typeof Package&&(Package={}),function(n,t){for(var r in t)r in n||(n[r]=t[r])}(Package.underscore={},{_:t})}(); - -!function(){var r=Package.meteor.Meteor,n=Package.meteor.global,e=Package.meteor.meteorEnv,a;(function(){for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n={},e=0;e255)throw new Error("Not ascii. Base64.encode can only take ascii strings.");r[e]=l}}for(var u=[],i=null,o=null,c=null,f=null,e=0;e>2&63,o=(3&r[e])<<4;break;case 1:o|=r[e]>>4&15,c=(15&r[e])<<2;break;case 2:c|=r[e]>>6&3,f=63&r[e],u.push(t(i)),u.push(t(o)),u.push(t(c)),u.push(t(f)),i=null,o=null,c=null,f=null;break}return null!=i&&(u.push(t(i)),u.push(t(o)),null==c?u.push("="):u.push(t(c)),null==f&&u.push("=")),u.join("")};var t=function(n){return r.charAt(n)},l=function(r){return"="===r?-1:n[r]};a.newBinary=function(r){if("undefined"==typeof Uint8Array||"undefined"==typeof ArrayBuffer){for(var n=[],e=0;e>4,e[o++]=t,u=(15&s)<<4;break;case 2:s>=0&&(u|=s>>2,e[o++]=u,i=(3&s)<<6);break;case 3:s>=0&&(e[o++]=i|s);break}}return e}}).call(this),"undefined"==typeof Package&&(Package={}),function(r,n){for(var e in n)e in r||(r[e]=n[e])}(Package.base64={},{Base64:a})}(); - -!function(){var n=Package.meteor.Meteor,e=Package.meteor.global,r=Package.meteor.meteorEnv,t,o,i;t=function(n){"use strict";function e(n,e){return o(n)&&(p(A,n,e),i(k)&&k(B)),B}function r(n){this.id=n,this.children=[],this.childrenById={}}function t(n,e){return O.call(n,e)&&n[e]}function o(n){return"object"==typeof n&&null!==n}function i(n){return"function"==typeof n}function u(n){return"string"==typeof n}function c(n){return new Error("Cannot find module '"+n+"'")}function s(n){function e(e){var r=w(n,e);if(r)return l(r,n.module);var t=c(e);if(i(E))return E(e,n.module.id,t);throw t}return i(x)&&(e=x(e,n.module)),e.extensions=h(n).slice(0),e.resolve=function(e){var r=w(n,e);if(r)return r.module.id;var t=c(e);if(E&&i(E.resolve))return E.resolve(e,n.module.id,t);throw t},e}function f(n,e){var t=this;t.parent=e=e||null,t.module=new r(n),q[n]=t,t.contents=null,t.deps={}}function l(n,e){var r=n.module;if(!O.call(r,"exports")){var t=n.contents;if(!t){if(n.stub)return n.stub;throw c(r.id)}if(e){r.parent=e;var o=e.children;Array.isArray(o)&&o.push(r)}i(r.useNode)&&r.useNode()||t(r.require=r.require||s(n),r.exports=n.stub||{},r,n.module.id,n.parent.module.id),r.loaded=!0}var u=r.runSetters||r.runModuleSetters;return i(u)&&u.call(r),r.exports}function a(n){return n&&o(n.contents)}function d(n){return n&&null===n.contents}function p(n,e,r){Array.isArray(e)?(e.forEach(function(r){u(r)?n.deps[r]=n.module.id:i(r)?e=r:o(r)&&(n.stub=n.stub||{},v(r,function(e,r){n.stub[r]=e}))}),i(e)||(e=null)):i(e)||u(e)||o(e)||(e=null),e&&(n.contents=n.contents||(o(e)?{}:e),o(e)&&a(n)&&v(e,function(e,o){if(".."===o)i=n.parent;else{var i=t(n.contents,o);i||((i=n.contents[o]=new f(n.module.id.replace(/\/*$/,"/")+o,n)).options=r)}p(i,e,r)}))}function v(n,e,r){Object.keys(n).forEach(function(r){e.call(this,n[r],r)},r)}function h(n){return n.options&&n.options.extensions||P}function m(n,e,r){for(;n&&!a(n);)n=n.parent;if(!n||!e||"."===e)return n;if(".."===e)return n.parent;var o=t(n.contents,e);if(r&&(!o||a(o)))for(var i=0;i=0&&t.splice(n,1),t}function a(e,t){var n=!1;d.getESModule(e.exports)||(e.namespace.default=e.exports,n=!0),d.isObjectLike(e.exports)&&((void 0===t||t.indexOf("*")>=0)&&(t=Object.keys(e.exports)),t.forEach(function(t){g.call(e.getters,t)||n&&"default"===t||!g.call(e.exports,t)||d.copyKey(t,e.namespace,e.exports)}))}function s(e,t,n,r){function o(t,n){var r=n;return r!==r?r=h:void 0===r&&(r=m),e.last[t]!==r&&(e.last[t]=r,!0)}if("__esModule"!==t){var a=!1;if(void 0===e.last&&(e.last=Object.create(null),a=!0),"*"===t)for(var s=i(n),u=s.length,c=0;c0&&m.constant&&delete u[p]}}}function c(e,t){if("*"===t)return e.namespace;if(g.call(e.namespace,t))return e.namespace[t];var n=e.exports;if("default"===t&&!(d.getESModule(n)&&"default"in n))return n;if(null!=n)return n[t]}function l(){return Math.random().toString(36).replace("0.",++v+"$")}function f(e,t){var n=e.getters[t];try{var r=n();return++n.runCount,r}catch(e){}return p}var d=e("./utils.js"),p={},h={},m={},g=Object.prototype.hasOwnProperty,v=0,y=d.setPrototypeOf(r.prototype,null),b="function"==typeof WeakMap?new WeakMap:new function e(){var t=[],n=[];this.get=function(e){var r=t.indexOf(e);if(r>=0)return n[r]},this.set=function(e,r){var o=t.indexOf(e);o>=0?n[o]=r:(t.push(e),n.push(r))}};r.get=function(e){if(d.isObjectLike(e)){var t=b.get(e);if(void 0!==t)return t}return null},r.getOrCreate=function(e,t){var n=o(e);return d.isObject(t)&&(n.ownerModules[t.id]=t),n},y.addGetters=function(e,t){var n=i(e),r=n.length;t=!!t;for(var o=0;o=0)&&(e=Object.keys(this.getters));for(var t=e.length,n=0;n1&&void 0!==arguments[1]&&arguments[1],n=(0,r.getEnabledElement)(e);if(void 0===n.image)throw new Error("updateImage: image has not been loaded yet");(0,o.default)(n,t)};var r=n(0),o=function(e){return e&&e.__esModule?e:{default:e}}(n(2))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){e.needsRedraw=!0,t&&(e.invalid=!0)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(void 0===e)throw new Error("getDefaultViewport: parameter canvas must not be undefined");if(void 0===t)throw new Error("getDefaultViewport: parameter image must not be undefined");var n={scale:1,translation:{x:0,y:0},voi:{windowWidth:t.windowWidth,windowCenter:t.windowCenter},invert:t.invert,pixelReplication:!1,rotation:0,hflip:!1,vflip:!1,modalityLUT:t.modalityLUT,voiLUT:t.voiLUT},r=e.height/t.rows,o=e.width/t.columns;return n.scale=Math.min(o,r),n}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,o,i,a){if(i||a)return(0,r.default)(e,t,n,o,i,a);if(void 0===e.cachedLut){var s=e.maxPixelValue-Math.min(e.minPixelValue,0)+1;e.cachedLut={},e.cachedLut.lutArray=new Uint8ClampedArray(s)}var u=e.cachedLut.lutArray,c=e.maxPixelValue,l=e.minPixelValue,f=e.slope,d=e.intercept,p=void 0,h=void 0,m=0;if(l<0&&(m=l),!0===o)for(var g=e.minPixelValue;g<=c;g++)p=g*f+d,h=255*((p-n)/t+.5),u[g+-m]=255-h;else for(var v=e.minPixelValue;v<=c;v++)p=v*f+d,h=255*((p-n)/t+.5),u[v+-m]=h;return u};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(11))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=e.renderingTools.colorRenderCanvas;n.width=t.width,n.height=t.height;var r=n.getContext("2d");r.fillStyle="white",r.fillRect(0,0,n.width,n.height);var o=r.getImageData(0,0,t.width,t.height);e.renderingTools.colorRenderCanvasContext=r,e.renderingTools.colorRenderCanvasData=o}function i(e,t){return void 0!==e.cachedLut&&e.cachedLut.windowCenter===t.voi.windowCenter&&e.cachedLut.windowWidth===t.voi.windowWidth&&e.cachedLut.invert===t.invert?e.cachedLut.lutArray:((0,c.default)(e,t.voi.windowWidth,t.voi.windowCenter,t.invert),e.cachedLut.windowWidth=t.voi.windowWidth,e.cachedLut.windowCenter=t.voi.windowCenter,e.cachedLut.invert=t.invert,e.cachedLut.lutArray)}function a(e,t){var n=e.renderingTools.lastRenderedImageId,r=e.renderingTools.lastRenderedViewport;return t.imageId!==n||r.windowCenter!==e.viewport.voi.windowCenter||r.windowWidth!==e.viewport.voi.windowWidth||r.invert!==e.viewport.invert||r.rotation!==e.viewport.rotation||r.hflip!==e.viewport.hflip||r.vflip!==e.viewport.vflip}function s(e,t,n){e.renderingTools.colorRenderCanvas||(e.renderingTools.colorRenderCanvas=document.createElement("canvas"));var r=e.renderingTools.colorRenderCanvas;if(255===e.viewport.voi.windowWidth&&128===e.viewport.voi.windowCenter&&!1===e.viewport.invert&&t.getCanvas&&t.getCanvas())return t.getCanvas();if(!1===a(e,t)&&!0!==n)return r;r.width===t.width&&r.height===t.height||o(e,t);var s=window.performance?performance.now():Date.now(),u=i(t,e.viewport);t.stats.lastLutGenerateTime=(window.performance?performance.now():Date.now())-s;var c=e.renderingTools.colorRenderCanvasData,f=e.renderingTools.colorRenderCanvasContext;return(0,l.default)(t,u,c.data),s=window.performance?performance.now():Date.now(),f.putImageData(c,0,0),t.stats.lastPutImageDataTime=(window.performance?performance.now():Date.now())-s,r}function u(e,t){if(void 0===e)throw new Error("drawImage: enabledElement parameter must not be undefined");var n=e.image;if(void 0===n)throw new Error("drawImage: image must be loaded before it can be drawn");var r=e.canvas.getContext("2d");r.setTransform(1,0,0,1,0,0),r.fillStyle="black",r.fillRect(0,0,e.canvas.width,e.canvas.height),!0===e.viewport.pixelReplication?(r.imageSmoothingEnabled=!1,r.mozImageSmoothingEnabled=!1):(r.imageSmoothingEnabled=!0,r.mozImageSmoothingEnabled=!0),r.save(),(0,f.default)(e,r),e.renderingTools||(e.renderingTools={});var o=void 0;o=e.options&&e.options.renderer&&"webgl"===e.options.renderer.toLowerCase()?d.default.renderer.render(e):s(e,n,t),r.drawImage(o,0,0,n.width,n.height,0,0,n.width,n.height),r.restore(),e.renderingTools.lastRenderedImageId=n.imageId;var i={};i.windowCenter=e.viewport.voi.windowCenter,i.windowWidth=e.viewport.voi.windowWidth,i.invert=e.viewport.invert,i.rotation=e.viewport.rotation,i.hflip=e.viewport.hflip,i.vflip=e.viewport.vflip,e.renderingTools.lastRenderedViewport=i}Object.defineProperty(t,"__esModule",{value:!0}),t.renderColorImage=u;var c=r(n(4)),l=r(n(13)),f=r(n(6)),d=r(n(7))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){if(void 0===e)throw new Error("setToPixelCoordinateSystem: parameter enabledElement must not be undefined");if(void 0===t)throw new Error("setToPixelCoordinateSystem: parameter context must not be undefined");var o=(0,r.default)(e,n);t.setTransform(o.m[0],o.m[1],o.m[2],o.m[3],o.m[4],o.m[5])};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(16))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(54),i=r(n(28)),a=r(n(29));t.default={createProgramFromString:i.default,renderer:{render:o.render,initRenderer:o.initRenderer,getRenderCanvas:o.getRenderCanvas,isWebGLAvailable:o.isWebGLAvailable},textureCache:a.default,isWebGLInitialized:o.isWebGLInitialized}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.default)(e)};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(16))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return window.performance?performance.now():Date.now()}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={name:"cornerstone-core"};t.default=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,r,a,s){if(void 0===e.cachedLut){var u=e.maxPixelValue-Math.min(e.minPixelValue,0)+1;e.cachedLut={},e.cachedLut.lutArray=new Uint8ClampedArray(u)}var c=e.cachedLut.lutArray,l=e.maxPixelValue,f=e.minPixelValue,d=(0,o.default)(e.slope,e.intercept,a),p=(0,i.default)(t,n,s),h=0;if(f<0&&(h=f),!0===r)for(var m=e.minPixelValue;m<=l;m++)c[m+-h]=255-p(d(m));else for(var g=e.minPixelValue;g<=l;g++)c[g+-h]=p(d(g));return c};var o=r(n(26)),i=r(n(53))},function(e,t,n){"use strict";function r(e){window.setTimeout(e,1e3/60)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return window.requestAnimationFrame(e)||window.webkitRequestAnimationFrame(e)||window.mozRequestAnimationFrame(e)||window.oRequestAnimationFrame(e)||window.msRequestAnimationFrame(e)||r(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){var o=(0,r.default)(),i=e.getPixelData();e.stats.lastGetPixelDataTime=(0,r.default)()-o;var a=e.minPixelValue,s=0,u=0,c=i.length;if(o=(0,r.default)(),a<0)for(;ut.timeStamp?-1:e.timeStampp;){var t=g[g.length-1].imageId;s(t),$(d.default).trigger("CornerstoneImageCachePromiseRemoved",{imageId:t})}var n=u();$(d.default).trigger("CornerstoneImageCacheFull",n)}}function i(e,t){if(void 0===e)throw new Error("getImagePromise: imageId must not be undefined");if(void 0===t)throw new Error("getImagePromise: imagePromise must not be undefined");if(!0===m.hasOwnProperty(e))throw new Error("putImagePromise: imageId already in cache");var n={loaded:!1,imageId:e,sharedCacheKey:void 0,imagePromise:t,timeStamp:new Date,sizeInBytes:0};m[e]=n,g.push(n),t.then(function(e){if(n.loaded=!0,n.image=e,void 0===e.sizeInBytes)throw new Error("putImagePromise: sizeInBytes must not be undefined");if(void 0===e.sizeInBytes.toFixed)throw new Error("putImagePromise: image.sizeInBytes is not a number");n.sizeInBytes=e.sizeInBytes,h+=n.sizeInBytes,n.sharedCacheKey=e.sharedCacheKey,o()})}function a(e){if(void 0===e)throw new Error("getImagePromise: imageId must not be undefined");var t=m[e];if(void 0!==t)return t.timeStamp=new Date,t.imagePromise}function s(e){if(void 0===e)throw new Error("removeImagePromise: imageId must not be undefined");var t=m[e];if(void 0===t)throw new Error("removeImagePromise: imageId was not present in imageCache");t.imagePromise.reject(),g.splice(g.indexOf(t),1),h-=t.sizeInBytes,c(t.imagePromise,t.imageId),delete m[e]}function u(){return{maximumSizeInBytes:p,cacheSizeInBytes:h,numberOfImagesCached:g.length}}function c(e,t){e.then(function(e){e.decache&&e.decache()}).always(function(){delete m[t]})}function l(){for(;g.length>0;)s(g[0].imageId)}function f(e,t){var n=m[e];n&&n.imagePromise.then(function(e){var r=t-e.sizeInBytes;e.sizeInBytes=t,n.sizeInBytes=t,h+=r})}Object.defineProperty(t,"__esModule",{value:!0}),t.cachedImages=void 0,t.setMaximumSizeBytes=r,t.putImagePromise=i,t.getImagePromise=a,t.removeImagePromise=s,t.getCacheInfo=u,t.purgeCache=l,t.changeImageIdCacheSize=f;var d=function(e){return e&&e.__esModule?e:{default:e}}(n(10)),p=1073741824,h=0,m={},g=t.cachedImages=[];t.default={imageCache:m,cachedImages:g,setMaximumSizeBytes:r,putImagePromise:i,getImagePromise:a,removeImagePromise:s,getCacheInfo:u,purgeCache:l,changeImageIdCacheSize:f}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(e.color&&!e.falseColor)throw new Error("Color transforms are not implemented yet");var n=e.minPixelValue,o=0,i=0,a=e.width*e.height,s=e.origPixelData||e.getPixelData(),u=new Uint8Array(4*a),c=t,l=void 0,f=void 0;if(e.color=!0,e.falseColor=!0,e.origPixelData=s,t instanceof r.default.LookupTable)for(t.build();i0;)o.push(e),e+=r;return o[o.length-1]=t,o}function o(e,t){for(var n=0,r=e.length-1;n<=r;){var o=n+Math.floor((r-n)/2),i=e[o];if(i===t)return o;t=0&&e1)throw new Error("HSVToRGB expects hue < 1");var r=[];if(0===t)return r[0]=n,r[1]=n,r[2]=n,r;var o=Math.floor(6*e),i=6*e-o,a=n*(1-t),s=n*(1-t*i),u=n*(1-t*(1-i));switch(o){case 0:case 6:r[0]=n,r[1]=u,r[2]=a;break;case 1:r[0]=s,r[1]=n,r[2]=a;break;case 2:r[0]=a,r[1]=n,r[2]=u;break;case 3:r[0]=a,r[1]=s,r[2]=n;break;case 4:r[0]=u,r[1]=a,r[2]=n;break;case 5:r[0]=n,r[1]=a,r[2]=s}return r},this.build=function(e){if(!(this.Table.length>1)||e){this.Table=[];var t=this.NumberOfColors-1,n=void 0,r=void 0,o=void 0,i=void 0;t?(n=(this.HueRange[1]-this.HueRange[0])/t,r=(this.SaturationRange[1]-this.SaturationRange[0])/t,o=(this.ValueRange[1]-this.ValueRange[0])/t,i=(this.AlphaRange[1]-this.AlphaRange[0])/t):n=r=o=i=0;for(var a=0;a<=t;a++){var s=this.HueRange[0]+a*n,u=this.SaturationRange[0]+a*r,c=this.ValueRange[0]+a*o,l=this.AlphaRange[0]+a*i,f=this.HSVToRGB(s,u,c),d=[];switch(this.Ramp){case"scurve":d[0]=Math.floor(127.5*(1+Math.cos((1-f[0])*Math.PI))),d[1]=Math.floor(127.5*(1+Math.cos((1-f[1])*Math.PI))),d[2]=Math.floor(127.5*(1+Math.cos((1-f[2])*Math.PI))),d[3]=Math.floor(255*l);break;case"linear":d[0]=Math.floor(255*f[0]+.5),d[1]=Math.floor(255*f[1]+.5),d[2]=Math.floor(255*f[2]+.5),d[3]=Math.floor(255*l+.5);break;case"sqrt":d[0]=Math.floor(255*Math.sqrt(f[0])+.5),d[1]=Math.floor(255*Math.sqrt(f[1])+.5),d[2]=Math.floor(255*Math.sqrt(f[2])+.5),d[3]=Math.floor(255*Math.sqrt(l)+.5);break;default:throw new Error("Invalid Ramp value ("+this.Ramp+")")}this.Table.push(d)}this.buildSpecialColors()}},this.buildSpecialColors=function(){var e=this.NumberOfColors,t=e+o,n=e+i,r=e+a;this.UseBelowRangeColor||0===e?this.Table[t]=this.BelowRangeColor:this.Table[t]=this.Table[0],this.UseAboveRangeColor||0===e?this.Table[n]=this.AboveRangeColor:this.Table[n]=this.Table[e-1],this.Table[r]=this.NaNColor},this.mapValue=function(e){var t=this.getIndex(e);if(t<0)return this.NaNColor;if(0===t){if(this.UseBelowRangeColor&&ethis.TableRange[1])return this.AboveRangeColor;return this.Table[t]},this.linearIndexLookupMain=function(e,t){var n=void 0;return n=et.Range[1]?t.MaxIndex+i+1.5:(e+t.Shift)*t.Scale,Math.round(n)},this.getIndex=function(e){var t={};if(t.Range=[],t.MaxIndex=this.NumberOfColors-1,t.Shift=-this.TableRange[0],this.TableRange[1]<=this.TableRange[0]?t.Scale=Number.MAX_VALUE:t.Scale=t.MaxIndex/(this.TableRange[1]-this.TableRange[0]),t.Range[0]=this.TableRange[0],t.Range[1]=this.TableRange[1],isNaN(e))return-1;var n=this.linearIndexLookupMain(e,t);return n===this.NumberOfColors+o?n=0:n===this.NumberOfColors+i&&(n=this.NumberOfColors-1),n},this.setTableValue=function(e,t){if(5===arguments.length&&(t=Array.prototype.slice.call(arguments,1)),e<0)throw new Error("Can't set the table value for negative index ("+e+")");e>=this.NumberOfColors&&new Error("Index "+e+" is greater than the number of colors "+this.NumberOfColors),this.Table[e]=t,0!==e&&e!==this.NumberOfColors-1||this.buildSpecialColors()}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r;var o=0,i=1,a=2},function(e,t,n){"use strict";function r(e,t){var n=e,r=t;return function(e){return e*n+r}}function o(e){var t=e.lut[0],n=e.lut[e.lut.length-1],r=e.firstValueMapped+e.lut.length;return function(o){return o=r?n:e.lut[o]}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return n?o(n):r(e,t)}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;nt.timeStamp?-1:e.timeStampd;){var t=f[f.length-1];p-=t.sizeInBytes,delete l[t.imageId],f.pop(),$(cornerstone).trigger("CornerstoneWebGLTextureRemoved",{imageId:t.imageId})}var n=r();$(cornerstone).trigger("CornerstoneWebGLTextureCacheFull",n)}}function i(e){if(void 0===e)throw new Error("setMaximumSizeBytes: parameter numBytes must not be undefined");if(void 0===e.toFixed)throw new Error("setMaximumSizeBytes: parameter numBytes must be a number");d=e,o()}function a(e,t){var n=e.imageId;if(void 0===e)throw new Error("putImageTexture: image must not be undefined");if(void 0===n)throw new Error("putImageTexture: imageId must not be undefined");if(void 0===t)throw new Error("putImageTexture: imageTexture must not be undefined");if(!0===Object.prototype.hasOwnProperty.call(l,n))throw new Error("putImageTexture: imageId already in cache");var r={imageId:n,imageTexture:t,timeStamp:new Date,sizeInBytes:t.sizeInBytes};if(l[n]=r,f.push(r),void 0===t.sizeInBytes)throw new Error("putImageTexture: imageTexture.sizeInBytes must not be undefined");if(void 0===t.sizeInBytes.toFixed)throw new Error("putImageTexture: imageTexture.sizeInBytes is not a number");p+=r.sizeInBytes,o()}function s(e){if(void 0===e)throw new Error("getImageTexture: imageId must not be undefined");var t=l[e];if(void 0!==t)return t.timeStamp=new Date,t.imageTexture}function u(e){if(void 0===e)throw new Error("removeImageTexture: imageId must not be undefined");var t=l[e];if(void 0===t)throw new Error("removeImageTexture: imageId must not be undefined");return f.splice(f.indexOf(t),1),p-=t.sizeInBytes,delete l[e],t.imageTexture}function c(){for(;f.length>0;){var e=f.pop();delete l[e.imageId]}p=0}Object.defineProperty(t,"__esModule",{value:!0});var l={},f=[],d=268435456,p=0;t.default={purgeCache:c,getImageTexture:s,putImageTexture:a,removeImageTexture:u,setMaximumSizeBytes:i}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=(0,r.getEnabledElement)(e),i=(0,o.default)(n);return i.invert(),i.transformPoint(t.x,t.y)};var r=n(0),o=function(e){return e&&e.__esModule?e:{default:e}}(n(8))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(void 0===e)throw new Error("disable: element must not be undefined");for(var t=(0,r.getEnabledElements)(),n=0;no?n:o;return{minPixelValue:t,maxPixelValue:n}}function i(e){if(e.restore)return e.restore;var t=e.color,n=e.rgba,r=e.lut,o=e.slope,i=e.windowWidth,a=e.windowCenter,s=e.minPixelValue,u=e.maxPixelValue;return function(){if(e.color=t,e.rgba=n,e.lut=r,e.slope=o,e.windowWidth=i,e.windowCenter=a,e.minPixelValue=s,e.maxPixelValue=u,e.origPixelData){var c=e.origPixelData;e.getPixelData=function(){return c}}delete e.origPixelData,delete e.colormapId,delete e.falseColor}}function a(e){return e&&"string"==typeof e&&(e=(0,p.getColormap)(e)),e}function s(e){return!(!e.restore||"function"!=typeof e.restore||(e.restore(),0))}function u(e,t){if(e.color&&!e.falseColor)throw new Error("Color transforms are not implemented yet");var n=(t=a(t)).getId();if(e.colormapId===n)return!1;if(s(e),n){var r=e.minPixelValue||0,u=e.maxPixelValue||255;e.restore=i(e);var c=t.createLookupTable();c.setTableRange(r,u),(0,d.default)(e,c);var l=o(e.getPixelData());e.minPixelValue=l.minPixelValue,e.maxPixelValue=l.maxPixelValue,e.colormapId=n}return!0}function c(e,t){u((0,l.getEnabledElement)(e).image,t)&&(0,f.default)(e,!0)}Object.defineProperty(t,"__esModule",{value:!0}),t.restoreImage=t.convertToFalseColorImage=t.convertImageToFalseColorImage=void 0;var l=n(0),f=r(n(1)),d=r(n(21)),p=n(24);t.convertImageToFalseColorImage=u,t.convertToFalseColorImage=c,t.restoreImage=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=(0,r.getEnabledElement)(e);return(0,o.default)(n.canvas,t)};var r=n(0),o=function(e){return e&&e.__esModule?e:{default:e}}(n(3))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,r.getEnabledElement)(e).image};var r=n(0)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,r,s){var u=(0,i.default)(e,t,n,r,s),c=(0,o.getEnabledElement)(e),l=(0,a.default)(c.image.slope,c.image.intercept,c.viewport.modalityLUT);return u.map(l)};var o=n(0),i=r(n(19)),a=r(n(26))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=(0,r.getEnabledElement)(e).viewport;if(void 0!==t)return{scale:t.scale,translation:{x:t.translation.x,y:t.translation.y},voi:{windowWidth:t.voi.windowWidth,windowCenter:t.voi.windowCenter},invert:t.invert,pixelReplication:t.pixelReplication,rotation:t.rotation,hflip:t.hflip,vflip:t.vflip,modalityLUT:t.modalityLUT,voiLUT:t.voiLUT}};var r=n(0)},function(e,t,n){"use strict";function r(e,t){var n=e.indexOf(":"),r=e.substring(0,n),o=l[r],i=void 0;if(void 0===o||null===o){if(void 0!==f)return i=f(e);throw new Error("loadImageFromImageLoader: no image loader for imageId")}return(i=o(e,t)).then(function(e){$(c.default).trigger("CornerstoneImageLoaded",{image:e})}),i}function o(e,t){if(void 0===e)throw new Error("loadImage: parameter imageId must not be undefined");var n=(0,u.getImagePromise)(e);return void 0!==n?n:n=r(e,t)}function i(e,t){if(void 0===e)throw new Error("loadAndCacheImage: parameter imageId must not be undefined");var n=(0,u.getImagePromise)(e);return void 0!==n?n:(n=r(e,t),(0,u.putImagePromise)(e,n),n)}function a(e,t){l[e]=t}function s(e){var t=f;return f=e,t}Object.defineProperty(t,"__esModule",{value:!0}),t.loadImage=o,t.loadAndCacheImage=i,t.registerImageLoader=a,t.registerUnknownImageLoader=s;var u=n(20),c=function(e){return e&&e.__esModule?e:{default:e}}(n(10)),l={},f=void 0},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(2)),i=r(n(4)),a=r(n(11)),s=r(n(3)),u=r(n(12)),c=r(n(14)),l=r(n(13)),f=r(n(8)),d=r(n(16)),p=n(27);t.default={drawImage:o.default,generateLut:i.default,generateLutNew:a.default,getDefaultViewport:s.default,requestAnimationFrame:u.default,storedPixelDataToCanvasImageData:c.default,storedColorPixelDataToCanvasImageData:l.default,getTransform:f.default,calculateTransform:d.default,Transform:p.Transform}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=(0,r.getEnabledElement)(e);t.invalid=!0,t.needsRedraw=!0;var n={element:e};$(e).trigger("CornerstoneInvalidated",n)};var r=n(0)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,r.getEnabledElementsByImageId)(e).forEach(function(e){(0,o.default)(e,!0)})};var r=n(0),o=function(e){return e&&e.__esModule?e:{default:e}}(n(2))},function(e,t,n){"use strict";function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=void 0;for(n=0;n>t,r=e.lut[e.lut.length-1]>>t,o=e.firstValueMapped+e.lut.length-1;return function(i){return i=o?r:e.lut[i-e.firstValueMapped]>>t}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){return n?o(n):r(e,t)}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(){return j}function i(){for(var e in b.shaders){var t=b.shaders[e];t.attributes={},t.uniforms={},t.vert=_.vertexShader,t.program=(0,x.default)(E,t.vert,t.frag),t.attributes.texCoordLocation=E.getAttribLocation(t.program,"a_texCoord"),E.enableVertexAttribArray(t.attributes.texCoordLocation),t.attributes.positionLocation=E.getAttribLocation(t.program,"a_position"),E.enableVertexAttribArray(t.attributes.positionLocation),t.uniforms.resolutionLocation=E.getUniformLocation(t.program,"u_resolution")}}function a(){!0!==C&&l(j)&&(m(),i(),t.isWebGLInitialized=C=!0)}function s(e,t,n){e.bufferData(e.ARRAY_BUFFER,new Float32Array([t,n,0,n,t,0,0,0]),e.STATIC_DRAW)}function u(e){e.preventDefault(),console.warn("WebGL Context Lost!")}function c(e){e.preventDefault(),t.isWebGLInitialized=C=!1,w.default.purgeCache(),a()}function l(e){E=null;try{var t={preserveDrawingBuffer:!0};E=e.getContext("webgl",t)||e.getContext("experimental-webgl",t),e.removeEventListener("webglcontextlost",u,!1),e.addEventListener("webglcontextlost",u,!1),e.removeEventListener("webglcontextrestored",c,!1),e.addEventListener("webglcontextrestored",c,!1)}catch(e){throw new Error("Error creating WebGL context")}return E||(console.error("Unable to initialize WebGL. Your browser may not support it."),E=null),E}function f(e){if(e.color)return"rgb";var t="int";return e.minPixelValue>=0&&(t="u"+t),e.maxPixelValue>255?t+="16":t+="8",t}function d(e){var t=f(e);return b.shaders.hasOwnProperty(t)?b.shaders[t]:b.shaders.rgb}function p(e){var t={uint8:E.LUMINANCE,int8:E.LUMINANCE_ALPHA,uint16:E.LUMINANCE_ALPHA,int16:E.RGB,rgb:E.RGB},n={int8:1,uint16:2,int16:3,rgb:3},r=f(e),o=t[r],i=E.createTexture();E.bindTexture(E.TEXTURE_2D,i),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_MIN_FILTER,E.NEAREST),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_MAG_FILTER,E.NEAREST),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_WRAP_S,E.CLAMP_TO_EDGE),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_WRAP_T,E.CLAMP_TO_EDGE),E.pixelStorei(E.UNPACK_ALIGNMENT,1);var a=b.dataUtilities[r].storedPixelDataToImageData(e,e.width,e.height);return E.texImage2D(E.TEXTURE_2D,0,o,e.width,e.height,0,o,E.UNSIGNED_BYTE,a),{texture:i,sizeInBytes:e.width*e.height*n[r]}}function h(e){var t=w.default.getImageTexture(e.imageId);return t||(t=p(e),w.default.putImageTexture(e,t)),t.texture}function m(){S=E.createBuffer(),E.bindBuffer(E.ARRAY_BUFFER,S),E.bufferData(E.ARRAY_BUFFER,new Float32Array([1,1,0,1,1,0,0,0]),E.STATIC_DRAW),T=E.createBuffer(),E.bindBuffer(E.ARRAY_BUFFER,T),E.bufferData(E.ARRAY_BUFFER,new Float32Array([1,1,0,1,1,0,0,0]),E.STATIC_DRAW)}function g(e,t,n,r,o){E.clearColor(1,0,0,1),E.viewport(0,0,r,o),E.clear(E.COLOR_BUFFER_BIT|E.DEPTH_BUFFER_BIT),E.useProgram(e.program),E.bindBuffer(E.ARRAY_BUFFER,T),E.vertexAttribPointer(e.attributes.texCoordLocation,2,E.FLOAT,!1,0,0),E.bindBuffer(E.ARRAY_BUFFER,S),E.vertexAttribPointer(e.attributes.positionLocation,2,E.FLOAT,!1,0,0);for(var i in t){var a=E.getUniformLocation(e.program,i);if(a){var u=t[i],c=u.type,l=u.value;"i"===c?E.uniform1i(a,l):"f"===c?E.uniform1f(a,l):"2f"===c&&E.uniform2f(a,l[0],l[1])}}s(E,r,o),E.activeTexture(E.TEXTURE0),E.bindTexture(E.TEXTURE_2D,n),E.drawArrays(E.TRIANGLE_STRIP,0,4)}function v(e){var t=e.image;j.width=t.width,j.height=t.height;var n=e.viewport,r=d(t),o=h(t);return g(r,{u_resolution:{type:"2f",value:[t.width,t.height]},wc:{type:"f",value:n.voi.windowCenter},ww:{type:"f",value:n.voi.windowWidth},slope:{type:"f",value:t.slope},intercept:{type:"f",value:t.intercept},minPixelValue:{type:"f",value:t.minPixelValue},invert:{type:"i",value:n.invert?1:0}},o,t.width,t.height),j}function y(){var e={failIfMajorPerformanceCaveat:!0};try{var t=document.createElement("canvas");return Boolean(window.WebGLRenderingContext)&&(t.getContext("webgl",e)||t.getContext("experimental-webgl",e))}catch(e){return!1}}Object.defineProperty(t,"__esModule",{value:!0}),t.isWebGLInitialized=void 0,t.getRenderCanvas=o,t.initRenderer=a,t.render=v,t.isWebGLAvailable=y;var b=n(55),_=n(61),w=r(n(29)),x=r(n(28)),j=document.createElement("canvas"),E=void 0,T=void 0,S=void 0,C=!1;t.isWebGLInitialized=C},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dataUtilities=t.shaders=void 0;var r=n(56),o=n(57),i=n(58),a=n(59),s=n(60),u={int16:r.int16Shader,int8:o.int8Shader,rgb:i.rgbShader,uint16:a.uint16Shader,uint8:s.uint8Shader},c={int16:r.int16DataUtilities,int8:o.int8DataUtilities,rgb:i.rgbDataUtilities,uint16:a.uint16DataUtilities,uint8:s.uint8DataUtilities};t.shaders=u,t.dataUtilities=c},function(e,t,n){"use strict";function r(e){for(var t=e.getPixelData(),n=new Uint8Array(e.width*e.height*3),r=0,o=0;o>8,10),n[r++]=t[o]<0?0:1}return n}Object.defineProperty(t,"__esModule",{value:!0});var o={};t.int16DataUtilities={storedPixelDataToImageData:r},o.frag="precision mediump float;uniform sampler2D u_image;uniform float ww;uniform float wc;uniform float slope;uniform float intercept;uniform int invert;varying vec2 v_texCoord;void main() {vec4 color = texture2D(u_image, v_texCoord);float intensity = color.r*256.0 + color.g*65536.0;if (color.b == 0.0)intensity = -intensity;intensity = intensity * slope + intercept;float center0 = wc - 0.5;float width0 = max(ww, 1.0);intensity = (intensity - center0) / width0 + 0.5;intensity = clamp(intensity, 0.0, 1.0);gl_FragColor = vec4(intensity, intensity, intensity, 1.0);if (invert == 1)gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;}",t.int16Shader=o},function(e,t,n){"use strict";function r(e){for(var t=e.getPixelData(),n=new Uint8Array(e.width*e.height*2),r=0,o=0;o>8,10)}return n}Object.defineProperty(t,"__esModule",{value:!0});var o={};t.uint16DataUtilities={storedPixelDataToImageData:r},o.frag="precision mediump float;uniform sampler2D u_image;uniform float ww;uniform float wc;uniform float slope;uniform float intercept;uniform int invert;varying vec2 v_texCoord;void main() {vec4 color = texture2D(u_image, v_texCoord);float intensity = color.r*256.0 + color.a*65536.0;intensity = intensity * slope + intercept;float center0 = wc - 0.5;float width0 = max(ww, 1.0);intensity = (intensity - center0) / width0 + 0.5;intensity = clamp(intensity, 0.0, 1.0);gl_FragColor = vec4(intensity, intensity, intensity, 1.0);if (invert == 1)gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;}",t.uint16Shader=o},function(e,t,n){"use strict";function r(e){for(var t=e.getPixelData(),n=new Uint8Array(t.length),r=0;r1)for(var n=1;n0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(e,t){function n(){this.removeListener(e,n),r||(r=!0,t.apply(this,arguments))}if(!o(t))throw TypeError("listener must be a function");var r=!1;return n.listener=t,this.on(e,n),this},r.prototype.removeListener=function(e,t){var n,r,i,s;if(!o(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],i=n.length,r=-1,n===t||o(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(a(n)){for(s=i;s-- >0;)if(n[s]===t||n[s].listener&&n[s].listener===t){r=s;break}if(r<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},r.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],o(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},r.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?o(this._events[e])?[this._events[e]]:this._events[e].slice():[]},r.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(o(t))return 1;if(t)return t.length}return 0},r.listenerCount=function(e,t){return e.listenerCount(t)}}},"tty-browserify":{"package.json":function(e,t){t.name="tty-browserify",t.version="0.0.0",t.main="index.js"},"index.js":function(e,t){function n(){throw new Error("tty.ReadStream is not implemented")}function r(){throw new Error("tty.ReadStream is not implemented")}t.isatty=function(){return!1},t.ReadStream=n,t.WriteStream=r}}}},"babel-runtime":{regenerator:{"index.js":function(e,t,n){n.exports=e("regenerator-runtime")}},helpers:{"typeof.js":function(e,t){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var r=n(e("../core-js/symbol/iterator")),o=n(e("../core-js/symbol")),i="function"==typeof o.default&&"symbol"==typeof r.default?function(e){return typeof e}:function(e){return e&&"function"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?"symbol":typeof e};t.default="function"==typeof o.default&&"symbol"===i(r.default)?function(e){return void 0===e?"undefined":i(e)}:function(e){return e&&"function"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?"symbol":void 0===e?"undefined":i(e)}},"toConsumableArray.js":function(e,t){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var r=n(e("../core-js/array/from"));t.default=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t=0,a=i&&o.regeneratorRuntime;if(o.regeneratorRuntime=void 0,r.exports=e("./runtime"),i)o.regeneratorRuntime=a;else try{delete o.regeneratorRuntime}catch(e){o.regeneratorRuntime=void 0}},"runtime.js":function(e,n,r){!function(e){"use strict";function t(e,t,n,r){var i=t&&t.prototype instanceof o?t:o,a=Object.create(i.prototype),s=new p(r||[]);return a._invoke=c(e,n,s),a}function n(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function o(){}function i(){}function a(){}function s(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function u(t){function r(e,o,i,a){var s=n(t[e],t,o);if("throw"!==s.type){var u=s.arg,c=u.value;return c&&"object"==typeof c&&v.call(c,"__await")?Promise.resolve(c.__await).then(function(e){r("next",e,i,a)},function(e){r("throw",e,i,a)}):Promise.resolve(c).then(function(e){u.value=e,i(u)},a)}a(s.arg)}function o(e,t){function n(){return new Promise(function(n,o){r(e,t,n,o)})}return i=i?i.then(n,n):n()}"object"==typeof e.process&&e.process.domain&&(r=e.process.domain.bind(r));var i;this._invoke=o}function c(e,t,r){var o=T;return function i(a,s){if(o===C)throw new Error("Generator is already running");if(o===O){if("throw"===a)throw s;return m()}for(r.method=a,r.arg=s;;){var u=r.delegate;if(u){var c=l(u,r);if(c){if(c===P)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===T)throw o=O,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=C;var f=n(e,t,r);if("normal"===f.type){if(o=r.done?O:S,f.arg===P)continue;return{value:f.arg,done:r.done}}"throw"===f.type&&(o=O,r.method="throw",r.arg=f.arg)}}}function l(e,t){var r=e.iterator[t.method];if(r===y){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=y,l(e,t),"throw"===t.method))return P;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return P}var o=n(r,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,P;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=y),t.delegate=null,P):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,P)}function f(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function d(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function p(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(f,this),this.reset(!0)}function h(e){if(e){var t=e[_];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n=0;--r){var o=this.tryEntries[r],i=o.completion;if("root"===o.tryLoc)return t("end");if(o.tryLoc<=this.prev){var a=v.call(o,"catchLoc"),s=v.call(o,"finallyLoc");if(a&&s){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&v.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),d(n),P}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;d(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:h(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=y),P}}}}("object"==typeof t?t:"object"==typeof window?window:"object"==typeof self?self:this)}},"core-js":{modules:{"es6.symbol.js":function(e){"use strict";var t=e("./_global"),n=e("./_has"),r=e("./_descriptors"),o=e("./_export"),i=e("./_redefine"),a=e("./_meta").KEY,s=e("./_fails"),u=e("./_shared"),c=e("./_set-to-string-tag"),l=e("./_uid"),f=e("./_wks"),d=e("./_wks-ext"),p=e("./_wks-define"),h=e("./_keyof"),m=e("./_enum-keys"),g=e("./_is-array"),v=e("./_an-object"),y=e("./_to-iobject"),b=e("./_to-primitive"),_=e("./_property-desc"),w=e("./_object-create"),x=e("./_object-gopn-ext"),j=e("./_object-gopd"),E=e("./_object-dp"),T=e("./_object-keys"),S=j.f,C=E.f,O=x.f,P=t.Symbol,k=t.JSON,I=k&&k.stringify,M="prototype",A=f("_hidden"),L=f("toPrimitive"),R={}.propertyIsEnumerable,D=u("symbol-registry"),N=u("symbols"),F=u("op-symbols"),W=Object[M],q="function"==typeof P,B=t.QObject,U=!B||!B[M]||!B[M].findChild,H=r&&s(function(){return 7!=w(C({},"a",{get:function(){return C(this,"a",{value:7}).a}})).a})?function(e,t,n){var r=S(W,t);r&&delete W[t],C(e,t,n),r&&e!==W&&C(W,t,r)}:C,z=function(e){var t=N[e]=w(P[M]);return t._k=e,t},V=q&&"symbol"==typeof P.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof P},G=function e(t,r,o){return t===W&&G(F,r,o),v(t),r=b(r,!0),v(o),n(N,r)?(o.enumerable?(n(t,A)&&t[A][r]&&(t[A][r]=!1),o=w(o,{enumerable:_(0,!1)})):(n(t,A)||C(t,A,_(1,{})),t[A][r]=!0),H(t,r,o)):C(t,r,o)},$=function e(t,n){v(t);for(var r=m(n=y(n)),o=0,i=r.length,a;i>o;)G(t,a=r[o++],n[a]);return t},X=function e(t,n){return void 0===n?w(t):$(w(t),n)},Y=function e(t){var r=R.call(this,t=b(t,!0));return!(this===W&&n(N,t)&&!n(F,t))&&(!(r||!n(this,t)||!n(N,t)||n(this,A)&&this[A][t])||r)},K=function e(t,r){if(t=y(t),r=b(r,!0),t!==W||!n(N,r)||n(F,r)){var o=S(t,r);return!o||!n(N,r)||n(t,A)&&t[A][r]||(o.enumerable=!0),o}},J=function e(t){for(var r=O(y(t)),o=[],i=0,s;r.length>i;)n(N,s=r[i++])||s==A||s==a||o.push(s);return o},Q=function e(t){for(var r=t===W,o=O(r?F:y(t)),i=[],a=0,s;o.length>a;)!n(N,s=o[a++])||r&&!n(W,s)||i.push(N[s]);return i};q||(i((P=function e(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var t=l(arguments.length>0?arguments[0]:void 0),o=function(e){this===W&&o.call(F,e),n(this,A)&&n(this[A],t)&&(this[A][t]=!1),H(this,t,_(1,e))};return r&&U&&H(W,t,{configurable:!0,set:o}),z(t)})[M],"toString",function e(){return this._k}),j.f=K,E.f=G,e("./_object-gopn").f=x.f=J,e("./_object-pie").f=Y,e("./_object-gops").f=Q,r&&!e("./_library")&&i(W,"propertyIsEnumerable",Y,!0),d.f=function(e){return z(f(e))}),o(o.G+o.W+o.F*!q,{Symbol:P});for(var Z="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),ee=0;Z.length>ee;)f(Z[ee++]);for(var Z=T(f.store),ee=0;Z.length>ee;)p(Z[ee++]);o(o.S+o.F*!q,"Symbol",{for:function(e){return n(D,e+="")?D[e]:D[e]=P(e)},keyFor:function e(t){if(V(t))return h(D,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){U=!0},useSimple:function(){U=!1}}),o(o.S+o.F*!q,"Object",{create:X,defineProperty:G,defineProperties:$,getOwnPropertyDescriptor:K,getOwnPropertyNames:J,getOwnPropertySymbols:Q}),k&&o(o.S+o.F*(!q||s(function(){var e=P();return"[null]"!=I([e])||"{}"!=I({a:e})||"{}"!=I(Object(e))})),"JSON",{stringify:function e(t){if(void 0!==t&&!V(t)){for(var n=[t],r=1,o,i;arguments.length>r;)n.push(arguments[r++]);return"function"==typeof(o=n[1])&&(i=o),!i&&g(o)||(o=function(e,t){if(i&&(t=i.call(this,e,t)),!V(t))return t}),n[1]=o,I.apply(k,n)}}}),P[M][L]||e("./_hide")(P[M],L,P[M].valueOf),c(P,"Symbol"),c(Math,"Math",!0),c(t.JSON,"JSON",!0)},"_global.js":function(e,t,n){var r=n.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},"_has.js":function(e,t,n){var r={}.hasOwnProperty;n.exports=function(e,t){return r.call(e,t)}},"_descriptors.js":function(e,t,n){n.exports=!e("./_fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},"_fails.js":function(e,t,n){n.exports=function(e){try{return!!e()}catch(e){return!0}}},"_export.js":function(e,t,n){var r=e("./_global"),o=e("./_core"),i=e("./_hide"),a=e("./_redefine"),s=e("./_ctx"),u="prototype",c=function(e,t,n){var l=e&c.F,f=e&c.G,d=e&c.S,p=e&c.P,h=e&c.B,m=f?r:d?r[t]||(r[t]={}):(r[t]||{})[u],g=f?o:o[t]||(o[t]={}),v=g[u]||(g[u]={}),y,b,_,w;f&&(n=t);for(y in n)_=((b=!l&&m&&void 0!==m[y])?m:n)[y],w=h&&b?s(_,r):p&&"function"==typeof _?s(Function.call,_):_,m&&a(m,y,_,e&c.U),g[y]!=_&&i(g,y,w),p&&v[y]!=_&&(v[y]=_)};r.core=o,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,n.exports=c},"_core.js":function(e,t,n){var r=n.exports={version:"2.4.0"};"number"==typeof __e&&(__e=r)},"_hide.js":function(e,t,n){var r=e("./_object-dp"),o=e("./_property-desc");n.exports=e("./_descriptors")?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},"_object-dp.js":function(e,t){var n=e("./_an-object"),r=e("./_ie8-dom-define"),o=e("./_to-primitive"),i=Object.defineProperty;t.f=e("./_descriptors")?Object.defineProperty:function e(t,a,s){if(n(t),a=o(a,!0),n(s),r)try{return i(t,a,s)}catch(e){}if("get"in s||"set"in s)throw TypeError("Accessors not supported!");return"value"in s&&(t[a]=s.value),t}},"_an-object.js":function(e,t,n){var r=e("./_is-object");n.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},"_is-object.js":function(e,t,n){n.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},"_ie8-dom-define.js":function(e,t,n){n.exports=!e("./_descriptors")&&!e("./_fails")(function(){return 7!=Object.defineProperty(e("./_dom-create")("div"),"a",{get:function(){return 7}}).a})},"_dom-create.js":function(e,t,n){var r=e("./_is-object"),o=e("./_global").document,i=r(o)&&r(o.createElement);n.exports=function(e){return i?o.createElement(e):{}}},"_to-primitive.js":function(e,t,n){var r=e("./_is-object");n.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},"_property-desc.js":function(e,t,n){n.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"_redefine.js":function(e,t,n){var r=e("./_global"),o=e("./_hide"),i=e("./_has"),a=e("./_uid")("src"),s="toString",u=Function[s],c=(""+u).split(s);e("./_core").inspectSource=function(e){return u.call(e)},(n.exports=function(e,t,n,s){var u="function"==typeof n;u&&(i(n,"name")||o(n,"name",t)),e[t]!==n&&(u&&(i(n,a)||o(n,a,e[t]?""+e[t]:c.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:o(e,t,n):(delete e[t],o(e,t,n)))})(Function.prototype,s,function e(){return"function"==typeof this&&this[a]||u.call(this)})},"_uid.js":function(e,t,n){var r=0,o=Math.random();n.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++r+o).toString(36))}},"_ctx.js":function(e,t,n){var r=e("./_a-function");n.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},"_a-function.js":function(e,t,n){n.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"_meta.js":function(e,t,n){var r=e("./_uid")("meta"),o=e("./_is-object"),i=e("./_has"),a=e("./_object-dp").f,s=0,u=Object.isExtensible||function(){return!0},c=!e("./_fails")(function(){return u(Object.preventExtensions({}))}),l=function(e){a(e,r,{value:{i:"O"+ ++s,w:{}}})},f=function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,r)){if(!u(e))return"F";if(!t)return"E";l(e)}return e[r].i},d=function(e,t){if(!i(e,r)){if(!u(e))return!0;if(!t)return!1;l(e)}return e[r].w},p=function(e){return c&&h.NEED&&u(e)&&!i(e,r)&&l(e),e},h=n.exports={KEY:r,NEED:!1,fastKey:f,getWeak:d,onFreeze:p}},"_shared.js":function(e,t,n){var r=e("./_global"),o="__core-js_shared__",i=r[o]||(r[o]={});n.exports=function(e){return i[e]||(i[e]={})}},"_set-to-string-tag.js":function(e,t,n){var r=e("./_object-dp").f,o=e("./_has"),i=e("./_wks")("toStringTag");n.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},"_wks.js":function(e,t,n){var r=e("./_shared")("wks"),o=e("./_uid"),i=e("./_global").Symbol,a="function"==typeof i;(n.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},"_wks-ext.js":function(e,t){t.f=e("./_wks")},"_wks-define.js":function(e,t,n){var r=e("./_global"),o=e("./_core"),i=e("./_library"),a=e("./_wks-ext"),s=e("./_object-dp").f;n.exports=function(e){var t=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},"_library.js":function(e,t,n){n.exports=!1},"_keyof.js":function(e,t,n){var r=e("./_object-keys"),o=e("./_to-iobject");n.exports=function(e,t){for(var n=o(e),i=r(n),a=i.length,s=0,u;a>s;)if(n[u=i[s++]]===t)return u}},"_object-keys.js":function(e,t,n){var r=e("./_object-keys-internal"),o=e("./_enum-bug-keys");n.exports=Object.keys||function e(t){return r(t,o)}},"_object-keys-internal.js":function(e,t,n){var r=e("./_has"),o=e("./_to-iobject"),i=e("./_array-includes")(!1),a=e("./_shared-key")("IE_PROTO");n.exports=function(e,t){var n=o(e),s=0,u=[],c;for(c in n)c!=a&&r(n,c)&&u.push(c);for(;t.length>s;)r(n,c=t[s++])&&(~i(u,c)||u.push(c));return u}},"_to-iobject.js":function(e,t,n){var r=e("./_iobject"),o=e("./_defined");n.exports=function(e){return r(o(e))}},"_iobject.js":function(e,t,n){var r=e("./_cof");n.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},"_cof.js":function(e,t,n){var r={}.toString;n.exports=function(e){return r.call(e).slice(8,-1)}},"_defined.js":function(e,t,n){n.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},"_array-includes.js":function(e,t,n){var r=e("./_to-iobject"),o=e("./_to-length"),i=e("./_to-index");n.exports=function(e){return function(t,n,a){var s=r(t),u=o(s.length),c=i(a,u),l;if(e&&n!=n){for(;u>c;)if((l=s[c++])!=l)return!0}else for(;u>c;c++)if((e||c in s)&&s[c]===n)return e||c||0;return!e&&-1}}},"_to-length.js":function(e,t,n){var r=e("./_to-integer"),o=Math.min;n.exports=function(e){return e>0?o(r(e),9007199254740991):0}},"_to-integer.js":function(e,t,n){var r=Math.ceil,o=Math.floor;n.exports=function(e){return isNaN(e=+e)?0:(e>0?o:r)(e)}},"_to-index.js":function(e,t,n){var r=e("./_to-integer"),o=Math.max,i=Math.min;n.exports=function(e,t){return(e=r(e))<0?o(e+t,0):i(e,t)}},"_shared-key.js":function(e,t,n){var r=e("./_shared")("keys"),o=e("./_uid");n.exports=function(e){return r[e]||(r[e]=o(e))}},"_enum-bug-keys.js":function(e,t,n){n.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"_enum-keys.js":function(e,t,n){var r=e("./_object-keys"),o=e("./_object-gops"),i=e("./_object-pie");n.exports=function(e){var t=r(e),n=o.f;if(n)for(var a=n(e),s=i.f,u=0,c;a.length>u;)s.call(e,c=a[u++])&&t.push(c);return t}},"_object-gops.js":function(e,t){t.f=Object.getOwnPropertySymbols},"_object-pie.js":function(e,t){t.f={}.propertyIsEnumerable},"_is-array.js":function(e,t,n){var r=e("./_cof");n.exports=Array.isArray||function e(t){return"Array"==r(t)}},"_object-create.js":function(e,t,n){var r=e("./_an-object"),o=e("./_object-dps"),i=e("./_enum-bug-keys"),a=e("./_shared-key")("IE_PROTO"),s=function(){},u="prototype",c=function(){var t=e("./_dom-create")("iframe"),n=i.length,r="<",o=">",a;for(t.style.display="none",e("./_html").appendChild(t),t.src="javascript:",(a=t.contentWindow.document).open(),a.write(" - - - - OHIF DICOM Viewer - - - - - - - - - - - \ No newline at end of file diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/FontAwesome.otf b/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/FontAwesome.otf deleted file mode 100644 index 401ec0f36..000000000 Binary files a/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/FontAwesome.otf and /dev/null differ diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.eot b/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.eot deleted file mode 100644 index e9f60ca95..000000000 Binary files a/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.svg b/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.svg deleted file mode 100644 index 855c845e5..000000000 --- a/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,2671 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.ttf b/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 35acda2fa..000000000 Binary files a/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.woff b/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.woff deleted file mode 100644 index 400014a4b..000000000 Binary files a/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.woff2 b/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index 4d13fc604..000000000 Binary files a/StandaloneViewer/SampleClientOnlyBuild/packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.woff2 and /dev/null differ diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_cornerstone/public/js/cornerstoneWADOImageLoaderCodecs.es5.js b/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_cornerstone/public/js/cornerstoneWADOImageLoaderCodecs.es5.js deleted file mode 100644 index 3c62e3cde..000000000 --- a/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_cornerstone/public/js/cornerstoneWADOImageLoaderCodecs.es5.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! CharLS.js - v2.0.1 - 2016-06-08 | (c) 2016 Chris Hafey | https://github.com/chafey/charls */ -var CharLS=function(Module){Module=Module||{};var Module;if(!Module)Module=(typeof CharLS!=="undefined"?CharLS:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?function(x){dump(x)}:function(x){}}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=function(title){document.title=title}}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=function(){}}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:function(value){tempRet0=value},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(stackTop){STACKTOP=stackTop},getNativeTypeSize:function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}},getNativeFieldSize:function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr},getAlignSize:function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)},dynCall:function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}},functionPointers:[],addFunction:function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret},alignMemory:function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret},makeBigInt:function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret},stringToC:function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret}};var toC={string:JSfuncs["stringToC"],array:JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||4e8;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32};Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;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["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+59744;__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_jpegls_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});allocate([0,0,0,0,0,0,0,0,84,144,0,0,31,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,237,191,0,0,48,0,0,0,0,0,0,0,44,144,0,0,41,192,0,0,84,144,0,0,55,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,115,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,192,0,0,152,3,0,0,0,0,0,0,84,144,0,0,241,192,0,0,216,3,0,0,0,0,0,0,84,144,0,0,55,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,95,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,135,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,216,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,241,193,0,0,48,0,0,0,0,0,0,0,44,144,0,0,13,194,0,0,84,144,0,0,80,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,44,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,139,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,179,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,219,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,3,195,0,0,48,0,0,0,0,0,0,0,84,144,0,0,103,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,157,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,211,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,8,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,71,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,138,196,0,0,160,1,0,0,0,0,0,0,44,144,0,0,120,196,0,0,84,144,0,0,187,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,246,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,49,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,103,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,157,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,210,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,17,198,0,0,160,1,0,0,0,0,0,0,84,144,0,0,86,198,0,0,72,3,0,0,0,0,0,0,84,144,0,0,162,198,0,0,56,2,0,0,0,0,0,0,44,144,0,0,182,198,0,0,84,144,0,0,196,198,0,0,56,2,0,0,0,0,0,0,84,144,0,0,112,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,125,199,0,0,84,144,0,0,138,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,156,199,0,0,84,144,0,0,169,199,0,0,96,2,0,0,0,0,0,0,84,144,0,0,181,199,0,0,120,2,0,0,0,0,0,0,84,144,0,0,214,199,0,0,144,2,0,0,0,0,0,0,84,144,0,0,28,200,0,0,144,2,0,0,0,0,0,0,84,144,0,0,248,199,0,0,176,2,0,0,0,0,0,0,84,144,0,0,62,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,99,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,182,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,245,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,13,222,0,0,152,3,0,0,0,0,0,0,84,144,0,0,38,222,0,0,152,3,0,0,0,0,0,0,44,144,0,0,62,222,0,0,84,144,0,0,87,222,0,0,104,2,0,0,0,0,0,0,44,144,0,0,110,222,0,0,84,144,0,0,135,222,0,0,72,3,0,0,0,0,0,0,84,144,0,0,161,222,0,0,56,3,0,0,0,0,0,0,44,144,0,0,187,222,0,0,84,144,0,0,205,222,0,0,112,3,0,0,0,0,0,0,84,144,0,0,247,222,0,0,112,3,0,0,0,0,0,0,44,144,0,0,33,223,0,0,44,144,0,0,82,223,0,0,124,144,0,0,131,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,178,223,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,124,144,0,0,225,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,16,224,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,84,144,0,0,63,224,0,0,80,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,144,0,0,187,224,0,0,48,3,0,0,0,0,0,0,124,144,0,0,209,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,124,144,0,0,227,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,5,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,40,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,75,225,0,0,144,4,0,0,0,0,0,0,84,144,0,0,109,225,0,0,144,4,0,0,0,0,0,0,124,144,0,0,144,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,178,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,200,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,220,225,0,0,32,4,0,0,0,0,0,0,124,144,0,0,240,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,84,144,0,0,2,226,0,0,32,4,0,0,0,0,0,0,84,144,0,0,23,226,0,0,32,4,0,0,0,0,0,0,124,144,0,0,44,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,80,10,0,0,0,0,0,0,124,144,0,0,112,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,104,10,0,0,0,0,0,0,124,144,0,0,180,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,128,10,0,0,0,0,0,0,124,144,0,0,248,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,152,10,0,0,0,0,0,0,124,144,0,0,60,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,184,10,0,0,0,8,0,0,124,144,0,0,129,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,192,10,0,0,0,8,0,0,124,144,0,0,198,227,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,11,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,80,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,108,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,136,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,164,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,192,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,216,10,0,0,0,0,0,0,124,144,0,0,6,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,224,10,0,0,0,0,0,0,124,144,0,0,76,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,232,10,0,0,0,0,0,0,124,144,0,0,146,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,240,10,0,0,0,0,0,0,124,144,0,0,216,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,124,144,0,0,237,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,144,0,0,73,233,0,0,44,144,0,0,50,233,0,0,124,144,0,0,28,233,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,237,232,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,215,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,124,144,0,0,168,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,44,144,0,0,149,232,0,0,44,144,0,0,115,232,0,0,44,144,0,0,81,232,0,0,44,144,0,0,60,232,0,0,44,144,0,0,39,232,0,0,44,144,0,0,14,232,0,0,44,144,0,0,245,231,0,0,44,144,0,0,220,231,0,0,44,144,0,0,195,231,0,0,44,144,0,0,171,231,0,0,44,144,0,0,190,232,0,0,44,144,0,0,3,233],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([156,143,0,0,0,0,0,0,8,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,248,1,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,1,0,0,5,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,7,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,9,0,0,0,10,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,184,1,0,0,11,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,13,0,0,0,14,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,144,1,0,0,15,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,128,1,0,0,17,0,0,0,18,0,0,0,9,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,112,1,0,0,19,0,0,0,20,0,0,0,10,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,96,1,0,0,21,0,0,0,22,0,0,0,11,0,0,0,3,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,23,0,0,0,24,0,0,0,12,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,64,1,0,0,25,0,0,0,26,0,0,0,13,0,0,0,5,0,0,0,13,0,0,0,0,0,0,0,240,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,6,0,0,0,14,0,0,0,0,0,0,0,224,0,0,0,29,0,0,0,30,0,0,0,15,0,0,0,7,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,31,0,0,0,32,0,0,0,16,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,200,0,0,0,33,0,0,0,34,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,56,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,200,255,255,255,200,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,56,0,0,0,0,0,0,0,104,0,0,0,40,0,0,0,41,0,0,0,200,255,255,255,200,255,255,255,104,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,88,0,0,0,44,0,0,0,45,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,17,0,0,0,3,0,0,0,18,0,0,0,104,141,0,0,64,141,0,0,84,141,0,0,124,141,0,0,0,0,0,0,32,0,0,0,46,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,56,0,0,0,48,0,0,0,49,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,50,0,0,0,51,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,120,0,0,0,52,0,0,0,53,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,136,0,0,0,54,0,0,0,55,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,152,0,0,0,56,0,0,0,57,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,168,0,0,0,58,0,0,0,59,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,216,0,0,0,60,0,0,0,61,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,62,0,0,0,63,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,16,1,0,0,64,0,0,0,65,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,32,1,0,0,66,0,0,0,67,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,48,1,0,0,68,0,0,0,69,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,160,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,2,0,0,72,0,0,0,73,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,40,2,0,0,74,0,0,0,75,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,76,0,0,0,77,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,80,2,0,0,78,0,0,0,79,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,104,2,0,0,80,0,0,0,81,0,0,0,7,0,0,0,0,0,0,0,128,2,0,0,82,0,0,0,83,0,0,0,8,0,0,0,0,0,0,0,160,2,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,2,0,0,0,9,0,0,0,28,0,0,0,0,0,0,0,208,2,0,0,84,0,0,0,88,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,3,0,0,0,10,0,0,0,29,0,0,0,0,0,0,0,224,2,0,0,84,0,0,0,89,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,4,0,0,0,11,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,1,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,88,146,0,0,200,146,0,0,56,147,0,0,56,147,0,0,120,187,0,0,168,155,0,0,168,149,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,159,219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,9,0,0,0,151,215,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,143,211,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+35640);allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+39844);allocate([240,2,0,0,90,0,0,0,91,0,0,0,20,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,14,0,0,0,20,0,0,0,0,0,0,0,0,3,0,0,90,0,0,0,92,0,0,0,21,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,16,0,0,0,21,0,0,0,15,0,0,0,22,0,0,0,0,0,0,0,16,3,0,0,93,0,0,0,94,0,0,0,22,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,32,3,0,0,93,0,0,0,95,0,0,0,23,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,19,0,0,0,20,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,56,3,0,0,96,0,0,0,97,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,3,0,0,93,0,0,0,98,0,0,0,17,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,160,3,0,0,90,0,0,0,99,0,0,0,24,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,15,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,168,3,0,0,100,0,0,0,101,0,0,0,248,255,255,255,248,255,255,255,168,3,0,0,102,0,0,0,103,0,0,0,8,0,0,0,0,0,0,0,192,3,0,0,104,0,0,0,105,0,0,0,248,255,255,255,248,255,255,255,192,3,0,0,106,0,0,0,107,0,0,0,4,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,252,255,255,255,252,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,4,0,0,0,0,0,0,0,240,3,0,0,108,0,0,0,109,0,0,0,252,255,255,255,252,255,255,255,240,3,0,0,110,0,0,0,111,0,0,0,0,0,0,0,96,3,0,0,112,0,0,0,113,0,0,0,7,0,0,0,0,0,0,0,112,3,0,0,114,0,0,0,115,0,0,0,0,0,0,0,8,4,0,0,72,0,0,0,116,0,0,0,21,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,117,0,0,0,118,0,0,0,119,0,0,0,1,0,0,0,33,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,0,0,120,0,0,0,121,0,0,0,119,0,0,0,2,0,0,0,34,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,5,0,0,124,0,0,0,125,0,0,0,119,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,5,0,0,126,0,0,0,127,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,5,0,0,128,0,0,0,129,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,5,0,0,130,0,0,0,131,0,0,0,119,0,0,0,22,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,224,5,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,132,0,0,0,133,0,0,0,119,0,0,0,30,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,8,6,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,6,0,0,134,0,0,0,135,0,0,0,119,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,6,0,0,136,0,0,0,137,0,0,0,119,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,6,0,0,138,0,0,0,139,0,0,0,119,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,40,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,6,0,0,140,0,0,0,141,0,0,0,119,0,0,0,41,0,0,0,42,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,43,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,6,0,0,142,0,0,0,143,0,0,0,119,0,0,0,44,0,0,0,45,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,6,0,0,144,0,0,0,145,0,0,0,119,0,0,0,47,0,0,0,48,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,49,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,6,0,0,146,0,0,0,147,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,0,0,148,0,0,0,149,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,7,0,0,150,0,0,0,151,0,0,0,119,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,7,0,0,152,0,0,0,153,0,0,0,119,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,0,154,0,0,0,155,0,0,0,119,0,0,0,19,0,0,0,7,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,7,0,0,156,0,0,0,157,0,0,0,119,0,0,0,20,0,0,0,8,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,4,0,0,158,0,0,0,159,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,5,0,0,160,0,0,0,161,0,0,0,119,0,0,0,27,0,0,0,21,0,0,0,28,0,0,0,22,0,0,0,29,0,0,0,9,0,0,0,23,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,4,0,0,162,0,0,0,163,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,50,0,0,0,51,0,0,0,13,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,5,0,0,164,0,0,0,165,0,0,0,119,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,80,5,0,0,166,0,0,0,167,0,0,0,119,0,0,0,55,0,0,0,56,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,0,0,0,0,32,4,0,0,168,0,0,0,169,0,0,0,119,0,0,0,0,0,0,0,48,4,0,0,168,0,0,0,170,0,0,0,119,0,0,0,24,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,30,0,0,0,25,0,0,0,31,0,0,0,26,0,0,0,32,0,0,0,13,0,0,0,27,0,0,0,14,0,0,0,0,0,0,0,80,4,0,0,168,0,0,0,171,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,57,0,0,0,58,0,0,0,16,0,0,0,59,0,0,0,0,0,0,0,112,4,0,0,168,0,0,0,172,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,60,0,0,0,61,0,0,0,18,0,0,0,62,0,0,0,0,0,0,0,144,4,0,0,168,0,0,0,173,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,176,4,0,0,168,0,0,0,174,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,192,4,0,0,168,0,0,0,175,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,119,83,116,114,101,97,109,32,111,114,32,114,97,119,68,97,116,97,32,110,101,101,100,115,32,116,111,32,114,101,102,101,114,101,110,99,101,32,116,111,32,115,111,109,101,116,104,105,110,103,0,119,105,100,116,104,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,104,101,105,103,104,116,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,98,105,116,115,112,101,114,115,97,109,112,108,101,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,50,44,32,49,54,93,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,116,32,116,111,32,97,32,118,97,108,117,101,32,111,102,32,123,78,111,110,101,44,32,83,97,109,112,108,101,44,32,76,105,110,101,125,0,99,111,109,112,111,110,101,110,116,115,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,50,53,53,93,0,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,111,116,104,101,114,32,112,97,114,97,109,101,116,101,114,115,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,116,111,32,83,97,109,112,108,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,52,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,32,111,110,108,121,32,98,101,32,115,101,116,32,116,111,32,78,111,110,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,49,0,67,111,108,111,114,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,0,78,111,32,109,111,114,101,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,32,105,110,32,105,110,112,117,116,32,98,117,102,102,101,114,44,32,115,116,105,108,108,32,110,101,101,100,101,100,105,110,103,32,0,65,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,40,0,41,32,99,97,110,110,111,116,32,98,101,32,115,119,97,112,112,101,100,46,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,69,0,49,49,80,114,111,99,101,115,115,76,105,110,101,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,57,98,97,115,105,99,95,111,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,116,69,69,0,50,50,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,83,116,114,101,97,109,0,50,53,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,67,111,109,112,111,110,101,110,116,0,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,104,69,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,67,104,97,114,76,83,32,101,114,114,111,114,0,99,104,97,114,108,115,0,49,53,99,104,97,114,108,115,95,99,97,116,101,103,111,114,121,0,112,97,114,97,109,115,46,88,116,104,117,109,98,110,97,105,108,32,105,115,32,62,32,48,32,98,117,116,32,112,97,114,97,109,115,46,116,104,117,109,98,110,97,105,108,32,61,61,32,110,117,108,108,95,112,116,114,0,49,55,74,112,101,103,77,97,114,107,101,114,83,101,103,109,101,110,116,0,49,49,74,112,101,103,83,101,103,109,101,110,116,0,50,48,74,112,101,103,73,109,97,103,101,68,97,116,97,83,101,103,109,101,110,116,0,69,120,112,101,99,116,101,100,32,74,80,69,71,32,77,97,114,107,101,114,32,115,116,97,114,116,32,98,121,116,101,32,48,120,70,70,32,98,117,116,32,116,104,101,32,98,121,116,101,32,118,97,108,117,101,32,119,97,115,32,48,120,0,74,80,69,71,32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,109,97,114,107,101,114,32,0,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,0,85,110,107,110,111,119,110,32,74,80,69,71,32,109,97,114,107,101,114,32,0,32,101,110,99,111,117,110,116,101,114,101,100,46,0,109,114,102,120,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,83,116,57,116,121,112,101,95,105,110,102,111,0,83,116,56,98,97,100,95,99,97,115,116,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+42396);allocate([32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+52636);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,58,32,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,105,111,115,116,114,101,97,109,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+56215);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}Module["_memset"]=_memset;var _BDtoILow=true;var _emscripten_resume=true;function ___gxx_personality_v0(){}var _emscripten_landingpad=true;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){return leadingNulls(date.tm_hour<13?date.tm_hour:date.tm_hour-12,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>0&&date.tm_hour<13){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _abort(){Module["abort"]()}function _free(){}Module["_free"]=_free;function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown){___cxa_end_catch.rethrown=false;return}asm["setThrew"](0);var ptr=EXCEPTIONS.caught.pop();if(ptr){EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(ptr));EXCEPTIONS.last=0}}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}var _fabs=Math_abs;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}});if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||function(){};canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){Module["noExitRuntime"]=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){Module["noExitRuntime"]=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},xhrLoad:function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)},asyncLoad:function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(!noRunDep)addRunDependency("al "+url)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];return ret},getStr:function(){var ret=Pointer_stringify(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_i64Add"]=_i64Add;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push(function(){Runtime.dynCall("vi",routine,[arg])});_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _llvm_eh_typeid_for(type){return type}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_mutex_lock(){}var _emscripten_postinvoke=true;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")}}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_bitshift64Shl"]=_bitshift64Shl;function ___cxa_guard_abort(){}Module["_memmove"]=_memmove;var _emscripten_preinvoke=true;var _BItoD=true;function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=true;var ptr=EXCEPTIONS.caught.pop();EXCEPTIONS.last=ptr;throw ptr}function _pthread_mutex_unlock(){}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function $b(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ac(a){a=a|0;D=a}function bc(){return D|0}function cc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+128|0;p=w+44|0;s=w+8|0;l=w+4|0;n=w;q=e+4|0;r=e+8|0;o=0;Aa(35,c[e>>2]|0,c[q>>2]|0,c[r>>2]|0,f|0);m=o;o=0;if(!(m&1)){j=p;h=j+84|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(h|0));f=p+12|0;if((c[f>>2]|0)==0?(k=$(((c[p+8>>2]|0)+7|0)/8|0,c[p>>2]|0)|0,c[f>>2]=k,(c[p+24>>2]|0)!=0):0)c[f>>2]=$(c[p+16>>2]|0,k)|0;o=0;ha(176,s|0);m=o;o=0;if(!(m&1)){f=p+56|0;do{if(c[f>>2]|0){o=0;f=ka(66,f|0)|0;m=o;o=0;if(!(m&1)){c[l>>2]=f;h=s+28|0;j=c[h>>2]|0;if(j>>>0<(c[s+32>>2]|0)>>>0){c[j>>2]=f;c[h>>2]=j+4;c[l>>2]=0;t=19;break}o=0;ia(57,s+24|0,l|0);m=o;o=0;if(m&1){h=Na(824,0)|0;f=D;j=c[l>>2]|0;c[l>>2]=0;if(!j)break;Bb[c[(c[j>>2]|0)+4>>2]&255](j);break}else{f=c[l>>2]|0;c[l>>2]=0;if(!f){t=19;break}Bb[c[(c[f>>2]|0)+4>>2]&255](f);t=19;break}}else t=15}else t=19}while(0);a:do{if((t|0)==19){j=p+4|0;k=p+8|0;l=p+16|0;o=0;f=va(14,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;m=o;o=0;if(!(m&1)){c[n>>2]=f;m=s+28|0;h=c[m>>2]|0;do{if(h>>>0>=(c[s+32>>2]|0)>>>0){o=0;ia(57,s+24|0,n|0);h=o;o=0;if(h&1){h=Na(824,0)|0;f=D;j=c[n>>2]|0;c[n>>2]=0;if(!j)break a;Bb[c[(c[j>>2]|0)+4>>2]&255](j);break a}else{f=c[n>>2]|0;c[n>>2]=0;if(!f)break;Bb[c[(c[f>>2]|0)+4>>2]&255](f);break}}else{c[h>>2]=f;c[m>>2]=h+4;c[n>>2]=0}}while(0);f=c[p+28>>2]|0;if((f|0)!=0?(o=0,ia(58,s|0,f|0),t=o,o=0,t&1):0){t=15;break}b:do{if(!(c[p+24>>2]|0)){f=$(c[j>>2]|0,c[p>>2]|0)|0;f=$(f,((c[k>>2]|0)+7|0)/8|0)|0;if((c[l>>2]|0)>0){j=0;while(1){o=0;wa(4,s|0,e|0,p|0);t=o;o=0;if(t&1)break;h=c[q>>2]|0;if(h){c[q>>2]=h+f;c[r>>2]=(c[r>>2]|0)-f}j=j+1|0;if((j|0)>=(c[l>>2]|0))break b}h=Na(824,0)|0;f=D;t=16;break a}}else{o=0;wa(4,s|0,e|0,p|0);t=o;o=0;if(t&1){t=15;break a}}}while(0);o=0;ra(33,s|0,b|0)|0;t=o;o=0;if(!(t&1)){c[d>>2]=c[s+16>>2];if(g)a[g>>0]=0;j=s+24|0;f=c[j>>2]|0;if(f){h=c[m>>2]|0;if((h|0)!=(f|0)){do{g=h+-4|0;c[m>>2]=g;h=c[g>>2]|0;c[g>>2]=0;if(h)Bb[c[(c[h>>2]|0)+4>>2]&255](h);h=c[m>>2]|0}while((h|0)!=(f|0));f=c[j>>2]|0}cj(f)}g=0;i=w;return g|0}else t=15}else t=15}}while(0);if((t|0)==15){h=Na(824,0)|0;f=D;t=16}m=s+24|0;j=c[m>>2]|0;if(j){l=s+28|0;k=c[l>>2]|0;if((k|0)!=(j|0)){do{s=k+-4|0;c[l>>2]=s;k=c[s>>2]|0;c[s>>2]=0;if(k)Bb[c[(c[k>>2]|0)+4>>2]&255](k);k=c[l>>2]|0}while((k|0)!=(j|0));j=c[m>>2]|0}cj(j)}}else t=5}else t=5;if((t|0)==5){h=Na(824,0)|0;f=D}s=(f|0)==(Ta(824)|0);k=Va(h|0)|0;f=(g|0)==0;if(!s){if(!f)a[g>>0]=0;Xa();g=14;i=w;return g|0}j=k+12|0;do{if(!f){f=c[j>>2]|0;o=0;h=ua(1)|0;s=o;o=0;if(!(s&1))if((f|0)==(h|0)){ml(g,Eb[c[(c[k>>2]|0)+8>>2]&127](k)|0)|0;t=60;break}else{a[g>>0]=0;t=60;break}}else t=60}while(0);if((t|0)==60?(u=c[j>>2]|0,o=0,v=ua(1)|0,g=o,o=0,!(g&1)):0){g=(u|0)==(v|0)?c[k+8>>2]|0:13;Xa();i=w;return g|0}f=Na()|0;o=0;xa(3);w=o;o=0;if(w&1){w=Na(0)|0;ec(w)}else Ya(f|0);return 0}function dc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;l=i;i=i+112|0;g=l+96|0;k=l+84|0;m=l+72|0;n=l+60|0;p=l+48|0;q=l+36|0;r=l+24|0;s=l+12|0;t=l;j=(b|0)==0;if((a|0)==0&j){f=Ma(16)|0;o=0;wa(5,g|0,48504,52);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,g|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(g);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}h=c[e>>2]|0;if((h+-1|0)>>>0>65534){f=Ma(16)|0;o=0;wa(5,k|0,48557,41);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,k|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(k);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}g=c[e+4>>2]|0;if((g+-1|0)>>>0>65534){f=Ma(16)|0;o=0;wa(5,m|0,48599,42);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,m|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(m);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}f=c[e+8>>2]|0;if((f+-2|0)>>>0>14){f=Ma(16)|0;o=0;wa(5,n|0,48642,46);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,n|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(n);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}a=c[e+24>>2]|0;if(a>>>0>=3){f=Ma(16)|0;o=0;wa(5,p|0,48689,65);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,p|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(p);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}b=c[e+16>>2]|0;if((b+-1|0)>>>0>254){f=Ma(16)|0;o=0;wa(5,q|0,48755,44);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,q|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(q);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}if(!j?(q=$(g,h)|0,($($(q,(f|0)>8?2:1)|0,b)|0)>>>0>d>>>0):0){f=Ma(16)|0;o=0;wa(5,r|0,48800,58);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,r|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(r);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}switch(b|0){case 4:{if((a|0)!=2){i=l;return}f=Ma(16)|0;o=0;wa(5,s|0,48859,73);t=o;o=0;if(!(t&1)){o=0;b=ua(1)|0;t=o;o=0;if(!(t&1)?(o=0,Aa(36,f|0,1,b|0,s|0),t=o,o=0,!(t&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(s);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}case 3:{i=l;return}default:{if(!a){i=l;return}f=Ma(16)|0;o=0;wa(5,t|0,48933,73);s=o;o=0;if(!(s&1)){o=0;b=ua(1)|0;s=o;o=0;if(!(s&1)?(o=0,Aa(36,f|0,1,b|0,t|0),s=o,o=0,!(s&1)):0){o=0;wa(6,f|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(t);if(!a){t=b;Ya(t|0)}}else b=Na()|0;La(f|0);t=b;Ya(t|0)}}}function ec(a){a=a|0;Va(a|0)|0;jj()}function fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;h=n+116|0;j=n;o=0;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];ia(59,j|0,h|0);g=o;o=0;if(!(g&1)){if(e){g=j+16|0;d=g+84|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(d|0))}o=0;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];ia(60,j|0,h|0);j=o;o=0;if(!(j&1)){if(f)a[f>>0]=0;m=0;i=n;return m|0}}b=Na(824,0)|0;j=D;j=(j|0)==(Ta(824)|0);b=Va(b|0)|0;d=(f|0)==0;if(!j){if(!d)a[f>>0]=0;Xa();m=14;i=n;return m|0}g=b+12|0;do{if(!d){d=c[g>>2]|0;o=0;e=ua(1)|0;j=o;o=0;if(!(j&1))if((d|0)==(e|0)){ml(f,Eb[c[(c[b>>2]|0)+8>>2]&127](b)|0)|0;m=10;break}else{a[f>>0]=0;m=10;break}}else m=10}while(0);if((m|0)==10?(k=c[g>>2]|0,o=0,l=ua(1)|0,m=o,o=0,!(m&1)):0){m=(k|0)==(l|0)?c[b+8>>2]|0:13;Xa();i=n;return m|0}d=Na()|0;o=0;xa(3);n=o;o=0;if(n&1){n=Na(0)|0;ec(n)}else Ya(d|0);return 0}function gc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+128|0;g=l+116|0;f=l;o=0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];ia(59,f|0,g|0);g=o;o=0;if((!(g&1)?(o=0,ha(177,f|0),g=o,o=0,!(g&1)):0)?(o=0,ia(61,f|0,1),g=o,o=0,!(g&1)):0){b=f+16|0;f=d+84|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(f|0));if(e)a[e>>0]=0;e=0;i=l;return e|0}g=Na(824,0)|0;d=D;d=(d|0)==(Ta(824)|0);g=Va(g|0)|0;b=(e|0)==0;if(!d){if(!b)a[e>>0]=0;Xa();e=14;i=l;return e|0}d=g+12|0;do{if(!b){b=c[d>>2]|0;o=0;f=ua(1)|0;m=o;o=0;if(!(m&1))if((b|0)==(f|0)){ml(e,Eb[c[(c[g>>2]|0)+8>>2]&127](g)|0)|0;k=13;break}else{a[e>>0]=0;k=13;break}}else k=13}while(0);if((k|0)==13?(h=c[d>>2]|0,o=0,j=ua(1)|0,m=o,o=0,!(m&1)):0){m=(h|0)==(j|0)?c[g+8>>2]|0:13;Xa();i=l;return m|0}b=Na()|0;o=0;xa(3);m=o;o=0;if(m&1){m=Na(0)|0;ec(m)}else Ya(b|0);return 0}function hc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n+36|0;j=n+24|0;l=n+12|0;m=n;if(!((a|0)!=0&(d|0)!=0&(e|0)!=0&(g|0)!=0)){f=1;i=n;return f|0}c[l>>2]=0;c[l+4>>2]=a;c[l+8>>2]=b;c[m>>2]=0;c[m+4>>2]=e;c[m+8>>2]=f;c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];f=cc(j,d,k,g,h)|0;i=n;return f|0}function ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+12|0;h=f;j=h;c[j>>2]=0;c[j+4>>2]=0;c[h+4>>2]=a;c[h+8>>2]=b;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];d=gc(g,d,e)|0;i=f;return d|0}function jc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+48|0;j=h+36|0;k=h+24|0;m=h+12|0;l=h;c[m>>2]=0;c[m+4>>2]=a;c[m+8>>2]=b;c[l>>2]=0;c[l+4>>2]=d;c[l+8>>2]=e;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[j>>2]=c[l>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];e=fc(k,j,f,g)|0;i=h;return e|0}function kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+4|0;d=c[a>>2]|0;f=((c[k>>2]|0)-d>>2)+1|0;if(f>>>0>1073741823){$i(a);d=c[a>>2]|0}l=a+8|0;e=(c[l>>2]|0)-d|0;if(e>>2>>>0<536870911){e=e>>1;e=e>>>0>>0?f:e;d=(c[k>>2]|0)-d>>2;if(!e){g=0;h=0}else i=6}else{e=1073741823;d=(c[k>>2]|0)-d>>2;i=6}if((i|0)==6){g=e;h=bj(e<<2)|0}f=h+(d<<2)|0;e=f;j=h+(g<<2)|0;i=c[b>>2]|0;c[b>>2]=0;c[f>>2]=i;i=h+(d+1<<2)|0;h=c[a>>2]|0;d=c[k>>2]|0;if((d|0)==(h|0)){f=a;g=k}else{do{d=d+-4|0;b=c[d>>2]|0;c[d>>2]=0;c[f+-4>>2]=b;f=e+-4|0;e=f}while((d|0)!=(h|0));d=e;f=a;g=k;e=d;h=c[a>>2]|0;d=c[k>>2]|0}c[f>>2]=e;c[g>>2]=i;c[l>>2]=j;f=h;if((d|0)!=(f|0))do{d=d+-4|0;e=c[d>>2]|0;c[d>>2]=0;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e)}while((d|0)!=(f|0));if(!h)return;cj(h);return}function lc(){if(a[8]|0)return 35648;if(!(Ha(8)|0))return 35648;kb(72,35648,n|0)|0;Pa(8);return 35648}function mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;Ei(l,(1<>2]|0;m=h+1|0;e=m<<1;c[b>>2]=0;j=b+4|0;c[j>>2]=0;c[b+8>>2]=0;a:do{if(m){if(!((h|0)<-1?(o=0,ha(178,b|0),k=o,o=0,k&1):0))f=4;if((f|0)==4?(o=0,g=ka(67,e|0)|0,k=o,o=0,!(k&1)):0){c[j>>2]=g;c[b>>2]=g;c[b+8>>2]=g+e;d=g;while(1){a[d>>0]=0;d=(c[j>>2]|0)+1|0;c[j>>2]=d;e=e+-1|0;if(!e)break a}}e=Na()|0;d=c[b>>2]|0;if(!d)Ya(e|0);if((c[j>>2]|0)!=(d|0))c[j>>2]=d;cj(d);Ya(e|0)}}while(0);d=~h;if((h|0)<(d|0)){i=n;return}j=l+12|0;k=l+8|0;h=l+4|0;g=d;do{d=c[j>>2]|0;if((g|0)>(0-d|0)){e=c[k>>2]|0;if((g|0)>(0-e|0)){f=c[h>>2]|0;if((g|0)>(0-f|0))if((g|0)>=0)if((g|0)>0)if((f|0)<=(g|0))if((e|0)>(g|0))d=2;else d=(d|0)>(g|0)?3:4;else d=1;else d=0;else d=-1;else d=-2}else d=-3}else d=-4;a[(c[b>>2]|0)+(g+m)>>0]=d;g=g+1|0}while((g|0)<(m|0));i=n;return}function nc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=c[f+16>>2]|0;switch(q|0){case 64:case 0:{o=0;d=ra(34,d|0,e|0)|0;e=o;o=0;if(e&1)r=16;else g=d;break}default:{h=(1<>2])+-1|0;p=c[e+20>>2]|0;n=p<<1;n=((n+h|0)/(n|1|0)|0)+1|0;d=0;while(1)if((1<>2]|0;o=0;g=ka(67,4624)|0;m=o;o=0;if(m&1)r=16;else{i=((j|0)<8?8:j)+j<<1;k=g+4|0;l=e;m=k+84|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));k=g+88|0;m=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));c[g>>2]=35660;c[g+128>>2]=h;c[g+132>>2]=n;c[g+136>>2]=p;c[g+140>>2]=d;c[g+144>>2]=j;c[g+148>>2]=i;c[g+152>>2]=q;d=g+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+172>>2]=c[e>>2];c[g+176>>2]=0;c[g+180>>2]=0;c[g+184>>2]=0;d=g+4568|0;h=g+188|0;do{c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;b[h+10>>1]=1;h=h+12|0}while((h|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1}}}if((r|0)==16){r=Na()|0;Ya(r|0)}if(!g)return g|0;o=0;ia(c[(c[g>>2]|0)+12>>2]|0,g|0,f|0);r=o;o=0;if(!(r&1))return g|0;d=Na()|0;if(!g){r=d;Ya(r|0)}Bb[c[(c[g>>2]|0)+4>>2]&255](g);r=d;Ya(r|0);return 0}function oc(d,e){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;f=(c[e+24>>2]|0)==2;if(f?(c[e+16>>2]|0)!=3:0){e=0;return e|0}n=c[e+20>>2]|0;d=c[e+8>>2]|0;a:do{if(!n){if(f){if((d|0)!=8)break;g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35688;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}switch(d|0){case 8:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35716;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}case 12:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35744;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}case 16:{g=bj(4600)|0;j=g+4|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=g+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[g>>2]=35772;d=g+132|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+148>>2]=c[e>>2];c[g+152>>2]=0;c[g+156>>2]=0;c[g+160>>2]=0;d=g+4544|0;f=g+164|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4556|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4568|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+28>>2]|0))c[g+20>>2]=1;e=g;return e|0}default:break a}}}while(0);m=(1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35800;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35660;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}}if((d|0)>=17){e=0;return e|0}i=n<<1;i=((i+m|0)/(i|1|0)|0)+1|0;if(f){d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35828;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=h+88|0;l=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(l|0));c[h>>2]=35856;c[h+128>>2]=m;c[h+132>>2]=i;c[h+136>>2]=n;c[h+140>>2]=d;c[h+144>>2]=f;c[h+148>>2]=g;c[h+152>>2]=64;d=h+156|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+172>>2]=c[e>>2];c[h+176>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+4568|0;f=h+188|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4580|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+28>>2]|0))c[h+20>>2]=1;e=h;return e|0}return 0}function pc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=c[f+16>>2]|0;switch(q|0){case 64:case 0:{o=0;d=ra(35,d|0,e|0)|0;e=o;o=0;if(e&1)r=16;else g=d;break}default:{h=(1<>2])+-1|0;p=c[e+20>>2]|0;n=p<<1;n=((n+h|0)/(n|1|0)|0)+1|0;d=0;while(1)if((1<>2]|0;o=0;g=ka(67,4632)|0;m=o;o=0;if(m&1)r=16;else{i=((j|0)<8?8:j)+j<<1;c[g+4>>2]=0;k=g+8|0;l=e;m=k+84|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;m=g+116|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[g>>2]=35884;c[g+136>>2]=h;c[g+140>>2]=n;c[g+144>>2]=p;c[g+148>>2]=d;c[g+152>>2]=j;c[g+156>>2]=i;c[g+160>>2]=q;d=g+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+180>>2]=c[e>>2];c[g+184>>2]=0;c[g+188>>2]=0;c[g+192>>2]=0;d=g+4576|0;h=g+196|0;do{c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;b[h+10>>1]=1;h=h+12|0}while((h|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1}}}if((r|0)==16){r=Na()|0;Ya(r|0)}if(!g)return g|0;o=0;ia(c[(c[g>>2]|0)+8>>2]|0,g|0,f|0);r=o;o=0;if(!(r&1))return g|0;d=Na()|0;if(!g){r=d;Ya(r|0)}Bb[c[(c[g>>2]|0)+4>>2]&255](g);r=d;Ya(r|0);return 0}function qc(d,e){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;f=(c[e+24>>2]|0)==2;if(f?(c[e+16>>2]|0)!=3:0){e=0;return e|0}n=c[e+20>>2]|0;d=c[e+8>>2]|0;a:do{if(!n){if(f){if((d|0)!=8)break;g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35912;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}switch(d|0){case 8:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35940;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}case 12:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35968;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}case 16:{g=bj(4608)|0;c[g+4>>2]=0;j=g+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[g+92>>2]=0;c[g+96>>2]=0;c[g+100>>2]=32;c[g+104>>2]=0;c[g+108>>2]=0;a[g+112>>0]=0;d=g+116|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[g>>2]=35996;d=g+140|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[g+156>>2]=c[e>>2];c[g+160>>2]=0;c[g+164>>2]=0;c[g+168>>2]=0;d=g+4552|0;f=g+172|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=g+4564|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=g+4576|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[g+32>>2]|0))c[g+24>>2]=1;e=g;return e|0}default:break a}}}while(0);m=(1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36024;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=35884;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}}if((d|0)>=17){e=0;return e|0}i=n<<1;i=((i+m|0)/(i|1|0)|0)+1|0;if(f){d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36052;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}else{d=0;while(1)if((1<>2]=0;j=h+8|0;k=e;l=j+84|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=32;c[h+104>>2]=0;c[h+108>>2]=0;a[h+112>>0]=0;l=h+116|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[h>>2]=36080;c[h+136>>2]=m;c[h+140>>2]=i;c[h+144>>2]=n;c[h+148>>2]=d;c[h+152>>2]=f;c[h+156>>2]=g;c[h+160>>2]=64;d=h+164|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[h+180>>2]=c[e>>2];c[h+184>>2]=0;c[h+188>>2]=0;c[h+192>>2]=0;d=h+4576|0;f=h+196|0;do{c[f>>2]=0;c[f+4>>2]=0;b[f+8>>1]=0;b[f+10>>1]=1;f=f+12|0}while((f|0)!=(d|0));c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;a[d+10>>0]=0;e=h+4588|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;a[e+10>>0]=0;e=h+4600|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;if(!(c[h+32>>2]|0))c[h+24>>2]=1;e=h;return e|0}return 0}function rc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=2832;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=4880);iw(2832,0,2048)|0;a=0;do{h=2832+(a+128<<3)|0;c[h>>2]=0;c[h+4>>2]=1;a=a+1|0}while((a|0)!=128);a=3088;c[a>>2]=1;c[a+4>>2]=3;a=3096;c[a>>2]=1;c[a+4>>2]=3;a=3104;c[a>>2]=1;c[a+4>>2]=3;a=3112;c[a>>2]=1;c[a+4>>2]=3;a=3120;c[a>>2]=1;c[a+4>>2]=3;a=3128;c[a>>2]=1;c[a+4>>2]=3;a=3136;c[a>>2]=1;c[a+4>>2]=3;a=3144;c[a>>2]=1;c[a+4>>2]=3;a=3152;c[a>>2]=1;c[a+4>>2]=3;a=3160;c[a>>2]=1;c[a+4>>2]=3;a=3168;c[a>>2]=1;c[a+4>>2]=3;a=3176;c[a>>2]=1;c[a+4>>2]=3;a=3184;c[a>>2]=1;c[a+4>>2]=3;a=3192;c[a>>2]=1;c[a+4>>2]=3;a=3200;c[a>>2]=1;c[a+4>>2]=3;a=3208;c[a>>2]=1;c[a+4>>2]=3;a=3216;c[a>>2]=1;c[a+4>>2]=3;a=3224;c[a>>2]=1;c[a+4>>2]=3;a=3232;c[a>>2]=1;c[a+4>>2]=3;a=3240;c[a>>2]=1;c[a+4>>2]=3;a=3248;c[a>>2]=1;c[a+4>>2]=3;a=3256;c[a>>2]=1;c[a+4>>2]=3;a=3264;c[a>>2]=1;c[a+4>>2]=3;a=3272;c[a>>2]=1;c[a+4>>2]=3;a=3280;c[a>>2]=1;c[a+4>>2]=3;a=3288;c[a>>2]=1;c[a+4>>2]=3;a=3296;c[a>>2]=1;c[a+4>>2]=3;a=3304;c[a>>2]=1;c[a+4>>2]=3;a=3312;c[a>>2]=1;c[a+4>>2]=3;a=3320;c[a>>2]=1;c[a+4>>2]=3;a=3328;c[a>>2]=1;c[a+4>>2]=3;a=3336;c[a>>2]=1;c[a+4>>2]=3;a=2896;c[a>>2]=2;c[a+4>>2]=5;a=2904;c[a>>2]=2;c[a+4>>2]=5;a=2912;c[a>>2]=2;c[a+4>>2]=5;a=2920;c[a>>2]=2;c[a+4>>2]=5;a=2928;c[a>>2]=2;c[a+4>>2]=5;a=2936;c[a>>2]=2;c[a+4>>2]=5;a=2944;c[a>>2]=2;c[a+4>>2]=5;a=2952;c[a>>2]=2;c[a+4>>2]=5;a=2848;c[a>>2]=3;c[a+4>>2]=7;a=2856;c[a>>2]=3;c[a+4>>2]=7;a=0;do{h=2832+(a+64<<3)|0;c[h>>2]=-1;c[h+4>>2]=2;a=a+1|0}while((a|0)!=64);a=2960;c[a>>2]=-2;c[a+4>>2]=4;a=2968;c[a>>2]=-2;c[a+4>>2]=4;a=2976;c[a>>2]=-2;c[a+4>>2]=4;a=2984;c[a>>2]=-2;c[a+4>>2]=4;a=2992;c[a>>2]=-2;c[a+4>>2]=4;a=3e3;c[a>>2]=-2;c[a+4>>2]=4;a=3008;c[a>>2]=-2;c[a+4>>2]=4;a=3016;c[a>>2]=-2;c[a+4>>2]=4;a=3024;c[a>>2]=-2;c[a+4>>2]=4;a=3032;c[a>>2]=-2;c[a+4>>2]=4;a=3040;c[a>>2]=-2;c[a+4>>2]=4;a=3048;c[a>>2]=-2;c[a+4>>2]=4;a=3056;c[a>>2]=-2;c[a+4>>2]=4;a=3064;c[a>>2]=-2;c[a+4>>2]=4;a=3072;c[a>>2]=-2;c[a+4>>2]=4;a=3080;c[a>>2]=-2;c[a+4>>2]=4;a=2864;c[a>>2]=-3;c[a+4>>2]=6;a=2872;c[a>>2]=-3;c[a+4>>2]=6;a=2880;c[a>>2]=-3;c[a+4>>2]=6;a=2888;c[a>>2]=-3;c[a+4>>2]=6;a=2840;c[a>>2]=-4;c[a+4>>2]=8;a=4880;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=6928);iw(4880,0,2048)|0;d=2;a=0;f=0;g=0;while(1){d=d<<16>>16;b=8-d|0;e=1<>2]=f;c[h+4>>2]=d;b=b+1|0}while((b|0)<(e|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==7){b=2;f=1;g=-1;h=-1;break}else{d=(a>>1)+2|0;f=b>>16}}while(1){d=b<<16>>16;a=8-d|0;e=1<>2]=g;c[f+4>>2]=d;b=b+1|0}while((b|0)<(e|0))}a=(h<<16)+-65536|0;f=a>>31^a>>15;b=(f>>1)+2|0;if((b|0)>8){a=6928;break}else{g=a>>16;h=h+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=8976);iw(6928,0,2048)|0;f=3;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==12){f=3;b=1;e=-1;g=-1;break}else{f=(a>>2)+3|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>2)+3|0;if((f|0)>8){a=8976;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=11024);iw(8976,0,2048)|0;f=4;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==20){f=4;b=1;e=-1;g=-1;break}else{f=(a>>3)+4|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>3)+4|0;if((f|0)>8){a=11024;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=13072);iw(11024,0,2048)|0;f=5;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==32){f=5;b=1;e=-1;g=-1;break}else{f=(a>>4)+5|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>4)+5|0;if((f|0)>8){a=13072;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=15120);iw(13072,0,2048)|0;f=6;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==48){f=6;b=1;e=-1;g=-1;break}else{f=(a>>5)+6|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>5)+6|0;if((f|0)>8){a=15120;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=17168);iw(15120,0,2048)|0;f=7;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==64){f=7;b=1;e=-1;g=-1;break}else{f=(a>>6)+7|0;e=b>>16}}while(1){a=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}a=(g<<16)+-65536|0;b=a>>31^a>>15;f=(b>>6)+7|0;if((f|0)>8){a=17168;break}else{e=a>>16;g=g+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=19216);iw(17168,0,2048)|0;f=8;a=0;e=0;g=0;while(1){b=8-f|0;d=1<>2]=e;c[h+4>>2]=f;b=b+1|0}while((b|0)<(d|0))}b=(g<<16)+65536|0;a=b>>31^b>>15;g=g+1|0;if((g|0)==64){g=8;e=1;f=-1;h=-1;break}else{f=(a>>7)+8|0;e=b>>16}}while(1){a=8-g|0;d=1<>2]=f;c[e+4>>2]=g;b=b+1|0}while((b|0)<(d|0))}b=(h<<16)+-65536|0;e=b>>31^b>>15;a=e>>7;if((a|0)>0){a=19216;break}else{g=a+8|0;f=b>>16;h=h+-1|0}}do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=21264);iw(19216,0,2048)|0;a=21264;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=23312);iw(21264,0,2048)|0;a=23312;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=25360);iw(23312,0,2048)|0;a=25360;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=27408);iw(25360,0,2048)|0;a=27408;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=29456);iw(27408,0,2048)|0;a=29456;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=31504);iw(29456,0,2048)|0;a=31504;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=33552);iw(31504,0,2048)|0;a=33552;do{c[a>>2]=0;c[a+4>>2]=0;a=a+8|0}while((a|0)!=35600);iw(33552,0,2048)|0;mc(35600,8);kb(179,35600,n|0)|0;mc(35612,10);kb(179,35612,n|0)|0;mc(35624,12);kb(179,35624,n|0)|0;mc(35636,16);kb(179,35636,n|0)|0;return}function sc(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;a=a+4|0;if((c[a>>2]|0)!=(b|0))c[a>>2]=b;cj(b);return}function tc(a){a=a|0;var b=0,d=0;c[a>>2]=36080;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function uc(a){a=a|0;var b=0,d=0;c[a>>2]=36080;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function vc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;he(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function wc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35856;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Yd(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Yd(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function xc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function yc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36460;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36436;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Ac(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36412;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0;c[b>>2]=36388;c[b+4>>2]=e;n=b+8|0;h=c[e>>2]|0;l=e+16|0;f=c[l>>2]|0;i=$(f,h)|0;c[n>>2]=0;p=b+12|0;c[p>>2]=0;c[b+16>>2]=0;do{if(i){if(!((i|0)<0?(o=0,ha(178,n|0),h=o,o=0,h&1):0))m=4;if((m|0)==4?(j=i<<1,o=0,k=ka(67,j|0)|0,h=o,o=0,!(h&1)):0){c[n>>2]=k;h=k+(i<<1)|0;c[b+16>>2]=h;iw(k|0,0,j|0)|0;c[p>>2]=h;h=c[e>>2]|0;f=c[l>>2]|0;break}i=Na()|0;g=c[n>>2]|0;f=g;if(g){h=c[p>>2]|0;if((h|0)!=(g|0))c[p>>2]=h+(~((h+-2-f|0)>>>1)<<1);cj(g)}p=i;Ya(p|0)}}while(0);i=b+20|0;f=$(h<<1,f)|0;c[i>>2]=0;j=b+24|0;c[j>>2]=0;c[b+28>>2]=0;if(!f){p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))m=13;if((m|0)==13?(o=0,g=ka(67,f|0)|0,m=o,o=0,!(m&1)):0){c[j>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=f+-1|0}while((f|0)!=0);p=b+36|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];return}h=Na()|0;g=c[i>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}g=c[n>>2]|0;if(!g){p=h;Ya(p|0)}f=c[p>>2]|0;if((f|0)!=(g|0))c[p>>2]=f+(~((f+-2-g|0)>>>1)<<1);cj(g);p=h;Ya(p|0)}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+32|0;Jm(i,d)|0;h=b+44|0;c[h>>2]=0;j=b+48|0;g=c[j>>2]|0;if(g&8){d=a[i>>0]|0;if(!(d&1)){d=((d&255)>>>1)+(i+1)|0;c[h>>2]=d;e=i+1|0;f=i+1|0}else{d=(c[b+40>>2]|0)+(c[b+36>>2]|0)|0;c[h>>2]=d;f=c[b+40>>2]|0;e=f}c[b+8>>2]=e;c[b+12>>2]=f;c[b+16>>2]=d}if(!(g&16))return;d=a[i>>0]|0;if(!(d&1)){g=(d&255)>>>1;c[h>>2]=i+1+g;d=10;h=g}else{g=c[b+36>>2]|0;c[h>>2]=(c[b+40>>2]|0)+g;d=(c[i>>2]&-2)+-1|0;h=g}Mm(i,d,0);d=a[i>>0]|0;if(!(d&1)){g=i+1|0;f=(d&255)>>>1;e=i+1|0}else{e=c[b+40>>2]|0;g=e;f=c[b+36>>2]|0}d=b+24|0;c[d>>2]=e;c[b+20>>2]=e;c[b+28>>2]=g+f;if(!(c[j>>2]&3))return;c[d>>2]=e+h;return}function Dc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;j=q+16|0;p=q+8|0;k=q;o=0;ia(65,p|0,b|0);m=o;o=0;a:do{if(m&1){e=Na(0)|0;f=b;g=b}else{do{if(a[p>>0]|0){f=c[(c[b>>2]|0)+-12>>2]|0;c[k>>2]=c[b+(f+24)>>2];l=b+f|0;m=c[b+(f+4)>>2]|0;g=d+e|0;f=b+(f+76)|0;e=c[f>>2]|0;do{if((e|0)==-1){o=0;e=ka(68,l|0)|0;r=o;o=0;if(r&1)n=13;else{c[j>>2]=e;o=0;e=ra(37,j|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(j);e=h<<24>>24;c[f>>2]=e;n=9;break}e=Na(0)|0;Gs(j)}}else n=9}while(0);if((n|0)==9){o=0;c[j>>2]=c[k>>2];e=ja(39,j|0,d|0,((m&176|0)==32?g:d)|0,g|0,l|0,e&255|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break;else n=13}else n=13}if((n|0)==13)e=Na(0)|0;ho(p);f=b;g=b;break a}}while(0);ho(p);i=q;return b|0}}while(0);Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();i=q;return b|0}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0);return 0}function Ec(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[d+48>>2]|0;if(e&16){e=d+44|0;f=c[e>>2]|0;g=c[d+24>>2]|0;if(f>>>0>>0)c[e>>2]=g;else g=f;f=c[d+20>>2]|0;h=g-f|0;if(h>>>0>4294967279)_i(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{d=h+16&-16;e=bj(d)|0;c[b+8>>2]=e;c[b>>2]=d|1;c[b+4>>2]=h}if((f|0)!=(g|0)){d=e;while(1){a[d>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(g|0))break;else d=d+1|0}e=e+h|0}a[e>>0]=0;return}if(!(e&8)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}f=c[d+8>>2]|0;d=c[d+16>>2]|0;h=d-f|0;if(h>>>0>4294967279)_i(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{g=h+16&-16;e=bj(g)|0;c[b+8>>2]=e;c[b>>2]=g|1;c[b+4>>2]=h}if((f|0)!=(d|0)){g=e;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(d|0))break;else g=g+1|0}e=e+h|0}a[e>>0]=0;return}function Fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36364;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do{if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Gc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36340;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do{if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Hc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0;c[b>>2]=36316;c[b+4>>2]=e;p=b+8|0;i=c[e>>2]|0;m=e+16|0;h=c[m>>2]|0;l=$(h,i)|0;c[p>>2]=0;q=b+12|0;c[q>>2]=0;c[b+16>>2]=0;do{if(l){if(!((l|0)<0?(o=0,ha(178,p|0),i=o,o=0,i&1):0))n=4;if((n|0)==4?(j=l<<1,o=0,k=ka(67,j|0)|0,i=o,o=0,!(i&1)):0){c[p>>2]=k;i=k+(l<<1)|0;c[b+16>>2]=i;iw(k|0,0,j|0)|0;c[q>>2]=i;i=c[e>>2]|0;h=c[m>>2]|0;break}j=Na()|0;g=c[p>>2]|0;h=g;if(g){i=c[q>>2]|0;if((i|0)!=(g|0))c[q>>2]=i+(~((i+-2-h|0)>>>1)<<1);cj(g)}q=j;Ya(q|0)}}while(0);j=b+20|0;h=$(i<<1,h)|0;c[j>>2]=0;k=b+24|0;c[k>>2]=0;c[b+28>>2]=0;if(!h){q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}if(!((h|0)<0?(o=0,ha(178,j|0),m=o,o=0,m&1):0))n=13;if((n|0)==13?(o=0,g=ka(67,h|0)|0,n=o,o=0,!(n&1)):0){c[k>>2]=g;c[j>>2]=g;c[b+28>>2]=g+h;do{a[g>>0]=0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;h=h+-1|0}while((h|0)!=0);q=b+32|0;p=f;p=c[p>>2]|0;f=f+4|0;f=c[f>>2]|0;n=q;c[n>>2]=p;q=q+4|0;c[q>>2]=f;q=b+40|0;c[q>>2]=p;q=b+48|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];return}i=Na()|0;g=c[j>>2]|0;if(g){if((c[k>>2]|0)!=(g|0))c[k>>2]=g;cj(g)}g=c[p>>2]|0;if(!g){q=i;Ya(q|0)}h=c[q>>2]|0;if((h|0)!=(g|0))c[q>>2]=h+(~((h+-2-g|0)>>>1)<<1);cj(g);q=i;Ya(q|0)}function Ic(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36316;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Jc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36316;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Kc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;Pc(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Pc(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;Mc(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Nc(a,f,b,d,e);return}}function Mc(d,f,g,h,i){d=d|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;m=d+4|0;j=c[m>>2]|0;do{if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{o=c[j>>2]|0;m=e[n+(f*6|0)+2>>1]<>1]<>1]<>1]=(m+49152+((d+i|0)>>>2)&65535)>>>o;b[g+(f*6|0)+2>>1]=d>>>o;b[g+(f*6|0)+4>>1]=i>>>o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{h=e[n+(f*6|0)+2>>1]<>1]<>1]<>1]=(h+49152+((d+o|0)>>>2)&65535)>>>j;b[g+(f+i<<1)>>1]=d>>>j;b[g+(f+l<<1)>>1]=o>>>j;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;m=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;p=e[n+(f<<3)+2>>1]<>1]<>1]<>1]=(p+49152+((h+d|0)>>>2)&65535)>>>j;b[g+(f+i<<1)>>1]=h>>>j;b[g+(f+l<<1)>>1]=d>>>j;b[g+(f+m<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}default:return}}function Nc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Mc(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Mc(b,t,e,f,g);i=q;return}function Oc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+176|0;e=g+152|0;l=g+16|0;j=g;if(!(d&1)){e=(d|0)/4|0;if((d|0)>3){f=0;do{l=b+(f<<2)|0;k=c[l>>2]|0;c[l>>2]=k>>>8&16711935|k<<8&-16711936;f=f+1|0}while((f|0)<(e|0))}if(!(d&3)){i=g;return}j=b+(d+-2)|0;l=b+(d+-1)|0;k=a[j>>0]|0;a[j>>0]=a[l>>0]|0;a[l>>0]=k;i=g;return}k=l+56|0;h=l+4|0;c[l>>2]=36160;c[k>>2]=36180;o=0;ia(62,l+56|0,h|0);g=o;o=0;if(g&1){l=Na()|0;fn(k);Ya(l|0)}c[l+128>>2]=0;c[l+132>>2]=-1;c[l>>2]=36200;c[l+56>>2]=36220;o=0;ha(180,h|0);g=o;o=0;do{if(g&1)e=Na()|0;else{c[h>>2]=36236;g=l+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[l+52>>2]=16;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;o=0;ia(63,h|0,e|0);b=o;o=0;if(b&1){l=Na()|0;Im(e);Im(g);nn(h);e=l;break}Im(e);o=0;e=ma(28,l|0,49087,24)|0;b=o;o=0;if((!(b&1)?(o=0,f=ra(36,e|0,d|0)|0,d=o,o=0,!(d&1)):0)?(o=0,ma(28,f|0,49112,20)|0,d=o,o=0,!(d&1)):0){b=Ma(16)|0;o=0;ia(64,j|0,h|0);d=o;o=0;if(!(d&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,b|0,1,35648,j|0);d=o;o=0;if(d&1)f=1;else{o=0;wa(6,b|0,824,96);o=0;f=0}e=Na()|0;Im(j);if(!f){j=e;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}}else e=Na()|0;La(b|0);j=e;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}j=Na()|0;c[l>>2]=36200;c[k>>2]=36220;c[h>>2]=36236;Im(g);nn(h);fn(k);Ya(j|0)}}while(0);l=e;fn(k);Ya(l|0)}function Pc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=d+4|0;j=c[n>>2]|0;a:do{switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{i=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>1]<>2)+16384|0;b[g+(d*6|0)>>1]=(k+32768+m&65535)>>>i;b[g+(d*6|0)+2>>1]=(m&65535)>>>i;b[g+(d*6|0)+4>>1]=(l+32768+m&65535)>>>i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{m=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>1]<>2)+16384|0;b[g+(d*6|0)>>1]=(q+32768+o&65535)>>>m;b[g+(d*6|0)+2>>1]=(o&65535)>>>m;b[g+(d*6|0)+4>>1]=(p+32768+o&65535)>>>m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{q=c[j>>2]|0;p=e[f+(k+i<<1)>>1]<>1]<>1]<>2)+16384|0;r=b[f+(k+d<<1)>>1]|0;t=mw((o&65535)>>>q&65535|0,0,16)|0;p=(p+32768+o&65535)>>>q|D;r=mw(r&65535|0,0,48)|0;r=t|(s+32768+o&65535)>>>q&65535|r;p=p&65535|D;q=g+(k<<3)|0;o=q;b[o>>1]=r;b[o+2>>1]=r>>>16;q=q+4|0;b[q>>1]=p;b[q+2>>1]=p>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){t=j+4|0;s=b[j>>1]|0;b[j>>1]=b[t>>1]|0;b[t>>1]=s;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function Qc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36340;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Rc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36340;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;Wc(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Wc(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Tc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;Uc(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Vc(a,f,b,d,e);return}}function Uc(d,f,g,h,i){d=d|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;m=d+4|0;j=c[m>>2]|0;do{if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{i=c[j>>2]|0;m=e[n+(f*6|0)>>1]<>1]<>1]<>>1)&65535)>>>i&65535;b[g+(f*6|0)>>1]=(m+32768-d&65535)>>>i;b[g+(f*6|0)+2>>1]=(d&65535)>>>i;b[g+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{h=e[n+(f*6|0)>>1]<>1]<>1]<>>1)&65535)>>>j&65535;b[g+(f<<1)>>1]=(h+32768-d&65535)>>>j;b[g+(f+i<<1)>>1]=(d&65535)>>>j;b[g+(f+l<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;m=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;p=e[n+(f<<3)>>1]<>1]<>1]<>>1)&65535)>>>j&65535;b[g+(f<<1)>>1]=(p+32768-h&65535)>>>j;b[g+(f+i<<1)>>1]=(h&65535)>>>j;b[g+(f+l<<1)>>1]=d;b[g+(f+m<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}default:return}}function Vc(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Uc(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Uc(b,t,e,f,g);i=q;return}function Wc(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=d+4|0;j=c[n>>2]|0;a:do{switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{m=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>1]<>>1)&65535)>>>m&65535;b[g+(d*6|0)>>1]=k>>>m;b[g+(d*6|0)+2>>1]=l>>>m;b[g+(d*6|0)+4>>1]=i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{o=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>1]<>>1)&65535)>>>o&65535;b[g+(d*6|0)>>1]=q>>>o;b[g+(d*6|0)+2>>1]=p>>>o;b[g+(d*6|0)+4>>1]=m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{o=c[j>>2]|0;q=e[f+(k+i<<1)>>1]<>1]<>1]<>>1)&65535)>>>o;r=b[f+(k+d<<1)>>1]|0;q=mw(q>>>o&65535|0,0,16)|0;p=D|p;r=mw(r&65535|0,0,48)|0;r=s>>>o&65535|q|r;p=p&65535|D;q=g+(k<<3)|0;o=q;b[o>>1]=r;b[o+2>>1]=r>>>16;q=q+4|0;b[q>>1]=p;b[q+2>>1]=p>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){s=j+4|0;r=b[j>>1]|0;b[j>>1]=b[s>>1]|0;b[s>>1]=r;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function Xc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36364;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Yc(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36364;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Zc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+48|0;if(!(c[g>>2]|0)){j=b+52|0;bd(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;bd(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function _c(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+48>>2]|0;if(!f){f=a+52|0;$c(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{ad(a,f,b,d,e);return}}function $c(d,f,g,h,i){d=d|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;m=d+4|0;j=c[m>>2]|0;do{if(!(a[j+32>>0]|0))n=f;else{k=d+8|0;lw(c[k>>2]|0,f|0,h*6|0)|0;j=c[m>>2]|0;l=c[j+16>>2]|0;if((h|0)<=0){n=c[k>>2]|0;break}f=c[k>>2]|0;j=f;k=0;while(1){n=j+4|0;o=b[j>>1]|0;b[j>>1]=b[n>>1]|0;b[n>>1]=o;k=k+1|0;if((k|0)==(h|0))break;else j=j+(l<<1)|0}n=f;j=c[m>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:if((c[j+24>>2]|0)==2){if((h|0)<=0)return;j=d+32|0;f=0;do{i=c[j>>2]|0;d=e[n+(f*6|0)+2>>1]<>1]<>>i&65535;b[g+(f*6|0)>>1]=((e[n+(f*6|0)>>1]<>>i;b[g+(f*6|0)+2>>1]=(d&65535)>>>i;b[g+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(h|0));return}else{k=(i|0)<(h|0)?i:h;if((k|0)<=0)return;l=i<<1;j=c[d+32>>2]|0;f=0;do{d=e[n+(f*6|0)+2>>1]<>1]<>>j&65535;b[g+(f<<1)>>1]=((e[n+(f*6|0)>>1]<>>j;b[g+(f+i<<1)>>1]=(d&65535)>>>j;b[g+(f+l<<1)>>1]=o;f=f+1|0}while((f|0)!=(k|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;l=(i|0)<(h|0)?i:h;if((l|0)<=0)return;m=i<<1;k=i*3|0;j=c[d+32>>2]|0;f=0;do{o=b[n+(f<<3)+6>>1]|0;h=e[n+(f<<3)+2>>1]<>1]<>>j&65535;b[g+(f<<1)>>1]=((e[n+(f<<3)>>1]<>>j;b[g+(f+i<<1)>>1]=(h&65535)>>>j;b[g+(f+m<<1)>>1]=d;b[g+(f+k<<1)>>1]=o;f=f+1|0}while((f|0)!=(l|0));return}default:return}}function ad(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;$c(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;$c(b,t,e,f,g);i=q;return}function bd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=d+4|0;j=c[n>>2]|0;a:do{switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)<=0)break a;j=d+40|0;d=0;do{m=c[j>>2]|0;l=e[f+(d*6|0)+2>>1]<>1]<>>m&65535;b[g+(d*6|0)>>1]=((e[f+(d*6|0)>>1]<>>m;b[g+(d*6|0)+2>>1]=(l&65535)>>>m;b[g+(d*6|0)+4>>1]=i;d=d+1|0}while((d|0)!=(h|0))}else{k=(h|0)<(i|0)?h:i;if((k|0)<=0)break a;l=i<<1;j=d+40|0;d=0;do{o=c[j>>2]|0;p=e[f+(d+i<<1)>>1]<>1]<>>o&65535;b[g+(d*6|0)>>1]=((e[f+(d<<1)>>1]<>>o;b[g+(d*6|0)+2>>1]=(p&65535)>>>o;b[g+(d*6|0)+4>>1]=m;d=d+1|0}while((d|0)!=(k|0))}break}case 4:{if((c[j+24>>2]|0)==1?(m=(h|0)<(i|0)?h:i,(m|0)>0):0){l=i<<1;j=d+40|0;d=i*3|0;k=0;do{q=c[j>>2]|0;s=e[f+(k+i<<1)>>1]<>1]<>>q;o=(s+32768+(e[f+(k+l<<1)>>1]<>>q;r=b[f+(k+d<<1)>>1]|0;q=mw((s&65535)>>>q&65535|0,0,16)|0;o=o|D;r=mw(r&65535|0,0,48)|0;r=q|p&65535|r;o=o&65535|D;p=g+(k<<3)|0;q=p;b[q>>1]=r;b[q+2>>1]=r>>>16;p=p+4|0;b[p>>1]=o;b[p+2>>1]=o>>>16;k=k+1|0}while((k|0)!=(m|0))}break}default:{}}}while(0);j=c[n>>2]|0;if(!(a[j+32>>0]|0))return;k=c[j+16>>2]|0;if((h|0)<=0)return;j=g;d=0;while(1){s=j+4|0;r=b[j>>1]|0;b[j>>1]=b[s>>1]|0;b[s>>1]=r;d=d+1|0;if((d|0)==(h|0))break;else j=j+(k<<1)|0}return}function cd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0;p=i;i=i+16|0;m=p;n=c[b>>2]|0;if(!n){b=0;i=p;return b|0}q=d;k=f-q|0;l=g+12|0;j=c[l>>2]|0;k=(j|0)>(k|0)?j-k|0:0;j=e;g=j-q|0;if((g|0)>0?(Gb[c[(c[n>>2]|0)+48>>2]&63](n,d,g)|0)!=(g|0):0){c[b>>2]=0;q=0;i=p;return q|0}do{if((k|0)>0){Hm(m,k,h);o=0;g=ma(c[(c[n>>2]|0)+48>>2]|0,n|0,((a[m>>0]&1)==0?m+1|0:c[m+8>>2]|0)|0,k|0)|0;q=o;o=0;if(q&1){q=Na()|0;Im(m);Ya(q|0)}if((g|0)==(k|0)){Im(m);break}c[b>>2]=0;Im(m);q=0;i=p;return q|0}}while(0);f=f-j|0;if((f|0)>0?(Gb[c[(c[n>>2]|0)+48>>2]&63](n,e,f)|0)!=(f|0):0){c[b>>2]=0;q=0;i=p;return q|0}c[l>>2]=0;q=n;i=p;return q|0}function dd(a){a=a|0;c[a>>2]=36236;Im(a+32|0);nn(a);return}function ed(a){a=a|0;c[a>>2]=36236;Im(a+32|0);nn(a);cj(a);return}function fd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=d+44|0;j=c[i>>2]|0;l=d+24|0;m=c[l>>2]|0;if(j>>>0>>0){c[i>>2]=m;j=m}k=j;i=h&24;if(!i){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((g|0)==1&(i|0)==24){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}a:do{switch(g|0){case 0:{i=0;g=0;break}case 1:if(!(h&8)){g=m-(c[d+20>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}else{g=(c[d+12>>2]|0)-(c[d+8>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}case 2:{i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;g=j-i|0;i=g;g=((g|0)<0)<<31>>31;break}default:{d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}}while(0);g=jw(i|0,g|0,e|0,f|0)|0;e=D;if((e|0)>=0){i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;f=j-i|0;j=((f|0)<0)<<31>>31;if(!((j|0)<(e|0)|(j|0)==(e|0)&f>>>0>>0)){i=h&8;if(!((g|0)==0&(e|0)==0)){if((i|0)!=0?(c[d+12>>2]|0)==0:0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((h&16|0)!=0&(m|0)==0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}if(i){c[d+12>>2]=(c[d+8>>2]|0)+g;c[d+16>>2]=k}if(h&16)c[l>>2]=(c[d+20>>2]|0)+g;d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=g;c[d+4>>2]=e;return}}d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}function gd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=d+8|0;Ib[c[(c[b>>2]|0)+16>>2]&15](a,b,c[d>>2]|0,c[d+4>>2]|0,0,e);return}function hd(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+44|0;e=c[b>>2]|0;f=c[a+24>>2]|0;if(e>>>0>>0){c[b>>2]=f;e=f}if(!(c[a+48>>2]&8)){a=-1;return a|0}g=a+16|0;b=c[g>>2]|0;f=a+12|0;if(b>>>0>>0){f=c[f>>2]|0;c[g>>2]=e;b=e}else f=c[f>>2]|0;if(f>>>0>=b>>>0){a=-1;return a|0}a=d[f>>0]|0;return a|0}function id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+44|0;e=c[f>>2]|0;g=c[b+24>>2]|0;if(e>>>0>>0){c[f>>2]=g;e=g}j=b+8|0;f=c[j>>2]|0;k=b+12|0;h=c[k>>2]|0;i=f;if(f>>>0>=h>>>0){b=-1;return b|0}if((d|0)==-1){c[j>>2]=f;c[k>>2]=h+-1;c[b+16>>2]=e;b=0;return b|0}if(!(c[b+48>>2]&16)){g=d&255;f=h+-1|0;if(g<<24>>24!=(a[f>>0]|0)){b=-1;return b|0}}else{g=d&255;f=h+-1|0}c[j>>2]=i;c[k>>2]=f;c[b+16>>2]=e;a[f>>0]=g;b=d;return b|0}function jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+16|0;n=t;if((d|0)==-1){b=0;i=t;return b|0}p=b+12|0;q=b+8|0;r=(c[p>>2]|0)-(c[q>>2]|0)|0;s=b+24|0;e=c[s>>2]|0;m=b+28|0;f=c[m>>2]|0;do{if((e|0)==(f|0)){k=b+48|0;if(!(c[k>>2]&16)){b=-1;i=t;return b|0}l=b+20|0;j=c[l>>2]|0;g=e-j|0;h=b+44|0;j=(c[h>>2]|0)-j|0;f=b+32|0;o=0;ia(67,f|0,0);e=o;o=0;if(!(e&1)){if(!(a[f>>0]&1))e=10;else e=(c[f>>2]&-2)+-1|0;o=0;wa(8,f|0,e|0,0);e=o;o=0;if(!(e&1)){e=a[f>>0]|0;if(!(e&1)){f=f+1|0;e=(e&255)>>>1}else{f=c[b+40>>2]|0;e=c[b+36>>2]|0}u=f+e|0;c[l>>2]=f;c[m>>2]=u;l=f+g|0;c[s>>2]=l;e=f+j|0;c[h>>2]=e;f=u;break}}u=Na(0)|0;Va(u|0)|0;Xa();u=-1;i=t;return u|0}else{u=b+44|0;k=b+48|0;h=u;l=e;e=c[u>>2]|0}}while(0);j=l+1|0;c[n>>2]=j;g=c[(j>>>0>>0?h:n)>>2]|0;c[h>>2]=g;if(c[k>>2]&8){e=b+32|0;if(!(a[e>>0]&1))e=e+1|0;else e=c[b+40>>2]|0;c[q>>2]=e;c[p>>2]=e+r;c[b+16>>2]=g}if((l|0)==(f|0)){u=Lb[c[(c[b>>2]|0)+52>>2]&63](b,d&255)|0;i=t;return u|0}else{c[s>>2]=j;a[l>>0]=d;u=d&255;i=t;return u|0}return 0}function kd(a){a=a|0;var b=0,d=0;c[a>>2]=36200;b=a+56|0;c[b>>2]=36220;d=a+4|0;c[d>>2]=36236;Im(a+36|0);nn(d);fn(b);return}function ld(a){a=a|0;var b=0,d=0;c[a>>2]=36200;b=a+56|0;c[b>>2]=36220;d=a+4|0;c[d>>2]=36236;Im(a+36|0);nn(d);fn(b);cj(a);return}function md(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[(c[a>>2]|0)+-12>>2]|0;b=a+f|0;c[b>>2]=36200;d=a+(f+56)|0;c[d>>2]=36220;e=a+(f+4)|0;c[e>>2]=36236;Im(a+(f+36)|0);nn(e);fn(d);cj(b);return}function nd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36388;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function od(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36388;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function pd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;td(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;td(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;rd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{sd(a,f,b,d,e);return}}function rd(d,f,g,h,i){d=d|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;l=d+4|0;j=c[l>>2]|0;do{if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{l=e[m+(j*6|0)+2>>1]|0;i=32768-l+(e[m+(j*6|0)+4>>1]|0)|0;n=(e[m+(j*6|0)>>1]|0)-l+32768|0;b[g+(j*6|0)>>1]=l+49152+(((i&65535)+(n&65535)|0)>>>2);b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{l=e[m+(f*6|0)+2>>1]|0;h=32768-l+(e[m+(f*6|0)+4>>1]|0)|0;n=(e[m+(f*6|0)>>1]|0)-l+32768|0;b[g+(f<<1)>>1]=l+49152+(((h&65535)+(n&65535)|0)>>>2);b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{n=b[m+(k<<3)+6>>1]|0;o=e[m+(k<<3)+2>>1]|0;l=32768-o+(e[m+(k<<3)+4>>1]|0)|0;h=(e[m+(k<<3)>>1]|0)-o+32768|0;b[g+(k<<1)>>1]=o+49152+(((l&65535)+(h&65535)|0)>>>2);b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function sd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;rd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;rd(b,t,e,f,g);i=q;return}function td(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=e[f+(d*6|0)+2>>1]|0;k=e[f+(d*6|0)+4>>1]|0;i=(e[f+(d*6|0)>>1]|0)-((k+l|0)>>>2)+16384|0;b[g+(d*6|0)>>1]=k+32768+i;b[g+(d*6|0)+2>>1]=i;b[g+(d*6|0)+4>>1]=l+32768+i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=e[f+(k+i<<1)>>1]|0;o=e[f+(k+j<<1)>>1]|0;l=(e[f+(k<<1)>>1]|0)-((o+n|0)>>>2)+16384|0;b[g+(k*6|0)>>1]=o+32768+l;b[g+(k*6|0)+2>>1]=l;b[g+(k*6|0)+4>>1]=n+32768+l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{n=e[f+(k+i<<1)>>1]|0;p=e[f+(k+d<<1)>>1]|0;o=(e[f+(k<<1)>>1]|0)-((p+n|0)>>>2)+16384|0;q=b[f+(k+j<<1)>>1]|0;r=mw(o&65535|0,0,16)|0;n=n+32768+o|D;q=mw(q&65535|0,0,48)|0;q=r|p+32768+o&65535|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){r=d+4|0;q=b[d>>1]|0;b[d>>1]=b[r>>1]|0;b[r>>1]=q;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function ud(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36412;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function vd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36412;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function wd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Ad(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Ad(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;yd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{zd(a,f,b,d,e);return}}function yd(d,f,g,h,i){d=d|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;l=d+4|0;j=c[l>>2]|0;do{if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{k=e[m+(j*6|0)>>1]|0;i=b[m+(j*6|0)+2>>1]|0;l=i&65535;n=(e[m+(j*6|0)+4>>1]|0)+32768-((l+k|0)>>>1)&65535;b[g+(j*6|0)>>1]=k+32768-l;b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{h=b[m+(f*6|0)+2>>1]|0;k=e[m+(f*6|0)>>1]|0;l=h&65535;n=(e[m+(f*6|0)+4>>1]|0)+32768-((l+k|0)>>>1)&65535;b[g+(f<<1)>>1]=k+32768-l;b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{l=b[m+(k<<3)+2>>1]|0;n=b[m+(k<<3)+6>>1]|0;p=e[m+(k<<3)>>1]|0;o=l&65535;h=(e[m+(k<<3)+4>>1]|0)+32768-((o+p|0)>>>1)&65535;b[g+(k<<1)>>1]=p+32768-o;b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function zd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;yd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;yd(b,t,e,f,g);i=q;return}function Ad(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;i=l&65535;k=(e[f+(d*6|0)>>1]|0)+32768+i|0;i=(e[f+(d*6|0)+4>>1]|0)+32768+(((k&65535)+i|0)>>>1)&65535;b[g+(d*6|0)>>1]=k;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;l=n&65535;o=(e[f+(k<<1)>>1]|0)+32768+l|0;l=(e[f+(k+j<<1)>>1]|0)+32768+(((o&65535)+l|0)>>>1)&65535;b[g+(k*6|0)>>1]=o;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{o=b[f+(k+i<<1)>>1]|0;n=o&65535;p=(e[f+(k<<1)>>1]|0)+32768+n&65535;n=(e[f+(k+d<<1)>>1]|0)+32768+((p+n|0)>>>1)|0;q=b[f+(k+j<<1)>>1]|0;o=mw(o&65535|0,0,16)|0;n=D|n;q=mw(q&65535|0,0,48)|0;q=p|o|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Bd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36436;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Cd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36436;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Dd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Hd(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Hd(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Fd(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Gd(a,f,b,d,e);return}}function Fd(d,f,g,h,i){d=d|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;l=d+4|0;j=c[l>>2]|0;do{if(!(a[j+32>>0]|0))m=f;else{d=d+8|0;lw(c[d>>2]|0,f|0,h*6|0)|0;j=c[l>>2]|0;k=c[j+16>>2]|0;if((h|0)<=0){m=c[d>>2]|0;break}d=c[d>>2]|0;j=d;f=0;while(1){m=j+4|0;n=b[j>>1]|0;b[j>>1]=b[m>>1]|0;b[m>>1]=n;f=f+1|0;if((f|0)==(h|0))break;else j=j+(k<<1)|0}m=d;j=c[l>>2]|0}}while(0);switch(c[j+16>>2]|0){case 3:{if((c[j+24>>2]|0)==2){if((h|0)>0)j=0;else return;do{i=b[m+(j*6|0)+2>>1]|0;l=i&65535;n=32768-l+(e[m+(j*6|0)+4>>1]|0)&65535;b[g+(j*6|0)>>1]=(e[m+(j*6|0)>>1]|0)+32768-l;b[g+(j*6|0)+2>>1]=i;b[g+(j*6|0)+4>>1]=n;j=j+1|0}while((j|0)!=(h|0));return}j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=0;do{h=b[m+(f*6|0)+2>>1]|0;l=h&65535;n=32768-l+(e[m+(f*6|0)+4>>1]|0)&65535;b[g+(f<<1)>>1]=(e[m+(f*6|0)>>1]|0)+32768-l;b[g+(f+i<<1)>>1]=h;b[g+(f+d<<1)>>1]=n;f=f+1|0}while((f|0)!=(j|0));return}case 4:{if((c[j+24>>2]|0)!=1)return;j=(i|0)<(h|0)?i:h;if((j|0)<=0)return;d=i<<1;f=i*3|0;k=0;do{l=b[m+(k<<3)+2>>1]|0;n=b[m+(k<<3)+6>>1]|0;o=l&65535;h=32768-o+(e[m+(k<<3)+4>>1]|0)&65535;b[g+(k<<1)>>1]=(e[m+(k<<3)>>1]|0)+32768-o;b[g+(k+i<<1)>>1]=l;b[g+(k+d<<1)>>1]=h;b[g+(k+f<<1)>>1]=n;k=k+1|0}while((k|0)!=(j|0));return}default:return}}function Gd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Fd(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Fd(b,t,e,f,g);i=q;return}function Hd(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;k=l&65535;i=k+32768+(e[f+(d*6|0)+4>>1]|0)&65535;b[g+(d*6|0)>>1]=(e[f+(d*6|0)>>1]|0)+32768+k;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;o=n&65535;l=o+32768+(e[f+(k+j<<1)>>1]|0)&65535;b[g+(k*6|0)>>1]=(e[f+(k<<1)>>1]|0)+32768+o;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{o=b[f+(k+i<<1)>>1]|0;n=o&65535;p=(e[f+(k<<1)>>1]|0)+32768+n|0;n=n+32768+(e[f+(k+d<<1)>>1]|0)|0;q=b[f+(k+j<<1)>>1]|0;o=mw(o&65535|0,0,16)|0;n=D|n;q=mw(q&65535|0,0,48)|0;q=p&65535|o|q;n=n&65535|D;o=g+(k<<3)|0;p=o;b[p>>1]=q;b[p+2>>1]=q>>>16;o=o+4|0;b[o>>1]=n;b[o+2>>1]=n>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Id(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36460;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e)return;b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);return}function Jd(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=36460;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}e=c[a+8>>2]|0;if(!e){cj(a);return}b=a+12|0;d=c[b>>2]|0;if((d|0)!=(e|0))c[b>>2]=d+(~((d+-2-e|0)>>>1)<<1);cj(e);cj(a);return}function Kd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=b+36|0;if(!(c[g>>2]|0)){j=b+40|0;Od(b,d,c[j>>2]|0,e,f);c[j>>2]=(c[j>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}k=b+4|0;h=e<<1;i=$(h,c[(c[k>>2]|0)+16>>2]|0)|0;j=b+20|0;Od(b,d,c[j>>2]|0,e,f);d=c[k>>2]|0;if((c[d+28>>2]|0)==536870912)Oc(c[j>>2]|0,$(h,c[d+16>>2]|0)|0);k=c[g>>2]|0;if((Gb[c[(c[k>>2]|0)+48>>2]&63](k,c[j>>2]|0,i)|0)==(i|0))return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,3,35648);k=o;o=0;if(k&1){k=Na()|0;La(d|0);Ya(k|0)}else lb(d|0,824,96)}function Ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Md(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Nd(a,f,b,d,e);return}}function Md(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;k=d+4|0;i=c[k>>2]|0;do{if(!(a[i+32>>0]|0))l=e;else{d=d+8|0;lw(c[d>>2]|0,e|0,g*6|0)|0;i=c[k>>2]|0;j=c[i+16>>2]|0;if((g|0)<=0){l=c[d>>2]|0;break}d=c[d>>2]|0;i=d;e=0;while(1){l=i+4|0;m=b[i>>1]|0;b[i>>1]=b[l>>1]|0;b[l>>1]=m;e=e+1|0;if((e|0)==(g|0))break;else i=i+(j<<1)|0}l=d;i=c[k>>2]|0}}while(0);switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{h=b[l+(i*6|0)+2>>1]|0;m=b[l+(i*6|0)+4>>1]|0;b[f+(i*6|0)>>1]=b[l+(i*6|0)>>1]|0;b[f+(i*6|0)+2>>1]=h;b[f+(i*6|0)+4>>1]=m;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;d=h<<1;e=0;do{g=b[l+(e*6|0)+2>>1]|0;m=b[l+(e*6|0)+4>>1]|0;b[f+(e<<1)>>1]=b[l+(e*6|0)>>1]|0;b[f+(e+h<<1)>>1]=g;b[f+(e+d<<1)>>1]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;d=h<<1;e=h*3|0;j=0;do{k=b[l+(j<<3)+2>>1]|0;g=b[l+(j<<3)+4>>1]|0;m=b[l+(j<<3)+6>>1]|0;b[f+(j<<1)>>1]=b[l+(j<<3)>>1]|0;b[f+(j+h<<1)>>1]=k;b[f+(j+d<<1)>>1]=g;b[f+(j+e<<1)>>1]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Nd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+176|0;r=q+152|0;t=q+16|0;s=q;l=b+4|0;h=c[l>>2]|0;p=f<<1;j=$(p,c[h+16>>2]|0)|0;do{if(j){k=b+20|0;while(1){h=Gb[c[(c[d>>2]|0)+32>>2]&63](d,c[k>>2]|0,j)|0;if(!h)break;if((j|0)==(h|0)){m=26;break}else j=j-h|0}if((m|0)==26){h=c[l>>2]|0;break}m=t+56|0;l=t+4|0;c[t>>2]=36160;c[m>>2]=36180;o=0;ia(62,t+56|0,l|0);q=o;o=0;if(q&1){t=Na()|0;fn(m);Ya(t|0)}c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=36200;c[t+56>>2]=36220;o=0;ha(180,l|0);q=o;o=0;do{if(q&1)h=Na()|0;else{c[l>>2]=36236;d=t+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[t+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;o=0;ia(63,l|0,r|0);q=o;o=0;if(q&1){h=Na()|0;Im(r);Im(d);nn(l);break}Im(r);o=0;h=ma(28,t|0,49029,57)|0;r=o;o=0;if(!(r&1)?(o=0,ra(36,h|0,0)|0,r=o,o=0,!(r&1)):0){k=Ma(16)|0;o=0;ia(64,s|0,l|0);r=o;o=0;if(!(r&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,s|0);r=o;o=0;if(r&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(s);if(!j){s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}else h=Na()|0;La(k|0);s=h;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}s=Na()|0;c[t>>2]=36200;c[m>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(m);Ya(s|0)}}while(0);t=h;fn(m);Ya(t|0)}}while(0);j=b+20|0;if((c[h+28>>2]|0)!=536870912){t=c[j>>2]|0;Md(b,t,e,f,g);i=q;return}Oc(c[j>>2]|0,$(p,c[h+16>>2]|0)|0);t=c[j>>2]|0;Md(b,t,e,f,g);i=q;return}function Od(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d+4|0;d=c[m>>2]|0;a:do{switch(c[d+16>>2]|0){case 3:{if((c[d+24>>2]|0)==2){if((h|0)>0)d=0;else break a;while(1){l=b[f+(d*6|0)+2>>1]|0;i=b[f+(d*6|0)+4>>1]|0;b[g+(d*6|0)>>1]=b[f+(d*6|0)>>1]|0;b[g+(d*6|0)+2>>1]=l;b[g+(d*6|0)+4>>1]=i;d=d+1|0;if((d|0)==(h|0))break a}}d=(h|0)<(i|0)?h:i;if((d|0)>0){j=i<<1;k=0;do{n=b[f+(k+i<<1)>>1]|0;l=b[f+(k+j<<1)>>1]|0;b[g+(k*6|0)>>1]=b[f+(k<<1)>>1]|0;b[g+(k*6|0)+2>>1]=n;b[g+(k*6|0)+4>>1]=l;k=k+1|0}while((k|0)!=(d|0))}break}case 4:{if((c[d+24>>2]|0)==1?(l=(h|0)<(i|0)?h:i,(l|0)>0):0){d=i<<1;j=i*3|0;k=0;do{n=b[f+(k<<1)>>1]|0;q=b[f+(k+j<<1)>>1]|0;o=e[f+(k+d<<1)>>1]|0;p=mw(e[f+(k+i<<1)>>1]|0,0,16)|0;o=D|o;q=mw(q&65535|0,0,48)|0;q=p|n&65535|q;o=o&65535|D;n=g+(k<<3)|0;p=n;b[p>>1]=q;b[p+2>>1]=q>>>16;n=n+4|0;b[n>>1]=o;b[n+2>>1]=o>>>16;k=k+1|0}while((k|0)!=(l|0))}break}default:{}}}while(0);d=c[m>>2]|0;if(!(a[d+32>>0]|0))return;k=c[d+16>>2]|0;if((h|0)<=0)return;d=g;j=0;while(1){q=d+4|0;p=b[d>>1]|0;b[d>>1]=b[q>>1]|0;b[q>>1]=p;j=j+1|0;if((j|0)==(h|0))break;else d=d+(k<<1)|0}return}function Pd(a){a=a|0;return}function Qd(a){a=a|0;cj(a);return}function Rd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;e=$(c[b+8>>2]|0,e)|0;b=c[b+4>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,d,e)|0)==(e|0))return;f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,3,35648);b=o;o=0;if(b&1){b=Na()|0;La(f|0);Ya(b|0)}else lb(f|0,824,96)}function Sd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,p=0;p=i;i=i+16|0;m=p;l=b+8|0;g=c[l>>2]|0;f=$(g,e)|0;do{if(f){j=b+4|0;h=f;while(1){g=c[j>>2]|0;g=Gb[c[(c[g>>2]|0)+32>>2]&63](g,d,h)|0;if(!g)break;f=h-g|0;if((h|0)==(g|0)){k=11;break}else h=f}if((k|0)==11){g=c[l>>2]|0;h=f;break}f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,3,35648);b=o;o=0;if(b&1){b=Na()|0;La(f|0);Ya(b|0)}else lb(f|0,824,96)}else h=0}while(0);if((g|0)==2){Oc(d,e<<1);g=c[l>>2]|0}f=c[b+12>>2]|0;if((f|0)<=($(g,e)|0)){i=p;return}b=c[b+4>>2]|0;Ib[c[(c[b>>2]|0)+16>>2]&15](m,b,f-h|0,0,1,24);i=p;return}function Td(a){a=a|0;cj(a);return}function Ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;lw(c[e>>2]|0,b|0,$(c[a+8>>2]|0,d)|0)|0;c[e>>2]=(c[e>>2]|0)+(c[a+12>>2]|0);return}function Vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;lw(b|0,c[e>>2]|0,$(c[a+8>>2]|0,d)|0)|0;c[e>>2]=(c[e>>2]|0)+(c[a+12>>2]|0);return}function Wd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[b+112>>2]=0;c[b+108>>2]=0;l=c[d>>2]|0;g=l;do{if(l){i=b+92|0;l=b+96|0;j=c[l>>2]|0;k=c[i>>2]|0;e=k;f=j-e|0;if(f>>>0>=4e4)if(f>>>0>4e4?(h=k+4e4|0,(j|0)!=(h|0)):0){c[l>>2]=h;h=e}else h=e;else{Xd(i,4e4-f|0);h=c[i>>2]|0;g=c[d>>2]|0}e=b+116|0;c[e>>2]=h;j=b+124|0;c[j>>2]=h;k=b+104|0;c[k>>2]=g;f=g;if(g){if((c[f+12>>2]|0)==(c[f+16>>2]|0)){d=(Eb[c[(c[g>>2]|0)+36>>2]&127](f)|0)==-1;f=c[j>>2]|0;if(d)break;g=c[e>>2]|0}else{f=h;g=h}i=f-g|0;if(i>>>0<=64){h=b+92|0;if((f|0)==(g|0))f=g;else{f=g;g=0;do{a[(c[h>>2]|0)+g>>0]=a[f+g>>0]|0;g=g+1|0;f=c[e>>2]|0}while(g>>>0>>0);g=c[j>>2]|0}h=c[h>>2]|0;d=h;m=d-f|0;c[e>>2]=h;f=g+m|0;c[j>>2]=f;h=b+120|0;c[h>>2]=(c[h>>2]|0)+m;k=c[k>>2]|0;f=Gb[c[(c[k>>2]|0)+32>>2]&63](k,f,(c[l>>2]|0)-(d+i)|0)|0;f=(c[j>>2]|0)+f|0;c[j>>2]=f}}else f=h}else{c[b+104>>2]=0;f=c[d+4>>2]|0;e=b+116|0;c[e>>2]=f;f=f+(c[d+8>>2]|0)|0;c[b+124>>2]=f}}while(0);e=c[e>>2]|0;if(e>>>0>=f>>>0){l=e;m=b+120|0;c[m>>2]=l;ge(b);return}while(1){if((a[e>>0]|0)==-1){f=20;break}e=e+1|0;if(e>>>0>=f>>>0){f=20;break}}if((f|0)==20){m=b+120|0;c[m>>2]=e;ge(b);return}}function Xd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+8|0;g=c[k>>2]|0;l=b+4|0;e=c[l>>2]|0;f=e;if((g-f|0)>>>0>=d>>>0){do{a[e>>0]=0;e=(c[l>>2]|0)+1|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}e=c[b>>2]|0;h=f-e+d|0;if((h|0)<0){$i(b);g=c[k>>2]|0;e=c[b>>2]|0}f=g-e|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f;e=(c[l>>2]|0)-e|0;if(!f){g=0;i=0;h=e}else j=8}else{f=2147483647;e=(c[l>>2]|0)-e|0;j=8}if((j|0)==8){g=f;i=bj(f)|0;h=e}e=i+h|0;g=i+g|0;f=e;do{a[f>>0]=0;f=e+1|0;e=f;d=d+-1|0}while((d|0)!=0);d=c[b>>2]|0;f=(c[l>>2]|0)-d|0;j=i+(h-f)|0;lw(j|0,d|0,f|0)|0;c[b>>2]=j;c[l>>2]=e;c[k>>2]=g;if(!d)return;cj(d);return}function Yd(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+180|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do{if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+12|0;a:do{if((c[h>>2]|0)>0){j=a+4604|0;k=($(t,s)|0)+1|0;l=a+4608|0;m=a+92|0;n=(t|0)>0;p=a+4600|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(68,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40}while(0);do{if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Zd(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4604|0;f=c[p>>2]|0;s=d+180|0;if((c[s>>2]|0)<=0)return;q=d+4608|0;r=d+4612|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(ce(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=be(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function _d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+104|0;if((c[g>>2]|0)>>>0<4)$d(b);h=b+100|0;i=b+112|0;j=b+96|0;k=b+108|0;l=b+116|0;d=c[h>>2]|0;f=0;do{e=a[i>>0]|0;if((d|0)>31)break;d=c[j>>2]|0;if(!(e<<24>>24)){a[c[k>>2]>>0]=d>>>24;c[j>>2]=c[j>>2]<<8;d=(c[h>>2]|0)+8|0}else{a[c[k>>2]>>0]=d>>>25;c[j>>2]=c[j>>2]<<7;d=(c[h>>2]|0)+7|0}c[h>>2]=d;m=c[k>>2]|0;e=(a[m>>0]|0)==-1&1;a[i>>0]=e;c[k>>2]=m+1;c[g>>2]=(c[g>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1;f=f+1|0}while((f|0)<4);if(!(e<<24>>24))ae(b,0,(d|0)%8|0);else ae(b,0,(d+-1|0)%8|0);if((c[g>>2]|0)>>>0<4)$d(b);d=c[h>>2]|0;e=0;do{if((d|0)>31)break;d=c[j>>2]|0;if(!(a[i>>0]|0)){a[c[k>>2]>>0]=d>>>24;c[j>>2]=c[j>>2]<<8;d=(c[h>>2]|0)+8|0}else{a[c[k>>2]>>0]=d>>>25;c[j>>2]=c[j>>2]<<7;d=(c[h>>2]|0)+7|0}c[h>>2]=d;m=c[k>>2]|0;a[i>>0]=(a[m>>0]|0)==-1&1;c[k>>2]=m+1;c[g>>2]=(c[g>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1;e=e+1|0}while((e|0)<4);if(!(c[b+132>>2]|0))return;$d(b);return}function $d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+132>>2]|0;if(!d){d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,4,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}e=b+108|0;f=b+120|0;h=c[f>>2]|0;g=(c[e>>2]|0)-h|0;if((Gb[c[(c[d>>2]|0)+48>>2]&63](d,h,g)|0)==(g|0)){h=c[f>>2]|0;c[e>>2]=h;c[b+104>>2]=(c[b+124>>2]|0)-h;return}d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,4,35648);h=o;o=0;if(!(h&1))lb(d|0,824,96);h=Na()|0;La(d|0);Ya(h|0)}function ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+100|0;e=(c[l>>2]|0)-e|0;c[l>>2]=e;if((e|0)>-1){m=b+96|0;c[m>>2]=c[m>>2]|d<>2]=c[m>>2]|d>>0-e;k=b+104|0;if((c[k>>2]|0)>>>0<4){$d(b);e=c[l>>2]|0}h=b+112|0;i=b+108|0;j=b+116|0;f=0;while(1){if((e|0)>31)break;e=c[m>>2]|0;if(!(a[h>>0]|0)){a[c[i>>2]>>0]=e>>>24;c[m>>2]=c[m>>2]<<8;e=(c[l>>2]|0)+8|0}else{a[c[i>>2]>>0]=e>>>25;c[m>>2]=c[m>>2]<<7;e=(c[l>>2]|0)+7|0}c[l>>2]=e;n=c[i>>2]|0;a[h>>0]=(a[n>>0]|0)==-1&1;c[i>>2]=n+1;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;f=f+1|0;if((f|0)>=4){g=11;break}}a:do{if((g|0)==11)if((e|0)<0){c[m>>2]=c[m>>2]|d>>0-e;if((c[k>>2]|0)>>>0<4){$d(b);e=c[l>>2]|0;f=0}else f=0;do{if((e|0)>31)break a;e=c[m>>2]|0;if(!(a[h>>0]|0)){a[c[i>>2]>>0]=e>>>24;c[m>>2]=c[m>>2]<<8;e=(c[l>>2]|0)+8|0}else{a[c[i>>2]>>0]=e>>>25;c[m>>2]=c[m>>2]<<7;e=(c[l>>2]|0)+7|0}c[l>>2]=e;n=c[i>>2]|0;a[h>>0]=(a[n>>0]|0)==-1&1;c[i>>2]=n+1;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;f=f+1|0}while((f|0)<4)}}while(0);c[m>>2]=c[m>>2]|d<>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;fe(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&65535;return r|0}r=g&~(d>>31);r=r&65535;return r|0}function ce(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=(c[a+180>>2]|0)-d|0;m=c[a+4608>>2]|0;n=c[a+4604>>2]|0;h=b[m+(d+-1<<1)>>1]|0;k=h&65535;f=c[a+144>>2]|0;i=0;while(1){g=m+(i+d<<1)|0;j=(e[g>>1]|0)-k|0;if((((j|0)>-1?j:0-j|0)|0)>(f|0))break;b[g>>1]=h;i=i+1|0;if((i|0)==(l|0)){i=l;break}}h=(i|0)==(l|0);j=a+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(a,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]=de(a,e[d>>1]|0,k,e[n+(l<<1)>>1]|0)|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;a=i+1|0;return a|0}if(!f){a=l;return a|0}ae(a,1,1);a=l;return a|0}function de(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d-e|0;j=a+136|0;h=a+144|0;f=c[h>>2]|0;if((((i|0)>-1?i:0-i|0)|0)>(f|0)){g=e-d>>31|1;b=$(g,b-e|0)|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;d=((b|0)<0?f:0)+b|0;f=d-((d|0)<((f+1|0)/2|0|0)?0:f)|0;ee(a,a+4576|0,f);f=$(f,g)|0;g=c[h>>2]|0;h=g<<1|1;f=($(f,h)|0)+e|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&65535;return j|0}j=b&~(f>>31);j=j&65535;return j|0}else{b=b-d|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;g=((b|0)<0?f:0)+b|0;f=g-((g|0)<((f+1|0)/2|0|0)?0:f)|0;ee(a,a+4588|0,f);g=c[h>>2]|0;h=g<<1|1;f=($(h,f)|0)+d|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&65535;return j|0}j=b&~(f>>31);j=j&65535;return j|0}return 0}function ee(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;fe(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>2]|0;l=b+120|0;if(e>>>0<((c[l>>2]|0)+-3|0)>>>0){l=b+112|0;j=c[l>>2]|0;b=b+108|0;c[b>>2]=(d[e+1>>0]<<16|d[e>>0]<<24|d[e+2>>0]<<8|d[e+3>>0])>>>j|c[b>>2];b=32-j>>3;c[k>>2]=e+b;c[l>>2]=(b<<3)+j;return}j=b+104|0;f=c[j>>2]|0;do{if(f){if((c[f+12>>2]|0)==(c[f+16>>2]|0)){if((Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0)==-1)break;e=c[k>>2]|0}h=b+124|0;f=c[h>>2]|0;i=f-e|0;if(i>>>0<=64){g=b+92|0;if((f|0)==(e|0))f=e;else{f=0;do{a[(c[g>>2]|0)+f>>0]=a[e+f>>0]|0;f=f+1|0;e=c[k>>2]|0}while(f>>>0>>0);f=e;e=c[h>>2]|0}p=c[g>>2]|0;g=p;m=g-f|0;c[k>>2]=p;f=e+m|0;c[h>>2]=f;c[l>>2]=(c[l>>2]|0)+m;j=c[j>>2]|0;j=Gb[c[(c[j>>2]|0)+32>>2]&63](j,f,(c[b+96>>2]|0)-(g+i)|0)|0;c[h>>2]=(c[h>>2]|0)+j}}}while(0);j=b+112|0;i=b+108|0;b=c[b+124>>2]|0;h=b+-1|0;e=c[k>>2]|0;while(1){if(e>>>0>=b>>>0){f=14;break}g=a[e>>0]|0;f=g&255;g=g<<24>>24==-1;if(g){if((e|0)==(h|0)){f=25;break}e=e+1|0;if((a[e>>0]|0)<0){f=25;break}}else e=e+1|0;p=c[j>>2]|0;c[i>>2]=f<<24-p|c[i>>2];c[k>>2]=e;p=p+(g?7:8)|0;c[j>>2]=p;if((p|0)>=24){f=33;break}}if((f|0)==14){if((c[j>>2]|0)>=1)return;e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);p=o;o=0;if(!(p&1))lb(e|0,824,96);p=Na()|0;La(e|0);Ya(p|0)}else if((f|0)==25){if((c[j>>2]|0)>=1)return;e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);p=o;o=0;if(!(p&1))lb(e|0,824,96);p=Na()|0;La(e|0);Ya(p|0)}else if((f|0)==33){a:do{if(e>>>0>>0)do{if((a[e>>0]|0)==-1)break a;e=e+1|0}while(e>>>0>>0)}while(0);c[l>>2]=e;return}}function he(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do{if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function ie(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+8|0;g=c[k>>2]|0;l=b+4|0;e=c[l>>2]|0;f=e;if((g-f|0)>>>0>=d>>>0){do{a[e>>0]=0;e=(c[l>>2]|0)+1|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}e=c[b>>2]|0;h=f-e+d|0;if((h|0)<0){$i(b);g=c[k>>2]|0;e=c[b>>2]|0}f=g-e|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f;e=(c[l>>2]|0)-e|0;if(!f){g=0;i=0;h=e}else j=8}else{f=2147483647;e=(c[l>>2]|0)-e|0;j=8}if((j|0)==8){g=f;i=bj(f)|0;h=e}e=i+h|0;g=i+g|0;f=e;do{a[f>>0]=0;f=e+1|0;e=f;d=d+-1|0}while((d|0)!=0);d=c[b>>2]|0;f=(c[l>>2]|0)-d|0;j=i+(h-f)|0;lw(j|0,d|0,f|0)|0;c[b>>2]=j;c[l>>2]=e;c[k>>2]=g;if(!d)return;cj(d);return}function je(a){a=a|0;var b=0,d=0;c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function ke(a){a=a|0;var b=0,d=0;c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function le(a){a=a|0;var b=0,d=0;c[a>>2]=36052;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function me(a){a=a|0;var b=0,d=0;c[a>>2]=36052;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ne(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;xe(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function oe(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35828;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];qe(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;qe(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function pe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function qe(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=a+180|0;r=(c[q>>2]|0)+4|0;if((c[a+32>>2]|0)==1)s=c[a+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;do{if(d){if(!(d>>>0>715827882?(o=0,ha(178,w|0),v=o,o=0,v&1):0))j=6;if((j|0)==6?(o=0,e=ka(67,d*6|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;f=e+(d*6|0)|0;c[w+8>>2]=f;while(1){b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;d=d+-1|0;if(!d)break;else e=e+6|0}c[x>>2]=f;break}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)j=20;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))j=18;if((j|0)==18?(g=s<<2,o=0,h=ka(67,g|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=h;j=h+(s<<2)|0;c[t+8>>2]=j;iw(h|0,0,g|0)|0;c[v>>2]=j;j=20;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==20){g=a+12|0;a:do{if((c[g>>2]|0)>0){h=a+4604|0;j=($(s,r)|0)+1|0;k=a+4608|0;l=a+92|0;m=(s|0)>0;n=a+4600|0;p=0;b:while(1){e=c[w>>2]|0;d=e+6|0;c[h>>2]=d;e=e+(j*6|0)|0;c[k>>2]=e;if(!(p&1))d=e;else{c[h>>2]=e;c[k>>2]=d}f=c[l>>2]|0;o=0;Aa(c[(c[f>>2]|0)+12>>2]|0,f|0,d|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){j=30;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*6|0)|0;e=e+((y+-1|0)*6|0)|0;b[d>>1]=b[e>>1]|0;b[d+2>>1]=b[e+2>>1]|0;b[d+4>>1]=b[e+4>>1]|0;e=(c[k>>2]|0)+-6|0;d=c[h>>2]|0;b[e>>1]=b[d>>1]|0;b[e+2>>1]=b[d+2>>1]|0;b[e+4>>1]=b[d+4>>1]|0;o=0;ia(69,a|0,0);e=o;o=0;if(e&1){j=29;break b}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*6|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*6|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(182,a|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);i=u;return}}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}function re(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;B=d+180|0;if((c[B>>2]|0)<=0)return;C=d+4608|0;D=d+4604|0;E=d+4612|0;A=0;while(1){x=A+-1|0;j=c[C>>2]|0;k=c[D>>2]|0;f=A+1|0;i=e[k+(A*6|0)>>1]|0;z=c[E>>2]|0;l=e[k+(x*6|0)>>1]|0;m=i-l|0;n=e[j+(x*6|0)>>1]|0;o=l-n|0;p=((((a[z+((e[k+(f*6|0)>>1]|0)-i)>>0]|0)*9|0)+(a[z+m>>0]|0)|0)*9|0)+(a[z+o>>0]|0)|0;h=e[k+(A*6|0)+2>>1]|0;q=e[k+(x*6|0)+2>>1]|0;r=h-q|0;s=e[j+(x*6|0)+2>>1]|0;t=q-s|0;u=((((a[z+((e[k+(f*6|0)+2>>1]|0)-h)>>0]|0)*9|0)+(a[z+r>>0]|0)|0)*9|0)+(a[z+t>>0]|0)|0;g=e[k+(A*6|0)+4>>1]|0;v=e[k+(x*6|0)+4>>1]|0;w=g-v|0;x=e[j+(x*6|0)+4>>1]|0;y=v-x|0;z=((((a[z+((e[k+(f*6|0)+4>>1]|0)-g)>>0]|0)*9|0)+(a[z+w>>0]|0)|0)*9|0)+(a[z+y>>0]|0)|0;if(!(u|p|z))f=(se(d,A,0)|0)+A|0;else{k=e[j+(A*6|0)>>1]|0;j=i-n>>31;if((j^o|0)>=0)if((j^m|0)<0)i=n;else i=n-l+i|0;k=te(d,p,k,i,0)|0;j=e[(c[C>>2]|0)+(A*6|0)+2>>1]|0;i=h-s>>31;if((i^t|0)>=0)if((i^r|0)<0)h=s;else h=s-q+h|0;i=te(d,u,j,h,0)|0;j=e[(c[C>>2]|0)+(A*6|0)+4>>1]|0;h=g-x>>31;if((h^y|0)>=0)if((h^w|0)<0)g=x;else g=x-v+g|0;y=te(d,z,j,g,0)|0;z=c[C>>2]|0;b[z+(A*6|0)>>1]=k;b[z+(A*6|0)+2>>1]=i;b[z+(A*6|0)+4>>1]=y}if((f|0)<(c[B>>2]|0))A=f;else break}return}function se(a,d,f){a=a|0;d=d|0;f=f|0;var 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,A=0,B=0,C=0;B=i;i=i+48|0;r=B+30|0;q=B+24|0;p=B+18|0;s=B+12|0;x=B+6|0;y=B;z=(c[a+180>>2]|0)-d|0;A=c[a+4608>>2]|0;t=c[a+4604>>2]|0;w=d+-1|0;u=b[A+(w*6|0)>>1]|0;v=b[A+(w*6|0)+2>>1]|0;w=b[A+(w*6|0)+4>>1]|0;f=u&65535;g=a+144|0;h=v&65535;j=w&65535;o=0;while(1){m=o+d|0;k=A+(m*6|0)|0;l=A+(m*6|0)+2|0;m=A+(m*6|0)+4|0;C=(e[k>>1]|0)-f|0;n=c[g>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(e[l>>1]|0)-h|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(e[m>>1]|0)-j|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;b[k>>1]=u;b[l>>1]=v;b[m>>1]=w;o=o+1|0;if((o|0)==(z|0)){o=z;break}}h=(o|0)==(z|0);j=a+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(o|0))f=o;else{f=o;do{ae(a,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]=b[C>>1]|0;b[x+2>>1]=b[C+2>>1]|0;b[x+4>>1]=b[C+4>>1]|0;b[y>>1]=u;b[y+2>>1]=v;b[y+4>>1]=w;d=t+(d*6|0)|0;b[p>>1]=b[x>>1]|0;b[p+2>>1]=b[x+2>>1]|0;b[p+4>>1]=b[x+4>>1]|0;b[q>>1]=b[y>>1]|0;b[q+2>>1]=b[y+2>>1]|0;b[q+4>>1]=b[y+4>>1]|0;b[r>>1]=b[d>>1]|0;b[r+2>>1]=b[d+2>>1]|0;b[r+4>>1]=b[d+4>>1]|0;ve(s,a,p,q,r);b[C>>1]=b[s>>1]|0;b[C+2>>1]=b[s+2>>1]|0;b[C+4>>1]=b[s+4>>1]|0;C=c[j>>2]|0;c[j>>2]=(C|0)<1?0:C+-1|0;C=o+1|0;i=B;return C|0}if(!f){C=z;i=B;return C|0}ae(a,1,1);C=z;i=B;return C|0}function te(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;ue(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&65535;return r|0}r=g&~(d>>31);r=r&65535;return r|0}function ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>1]|0;p=o-(e[g>>1]|0)>>31|1;i=$(p,(e[f>>1]|0)-o|0)|0;m=d+144|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;w=d+140|0;l=c[w>>2]|0;k=((i|0)<0?l:0)+i|0;l=k-((k|0)<((l+1|0)/2|0|0)?0:l)|0;k=d+4576|0;we(d,k,l);t=e[h+2>>1]|0;u=t-(e[g+2>>1]|0)>>31|1;i=$(u,(e[f+2>>1]|0)-t|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;q=c[w>>2]|0;v=((i|0)<0?q:0)+i|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;we(d,k,q);v=e[h+4>>1]|0;s=v-(e[g+4>>1]|0)>>31|1;i=$(s,(e[f+4>>1]|0)-v|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;n=c[w>>2]|0;i=((i|0)<0?n:0)+i|0;n=i-((i|0)<((n+1|0)/2|0|0)?0:n)|0;we(d,k,n);k=c[m>>2]|0;m=k<<1|1;i=($($(m,l)|0,p)|0)+o|0;f=0-k|0;if((i|0)>=(f|0)){j=c[r>>2]|0;if((j+k|0)<(i|0)){i=i-($(c[w>>2]|0,m)|0)|0;g=j}else g=j}else{i=($(c[w>>2]|0,m)|0)+i|0;g=c[r>>2]|0}if((i&g|0)!=(i|0))i=g&~(i>>31);h=i&65535;i=($($(m,q)|0,u)|0)+t|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)!=(i|0))i=g&~(i>>31);j=i&65535;i=($($(m,n)|0,s)|0)+v|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)==(i|0)){w=i;w=w&65535;b[a>>1]=h;v=a+2|0;b[v>>1]=j;a=a+4|0;b[a>>1]=w;return}w=g&~(i>>31);w=w&65535;b[a>>1]=h;v=a+2|0;b[v>>1]=j;a=a+4|0;b[a>>1]=w;return}function we(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;ue(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function xe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do{if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function ye(a){a=a|0;var b=0,d=0;c[a>>2]=36024;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function ze(a){a=a|0;var b=0,d=0;c[a>>2]=36024;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Ae(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;pf(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function Be(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35800;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Ce(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function De(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36712;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36688;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Fe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36664;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function Ge(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[b>>2]=36640;c[b+4>>2]=e;m=b+8|0;f=c[e>>2]|0;k=e+16|0;i=c[k>>2]|0;h=$(i,f)|0;c[m>>2]=0;n=b+12|0;c[n>>2]=0;c[b+16>>2]=0;do{if(!h)h=i;else{if(!((h|0)<0?(o=0,ha(178,m|0),i=o,o=0,i&1):0))l=4;if((l|0)==4?(o=0,j=ka(67,h|0)|0,i=o,o=0,!(i&1)):0){c[n>>2]=j;c[m>>2]=j;c[b+16>>2]=j+h;f=j;do{a[f>>0]=0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;h=h+-1|0}while((h|0)!=0);h=c[k>>2]|0;f=c[e>>2]|0;break}f=Na()|0;g=c[m>>2]|0;if(g){if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g)}n=f;Ya(n|0)}}while(0);i=b+20|0;f=$(h,f)|0;c[i>>2]=0;h=b+24|0;c[h>>2]=0;c[b+28>>2]=0;if(!f){n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}if(!((f|0)<0?(o=0,ha(178,i|0),e=o,o=0,e&1):0))l=15;if((l|0)==15?(o=0,g=ka(67,f|0)|0,l=o,o=0,!(l&1)):0){c[h>>2]=g;c[i>>2]=g;c[b+28>>2]=g+f;do{a[g>>0]=0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;f=f+-1|0}while((f|0)!=0);n=b+36|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];return}f=Na()|0;g=c[i>>2]|0;if(g){if((c[h>>2]|0)!=(g|0))c[h>>2]=g;cj(g)}g=c[m>>2]|0;if(!g){n=f;Ya(n|0)}if((c[n>>2]|0)!=(g|0))c[n>>2]=g;cj(g);n=f;Ya(n|0)}function He(a){a=a|0;var b=0,d=0;c[a>>2]=36640;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function Ie(a){a=a|0;var b=0,d=0;c[a>>2]=36640;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;Ne(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;Ne(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Le(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Me(a,f,b,d,e);return}}function Le(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{j=d[k+(i*3|0)+1>>0]|0;h=128-j+(d[k+(i*3|0)+2>>0]|0)|0;l=(d[k+(i*3|0)>>0]|0)-j+128|0;m=f+(i*3|0)|0;a[m>>0]=j+192+(((h&255)+(l&255)|0)>>>2);a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{g=d[k+(e*3|0)+1>>0]|0;l=128-g+(d[k+(e*3|0)+2>>0]|0)|0;m=(d[k+(e*3|0)>>0]|0)-g+128|0;a[f+e>>0]=g+192+(((l&255)+(m&255)|0)>>>2);a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{m=a[k+(j<<2)+3>>0]|0;n=d[k+(j<<2)+1>>0]|0;g=128-n+(d[k+(j<<2)+2>>0]|0)|0;l=(d[k+(j<<2)>>0]|0)-n+128|0;a[f+j>>0]=n+192+(((g&255)+(l&255)|0)>>>2);a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Me(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Le(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Le(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function Ne(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=d[e+(b*3|0)+1>>0]|0;i=d[e+(b*3|0)+2>>0]|0;k=(d[e+(b*3|0)>>0]|0)-((i+j|0)>>>2)+64|0;h=f+(b*3|0)|0;a[h>>0]=i+128+k;a[h+1>>0]=k;a[h+2>>0]=j+128+k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=d[e+(j+h)>>0]|0;o=d[e+(j+i)>>0]|0;m=(d[e+j>>0]|0)-((o+n|0)>>>2)+64|0;k=f+(j*3|0)|0;a[k>>0]=o+128+m;a[k+1>>0]=m;a[k+2>>0]=n+128+m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{m=d[e+(j+h)>>0]|0;p=d[e+(j+b)>>0]|0;n=(d[e+j>>0]|0)-((p+m|0)>>>2)+64|0;o=f+(j<<2)|0;n=n<<8&65280|d[e+(j+i)>>0]<<24|p+128+n&255|m+128+n<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){p=b+2|0;o=a[b>>0]|0;a[b>>0]=a[p>>0]|0;a[p>>0]=o;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function Oe(a){a=a|0;var b=0,d=0;c[a>>2]=36664;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function Pe(a){a=a|0;var b=0,d=0;c[a>>2]=36664;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Qe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;Ue(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;Ue(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Se(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{Te(a,f,b,d,e);return}}function Se(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{e=d[k+(i*3|0)>>0]|0;h=a[k+(i*3|0)+1>>0]|0;j=h&255;l=(d[k+(i*3|0)+2>>0]|0)+128-((j+e|0)>>>1)&255;m=f+(i*3|0)|0;a[m>>0]=e+128-j;a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{l=a[k+(e*3|0)+1>>0]|0;j=d[k+(e*3|0)>>0]|0;g=l&255;m=(d[k+(e*3|0)+2>>0]|0)+128-((g+j|0)>>>1)&255;a[f+e>>0]=j+128-g;a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{g=a[k+(j<<2)+1>>0]|0;m=a[k+(j<<2)+3>>0]|0;o=d[k+(j<<2)>>0]|0;n=g&255;l=(d[k+(j<<2)+2>>0]|0)+128-((n+o|0)>>>1)&255;a[f+j>>0]=o+128-n;a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function Te(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Se(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Se(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function Ue(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;k=j&255;i=(d[e+(b*3|0)>>0]|0)+128+k|0;k=(d[e+(b*3|0)+2>>0]|0)+128+(((i&255)+k|0)>>>1)&255;h=f+(b*3|0)|0;a[h>>0]=i;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;m=n&255;o=(d[e+j>>0]|0)+128+m|0;m=(d[e+(j+i)>>0]|0)+128+(((o&255)+m|0)>>>1)&255;k=f+(j*3|0)|0;a[k>>0]=o;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=d[e+(j+h)>>0]|0;m=(d[e+j>>0]|0)+128+n&255;o=f+(j<<2)|0;n=m|n<<8|d[e+(j+i)>>0]<<24|(d[e+(j+b)>>0]|0)+128+((m+n|0)>>>1)<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){o=b+2|0;n=a[b>>0]|0;a[b>>0]=a[o>>0]|0;a[o>>0]=n;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function Ve(a){a=a|0;var b=0,d=0;c[a>>2]=36688;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function We(a){a=a|0;var b=0,d=0;c[a>>2]=36688;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;$e(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;$e(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function Ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;Ze(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{_e(a,f,b,d,e);return}}function Ze(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=b+4|0;i=c[k>>2]|0;if(!(a[i+32>>0]|0))k=e;else{j=b+8|0;lw(c[j>>2]|0,e|0,g*3|0)|0;i=c[k>>2]|0;e=c[i+16>>2]|0;if((g|0)>0){i=c[j>>2]|0;b=0;while(1){l=i+2|0;m=a[i>>0]|0;a[i>>0]=a[l>>0]|0;a[l>>0]=m;b=b+1|0;if((b|0)==(g|0))break;else i=i+e|0}i=c[k>>2]|0}k=c[j>>2]|0}switch(c[i+16>>2]|0){case 3:{if((c[i+24>>2]|0)==2){if((g|0)>0)i=0;else return;do{h=a[k+(i*3|0)+1>>0]|0;j=h&255;l=128-j+(d[k+(i*3|0)+2>>0]|0)&255;m=f+(i*3|0)|0;a[m>>0]=(d[k+(i*3|0)>>0]|0)+128-j;a[m+1>>0]=h;a[m+2>>0]=l;i=i+1|0}while((i|0)!=(g|0));return}i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=0;do{l=a[k+(e*3|0)+1>>0]|0;g=l&255;m=128-g+(d[k+(e*3|0)+2>>0]|0)&255;a[f+e>>0]=(d[k+(e*3|0)>>0]|0)+128-g;a[f+(e+h)>>0]=l;a[f+(e+b)>>0]=m;e=e+1|0}while((e|0)!=(i|0));return}case 4:{if((c[i+24>>2]|0)!=1)return;i=(h|0)<(g|0)?h:g;if((i|0)<=0)return;b=h<<1;e=h*3|0;j=0;do{g=a[k+(j<<2)+1>>0]|0;m=a[k+(j<<2)+3>>0]|0;n=g&255;l=128-n+(d[k+(j<<2)+2>>0]|0)&255;a[f+j>>0]=(d[k+(j<<2)>>0]|0)+128-n;a[f+(j+h)>>0]=g;a[f+(j+b)>>0]=l;a[f+(j+e)>>0]=m;j=j+1|0}while((j|0)!=(i|0));return}default:return}}function _e(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;Ze(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){Ze(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;i=j&255;k=i+128+(d[e+(b*3|0)+2>>0]|0)&255;h=f+(b*3|0)|0;a[h>>0]=(d[e+(b*3|0)>>0]|0)+128+i;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;o=n&255;m=o+128+(d[e+(j+i)>>0]|0)&255;k=f+(j*3|0)|0;a[k>>0]=(d[e+j>>0]|0)+128+o;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=d[e+(j+h)>>0]|0;o=f+(j<<2)|0;n=(d[e+j>>0]|0)+128+n&255|n<<8|d[e+(j+i)>>0]<<24|n+128+(d[e+(j+b)>>0]|0)<<16&16711680;a[o>>0]=n;a[o+1>>0]=n>>8;a[o+2>>0]=n>>16;a[o+3>>0]=n>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){o=b+2|0;n=a[b>>0]|0;a[b>>0]=a[o>>0]|0;a[o>>0]=n;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function af(a){a=a|0;var b=0,d=0;c[a>>2]=36712;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=c[a+8>>2]|0;if(!d)return;b=a+12|0;if((c[b>>2]|0)!=(d|0))c[b>>2]=d;cj(d);return}function bf(a){a=a|0;var b=0,d=0;c[a>>2]=36712;b=c[a+20>>2]|0;if(b){d=a+24|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function cf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=b+36|0;if(!(c[g>>2]|0)){g=b+40|0;gf(b,d,c[g>>2]|0,e,f);c[g>>2]=(c[g>>2]|0)+(c[(c[b+4>>2]|0)+12>>2]|0);return}h=$(c[(c[b+4>>2]|0)+16>>2]|0,e)|0;i=b+20|0;gf(b,d,c[i>>2]|0,e,f);b=c[g>>2]|0;if((Gb[c[(c[b>>2]|0)+48>>2]&63](b,c[i>>2]|0,h)|0)==(h|0))return;g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,3,35648);i=o;o=0;if(i&1){i=Na()|0;La(g|0);Ya(i|0)}else lb(g|0,824,96)}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+36>>2]|0;if(!f){f=a+40|0;ef(a,c[f>>2]|0,b,d,e);c[f>>2]=(c[f>>2]|0)+(c[(c[a+4>>2]|0)+12>>2]|0);return}else{ff(a,f,b,d,e);return}}function ef(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=b+4|0;h=c[j>>2]|0;if(!(a[h+32>>0]|0))j=d;else{i=b+8|0;lw(c[i>>2]|0,d|0,f*3|0)|0;h=c[j>>2]|0;d=c[h+16>>2]|0;if((f|0)>0){h=c[i>>2]|0;b=0;while(1){k=h+2|0;l=a[h>>0]|0;a[h>>0]=a[k>>0]|0;a[k>>0]=l;b=b+1|0;if((b|0)==(f|0))break;else h=h+d|0}h=c[j>>2]|0}j=c[i>>2]|0}switch(c[h+16>>2]|0){case 3:{if((c[h+24>>2]|0)==2){if((f|0)>0)h=0;else return;do{g=a[j+(h*3|0)+1>>0]|0;k=a[j+(h*3|0)+2>>0]|0;l=e+(h*3|0)|0;a[l>>0]=a[j+(h*3|0)>>0]|0;a[l+1>>0]=g;a[l+2>>0]=k;h=h+1|0}while((h|0)!=(f|0));return}h=(g|0)<(f|0)?g:f;if((h|0)<=0)return;b=g<<1;d=0;do{k=a[j+(d*3|0)+1>>0]|0;l=a[j+(d*3|0)+2>>0]|0;a[e+d>>0]=a[j+(d*3|0)>>0]|0;a[e+(d+g)>>0]=k;a[e+(d+b)>>0]=l;d=d+1|0}while((d|0)!=(h|0));return}case 4:{if((c[h+24>>2]|0)!=1)return;h=(g|0)<(f|0)?g:f;if((h|0)<=0)return;b=g<<1;d=g*3|0;i=0;do{f=a[j+(i<<2)+1>>0]|0;k=a[j+(i<<2)+2>>0]|0;l=a[j+(i<<2)+3>>0]|0;a[e+i>>0]=a[j+(i<<2)>>0]|0;a[e+(i+g)>>0]=f;a[e+(i+b)>>0]=k;a[e+(i+d)>>0]=l;i=i+1|0}while((i|0)!=(h|0));return}default:return}}function ff(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;p=i;i=i+176|0;q=p+152|0;s=p+16|0;r=p;j=$(c[(c[b+4>>2]|0)+16>>2]|0,f)|0;l=b+20|0;h=c[l>>2]|0;if(!j){s=h;ef(b,s,e,f,g);i=p;return}while(1){k=Gb[c[(c[d>>2]|0)+32>>2]&63](d,h,j)|0;if(!k)break;h=c[l>>2]|0;if((j|0)==(k|0)){m=26;break}else j=j-k|0}if((m|0)==26){ef(b,h,e,f,g);i=p;return}e=s+56|0;l=s+4|0;c[s>>2]=36160;c[e>>2]=36180;o=0;ia(62,s+56|0,l|0);p=o;o=0;if(p&1){s=Na()|0;fn(e);Ya(s|0)}c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=36200;c[s+56>>2]=36220;o=0;ha(180,l|0);p=o;o=0;do{if(p&1)h=Na()|0;else{c[l>>2]=36236;d=s+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[s+52>>2]=16;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;o=0;ia(63,l|0,q|0);p=o;o=0;if(p&1){h=Na()|0;Im(q);Im(d);nn(l);break}Im(q);o=0;h=ma(28,s|0,49029,57)|0;q=o;o=0;if(!(q&1)?(o=0,ra(36,h|0,0)|0,q=o,o=0,!(q&1)):0){k=Ma(16)|0;o=0;ia(64,r|0,l|0);q=o;o=0;if(!(q&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,k|0,3,35648,r|0);q=o;o=0;if(q&1)j=1;else{o=0;wa(6,k|0,824,96);o=0;j=0}h=Na()|0;Im(r);if(!j){r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}else h=Na()|0;La(k|0);r=h;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}r=Na()|0;c[s>>2]=36200;c[e>>2]=36220;c[l>>2]=36236;Im(d);nn(l);fn(e);Ya(r|0)}}while(0);s=h;fn(e);Ya(s|0)}function gf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;b=c[l>>2]|0;a:do{switch(c[b+16>>2]|0){case 3:{if((c[b+24>>2]|0)==2){if((g|0)>0)b=0;else break a;while(1){j=a[e+(b*3|0)+1>>0]|0;k=a[e+(b*3|0)+2>>0]|0;h=f+(b*3|0)|0;a[h>>0]=a[e+(b*3|0)>>0]|0;a[h+1>>0]=j;a[h+2>>0]=k;b=b+1|0;if((b|0)==(g|0))break a}}b=(g|0)<(h|0)?g:h;if((b|0)>0){i=h<<1;j=0;do{n=a[e+(j+h)>>0]|0;m=a[e+(j+i)>>0]|0;k=f+(j*3|0)|0;a[k>>0]=a[e+j>>0]|0;a[k+1>>0]=n;a[k+2>>0]=m;j=j+1|0}while((j|0)!=(b|0))}break}case 4:{if((c[b+24>>2]|0)==1?(k=(g|0)<(h|0)?g:h,(k|0)>0):0){b=h<<1;i=h*3|0;j=0;do{n=f+(j<<2)|0;m=d[e+(j+h)>>0]<<8|d[e+j>>0]|d[e+(j+b)>>0]<<16|d[e+(j+i)>>0]<<24;a[n>>0]=m;a[n+1>>0]=m>>8;a[n+2>>0]=m>>16;a[n+3>>0]=m>>24;j=j+1|0}while((j|0)!=(k|0))}break}default:{}}}while(0);b=c[l>>2]|0;if(!(a[b+32>>0]|0))return;j=c[b+16>>2]|0;if((g|0)>0){b=f;i=0}else return;while(1){n=b+2|0;m=a[b>>0]|0;a[b>>0]=a[n>>0]|0;a[n>>0]=m;i=i+1|0;if((i|0)==(g|0))break;else b=b+j|0}return}function hf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+180|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[x>>2]|0)+3|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){g=b+12|0;b:do{if((c[g>>2]|0)>0){h=b+4604|0;j=($(s,r)|0)+1|0;k=b+4608|0;l=b+92|0;m=(s|0)>0;n=b+4600|0;p=0;c:while(1){f=c[w>>2]|0;d=f+3|0;c[h>>2]=d;e=f+(j*3|0)|0;c[k>>2]=e;if(!(p&1))d=j;else{c[h>>2]=e;c[k>>2]=d;d=1}e=c[l>>2]|0;o=0;Aa(c[(c[e>>2]|0)+12>>2]|0,e|0,f+(d*3|0)|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*3|0)|0;e=e+((y+-1|0)*3|0)|0;a[d>>0]=a[e>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;d=c[h>>2]|0;e=(c[k>>2]|0)+-3|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;o=0;ia(70,b|0,0);e=o;o=0;if(e&1){h=28;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*3|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*3|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){f=Na()|0;break}else if((h|0)==29){f=Na()|0;break}}else h=41}while(0);do{if((h|0)==41){o=0;ha(182,b|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=u;return}}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function jf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+180|0;if((c[A>>2]|0)<=0)return;B=b+4608|0;C=b+4604|0;D=b+4612|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=(kf(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=lf(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=lf(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=lf(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function kf(b,e,f){b=b|0;e=e|0;f=f|0;var 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,A=0,B=0,C=0;B=i;i=i+32|0;A=B+15|0;q=B+12|0;p=B+9|0;r=B+6|0;w=B+3|0;x=B;y=(c[b+180>>2]|0)-e|0;z=c[b+4608>>2]|0;s=c[b+4604>>2]|0;v=z+((e+-1|0)*3|0)|0;t=a[v>>0]|0;u=a[v+1>>0]|0;v=a[v+2>>0]|0;f=t&255;g=b+144|0;h=u&255;j=v&255;o=0;while(1){k=z+((o+e|0)*3|0)|0;l=k+1|0;m=k+2|0;C=(d[k>>0]|0)-f|0;n=c[g>>2]|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(d[l>>0]|0)-h|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;C=(d[m>>0]|0)-j|0;if((((C|0)>-1?C:0-C|0)|0)>(n|0))break;a[k>>0]=t;a[l>>0]=u;a[m>>0]=v;o=o+1|0;if((o|0)==(y|0)){o=y;break}}h=(o|0)==(y|0);j=b+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(o|0))f=o;else{f=o;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]=a[C>>0]|0;a[w+1>>0]=a[C+1>>0]|0;a[w+2>>0]=a[C+2>>0]|0;a[x>>0]=t;a[x+1>>0]=u;a[x+2>>0]=v;e=s+(e*3|0)|0;a[p>>0]=a[w>>0]|0;a[p+1>>0]=a[w+1>>0]|0;a[p+2>>0]=a[w+2>>0]|0;a[q>>0]=a[x>>0]|0;a[q+1>>0]=a[x+1>>0]|0;a[q+2>>0]=a[x+2>>0]|0;a[A>>0]=a[e>>0]|0;a[A+1>>0]=a[e+1>>0]|0;a[A+2>>0]=a[e+2>>0]|0;nf(r,b,p,q,A);a[C>>0]=a[r>>0]|0;a[C+1>>0]=a[r+1>>0]|0;a[C+2>>0]=a[r+2>>0]|0;C=c[j>>2]|0;c[j>>2]=(C|0)<1?0:C+-1|0;C=o+1|0;i=B;return C|0}if(!f){C=y;i=B;return C|0}ae(b,1,1);C=y;i=B;return C|0}function lf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;mf(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&255;return r|0}r=g&~(d>>31);r=r&255;return r|0}function mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>0]|0;p=o-(d[g>>0]|0)>>31|1;i=$(p,(d[f>>0]|0)-o|0)|0;m=e+144|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;w=e+140|0;l=c[w>>2]|0;k=((i|0)<0?l:0)+i|0;l=k-((k|0)<((l+1|0)/2|0|0)?0:l)|0;k=e+4576|0;of(e,k,l);t=d[h+1>>0]|0;u=t-(d[g+1>>0]|0)>>31|1;i=$(u,(d[f+1>>0]|0)-t|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;q=c[w>>2]|0;v=((i|0)<0?q:0)+i|0;q=v-((v|0)<((q+1|0)/2|0|0)?0:q)|0;of(e,k,q);v=d[h+2>>0]|0;s=v-(d[g+2>>0]|0)>>31|1;i=$(s,(d[f+2>>0]|0)-v|0)|0;j=c[m>>2]|0;if((i|0)>0)i=(i+j|0)/(j<<1|1|0)|0;else i=(i-j|0)/(j<<1|1|0)|0;n=c[w>>2]|0;i=((i|0)<0?n:0)+i|0;n=i-((i|0)<((n+1|0)/2|0|0)?0:n)|0;of(e,k,n);k=c[m>>2]|0;m=k<<1|1;i=($($(m,l)|0,p)|0)+o|0;f=0-k|0;if((i|0)>=(f|0)){j=c[r>>2]|0;if((j+k|0)<(i|0)){i=i-($(c[w>>2]|0,m)|0)|0;g=j}else g=j}else{i=($(c[w>>2]|0,m)|0)+i|0;g=c[r>>2]|0}if((i&g|0)!=(i|0))i=g&~(i>>31);h=i&255;i=($($(m,q)|0,u)|0)+t|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)!=(i|0))i=g&~(i>>31);j=i&255;i=($($(m,n)|0,s)|0)+v|0;if((i|0)>=(f|0)){if((g+k|0)<(i|0))i=i-($(c[w>>2]|0,m)|0)|0}else i=($(c[w>>2]|0,m)|0)+i|0;if((i&g|0)==(i|0)){w=i;w=w&255;a[b>>0]=h;v=b+1|0;a[v>>0]=j;b=b+2|0;a[b>>0]=w;return}w=g&~(i>>31);w=w&255;a[b>>0]=h;v=b+1|0;a[v>>0]=j;b=b+2|0;a[b>>0]=w;return}function of(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;mf(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function pf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+144|0;a:do{if(!(c[o>>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function qf(a){a=a|0;var b=0,d=0;c[a>>2]=35996;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function rf(a){a=a|0;var b=0,d=0;c[a>>2]=35996;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function sf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,65535,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Bf(d);g=0;do{c[d+172+(g*12|0)>>2]=1024;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=1024;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=1024;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function tf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35772;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];vf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;vf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function uf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function vf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+156|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do{if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+12|0;a:do{if((c[h>>2]|0)>0){j=a+4580|0;k=($(t,s)|0)+1|0;l=a+4584|0;m=a+92|0;n=(t|0)>0;p=a+4576|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(71,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40}while(0);do{if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function wf(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4580|0;f=c[p>>2]|0;s=d+156|0;if((c[s>>2]|0)<=0)return;q=d+4584|0;r=d+4588|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(yf(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=xf(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function xf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&65535|0)==(g|0))m=g;else m=g>>31&65535^65535;j=(e-m^q)-q<<16;l=j>>16;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;f=g^l;f=f>>30^f<<1;g=f>>h;if((g|0)<47){if((g|0)>30){i=(g|0)/2|0;ae(a,0,i);g=g-i|0}ae(a,1,g+1|0);ae(a,f&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-65536?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&65535;return d|0}function yf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[a+156>>2]|0)-d|0;k=c[a+4584>>2]|0;m=c[a+4580>>2]|0;h=b[k+(d+-1<<1)>>1]|0;g=0;while(1){f=k+(g+d<<1)|0;if((b[f>>1]|0)!=h<<16>>16){n=g;break}b[f>>1]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&65535;h=(n|0)==(j|0);l=a+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(a,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]|0;f=e[m+(f<<1)>>1]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<16>>16;zf(a,a+4564|0,f);f=f+i|0}else{m=f-i>>31|1;d=($(g-f<<16,m)|0)>>16;zf(a,a+4552|0,d);f=($(d,m)|0)+f|0}b[h>>1]=f;a=c[l>>2]|0;c[l>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function zf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Af(b,h,g,63-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Af(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-16|0;if((e|0)<(d+-17|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-47|0)}else ae(a,1,f);ae(a,c+65535&65535,16);return}function Bf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,65535,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8909]|0;c[b+4588>>2]=l+(((c[8910]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=131072){if(h>>>0>131072?(j=d+131072|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,131072-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+65536;j=b+168|0;g=b+164|0;h=-65536;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==65536)break}i=m;return}function Cf(a){a=a|0;var b=0,d=0;c[a>>2]=35968;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Df(a){a=a|0;var b=0,d=0;c[a>>2]=35968;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Ef(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,4095,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Nf(d);g=0;do{c[d+172+(g*12|0)>>2]=64;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=64;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=64;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function Ff(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35744;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Hf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Gf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Hf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=i;i=i+32|0;x=v+12|0;u=v;r=a+156|0;s=(c[r>>2]|0)+4|0;if((c[a+32>>2]|0)==1)t=c[a+24>>2]|0;else t=1;d=$(t<<1,s)|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;c[x+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,x|0),w=o,o=0,w&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,w=o,o=0,!(w&1)):0){c[x>>2]=f;w=f+(d<<1)|0;c[x+8>>2]=w;iw(f|0,0,e|0)|0;c[y>>2]=w;break}f=Na()|0;d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[u>>2]=0;w=u+4|0;c[w>>2]=0;c[u+8>>2]=0;do{if(!t)j=18;else{if(!(t>>>0>1073741823?(o=0,ha(178,u|0),q=o,o=0,q&1):0))j=16;if((j|0)==16?(g=t<<2,o=0,h=ka(67,g|0)|0,q=o,o=0,!(q&1)):0){c[u>>2]=h;j=h+(t<<2)|0;c[u+8>>2]=j;iw(h|0,0,g|0)|0;c[w>>2]=j;j=18;break}f=Na()|0;d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+12|0;a:do{if((c[h>>2]|0)>0){j=a+4580|0;k=($(t,s)|0)+1|0;l=a+4584|0;m=a+92|0;n=(t|0)>0;p=a+4576|0;q=0;b:while(1){e=c[x>>2]|0;d=e+2|0;c[j>>2]=d;e=e+(k<<1)|0;c[l>>2]=e;if(!(q&1))d=e;else{c[j>>2]=e;c[l>>2]=d}g=c[m>>2]|0;o=0;Aa(c[(c[g>>2]|0)+12>>2]|0,g|0,d|0,c[r>>2]|0,s|0);g=o;o=0;if(g&1){j=28;break}if(n){d=c[j>>2]|0;e=c[l>>2]|0;f=c[u>>2]|0;g=0;do{c[p>>2]=c[f+(g<<2)>>2];f=c[r>>2]|0;b[d+(f<<1)>>1]=b[d+(f+-1<<1)>>1]|0;b[e+-2>>1]=b[d>>1]|0;o=0;ia(72,a|0,0);f=o;o=0;if(f&1){j=27;break b}f=c[u>>2]|0;c[f+(g<<2)>>2]=c[p>>2];d=(c[j>>2]|0)+(s<<1)|0;c[j>>2]=d;e=(c[l>>2]|0)+(s<<1)|0;c[l>>2]=e;g=g+1|0}while((g|0)<(t|0))}q=q+1|0;if((q|0)>=(c[h>>2]|0)){j=40;break a}}if((j|0)==27){f=Na()|0;break}else if((j|0)==28){f=Na()|0;break}}else j=40}while(0);do{if((j|0)==40){o=0;ha(182,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[u>>2]|0;e=d;if(d){f=c[w>>2]|0;if((f|0)!=(d|0))c[w>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[x>>2]|0;if(!d){i=v;return}e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=v;return}}while(0);d=c[u>>2]|0;e=d;if(d){g=c[w>>2]|0;if((g|0)!=(d|0))c[w>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[x>>2]|0;if(!d)Ya(f|0);e=c[y>>2]|0;if((e|0)!=(d|0))c[y>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function If(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4580|0;f=c[p>>2]|0;s=d+156|0;if((c[s>>2]|0)<=0)return;q=d+4584|0;r=d+4588|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(Kf(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=Jf(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function Jf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&4095|0)==(g|0))m=g;else m=g>>31&4095^4095;j=(e-m^q)-q<<20;l=j>>20;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;f=g^l;f=f>>30^f<<1;g=f>>h;if((g|0)<35){if((g|0)>30){i=(g|0)/2|0;ae(a,0,i);g=g-i|0}ae(a,1,g+1|0);ae(a,f&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-1048576?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&4095;d=d&65535;return d|0}function Kf(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[a+156>>2]|0)-d|0;k=c[a+4584>>2]|0;m=c[a+4580>>2]|0;h=b[k+(d+-1<<1)>>1]|0;g=0;while(1){f=k+(g+d<<1)|0;if((b[f>>1]|0)!=h<<16>>16){n=g;break}b[f>>1]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&65535;h=(n|0)==(j|0);l=a+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(a,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>1]|0;f=e[m+(f<<1)>>1]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<20>>20;Lf(a,a+4564|0,f);f=f+i|0}else{m=f-i>>31|1;d=($(g-f<<20,m)|0)>>20;Lf(a,a+4552|0,d);f=($(d,m)|0)+f|0}b[h>>1]=f&4095;a=c[l>>2]|0;c[l>>2]=(a|0)<1?0:a+-1|0;a=n+1|0;return a|0}function Lf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Mf(b,h,g,47-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Mf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-12|0;if((e|0)<(d+-13|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-43|0)}else ae(a,1,f);ae(a,c+4095&4095,12);return}function Nf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,4095,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8906]|0;c[b+4588>>2]=l+(((c[8907]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=8192){if(h>>>0>8192?(j=d+8192|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,8192-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+4096;j=b+168|0;g=b+164|0;h=-4096;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==4096)break}i=m;return}function Of(a){a=a|0;var b=0,d=0;c[a>>2]=35940;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Pf(a){a=a|0;var b=0,d=0;c[a>>2]=35940;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Qf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;Zf(d);g=0;do{c[d+172+(g*12|0)>>2]=4;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=4;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=4;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function Rf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35716;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];Tf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;Tf(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function Sf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Tf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+156|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}e=Na()|0;d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){g=b+12|0;b:do{if((c[g>>2]|0)>0){h=b+4580|0;j=($(s,r)|0)+1|0;k=b+4584|0;l=b+92|0;m=(s|0)>0;n=b+4576|0;p=0;c:while(1){e=c[w>>2]|0;d=e+1|0;c[h>>2]=d;e=e+j|0;c[k>>2]=e;if(!(p&1))d=e;else{c[h>>2]=e;c[k>>2]=d}f=c[l>>2]|0;o=0;Aa(c[(c[f>>2]|0)+12>>2]|0,f|0,d|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[h>>2]|0;e=c[t>>2]|0;f=0;do{c[n>>2]=c[e+(f<<2)>>2];e=c[q>>2]|0;a[d+e>>0]=a[d+(e+-1)>>0]|0;a[(c[k>>2]|0)+-1>>0]=a[c[h>>2]>>0]|0;o=0;ia(73,b|0,0);e=o;o=0;if(e&1){h=28;break c}e=c[t>>2]|0;c[e+(f<<2)>>2]=c[n>>2];d=(c[h>>2]|0)+r|0;c[h>>2]=d;c[k>>2]=(c[k>>2]|0)+r;f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){e=Na()|0;break}else if((h|0)==29){e=Na()|0;break}}else h=41}while(0);do{if((h|0)==41){o=0;ha(182,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return}}while(0);d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}function Uf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4580|0;e=c[o>>2]|0;r=b+156|0;if((c[r>>2]|0)<=0)return;p=b+4584|0;q=b+4588|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(Wf(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=Vf(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function Vf(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&255|0)==(g|0))m=g;else m=g>>31&255^255;j=(e-m^q)-q<<24;l=j>>24;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;g=g^l;g=g>>30^g<<1;f=g>>h;if((f|0)<23){ae(a,1,f+1|0);ae(a,g&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-16777216?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}function Wf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=(c[b+156>>2]|0)-e|0;k=c[b+4584>>2]|0;m=c[b+4580>>2]|0;h=a[k+(e+-1)>>0]|0;g=0;while(1){f=k+(g+e)|0;if((a[f>>0]|0)!=h<<24>>24){n=g;break}a[f>>0]=h;g=g+1|0;if((g|0)==(j|0)){n=j;break}}i=h&255;h=(n|0)==(j|0);l=b+4576|0;g=c[36476+(c[l>>2]<<2)>>2]|0;if((1<(n|0))f=n;else{f=n;do{ae(b,1,1);g=c[l>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[l>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]|0;f=d[m+f>>0]|0;m=i-f|0;if((((m|0)>-1?m:0-m|0)|0)<1){f=g-i<<24>>24;Xf(b,b+4564|0,f);f=f+i|0}else{m=f-i>>31|1;e=($(g-f<<24,m)|0)>>24;Xf(b,b+4552|0,e);f=($(e,m)|0)+f|0}a[h>>0]=f;b=c[l>>2]|0;c[l>>2]=(b|0)<1?0:b+-1|0;b=n+1|0;return b|0}function Xf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;Yf(b,h,g,31-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-39|0)}else ae(a,1,f);ae(a,c+255&255,8);return}function Zf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8900]|0;c[b+4588>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+256;j=b+168|0;g=b+164|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function _f(a){a=a|0;var b=0,d=0;c[a>>2]=35912;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function $f(a){a=a|0;var b=0,d=0;c[a>>2]=35912;b=c[a+4592>>2]|0;if(b){d=a+4596|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ag(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+160>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+164>>2]=j;c[d+168>>2]=g;jg(d);g=0;do{c[d+172+(g*12|0)>>2]=4;c[d+172+(g*12|0)+4>>2]=0;b[d+172+(g*12|0)+8>>1]=0;b[d+172+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4552>>2]=4;c[d+4556>>2]=0;a[d+4560>>0]=l;a[d+4561>>0]=1;a[d+4562>>0]=0;c[d+4564>>2]=4;c[d+4568>>2]=1;a[d+4572>>0]=l;a[d+4573>>0]=1;a[d+4574>>0]=0;c[d+4576>>2]=0;i=h;return}function bg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4600)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35688;h=e+132|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+148>>2]=c[g>>2];c[e+152>>2]=0;c[e+156>>2]=0;c[e+160>>2]=0;h=e+4544|0;g=e+164|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4556|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4568|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];dg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;dg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function cg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;w=u+12|0;t=u;q=b+156|0;r=(c[q>>2]|0)+4|0;if((c[b+32>>2]|0)==1)s=c[b+24>>2]|0;else s=1;d=$(s<<1,r)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,w|0),v=o,o=0,v&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[x>>2]|0)+3|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!s)h=19;else{if(!(s>>>0>1073741823?(o=0,ha(178,t|0),p=o,o=0,p&1):0))h=17;if((h|0)==17?(f=s<<2,o=0,g=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[t>>2]=g;h=g+(s<<2)|0;c[t+8>>2]=h;iw(g|0,0,f|0)|0;c[v>>2]=h;h=19;break}f=Na()|0;d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){g=b+12|0;b:do{if((c[g>>2]|0)>0){h=b+4580|0;j=($(s,r)|0)+1|0;k=b+4584|0;l=b+92|0;m=(s|0)>0;n=b+4576|0;p=0;c:while(1){f=c[w>>2]|0;d=f+3|0;c[h>>2]=d;e=f+(j*3|0)|0;c[k>>2]=e;if(!(p&1))d=j;else{c[h>>2]=e;c[k>>2]=d;d=1}e=c[l>>2]|0;o=0;Aa(c[(c[e>>2]|0)+12>>2]|0,e|0,f+(d*3|0)|0,c[q>>2]|0,r|0);f=o;o=0;if(f&1){h=29;break}if(m){d=c[t>>2]|0;e=c[h>>2]|0;f=0;do{c[n>>2]=c[d+(f<<2)>>2];y=c[q>>2]|0;d=e+(y*3|0)|0;e=e+((y+-1|0)*3|0)|0;a[d>>0]=a[e>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;d=c[h>>2]|0;e=(c[k>>2]|0)+-3|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;o=0;ia(74,b|0,0);e=o;o=0;if(e&1){h=28;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[n>>2];e=(c[h>>2]|0)+(r*3|0)|0;c[h>>2]=e;c[k>>2]=(c[k>>2]|0)+(r*3|0);f=f+1|0}while((f|0)<(s|0))}p=p+1|0;if((p|0)>=(c[g>>2]|0)){h=41;break b}}if((h|0)==28){f=Na()|0;break}else if((h|0)==29){f=Na()|0;break}}else h=41}while(0);do{if((h|0)==41){o=0;ha(182,b|0);y=o;o=0;if(y&1){f=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=u;return}}while(0);d=c[t>>2]|0;e=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(f|0);e=c[x>>2]|0;if((e|0)!=(d|0))c[x>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function eg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+156|0;if((c[A>>2]|0)<=0)return;B=b+4584|0;C=b+4580|0;D=b+4588|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=(fg(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=gg(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=gg(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=gg(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function fg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=(c[b+156>>2]|0)-e|0;n=c[b+4584>>2]|0;o=c[b+4580>>2]|0;l=n+((e+-1|0)*3|0)|0;p=a[l>>0]|0;k=a[l+1>>0]|0;l=a[l+2>>0]|0;i=0;while(1){f=n+((i+e|0)*3|0)|0;g=f+1|0;h=f+2|0;if(!(((a[f>>0]|0)==p<<24>>24?(a[g>>0]|0)==k<<24>>24:0)&(a[h>>0]|0)==l<<24>>24))break;a[f>>0]=p;a[g>>0]=k;a[h>>0]=l;i=i+1|0;if((i|0)==(m|0)){i=m;break}}h=(i|0)==(m|0);j=b+4576|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]|0;e=m+2|0;f=a[e>>0]|0;o=o+(q*3|0)|0;q=a[o+1>>0]|0;t=a[o+2>>0]|0;o=d[o>>0]|0;h=o-(p&255)>>31|1;g=($((d[m>>0]|0)-o<<24,h)|0)>>24;s=b+4552|0;hg(b,s,g);p=q&255;q=p-(k&255)>>31|1;r=($((r&255)-p<<24,q)|0)>>24;hg(b,s,r);k=t&255;l=k-(l&255)>>31|1;f=($((f&255)-k<<24,l)|0)>>24;hg(b,s,f);p=($(r,q)|0)+p&255;b=($(f,l)|0)+k&255;a[m>>0]=($(g,h)|0)+o;a[n>>0]=p;a[e>>0]=b;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;b=i+1|0;return b|0}if(!f){t=m;return t|0}ae(b,1,1);t=m;return t|0}function gg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d>>31;k=(q^d)-q|0;p=a+172+(k*12|0)+10|0;i=b[p>>1]|0;o=a+172+(k*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){h=5;while(1)if((i<>1]^q)-q+f|0;if((g&255|0)==(g|0))m=g;else m=g>>31&255^255;j=(e-m^q)-q<<24;l=j>>24;if(!h)g=(c[a+172+(k*12|0)+4>>2]<<1)+-1+i>>31;else g=0;g=g^l;g=g>>30^g<<1;f=g>>h;if((f|0)<23){ae(a,1,f+1|0);ae(a,g&(1<>1]|0;g=i<<16>>16==64;h=g&1;e=(c[f>>2]|0)+l>>h;i=g?32:i<<16>>16;c[o>>2]=(c[o>>2]|0)+((j|0)>-16777216?l:0-l|0)>>h;h=i+1|0;b[p>>1]=h;g=h+e|0;if((g|0)<1){p=b[n>>1]|0;b[n>>1]=(p&65535)-(p<<16>>16>-128&1);p=(g|0)>(~i|0)?g:0-i|0;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}if((e|0)<=0){p=e;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}p=e-h|0;o=b[n>>1]|0;b[n>>1]=(o<<16>>16<127&1)+(o&65535);p=(p|0)>0?0:p;c[f>>2]=p;q=l^q;d=d>>>31;d=m+d|0;d=d+q|0;d=d&255;return d|0}function hg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;ig(b,h,g,31-(c[36476+(c[b+4576>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function ig(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c>>b;f=d+-8|0;if((e|0)<(d+-9|0)){if((e|0)>30){d=(e|0)/2|0;ae(a,0,d);e=e-d|0}ae(a,1,e+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,d+-39|0)}else ae(a,1,f);ae(a,c+255&255,8);return}function jg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+160|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+164>>2]|0):0)?(c[k+12>>2]|0)==(c[b+168>>2]|0):0){l=c[8900]|0;c[b+4588>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4592|0;f=b+4596|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4588|0;c[k>>2]=d+256;j=b+168|0;g=b+164|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function kg(a){a=a|0;var b=0,d=0;c[a>>2]=35884;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);a=a+4|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function lg(a){a=a|0;var b=0,d=0;c[a>>2]=35884;b=c[a+4616>>2]|0;if(b){d=a+4620|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36612;b=c[a+120>>2]|0;if(b){d=a+124|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+92|0;b=c[d>>2]|0;c[d>>2]=0;if(b)Bb[c[(c[b>>2]|0)+4>>2]&255](b);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function mg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+136>>2]|0,c[d+144>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+184>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+188>>2]=j;c[d+192>>2]=h;wg(d);h=d+140|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+196+(j*12|0)>>2]=e;c[d+196+(j*12|0)+4>>2]=0;b[d+196+(j*12|0)+8>>1]=0;b[d+196+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4576>>2]=l;c[d+4580>>2]=0;a[d+4584>>0]=m;a[d+4585>>0]=1;a[d+4586>>0]=0;c[d+4588>>2]=l;c[d+4592>>2]=1;a[d+4596>>0]=m;a[d+4597>>0]=1;a[d+4598>>0]=0;c[d+4600>>2]=0;i=k;return}function ng(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;m=o;l=d+92|0;k=c[e>>2]|0;c[e>>2]=0;e=c[l>>2]|0;c[l>>2]=k;if(e)Bb[c[(c[e>>2]|0)+4>>2]&255](e);c[m>>2]=0;c[m+4>>2]=g;l=f+8|0;c[m+8>>2]=c[l>>2];if(g){e=bj(4624)|0;g=d+8|0;h=e+4|0;j=g;k=h+84|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));h=e+88|0;k=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));c[e>>2]=35660;c[e+128>>2]=c[d+136>>2];c[e+132>>2]=c[d+140>>2];c[e+136>>2]=c[d+144>>2];c[e+140>>2]=c[d+148>>2];c[e+144>>2]=c[d+152>>2];c[e+148>>2]=c[d+156>>2];c[e+152>>2]=c[d+160>>2];h=e+156|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e+172>>2]=c[g>>2];c[e+176>>2]=0;c[e+180>>2]=0;c[e+184>>2]=0;h=e+4568|0;g=e+188|0;do{c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;b[g+10>>1]=1;g=g+12|0}while((g|0)!=(h|0));j=d+4|0;c[h>>2]=0;c[h+4>>2]=0;b[h+8>>1]=0;a[h+10>>0]=0;k=e+4580|0;c[k>>2]=0;c[k+4>>2]=0;b[k+8>>1]=0;a[k+10>>0]=0;k=e+4592|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;a[k+28>>0]=0;if(!(c[e+28>>2]|0))c[e+20>>2]=1;g=c[j>>2]|0;c[j>>2]=e;if(g){Bb[c[(c[g>>2]|0)+4>>2]&255](g);e=c[j>>2]|0}Wd(e,m)}m=d+100|0;c[m>>2]=32;c[d+96>>2]=0;e=c[f>>2]|0;if(!e){c[d+108>>2]=c[f+4>>2];c[d+104>>2]=c[l>>2];pg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}c[d+132>>2]=e;h=d+120|0;l=d+124|0;g=c[l>>2]|0;e=c[h>>2]|0;j=e;k=g-j|0;if(k>>>0>=4e3){if(k>>>0>4e3?(n=e+4e3|0,(g|0)!=(n|0)):0){c[l>>2]=n;g=n}}else{Xd(h,4e3-k|0);e=c[h>>2]|0;j=e;g=c[l>>2]|0}c[d+108>>2]=j;c[d+104>>2]=g-e;pg(d);n=d+116|0;n=c[n>>2]|0;d=c[m>>2]|0;d=d+-32|0;d=(d|0)/8|0;d=n-d|0;i=o;return d|0}function og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+32>>2]|0)!=0?(c[b+24>>2]|0)!=1:0){s=b+8|0;u=b+36|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+16>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+20>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function pg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;u=i;i=i+32|0;w=u+12|0;t=u;r=b+180|0;s=(c[r>>2]|0)+4|0;if((c[b+32>>2]|0)==1)p=c[b+24>>2]|0;else p=1;d=$(p<<1,s)|0;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,w|0),v=o,o=0,v&1):0))q=6;if((q|0)==6?(o=0,e=ka(67,d|0)|0,v=o,o=0,!(v&1)):0){c[x>>2]=e;c[w>>2]=e;c[w+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}}while(0);c[t>>2]=0;v=t+4|0;c[v>>2]=0;c[t+8>>2]=0;do{if(!p)q=19;else{if(!(p>>>0>1073741823?(o=0,ha(178,t|0),n=o,o=0,n&1):0))q=17;if((q|0)==17?(f=p<<2,o=0,g=ka(67,f|0)|0,n=o,o=0,!(n&1)):0){c[t>>2]=g;q=g+(p<<2)|0;c[t+8>>2]=q;iw(g|0,0,f|0)|0;c[v>>2]=q;q=19;break}e=Na()|0;d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((q|0)==19){j=b+12|0;b:do{if((c[j>>2]|0)>0){k=b+4604|0;l=($(p,s)|0)+1|0;m=b+4608|0;n=b+92|0;h=b+4600|0;if((p|0)>0)g=0;else{f=0;while(1){e=c[w>>2]|0;d=e+1|0;c[k>>2]=d;e=e+l|0;c[m>>2]=e;if(!(f&1))d=e;else{c[k>>2]=e;c[m>>2]=d}p=c[n>>2]|0;o=0;Aa(c[(c[p>>2]|0)+12>>2]|0,p|0,d|0,c[r>>2]|0,s|0);p=o;o=0;if(p&1)break;f=f+1|0;if((f|0)>=(c[j>>2]|0)){q=45;break b}}e=Na()|0;break}c:while(1){e=c[w>>2]|0;d=e+1|0;c[k>>2]=d;e=e+l|0;c[m>>2]=e;if(!(g&1))d=e;else{c[k>>2]=e;c[m>>2]=d}q=c[n>>2]|0;o=0;Aa(c[(c[q>>2]|0)+12>>2]|0,q|0,d|0,c[r>>2]|0,s|0);q=o;o=0;if(q&1){q=28;break}d=c[t>>2]|0;e=c[k>>2]|0;f=0;do{c[h>>2]=c[d+(f<<2)>>2];q=c[r>>2]|0;a[e+q>>0]=a[e+(q+-1)>>0]|0;a[(c[m>>2]|0)+-1>>0]=a[c[k>>2]>>0]|0;o=0;ia(75,b|0,0);q=o;o=0;if(q&1){q=36;break c}d=c[t>>2]|0;c[d+(f<<2)>>2]=c[h>>2];e=(c[k>>2]|0)+s|0;c[k>>2]=e;c[m>>2]=(c[m>>2]|0)+s;f=f+1|0}while((f|0)<(p|0));g=g+1|0;if((g|0)>=(c[j>>2]|0)){q=45;break b}}if((q|0)==28){e=Na()|0;break}else if((q|0)==36){e=Na()|0;break}}else q=45}while(0);do{if((q|0)==45){o=0;ha(182,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[t>>2]|0;e=d;if(d){f=c[v>>2]|0;if((f|0)!=(d|0))c[v>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[w>>2]|0;if(!d){i=u;return}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return}}while(0);d=c[t>>2]|0;f=d;if(d){g=c[v>>2]|0;if((g|0)!=(d|0))c[v>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0)}function qg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4604|0;e=c[o>>2]|0;r=b+180|0;if((c[r>>2]|0)<=0)return;p=b+4608|0;q=b+4612|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(sg(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=rg(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function rg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d>>31;h=(r^d)-r|0;p=a+196+(h*12|0)+10|0;i=b[p>>1]|0;o=a+196+(h*12|0)|0;g=c[o>>2]|0;if((i|0)<(g|0))if((i<<1|0)<(g|0))if((i<<2|0)<(g|0))if((i<<3|0)<(g|0))if((i<<4|0)<(g|0)){d=5;while(1)if((i<>1]^r)-r+f|0;q=a+136|0;f=c[q>>2]|0;if((g&f|0)==(g|0))l=g;else l=f&~(g>>31);g=(e-l^r)-r|0;k=a+144|0;f=c[k>>2]|0;if((g|0)>0)g=(g+f|0)/(f<<1|1|0)|0;else g=(g-f|0)/(f<<1|1|0)|0;n=a+140|0;j=c[n>>2]|0;e=((g|0)<0?j:0)+g|0;j=e-((e|0)<((j+1|0)/2|0|0)?0:j)|0;h=a+196+(h*12|0)+4|0;if(!(f|d))g=(c[h>>2]<<1)+-1+i>>31;else g=0;f=g^j;vg(a,d,f>>30^f<<1,c[a+156>>2]|0);f=c[a+160>>2]|0;d=(c[o>>2]|0)+((j|0)>-1?j:0-j|0)|0;g=(c[h>>2]|0)+($(c[k>>2]<<1|1,j)|0)|0;e=b[p>>1]|0;if((e|0)==(f|0)){d=d>>1;g=g>>1;e=f>>1}c[o>>2]=d;f=e+1|0;b[p>>1]=f;d=f+g|0;if((d|0)>=1){if((g|0)>0){g=g-f|0;p=b[m>>1]|0;b[m>>1]=(p<<16>>16<127&1)+(p&65535);g=(g|0)>0?0:g}}else{g=b[m>>1]|0;b[m>>1]=(g&65535)-(g<<16>>16>-128&1);g=(d|0)>(~e|0)?d:0-e|0}c[h>>2]=g;f=c[k>>2]|0;e=f<<1|1;d=($(e,(j^r)-r|0)|0)+l|0;if((d|0)>=(0-f|0)){g=c[q>>2]|0;if((g+f|0)<(d|0))d=d-($(c[n>>2]|0,e)|0)|0}else{d=($(c[n>>2]|0,e)|0)+d|0;g=c[q>>2]|0}if((d&g|0)==(d|0)){r=d;r=r&255;return r|0}r=g&~(d>>31);r=r&255;return r|0}function sg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=(c[b+180>>2]|0)-e|0;m=c[b+4608>>2]|0;n=c[b+4604>>2]|0;h=a[m+(e+-1)>>0]|0;k=h&255;f=b+144|0;i=0;while(1){g=m+(i+e)|0;j=(d[g>>0]|0)-k|0;if((((j|0)>-1?j:0-j|0)|0)>(c[f>>2]|0))break;a[g>>0]=h;i=i+1|0;if((i|0)==(l|0)){i=l;break}}h=(i|0)==(l|0);j=b+4600|0;g=c[36476+(c[j>>2]<<2)>>2]|0;if((1<(i|0))f=i;else{f=i;do{ae(b,1,1);g=c[j>>2]|0;f=f-(1<>2])|0;g=(g|0)>30?31:g+1|0;c[j>>2]=g;g=c[36476+(g<<2)>>2]|0}while((f|0)>=(1<>0]=tg(b,d[e>>0]|0,k,d[n+l>>0]|0)|0;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;b=i+1|0;return b|0}if(!f){b=l;return b|0}ae(b,1,1);b=l;return b|0}function tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d-e|0;j=a+136|0;h=a+144|0;f=c[h>>2]|0;if((((i|0)>-1?i:0-i|0)|0)>(f|0)){g=e-d>>31|1;b=$(g,b-e|0)|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;d=((b|0)<0?f:0)+b|0;f=d-((d|0)<((f+1|0)/2|0|0)?0:f)|0;ug(a,a+4576|0,f);f=$(f,g)|0;g=c[h>>2]|0;h=g<<1|1;f=($(f,h)|0)+e|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&255;return j|0}j=b&~(f>>31);j=j&255;return j|0}else{b=b-d|0;if((b|0)>0)b=(f+b|0)/(f<<1|1|0)|0;else b=(b-f|0)/(f<<1|1|0)|0;i=a+140|0;f=c[i>>2]|0;g=((b|0)<0?f:0)+b|0;f=g-((g|0)<((f+1|0)/2|0|0)?0:f)|0;ug(a,a+4588|0,f);g=c[h>>2]|0;h=g<<1|1;f=($(h,f)|0)+d|0;if((f|0)>=(0-g|0)){b=c[j>>2]|0;if((b+g|0)<(f|0))f=f-($(c[i>>2]|0,h)|0)|0}else{f=($(c[i>>2]|0,h)|0)+f|0;b=c[j>>2]|0}if((f&b|0)==(f|0)){j=f;j=j&255;return j|0}j=b&~(f>>31);j=j&255;return j|0}return 0}function ug(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e+9|0;j=d[n>>0]|0;m=e+4|0;l=c[m>>2]|0;h=($(j>>>1,l)|0)+(c[e>>2]|0)|0;if((j|0)<(h|0)){i=j;g=0;do{i=i<<1;g=g+1|0}while((i|0)<(h|0));h=g}else h=0;if((f|0)>0&(h|0)==0?d[e+10>>0]<<1>>>0>>0:0)g=1;else k=5;do{if((k|0)==5){g=(f|0)<0;if(g?d[e+10>>0]<<1>>>0>=j>>>0:0){g=1;break}g=g&(h|0)!=0}}while(0);g=(((f|0)>-1?f:0-f|0)<<1)-l+(g<<31>>31)|0;vg(b,h,g,(c[b+156>>2]|0)+-1-(c[36476+(c[b+4600>>2]<<2)>>2]|0)|0);if((f|0)<0){b=e+10|0;a[b>>0]=(d[b>>0]|0)+1}g=(g+1-(c[m>>2]|0)>>1)+(c[e>>2]|0)|0;c[e>>2]=g;h=a[n>>0]|0;if(h<<24>>24!=(a[e+8>>0]|0)){e=h;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}c[e>>2]=g>>1;b=(h&255)>>>1;a[n>>0]=b;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=b;e=e&255;e=e+1|0;e=e&255;a[n>>0]=e;return}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d>>b;g=a+148|0;h=e-(c[g>>2]|0)|0;if((f|0)<(h+-1|0)){if((f|0)>30){e=(f|0)/2|0;ae(a,0,e);f=f-e|0}ae(a,1,f+1|0);ae(a,(1<31){ae(a,0,31);ae(a,1,e+-31-(c[g>>2]|0)|0)}else ae(a,1,h);b=c[g>>2]|0;ae(a,(1<>2]|0)){e=c[b+136>>2]|0;d=b+152|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+184>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+188>>2]|0):0)?(c[f+12>>2]|0)==(c[b+192>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4612>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4612>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4612>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4612>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+152|0}while(0);n=1<>2];e=b+4616|0;f=n<<1;g=b+4620|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4612|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+192|0;l=b+188|0;j=b+184|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function xg(a){a=a|0;var b=0,d=0;c[a>>2]=35856;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function yg(a){a=a|0;var b=0,d=0;c[a>>2]=35856;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Ag(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;Lg(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function Bg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Cg(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Cg(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+172|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4596|0;k=$(y,x)|0;l=k+1|0;m=a+4600|0;n=(y|0)>0;p=a+160|0;q=a+168|0;r=a+164|0;s=a+156|0;t=a+88|0;u=a+4592|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(76,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Dg(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=d+4596|0;g=c[q>>2]|0;u=d+172|0;f=c[u>>2]|0;if((f|0)<=0)return;r=d+4600|0;s=d+4604|0;t=d+4592|0;l=g;j=e[g+-2>>1]|0;g=e[g>>1]|0;p=0;while(1){n=c[r>>2]|0;k=b[n+(p+-1<<1)>>1]|0;o=k&65535;i=p+1|0;h=e[l+(i<<1)>>1]|0;m=c[s>>2]|0;l=g-j|0;j=j-o|0;m=((((a[m+(h-g)>>0]|0)*9|0)+(a[m+l>>0]|0)|0)*9|0)+(a[m+j>>0]|0)|0;n=n+(p<<1)|0;if(!m){f=Gg(d,k,n,f-p|0)|0;g=f+p|0;if((g|0)!=(c[u>>2]|0)){o=Hg(d,o,e[(c[q>>2]|0)+(g<<1)>>1]|0)|0;b[(c[r>>2]|0)+(g<<1)>>1]=o;o=c[t>>2]|0;c[t>>2]=(o|0)<1?0:o+-1|0;f=f+1|0}i=f+p|0;h=c[q>>2]|0;g=e[h+(i+-1<<1)>>1]|0;h=e[h+(i<<1)>>1]|0}else{f=g-o>>31;if((f^j|0)<0)f=g;else f=o+((f^l|0)<0?0:l)|0;o=Fg(d,m,e[n>>1]|0,f,0)|0;b[(c[r>>2]|0)+(p<<1)>>1]=o}f=c[u>>2]|0;if((f|0)<=(i|0))break;l=c[q>>2]|0;j=g;g=h;p=i}return}function Eg(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+116|0;e=c[f>>2]|0;if((a[e>>0]|0)!=-1){g=b+112|0;d=c[g>>2]|0;if((d|0)<1){ge(b);d=c[g>>2]|0;e=c[f>>2]|0}b=b+108|0;f=c[b>>2]|0;c[g>>2]=d+-1;d=f<<1;c[b>>2]=d;if((a[e>>0]|0)!=-1){d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,6,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}}else d=c[b+108>>2]|0;if(!d)return;d=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,d|0,6,35648);b=o;o=0;if(!(b&1))lb(d|0,824,96);b=Na()|0;La(d|0);Ya(b|0)}function Fg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&65535;return d|0}d=f&~(h>>31);d=d&65535;return d|0}function Gg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4592|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=b-d|0;h=a+128|0;e=a+136|0;if((((g|0)>-1?g:0-g|0)|0)>(c[e>>2]|0)){b=$(Ig(a,a+4568|0)|0,d-b>>31|1)|0;f=c[e>>2]|0;g=f<<1|1;b=($(b,g)|0)+d|0;if((b|0)>=(0-f|0)){e=c[h>>2]|0;if((e+f|0)<(b|0))b=b-($(c[a+132>>2]|0,g)|0)|0}else{b=($(c[a+132>>2]|0,g)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&65535;return a|0}a=e&~(b>>31);a=a&65535;return a|0}else{d=Ig(a,a+4580|0)|0;g=c[e>>2]|0;f=g<<1|1;b=($(f,d)|0)+b|0;if((b|0)>=(0-g|0)){e=c[h>>2]|0;if((e+g|0)<(b|0))b=b-($(c[a+132>>2]|0,f)|0)|0}else{b=($(c[a+132>>2]|0,f)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&65535;return a|0}a=e&~(b>>31);a=a&65535;return a|0}return 0}function Ig(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function Jg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+112|0;if((c[g>>2]|0)<16)ge(a);h=a+108|0;d=c[h>>2]|0;if((d|0)>=0)if(!(d&1073741824))if(!(d&536870912))if(!(d&268435456))if(!(d&134217728))if(!(d&67108864))if(!(d&33554432))if(!(d&16777216))if(!(d&8388608))if(!(d&4194304))if(!(d&2097152))if(!(d&1048576))if(!(d&524288))if(!(d&262144))if(!(d&131072)){f=d>>>12&16;b=f+-1|0;if(!f){b=(c[g>>2]|0)+-15|0;c[g>>2]=b;e=d<<15;c[h>>2]=e;d=b;b=15;while(1){if((d|0)<1){ge(a);f=c[h>>2]|0;d=c[g>>2]|0}else f=e;d=d+-1|0;c[g>>2]=d;e=f<<1;c[h>>2]=e;if((f|0)<0)break;else b=b+1|0}return b|0}}else b=14;else b=13;else b=12;else b=11;else b=10;else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;a=b+1|0;c[g>>2]=(c[g>>2]|0)-a;c[h>>2]=d<>2]|0;if((e|0)<(d|0)){ge(b);e=c[f>>2]|0;if((e|0)<(d|0)){e=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,e|0,5,35648);b=o;o=0;if(b&1){b=Na()|0;La(e|0);Ya(b|0)}else lb(e|0,824,96)}}g=b+108|0;b=c[g>>2]|0;c[f>>2]=e-d;c[g>>2]=b<>>(32-d|0)|0}function Lg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function Mg(a){a=a|0;var b=0,d=0;c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Ng(a){a=a|0;var b=0,d=0;c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Og(a){a=a|0;var b=0,d=0;c[a>>2]=35828;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Pg(a){a=a|0;var b=0,d=0;c[a>>2]=35828;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Qg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=6;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Rg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;Zg(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function Sg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Tg(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Tg(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+172|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!(d>>>0>715827882?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(o=0,e=ka(67,d*6|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;f=e+(d*6|0)|0;c[C+8>>2]=f;while(1){b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;d=d+-1|0;if(!d)break;else e=e+6|0}c[D>>2]=f;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=20;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=18;if((j|0)==18?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=20;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==20){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4596|0;k=$(y,x)|0;l=k+1|0;m=a+4600|0;n=(y|0)>0;p=a+160|0;q=a+168|0;r=a+164|0;s=a+156|0;t=a+88|0;u=a+4592|0;v=0;b:while(1){f=c[C>>2]|0;e=f+6|0;c[j>>2]=e;f=f+(l*6|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*6|0)|0;e=e+((d+-1|0)*6|0)|0;b[g>>1]=b[e>>1]|0;b[g+2>>1]=b[e+2>>1]|0;b[g+4>>1]=b[e+4>>1]|0;g=(c[m>>2]|0)+-6|0;e=c[j>>2]|0;b[g>>1]=b[e>>1]|0;b[g+2>>1]=b[e+2>>1]|0;b[g+4>>1]=b[e+4>>1]|0;o=0;ia(77,a|0,0);g=o;o=0;if(g&1){j=31;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*6|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*6|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*6|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=32;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=44;break a}}if((j|0)==31){f=Na()|0;break}else if((j|0)==32){f=Na()|0;break}}else j=44}while(0);do{if((j|0)==44){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-6-d|0)>>>0)/6|0)*6|0);cj(d);Ya(f|0)}function Ug(d,f){d=d|0;f=f|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=i;i=i+32|0;D=N+24|0;M=N+18|0;L=N+12|0;E=N+6|0;F=N;G=d+172|0;f=c[G>>2]|0;if((f|0)<=0){i=N;return}H=d+4600|0;I=d+4596|0;J=d+4604|0;K=d+4592|0;C=0;while(1){h=C+-1|0;j=c[H>>2]|0;O=c[I>>2]|0;g=C+1|0;k=e[O+(C*6|0)>>1]|0;B=c[J>>2]|0;l=e[O+(h*6|0)>>1]|0;m=k-l|0;n=e[j+(h*6|0)>>1]|0;o=l-n|0;p=((((a[B+((e[O+(g*6|0)>>1]|0)-k)>>0]|0)*9|0)+(a[B+m>>0]|0)|0)*9|0)+(a[B+o>>0]|0)|0;q=e[O+(C*6|0)+2>>1]|0;r=e[O+(h*6|0)+2>>1]|0;s=q-r|0;t=e[j+(h*6|0)+2>>1]|0;u=r-t|0;v=((((a[B+((e[O+(g*6|0)+2>>1]|0)-q)>>0]|0)*9|0)+(a[B+s>>0]|0)|0)*9|0)+(a[B+u>>0]|0)|0;w=e[O+(C*6|0)+4>>1]|0;x=e[O+(h*6|0)+4>>1]|0;y=w-x|0;z=e[j+(h*6|0)+4>>1]|0;A=x-z|0;B=((((a[B+((e[O+(g*6|0)+4>>1]|0)-w)>>0]|0)*9|0)+(a[B+y>>0]|0)|0)*9|0)+(a[B+A>>0]|0)|0;if(!(v|p|B)){g=j+(h*6|0)|0;b[L>>1]=b[g>>1]|0;b[L+2>>1]=b[g+2>>1]|0;b[L+4>>1]=b[g+4>>1]|0;b[D>>1]=b[g>>1]|0;b[D+2>>1]=b[g+2>>1]|0;b[D+4>>1]=b[g+4>>1]|0;f=Vg(d,D,j+(C*6|0)|0,f-C|0)|0;g=f+C|0;if((g|0)!=(c[G>>2]|0)){O=(c[I>>2]|0)+(g*6|0)|0;b[F>>1]=b[O>>1]|0;b[F+2>>1]=b[O+2>>1]|0;b[F+4>>1]=b[O+4>>1]|0;O=(c[H>>2]|0)+(g*6|0)|0;b[M>>1]=b[L>>1]|0;b[M+2>>1]=b[L+2>>1]|0;b[M+4>>1]=b[L+4>>1]|0;b[D>>1]=b[F>>1]|0;b[D+2>>1]=b[F+2>>1]|0;b[D+4>>1]=b[F+4>>1]|0;Wg(E,d,M,D);b[O>>1]=b[E>>1]|0;b[O+2>>1]=b[E+2>>1]|0;b[O+4>>1]=b[E+4>>1]|0;O=c[K>>2]|0;c[K>>2]=(O|0)<1?0:O+-1|0;f=f+1|0}g=f+C|0}else{h=e[j+(C*6|0)>>1]|0;f=k-n>>31;if((f^o|0)>=0)if((f^m|0)<0)f=n;else f=n-l+k|0;else f=k;k=Xg(d,p,h,f,0)|0;h=e[(c[H>>2]|0)+(C*6|0)+2>>1]|0;f=q-t>>31;if((f^u|0)>=0)if((f^s|0)<0)f=t;else f=t-r+q|0;else f=q;h=Xg(d,v,h,f,0)|0;j=e[(c[H>>2]|0)+(C*6|0)+4>>1]|0;f=w-z>>31;if((f^A|0)>=0)if((f^y|0)<0)f=z;else f=z-x+w|0;else f=w;B=Xg(d,B,j,f,0)|0;O=c[H>>2]|0;b[O+(C*6|0)>>1]=k;b[O+(C*6|0)+2>>1]=h;b[O+(C*6|0)+4>>1]=B}f=c[G>>2]|0;if((g|0)>=(f|0))break;else C=g}i=N;return}function Vg(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4592|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)<=0)return h|0;i=0;do{r=f+(i*6|0)|0;b[r>>1]=b[e>>1]|0;b[r+2>>1]=b[e+2>>1]|0;b[r+4>>1]=b[e+4>>1]|0;i=i+1|0}while((i|0)!=(h|0));return h|0}function Wg(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=d+4568|0;o=Yg(d,l)|0;j=Yg(d,l)|0;l=Yg(d,l)|0;i=d+128|0;h=e[g>>1]|0;m=c[d+136>>2]|0;n=m<<1|1;h=($($(n,o)|0,h-(e[f>>1]|0)>>31|1)|0)+h|0;o=0-m|0;if((h|0)>=(o|0)){i=c[i>>2]|0;if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else{h=($(c[d+132>>2]|0,n)|0)+h|0;i=c[i>>2]|0}if((h&i|0)!=(h|0))h=i&~(h>>31);k=h&65535;h=e[g+2>>1]|0;h=($($(n,j)|0,h-(e[f+2>>1]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else h=($(c[d+132>>2]|0,n)|0)+h|0;if((h&i|0)!=(h|0))h=i&~(h>>31);j=h&65535;h=e[g+4>>1]|0;h=($($(n,l)|0,h-(e[f+4>>1]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[d+132>>2]|0,n)|0)|0}else h=($(c[d+132>>2]|0,n)|0)+h|0;if((h&i|0)==(h|0)){d=h;d=d&65535;b[a>>1]=k;o=a+2|0;b[o>>1]=j;a=a+4|0;b[a>>1]=d;return}d=i&~(h>>31);d=d&65535;b[a>>1]=k;o=a+2|0;b[o>>1]=j;a=a+4|0;b[a>>1]=d;return}function Xg(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&65535;return d|0}d=f&~(h>>31);d=d&65535;return d|0}function Yg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function Zg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function _g(a){a=a|0;var b=0,d=0;c[a>>2]=35800;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function $g(a){a=a|0;var b=0,d=0;c[a>>2]=35800;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function ah(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function bh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;jh(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function ch(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);dh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function dh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=b+172|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[D>>2]|0)+3|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){h=b+8|0;b:do{if((c[h>>2]|0)>0){j=b+4596|0;k=$(y,x)|0;l=k+1|0;m=b+4600|0;n=(y|0)>0;p=b+160|0;q=b+168|0;r=b+164|0;s=b+156|0;t=b+88|0;u=b+4592|0;v=0;c:while(1){f=c[C>>2]|0;e=f+3|0;c[j>>2]=e;f=f+(l*3|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*3|0)|0;e=e+((d+-1|0)*3|0)|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;e=c[j>>2]|0;g=(c[m>>2]|0)+-3|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;o=0;ia(78,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*3|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*3|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*3|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){f=Na()|0;break}else if((h|0)==31){f=Na()|0;break}}else h=43}while(0);do{if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function eh(b,e){b=b|0;e=e|0;var f=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,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;M=i;i=i+16|0;C=M+12|0;L=M+9|0;K=M+6|0;D=M+3|0;E=M;F=b+172|0;e=c[F>>2]|0;if((e|0)<=0){i=M;return}G=b+4600|0;H=b+4596|0;I=b+4604|0;J=b+4592|0;B=0;while(1){y=B+-1|0;g=c[G>>2]|0;h=g+(y*3|0)|0;N=c[H>>2]|0;f=B+1|0;j=d[N+(B*3|0)>>0]|0;A=c[I>>2]|0;k=d[N+(y*3|0)>>0]|0;l=j-k|0;m=d[h>>0]|0;n=k-m|0;o=((((a[A+((d[N+(f*3|0)>>0]|0)-j)>>0]|0)*9|0)+(a[A+l>>0]|0)|0)*9|0)+(a[A+n>>0]|0)|0;p=d[N+(B*3|0)+1>>0]|0;q=d[N+(y*3|0)+1>>0]|0;r=p-q|0;s=d[g+(y*3|0)+1>>0]|0;t=q-s|0;u=((((a[A+((d[N+(f*3|0)+1>>0]|0)-p)>>0]|0)*9|0)+(a[A+r>>0]|0)|0)*9|0)+(a[A+t>>0]|0)|0;v=d[N+(B*3|0)+2>>0]|0;w=d[N+(y*3|0)+2>>0]|0;x=v-w|0;y=d[g+(y*3|0)+2>>0]|0;z=w-y|0;A=((((a[A+((d[N+(f*3|0)+2>>0]|0)-v)>>0]|0)*9|0)+(a[A+x>>0]|0)|0)*9|0)+(a[A+z>>0]|0)|0;if(!(u|o|A)){a[K>>0]=a[h>>0]|0;a[K+1>>0]=a[h+1>>0]|0;a[K+2>>0]=a[h+2>>0]|0;a[C>>0]=a[h>>0]|0;a[C+1>>0]=a[h+1>>0]|0;a[C+2>>0]=a[h+2>>0]|0;e=fh(b,C,g+(B*3|0)|0,e-B|0)|0;f=e+B|0;if((f|0)!=(c[F>>2]|0)){N=(c[H>>2]|0)+(f*3|0)|0;a[E>>0]=a[N>>0]|0;a[E+1>>0]=a[N+1>>0]|0;a[E+2>>0]=a[N+2>>0]|0;N=c[G>>2]|0;a[L>>0]=a[K>>0]|0;a[L+1>>0]=a[K+1>>0]|0;a[L+2>>0]=a[K+2>>0]|0;a[C>>0]=a[E>>0]|0;a[C+1>>0]=a[E+1>>0]|0;a[C+2>>0]=a[E+2>>0]|0;gh(D,b,L,C);N=N+(f*3|0)|0;a[N>>0]=a[D>>0]|0;a[N+1>>0]=a[D+1>>0]|0;a[N+2>>0]=a[D+2>>0]|0;N=c[J>>2]|0;c[J>>2]=(N|0)<1?0:N+-1|0;e=e+1|0}f=e+B|0}else{g=d[g+(B*3|0)>>0]|0;e=j-m>>31;if((e^n|0)>=0)if((e^l|0)<0)e=m;else e=m-k+j|0;else e=j;j=hh(b,o,g,e,0)|0;g=d[(c[G>>2]|0)+(B*3|0)+1>>0]|0;e=p-s>>31;if((e^t|0)>=0)if((e^r|0)<0)e=s;else e=s-q+p|0;else e=p;g=hh(b,u,g,e,0)|0;h=d[(c[G>>2]|0)+(B*3|0)+2>>0]|0;e=v-y>>31;if((e^z|0)>=0)if((e^x|0)<0)e=y;else e=y-w+v|0;else e=v;A=hh(b,A,h,e,0)|0;N=(c[G>>2]|0)+(B*3|0)|0;a[N>>0]=j;a[N+1>>0]=g;a[N+2>>0]=A}e=c[F>>2]|0;if((f|0)>=(e|0))break;else B=f}i=M;return}function fh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4592|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;h=0;do{q=e+(h*3|0)|0;a[q>>0]=a[d>>0]|0;a[q+1>>0]=a[d+1>>0]|0;a[q+2>>0]=a[d+2>>0]|0;h=h+1|0}while((h|0)!=(g|0));return g|0}function gh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=e+4568|0;o=ih(e,l)|0;j=ih(e,l)|0;l=ih(e,l)|0;i=e+128|0;h=d[g>>0]|0;m=c[e+136>>2]|0;n=m<<1|1;h=($($(n,o)|0,h-(d[f>>0]|0)>>31|1)|0)+h|0;o=0-m|0;if((h|0)>=(o|0)){i=c[i>>2]|0;if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else{h=($(c[e+132>>2]|0,n)|0)+h|0;i=c[i>>2]|0}if((h&i|0)!=(h|0))h=i&~(h>>31);k=h&255;h=d[g+1>>0]|0;h=($($(n,j)|0,h-(d[f+1>>0]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else h=($(c[e+132>>2]|0,n)|0)+h|0;if((h&i|0)!=(h|0))h=i&~(h>>31);j=h&255;h=d[g+2>>0]|0;h=($($(n,l)|0,h-(d[f+2>>0]|0)>>31|1)|0)+h|0;if((h|0)>=(o|0)){if((i+m|0)<(h|0))h=h-($(c[e+132>>2]|0,n)|0)|0}else h=($(c[e+132>>2]|0,n)|0)+h|0;if((h&i|0)==(h|0)){e=h;e=e&255;a[b>>0]=k;o=b+1|0;a[o>>0]=j;b=b+2|0;a[b>>0]=e;return}e=i&~(h>>31);e=e&255;a[b>>0]=k;o=b+1|0;a[o>>0]=j;b=b+2|0;a[b>>0]=e;return}function hh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&255;return d|0}d=f&~(h>>31);d=d&255;return d|0}function ih(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function jh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function kh(a){a=a|0;var b=0,d=0;c[a>>2]=35772;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function lh(a){a=a|0;var b=0,d=0;c[a>>2]=35772;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function mh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function nh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,65535,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;vh(d);g=0;do{c[d+164+(g*12|0)>>2]=1024;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=1024;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=1024;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function oh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);ph(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function ph(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+148|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4572|0;k=$(y,x)|0;l=k+1|0;m=a+4576|0;n=(y|0)>0;p=a+136|0;q=a+144|0;r=a+140|0;s=a+132|0;t=a+88|0;u=a+4568|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(79,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function qh(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4572|0;f=c[p>>2]|0;s=d+148|0;if((c[s>>2]|0)<=0)return;q=d+4576|0;r=d+4580|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(sh(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=rh(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function rh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&65535|0)!=(f|0))f=f>>31&65535^65535;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<47){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&65535;return e|0}function sh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4576|0;h=c[i>>2]|0;f=b[h+(d+-1<<1)>>1]|0;j=a+148|0;h=th(a,f,h+(d<<1)|0,(c[j>>2]|0)-d|0)|0;g=h+d|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&65535;d=e[(c[a+4572>>2]|0)+(g<<1)>>1]|0;j=f-d|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(uh(a,a+4556|0)|0)+f|0;else f=($(uh(a,a+4544|0)|0,d-f>>31|1)|0)+d|0;b[(c[i>>2]|0)+(g<<1)>>1]=f;j=a+4568|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;j=h+1|0;return j|0}function th(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4568|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function uh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(46-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,16)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function vh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,65535,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8909]|0;c[b+4580>>2]=l+(((c[8910]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=131072){if(h>>>0>131072?(j=d+131072|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,131072-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+65536;j=b+160|0;g=b+156|0;h=-65536;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==65536)break}i=m;return}function wh(a){a=a|0;var b=0,d=0;c[a>>2]=35744;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function xh(a){a=a|0;var b=0,d=0;c[a>>2]=35744;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function yh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(37,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==16)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(38,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(39,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(40,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=2;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function zh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,4095,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;Hh(d);g=0;do{c[d+164+(g*12|0)>>2]=64;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=64;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=64;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Ah(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Bh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Bh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=a+148|0;x=(c[w>>2]|0)+4|0;if((c[a+28>>2]|0)==1)y=c[a+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))j=6;if((j|0)==6?(e=d<<1,o=0,f=ka(67,e|0)|0,B=o,o=0,!(B&1)):0){c[C>>2]=f;B=f+(d<<1)|0;c[C+8>>2]=B;iw(f|0,0,e|0)|0;c[D>>2]=B;break}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)j=18;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))j=16;if((j|0)==16?(g=y<<2,o=0,h=ka(67,g|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=h;j=h+(y<<2)|0;c[z+8>>2]=j;iw(h|0,0,g|0)|0;c[B>>2]=j;j=18;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((j|0)==18){h=a+8|0;a:do{if((c[h>>2]|0)>0){j=a+4572|0;k=$(y,x)|0;l=k+1|0;m=a+4576|0;n=(y|0)>0;p=a+136|0;q=a+144|0;r=a+140|0;s=a+132|0;t=a+88|0;u=a+4568|0;v=0;b:while(1){f=c[C>>2]|0;e=f+2|0;c[j>>2]=e;f=f+(l<<1)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;b[e+(g<<1)>>1]=b[e+(g+-1<<1)>>1]|0;b[d+-2>>1]=b[e>>1]|0;o=0;ia(80,a|0,0);g=o;o=0;if(g&1){j=29;break b}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x<<1)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x<<1)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k<<1)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){j=30;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){j=42;break a}}if((j|0)==29){f=Na()|0;break}else if((j|0)==30){f=Na()|0;break}}else j=42}while(0);do{if((j|0)==42){o=0;ha(183,a|0);a=o;o=0;if(a&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~((e+-2-d|0)>>>1)<<1);cj(d);Ya(f|0)}function Ch(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=d+4572|0;f=c[p>>2]|0;s=d+148|0;if((c[s>>2]|0)<=0)return;q=d+4576|0;r=d+4580|0;i=f;j=e[f+-2>>1]|0;f=e[f>>1]|0;o=0;while(1){n=c[q>>2]|0;m=e[n+(o+-1<<1)>>1]|0;h=o+1|0;g=e[i+(h<<1)>>1]|0;l=c[r>>2]|0;k=f-j|0;i=j-m|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;if(!l){h=(Eh(d,o,0)|0)+o|0;g=c[p>>2]|0;f=e[g+(h+-1<<1)>>1]|0;g=e[g+(h<<1)>>1]|0}else{j=f-m>>31;if((j^i|0)<0)i=f;else i=m+((j^k|0)<0?0:k)|0;n=Dh(d,l,e[n+(o<<1)>>1]|0,i,0)|0;b[(c[q>>2]|0)+(o<<1)>>1]=n}if((h|0)>=(c[s>>2]|0))break;i=c[p>>2]|0;j=f;f=g;o=h}return}function Dh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&4095|0)!=(f|0))f=f>>31&4095^4095;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<35){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&4095;e=e&65535;return e|0}function Eh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+4576|0;h=c[i>>2]|0;f=b[h+(d+-1<<1)>>1]|0;j=a+148|0;h=Fh(a,f,h+(d<<1)|0,(c[j>>2]|0)-d|0)|0;g=h+d|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&65535;d=e[(c[a+4572>>2]|0)+(g<<1)>>1]|0;j=f-d|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(Gh(a,a+4556|0)|0)+f|0;else f=($(Gh(a,a+4544|0)|0,d-f>>31|1)|0)+d|0;b[(c[i>>2]|0)+(g<<1)>>1]=f&4095;j=a+4568|0;a=c[j>>2]|0;c[j>>2]=(a|0)<1?0:a+-1|0;j=h+1|0;return j|0}function Fh(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0;k=d+112|0;l=d+108|0;m=d+4568|0;h=c[k>>2]|0;i=0;while(1){if((h|0)<1){ge(d);h=c[k>>2]|0}j=c[l>>2]|0;h=h+-1|0;c[k>>2]=h;c[l>>2]=j<<1;if((j|0)>=0){p=8;break}j=c[m>>2]|0;q=1<>2];r=g-i|0;r=(q|0)<(r|0)?q:r;i=r+i|0;if((r|0)==(q|0))c[m>>2]=(j|0)>30?31:j+1|0;if((i|0)==(g|0)){h=g;break}}if((p|0)==8)if((i|0)!=(g|0)){h=c[m>>2]|0;if((h+-4|0)>>>0<28)h=Kg(d,c[36476+(h<<2)>>2]|0)|0;else h=0;h=h+i|0;if((h|0)>(g|0)){h=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,h|0,5,35648);r=o;o=0;if(r&1){r=Na()|0;La(h|0);Ya(r|0)}else lb(h|0,824,96)}}else h=g;if((h|0)>0)i=0;else return h|0;do{b[f+(i<<1)>>1]=e;i=i+1|0}while((i|0)!=(h|0));return h|0}function Gh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(34-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,12)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Hh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,4095,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8906]|0;c[b+4580>>2]=l+(((c[8907]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=8192){if(h>>>0>8192?(j=d+8192|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,8192-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+4096;j=b+160|0;g=b+156|0;h=-4096;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==4096)break}i=m;return}function Ih(a){a=a|0;var b=0,d=0;c[a>>2]=35716;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Jh(a){a=a|0;var b=0,d=0;c[a>>2]=35716;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Kh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Lh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;Th(d);g=0;do{c[d+164+(g*12|0)>>2]=4;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=4;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=4;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Mh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Nh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Nh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=b+148|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[D>>2]|0)+1|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}e=Na()|0;d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){h=b+8|0;b:do{if((c[h>>2]|0)>0){j=b+4572|0;k=$(y,x)|0;l=k+1|0;m=b+4576|0;n=(y|0)>0;p=b+136|0;q=b+144|0;r=b+140|0;s=b+132|0;t=b+88|0;u=b+4568|0;v=0;c:while(1){f=c[C>>2]|0;e=f+1|0;c[j>>2]=e;f=f+l|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];g=c[w>>2]|0;a[e+g>>0]=a[e+(g+-1)>>0]|0;a[(c[m>>2]|0)+-1>>0]=a[c[j>>2]>>0]|0;o=0;ia(81,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+x|0;c[j>>2]=e;d=(c[m>>2]|0)+x|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+((c[s>>2]|0)-k)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){e=Na()|0;break}else if((h|0)==31){e=Na()|0;break}}else h=43}while(0);do{if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);i=A;return}}while(0);d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}function Oh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=b+4572|0;e=c[o>>2]|0;r=b+148|0;if((c[r>>2]|0)<=0)return;p=b+4576|0;q=b+4580|0;h=e;i=d[e+-1>>0]|0;e=d[e>>0]|0;n=0;while(1){m=c[p>>2]|0;l=d[m+(n+-1)>>0]|0;g=n+1|0;f=d[h+g>>0]|0;k=c[q>>2]|0;j=e-i|0;h=i-l|0;k=((((a[k+(f-e)>>0]|0)*9|0)+(a[k+j>>0]|0)|0)*9|0)+(a[k+h>>0]|0)|0;if(!k){g=(Qh(b,n,0)|0)+n|0;f=c[o>>2]|0;e=d[f+(g+-1)>>0]|0;f=d[f+g>>0]|0}else{i=e-l>>31;if((i^h|0)<0)h=e;else h=l+((i^j|0)<0?0:j)|0;m=Ph(b,k,d[m+n>>0]|0,h,0)|0;a[(c[p>>2]|0)+n>>0]=m}if((g|0)>=(c[r>>2]|0))break;h=c[o>>2]|0;i=e;e=f;n=g}return}function Ph(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&255|0)!=(f|0))f=f>>31&255^255;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<23){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}function Qh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=b+4576|0;h=c[i>>2]|0;f=a[h+(e+-1)>>0]|0;j=b+148|0;h=Rh(b,f,h+e|0,(c[j>>2]|0)-e|0)|0;g=h+e|0;if((g|0)==(c[j>>2]|0)){j=h;return j|0}f=f&255;e=d[(c[b+4572>>2]|0)+g>>0]|0;j=f-e|0;if((((j|0)>-1?j:0-j|0)|0)<1)f=(Sh(b,b+4556|0)|0)+f|0;else f=($(Sh(b,b+4544|0)|0,e-f>>31|1)|0)+e|0;a[(c[i>>2]|0)+g>>0]=f;j=b+4568|0;b=c[j>>2]|0;c[j>>2]=(b|0)<1?0:b+-1|0;j=h+1|0;return j|0}function Rh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4568|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;iw(e|0,d|0,g|0)|0;return g|0}function Sh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(22-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,8)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Th(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8900]|0;c[b+4580>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+256;j=b+160|0;g=b+156|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function Uh(a){a=a|0;var b=0,d=0;c[a>>2]=35688;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function Vh(a){a=a|0;var b=0,d=0;c[a>>2]=35688;b=c[a+4584>>2]|0;if(b){d=a+4588|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function Wh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=3;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function Xh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;l=h;Ei(l,255,0);k=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[l+8>>2]|0:j;g=c[e+12>>2]|0;g=(g|0)==0?c[l+12>>2]|0:g;e=c[e+16>>2]|0;f=c[l+16>>2]|0;c[d+152>>2]=(k|0)==0?c[l+4>>2]|0:k;c[d+156>>2]=j;c[d+160>>2]=g;di(d);g=0;do{c[d+164+(g*12|0)>>2]=4;c[d+164+(g*12|0)+4>>2]=0;b[d+164+(g*12|0)+8>>1]=0;b[d+164+(g*12|0)+10>>1]=1;g=g+1|0}while((g|0)!=365);l=((e|0)==0?f:e)&255;c[d+4544>>2]=4;c[d+4548>>2]=0;a[d+4552>>0]=l;a[d+4553>>0]=1;a[d+4554>>0]=0;c[d+4556>>2]=4;c[d+4560>>2]=1;a[d+4564>>0]=l;a[d+4565>>0]=1;a[d+4566>>0]=0;c[d+4568>>2]=0;i=h;return}function Yh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4596>>0]=g&1;d=b+132|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);Zh(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function Zh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;w=b+148|0;x=(c[w>>2]|0)+4|0;if((c[b+28>>2]|0)==1)y=c[b+20>>2]|0;else y=1;d=$(y<<1,x)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!(d>>>0>1431655765?(o=0,ha(178,C|0),B=o,o=0,B&1):0))h=6;if((h|0)==6?(o=0,e=ka(67,d*3|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+(d*3|0);while(1){a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;e=(c[D>>2]|0)+3|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}f=Na()|0;d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!y)h=19;else{if(!(y>>>0>1073741823?(o=0,ha(178,z|0),v=o,o=0,v&1):0))h=17;if((h|0)==17?(f=y<<2,o=0,g=ka(67,f|0)|0,v=o,o=0,!(v&1)):0){c[z>>2]=g;h=g+(y<<2)|0;c[z+8>>2]=h;iw(g|0,0,f|0)|0;c[B>>2]=h;h=19;break}f=Na()|0;d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}}while(0);if((h|0)==19){h=b+8|0;b:do{if((c[h>>2]|0)>0){j=b+4572|0;k=$(y,x)|0;l=k+1|0;m=b+4576|0;n=(y|0)>0;p=b+136|0;q=b+144|0;r=b+140|0;s=b+132|0;t=b+88|0;u=b+4568|0;v=0;c:while(1){f=c[C>>2]|0;e=f+3|0;c[j>>2]=e;f=f+(l*3|0)|0;c[m>>2]=f;if(!(v&1))d=f;else{c[j>>2]=f;c[m>>2]=e;d=e;e=f}if(n){g=c[z>>2]|0;f=0;do{c[u>>2]=c[g+(f<<2)>>2];d=c[w>>2]|0;g=e+(d*3|0)|0;e=e+((d+-1|0)*3|0)|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;e=c[j>>2]|0;g=(c[m>>2]|0)+-3|0;a[g>>0]=a[e>>0]|0;a[g+1>>0]=a[e+1>>0]|0;a[g+2>>0]=a[e+2>>0]|0;o=0;ia(82,b|0,0);g=o;o=0;if(g&1){h=30;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[u>>2];e=(c[j>>2]|0)+(x*3|0)|0;c[j>>2]=e;d=(c[m>>2]|0)+(x*3|0)|0;c[m>>2]=d;f=f+1|0}while((f|0)<(y|0))}g=c[p>>2]|0;if(((g|0)<=(v|0)?(v|0)<((c[q>>2]|0)+g|0):0)?(g=c[t>>2]|0,o=0,Aa(c[(c[g>>2]|0)+8>>2]|0,g|0,d+(((c[s>>2]|0)-k|0)*3|0)|0,c[r>>2]|0,x|0),g=o,o=0,g&1):0){h=31;break}v=v+1|0;if((v|0)>=(c[h>>2]|0)){h=43;break b}}if((h|0)==30){f=Na()|0;break}else if((h|0)==31){f=Na()|0;break}}else h=43}while(0);do{if((h|0)==43){o=0;ha(183,b|0);b=o;o=0;if(b&1){f=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);i=A;return}}while(0);d=c[z>>2]|0;e=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-e|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(f|0);e=c[D>>2]|0;if((e|0)!=(d|0))c[D>>2]=e+(~(((e+-3-d|0)>>>0)/3|0)*3|0);cj(d);Ya(f|0)}function _h(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=b+148|0;if((c[A>>2]|0)<=0)return;B=b+4576|0;C=b+4572|0;D=b+4580|0;z=0;while(1){w=z+-1|0;i=c[B>>2]|0;j=c[C>>2]|0;e=z+1|0;h=d[j+(z*3|0)>>0]|0;y=c[D>>2]|0;k=d[j+(w*3|0)>>0]|0;l=h-k|0;m=d[i+(w*3|0)>>0]|0;n=k-m|0;o=((((a[y+((d[j+(e*3|0)>>0]|0)-h)>>0]|0)*9|0)+(a[y+l>>0]|0)|0)*9|0)+(a[y+n>>0]|0)|0;g=d[j+(z*3|0)+1>>0]|0;p=d[j+(w*3|0)+1>>0]|0;q=g-p|0;r=d[i+(w*3|0)+1>>0]|0;s=p-r|0;t=((((a[y+((d[j+(e*3|0)+1>>0]|0)-g)>>0]|0)*9|0)+(a[y+q>>0]|0)|0)*9|0)+(a[y+s>>0]|0)|0;f=d[j+(z*3|0)+2>>0]|0;u=d[j+(w*3|0)+2>>0]|0;v=f-u|0;w=d[i+(w*3|0)+2>>0]|0;x=u-w|0;y=((((a[y+((d[j+(e*3|0)+2>>0]|0)-f)>>0]|0)*9|0)+(a[y+v>>0]|0)|0)*9|0)+(a[y+x>>0]|0)|0;if(!(t|o|y))e=($h(b,z,0)|0)+z|0;else{j=d[i+(z*3|0)>>0]|0;i=h-m>>31;if((i^n|0)>=0)if((i^l|0)<0)h=m;else h=m-k+h|0;j=ai(b,o,j,h,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+1>>0]|0;h=g-r>>31;if((h^s|0)>=0)if((h^q|0)<0)g=r;else g=r-p+g|0;h=ai(b,t,i,g,0)|0;i=d[(c[B>>2]|0)+(z*3|0)+2>>0]|0;g=f-w>>31;if((g^x|0)>=0)if((g^v|0)<0)f=w;else f=w-u+f|0;y=ai(b,y,i,f,0)|0;z=(c[B>>2]|0)+(z*3|0)|0;a[z>>0]=j;a[z+1>>0]=h;a[z+2>>0]=y}if((e|0)<(c[A>>2]|0))z=e;else break}return}function $h(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=i;i=i+16|0;n=l+3|0;o=l;h=b+4576|0;e=c[h>>2]|0;f=e+((d+-1|0)*3|0)|0;j=a[f>>0]|0;k=a[f+1>>0]|0;f=a[f+2>>0]|0;a[o>>0]=j;a[o+1>>0]=k;a[o+2>>0]=f;m=b+148|0;g=(c[m>>2]|0)-d|0;a[n>>0]=a[o>>0]|0;a[n+1>>0]=a[o+1>>0]|0;a[n+2>>0]=a[o+2>>0]|0;g=bi(b,n,e+(d*3|0)|0,g)|0;e=g+d|0;if((e|0)==(c[m>>2]|0)){o=g;i=l;return o|0}n=(c[b+4572>>2]|0)+(e*3|0)|0;d=a[n>>0]|0;m=a[n+1>>0]|0;n=a[n+2>>0]|0;o=c[h>>2]|0;p=b+4544|0;h=ci(b,p)|0;q=ci(b,p)|0;d=d&255;m=m&255;m=($(m-(k&255)>>31|1,q)|0)+m&255;n=n&255;n=($(n-(f&255)>>31|1,ci(b,p)|0)|0)+n&255;o=o+(e*3|0)|0;a[o>>0]=($(d-(j&255)>>31|1,h)|0)+d;a[o+1>>0]=m;a[o+2>>0]=n;o=b+4568|0;n=c[o>>2]|0;c[o>>2]=(n|0)<1?0:n+-1|0;o=g+1|0;i=l;return o|0}function ai(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=e>>31;m=(s^e)-s|0;r=d+164+(m*12|0)+10|0;f=b[r>>1]|0;q=d+164+(m*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){i=5;while(1)if((f<>1]^s)-s+g|0;if((f&255|0)!=(f|0))f=f>>31&255^255;h=d+112|0;if((c[h>>2]|0)<8)ge(d);g=d+108|0;j=c[g>>2]|0;k=j>>>24;l=c[2832+(i<<11)+(k<<3)+4>>2]|0;if(!l){h=Jg(d)|0;if((h|0)<23){if(i)h=(Kg(d,i)|0)+(h<>31^h>>1;if((((h|0)>-1?h:0-h|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);e=o;o=0;if(e&1){e=Na()|0;La(f|0);Ya(e|0)}else lb(f|0,824,96)}}else{c[h>>2]=(c[h>>2]|0)-l;c[g>>2]=j<>2]|0}l=d+164+(m*12|0)+4|0;g=c[l>>2]|0;if(!i){d=b[r>>1]|0;i=d;h=(g<<1)+-1+(d<<16>>16)>>31^h}else i=b[r>>1]|0;j=i<<16>>16==64;d=j&1;k=g+h>>d;j=j?32:i<<16>>16;c[q>>2]=((h|0)>-1?h:0-h|0)+(c[q>>2]|0)>>d;g=j+1|0;b[r>>1]=g;i=g+k|0;if((i|0)<1){r=b[p>>1]|0;b[p>>1]=(r&65535)-(r<<16>>16>-128&1);r=(i|0)>(~j|0)?i:0-j|0;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}if((k|0)<=0){r=k;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}r=k-g|0;q=b[p>>1]|0;b[p>>1]=(q<<16>>16<127&1)+(q&65535);r=(r|0)>0?0:r;c[l>>2]=r;s=h^s;e=e>>>31;e=f+e|0;e=e+s|0;e=e&255;return e|0}function bi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4568|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;h=0;do{q=e+(h*3|0)|0;a[q>>0]=a[d>>0]|0;a[q+1>>0]=a[d+1>>0]|0;a[q+2>>0]=a[d+2>>0]|0;h=h+1|0}while((h|0)!=(g|0));return g|0}function ci(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=e+9|0;f=d[k>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;h=c[36476+(c[b+4568>>2]<<2)>>2]|0;f=Jg(b)|0;do{if((f|0)<(22-h|0))if(!g){b=c[i>>2]|0;h=b+f|0;g=h&1;h=(g+h|0)/2|0;j=8;break}else{f=(Kg(b,g)|0)+(f<>2]|0;h=f+b|0;l=h&1;g=l;i=1;h=(l+h|0)/2|0;break}else{f=(Kg(b,8)|0)+1|0;b=c[i>>2]|0;h=f+b|0;i=h&1;h=(i+h|0)/2|0;if(!g){g=i;j=8}else{g=i;i=1}}}while(0);if((j|0)==8)i=d[e+10>>0]<<1>>>0>=(d[k>>0]|0)>>>0;h=(g|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(f+1-b>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[k>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){l=g;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[k>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;l=l&255;l=l+1|0;l=l&255;a[k>>0]=l;return h|0}function Lp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+128|0;h=n;q=n+116|0;r=n+104|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,0,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(3,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=Uu(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function Mp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+240|0;h=n+8|0;a=n;q=n+204|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,0,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,23,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(3,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=Uu(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function Np(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+352|0;u=z+312|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+316|0;t=z+80|0;k=z+84|0;y=z+76|0;x=z+72|0;v=z+68|0;w=z+64|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58898,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,c[q>>2]=c[d+8>>2],h[q+8>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<3)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(4,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(40,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Op(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+16|0;z=y;x=Is(j,44212)|0;v=Is(j,44368)|0;Cb[c[(c[v>>2]|0)+20>>2]&127](z,v);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,j|0)|0;w=o;o=0;if(w&1)u=8;else{m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=j;m=b+1|0;u=10}break}default:{m=b;u=10}}a:do{if((u|0)==10){w=e;b:do{if((w-m|0)>1?(a[m>>0]|0)==48:0){k=m+1|0;switch(a[k>>0]|0){case 88:case 120:break;default:{u=11;break b}}o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,48)|0;t=o;o=0;if(t&1){u=8;break a}t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=j;m=m+2|0;o=0;j=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,a[k>>0]|0)|0;t=o;o=0;if(t&1){u=8;break a}t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=j;if(m>>>0>>0){j=m;while(1){k=a[j>>0]|0;o=0;l=ua(3)|0;t=o;o=0;if(t&1)break;o=0;k=ra(39,k<<24>>24|0,l|0)|0;t=o;o=0;if(t&1)break;if(!k){t=m;break b}j=j+1|0;if(j>>>0>=e>>>0){t=m;break b}}j=Na()|0;break a}else{t=m;j=m}}else u=11}while(0);c:do{if((u|0)==11)if(m>>>0>>0){j=m;while(1){k=a[j>>0]|0;o=0;l=ua(3)|0;t=o;o=0;if(t&1)break;o=0;k=ra(40,k<<24>>24|0,l|0)|0;t=o;o=0;if(t&1)break;if(!k){t=m;break c}j=j+1|0;if(j>>>0>=e>>>0){t=m;break c}}j=Na()|0;break a}else{t=m;j=m}}while(0);r=a[z>>0]|0;s=z+4|0;if(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0){if((t|0)!=(j|0)?(n=j+-1|0,t>>>0>>0):0){l=t;k=n;do{r=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=r;l=l+1|0;k=k+-1|0}while(l>>>0>>0)}o=0;n=ka(c[(c[v>>2]|0)+16>>2]|0,v|0)|0;r=o;o=0;if(r&1){u=8;break}p=z+8|0;q=z+1|0;d:do{if(t>>>0>>0){k=0;l=0;r=t;while(1){m=a[((a[z>>0]&1)==0?q:c[p>>2]|0)+l>>0]|0;if(m<<24>>24>0&(k|0)==(m<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=n;k=a[z>>0]|0;m=0;l=(l>>>0<(((k&1)==0?(k&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+l|0}else m=k;o=0;k=ra(c[(c[x>>2]|0)+44>>2]|0,x|0,a[r>>0]|0)|0;A=o;o=0;if(A&1)break;A=c[h>>2]|0;c[h>>2]=A+4;c[A>>2]=k;r=r+1|0;if(r>>>0>=j>>>0)break d;else k=m+1|0}j=Na()|0;break a}}while(0);k=f+(t-b<<2)|0;m=c[h>>2]|0;if((k|0)!=(m|0)){l=m+-4|0;if(k>>>0>>0){do{A=c[k>>2]|0;c[k>>2]=c[l>>2];c[l>>2]=A;k=k+4|0;l=l+-4|0}while(k>>>0>>0);n=x;k=m}else{n=x;k=m}}else n=x}else{o=0;va(c[(c[x>>2]|0)+48>>2]|0,x|0,t|0,j|0,c[h>>2]|0)|0;A=o;o=0;if(A&1){u=8;break}k=(c[h>>2]|0)+(j-t<<2)|0;c[h>>2]=k;n=x}e:do{if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46){l=j;break}o=0;l=ra(c[(c[n>>2]|0)+44>>2]|0,x|0,k|0)|0;A=o;o=0;if(A&1){u=4;break}A=c[h>>2]|0;k=A+4|0;c[h>>2]=k;c[A>>2]=l;j=j+1|0;if(j>>>0>=e>>>0)break e}if((u|0)==4){j=Na()|0;break a}o=0;j=ka(c[(c[v>>2]|0)+12>>2]|0,v|0)|0;A=o;o=0;if(A&1){u=8;break a}A=c[h>>2]|0;k=A+4|0;c[h>>2]=k;c[A>>2]=j;j=l+1|0}}while(0);o=0;va(c[(c[x>>2]|0)+48>>2]|0,x|0,j|0,e|0,k|0)|0;A=o;o=0;if(A&1)u=8;else{A=(c[h>>2]|0)+(w-j<<2)|0;c[h>>2]=A;c[g>>2]=(d|0)==(e|0)?A:f+(d-b<<2)|0;Im(z);i=y;return}}}while(0);if((u|0)==8)j=Na()|0;Im(z);Ya(j|0)}function Pp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+352|0;u=z+304|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+308|0;t=z+72|0;k=z+76|0;y=z+68|0;x=z+64|0;v=z+60|0;w=z+56|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58899,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,h[q>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<3)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(4,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(40,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Qp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+192|0;l=q;b=q+180|0;n=q+160|0;p=q+12|0;k=q+8|0;m=q+4|0;a[b>>0]=a[58901]|0;a[b+1>>0]=a[58902]|0;a[b+2>>0]=a[58903]|0;a[b+3>>0]=a[58904]|0;a[b+4>>0]=a[58905]|0;a[b+5>>0]=a[58906]|0;h=Xo()|0;c[l>>2]=g;b=Su(n,20,h,b,l)|0;g=n+b|0;h=vp(n,g,e)|0;j=jn(e)|0;c[k>>2]=j;o=0;k=ra(37,k|0,44212)|0;r=o;o=0;if(r&1){r=Na()|0;pm(j)|0;Ya(r|0)}else{pm(j)|0;Pb[c[(c[k>>2]|0)+48>>2]&31](k,n,g,p)|0;r=p+(b<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];r=Uu(l,p,(h|0)==(g|0)?r:p+(h-n<<2)|0,r,e,f)|0;i=q;return r|0}return 0}function Rp(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+32|0;w=C+16|0;v=C+12|0;z=C+8|0;x=C+4|0;y=C;n=jn(h)|0;c[z>>2]=n;o=0;z=ra(37,z|0,44220)|0;u=o;o=0;if(u&1){C=Na()|0;pm(n)|0;Ya(C|0)}pm(n)|0;c[j>>2]=0;u=z+8|0;n=c[f>>2]|0;a:do{if((l|0)!=(m|0)){b:while(1){p=n;if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0;p=0}}else n=0;s=(n|0)==0;r=c[g>>2]|0;q=r;do{if(r){if((c[r+12>>2]|0)==(c[r+16>>2]|0)?(Eb[c[(c[r>>2]|0)+36>>2]&127](r)|0)==-1:0){c[g>>2]=0;q=0;B=12;break}if(!s){B=13;break b}}else B=12}while(0);if((B|0)==12){B=0;if(s){B=13;break}else r=0}c:do{if((Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[l>>0]|0,0)|0)<<24>>24==37){r=l+1|0;if((r|0)==(m|0)){B=17;break b}t=Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[r>>0]|0,0)|0;switch(t<<24>>24){case 48:case 69:{s=l+2|0;if((s|0)==(m|0)){B=20;break b}l=r;r=Gb[c[(c[z>>2]|0)+36>>2]&63](z,a[s>>0]|0,0)|0;n=t;break}default:{r=t;n=0}}t=c[(c[e>>2]|0)+36>>2]|0;c[x>>2]=p;c[y>>2]=q;c[v>>2]=c[x>>2];c[w>>2]=c[y>>2];c[f>>2]=Sb[t&15](e,v,w,h,j,k,r,n)|0;l=l+2|0}else{p=a[l>>0]|0;if(p<<24>>24>-1?(A=c[u>>2]|0,(b[A+(p<<24>>24<<1)>>1]&8192)!=0):0){do{l=l+1|0;if((l|0)==(m|0)){l=m;break}p=a[l>>0]|0;if(p<<24>>24<=-1)break}while((b[A+(p<<24>>24<<1)>>1]&8192)!=0);p=r;while(1){if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;q=(n|0)==0;do{if(r){if((c[r+12>>2]|0)!=(c[r+16>>2]|0))if(q){t=p;break}else break c;if((Eb[c[(c[r>>2]|0)+36>>2]&127](r)|0)!=-1)if(q^(p|0)==0){t=p;r=p;break}else break c;else{c[g>>2]=0;p=0;B=39;break}}else B=39}while(0);if((B|0)==39){B=0;if(q)break c;else{t=p;r=0}}q=n+12|0;p=c[q>>2]|0;s=n+16|0;if((p|0)==(c[s>>2]|0))p=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else p=d[p>>0]|0;if((p&255)<<24>>24<=-1)break c;if(!(b[(c[u>>2]|0)+(p<<24>>24<<1)>>1]&8192))break c;p=c[q>>2]|0;if((p|0)==(c[s>>2]|0)){Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;p=t;continue}else{c[q>>2]=p+1;p=t;continue}}}q=n+12|0;p=c[q>>2]|0;r=n+16|0;if((p|0)==(c[r>>2]|0))p=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else p=d[p>>0]|0;t=Lb[c[(c[z>>2]|0)+12>>2]&63](z,p&255)|0;if(t<<24>>24!=(Lb[c[(c[z>>2]|0)+12>>2]&63](z,a[l>>0]|0)|0)<<24>>24){B=57;break b}p=c[q>>2]|0;if((p|0)==(c[r>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else c[q>>2]=p+1;l=l+1|0}}while(0);n=c[f>>2]|0;if(!((l|0)!=(m|0)&(c[j>>2]|0)==0))break a}if((B|0)==13){c[j>>2]=4;break}else if((B|0)==17){c[j>>2]=4;break}else if((B|0)==20){c[j>>2]=4;break}else if((B|0)==57){c[j>>2]=4;n=c[f>>2]|0;break}}}while(0);if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;l=(n|0)==0;p=c[g>>2]|0;do{if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0)?(Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0)==-1:0){c[g>>2]=0;B=67;break}if(!l)B=68}else B=67}while(0);if((B|0)==67?l:0)B=68;if((B|0)==68)c[j>>2]=c[j>>2]|2;i=C;return n|0}function Sp(a){a=a|0;return}function Tp(a){a=a|0;cj(a);return}function Up(a){a=a|0;return 2}function Vp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Rp(a,k,j,e,f,g,58907,58915)|0;i=h;return a|0}function Wp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;o=b+8|0;o=Eb[c[(c[o>>2]|0)+20>>2]&127](o)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];e=a[o>>0]|0;p=(e&1)==0;d=p?o+1|0:c[o+8>>2]|0;e=d+(p?(e&255)>>>1:c[o+4>>2]|0)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=Rp(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function Xp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];Yp(a,g+24|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function Yp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(xu(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function Zp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];_p(a,g+16|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function _p(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(xu(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function $p(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44220)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];aq(a,g+20|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function aq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function bq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,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;U=i;i=i+144|0;l=U+132|0;k=U+116|0;N=U+128|0;x=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;m=U+88|0;n=U+84|0;p=U+80|0;q=U+76|0;r=U+72|0;s=U+68|0;t=U+64|0;u=U+60|0;v=U+56|0;w=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;c[g>>2]=0;M=jn(f)|0;c[N>>2]=M;o=0;N=ra(37,N|0,44220)|0;W=o;o=0;if(W&1){W=Na()|0;pm(M)|0;Ya(W|0)}pm(M)|0;do{switch(j<<24>>24|0){case 65:case 97:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];Yp(b,h+24|0,d,l,g,N);V=28;break}case 104:case 66:case 98:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];_p(b,h+16|0,d,l,g,N);V=28;break}case 99:{V=b+8|0;V=Eb[c[(c[V>>2]|0)+12>>2]&127](V)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];j=a[V>>0]|0;e=(j&1)==0;W=e?V+1|0:c[V+8>>2]|0;V=W+(e?(j&255)>>>1:c[V+4>>2]|0)|0;c[k>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=Rp(b,k,l,f,g,h,W,V)|0;V=28;break}case 101:case 100:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];cq(b,h+12|0,d,l,g,N);V=28;break}case 68:{c[R>>2]=c[d>>2];c[S>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[S>>2];c[d>>2]=Rp(b,k,l,f,g,h,58915,58923)|0;V=28;break}case 70:{c[T>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[T>>2];c[l>>2]=c[m>>2];c[d>>2]=Rp(b,k,l,f,g,h,58923,58931)|0;V=28;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];dq(b,h+8|0,d,l,g,N);V=28;break}case 73:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];eq(b,h+8|0,d,l,g,N);V=28;break}case 106:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];fq(b,h+28|0,d,l,g,N);V=28;break}case 109:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];gq(b,h+16|0,d,l,g,N);V=28;break}case 77:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];hq(b,h+4|0,d,l,g,N);V=28;break}case 116:case 110:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];iq(b,d,l,g,N);V=28;break}case 112:{c[u>>2]=c[e>>2];c[l>>2]=c[u>>2];jq(b,h+8|0,d,l,g,N);V=28;break}case 114:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[k>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=Rp(b,k,l,f,g,h,58931,58942)|0;V=28;break}case 82:{c[y>>2]=c[d>>2];c[z>>2]=c[e>>2];c[k>>2]=c[y>>2];c[l>>2]=c[z>>2];c[d>>2]=Rp(b,k,l,f,g,h,58942,58947)|0;V=28;break}case 83:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];kq(b,h,d,l,g,N);V=28;break}case 84:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[k>>2]=c[B>>2];c[l>>2]=c[C>>2];c[d>>2]=Rp(b,k,l,f,g,h,58947,58955)|0;V=28;break}case 119:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];lq(b,h+24|0,d,l,g,N);V=28;break}case 120:{W=c[(c[b>>2]|0)+20>>2]|0;c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[k>>2]=c[E>>2];c[l>>2]=c[F>>2];k=Db[W&63](b,k,l,f,g,h)|0;break}case 88:{V=b+8|0;V=Eb[c[(c[V>>2]|0)+24>>2]&127](V)|0;c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];j=a[V>>0]|0;e=(j&1)==0;W=e?V+1|0:c[V+8>>2]|0;V=W+(e?(j&255)>>>1:c[V+4>>2]|0)|0;c[k>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=Rp(b,k,l,f,g,h,W,V)|0;V=28;break}case 121:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];aq(b,h+20|0,d,l,g,N);V=28;break}case 89:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];mq(b,h+20|0,d,l,g,N);V=28;break}case 37:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];nq(b,d,l,g,N);V=28;break}default:{c[g>>2]=c[g>>2]|4;V=28}}}while(0);if((V|0)==28)k=c[d>>2]|0;i=U;return k|0}function cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function dq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function eq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function fq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function gq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function hq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function iq(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){h=c[e>>2]|0;do{if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0}while(0);h=(h|0)==0;a=c[f>>2]|0;do{if(a){if((c[a+12>>2]|0)!=(c[a+16>>2]|0))if(h)break;else break a;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)!=-1)if(h)break;else break a;else{c[f>>2]=0;k=12;break}}else k=12}while(0);if((k|0)==12){k=0;if(h){a=0;break}else a=0}h=c[e>>2]|0;i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=d[i>>0]|0;if((h&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(h<<24>>24<<1)>>1]&8192))break;h=c[e>>2]|0;a=h+12|0;i=c[a>>2]|0;if((i|0)==(c[h+16>>2]|0)){Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;continue}else{c[a>>2]=i+1;continue}}h=c[e>>2]|0;do{if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0}while(0);h=(h|0)==0;do{if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[f>>2]=0;k=32;break}if(!h)k=33}else k=32}while(0);if((k|0)==32?h:0)k=33;if((k|0)==33)c[g>>2]=c[g>>2]|2;return}function jq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Eb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do{if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=xu(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4}while(0);i=n;return}function kq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function lq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function mq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Vu(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function nq(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a=c[b>>2]|0;do{if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}}else a=0}while(0);h=(a|0)==0;a=c[e>>2]|0;do{if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1:0){c[e>>2]=0;j=11;break}if(h){i=a;j=13}else j=12}else j=11}while(0);if((j|0)==11)if(h)j=12;else{i=0;j=13}a:do{if((j|0)==12)c[f>>2]=c[f>>2]|6;else if((j|0)==13){a=c[b>>2]|0;h=c[a+12>>2]|0;if((h|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=d[h>>0]|0;if((Gb[c[(c[g>>2]|0)+36>>2]&63](g,a&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}a=c[b>>2]|0;h=a+12|0;g=c[h>>2]|0;if((g|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)a=0;else j=21}else{c[h>>2]=g+1;j=21}do{if((j|0)==21)if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}}while(0);a=(a|0)==0;do{if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;j=30;break}if(a)break a}else j=30}while(0);if((j|0)==30?!a:0)break;c[f>>2]=c[f>>2]|2}}while(0);return}function oq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+32|0;s=x+16|0;r=x+12|0;v=x+8|0;t=x+4|0;u=x;k=jn(e)|0;c[v>>2]=k;o=0;v=ra(37,v|0,44212)|0;q=o;o=0;if(q&1){x=Na()|0;pm(k)|0;Ya(x|0)}pm(k)|0;c[f>>2]=0;k=c[b>>2]|0;a:do{if((h|0)!=(j|0)){b:while(1){m=k;if(k){l=c[k+12>>2]|0;if((l|0)==(c[k+16>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if((l|0)==-1){c[b>>2]=0;k=0;p=1;q=0}else{p=0;q=m}}else{k=0;p=1;q=m}n=c[d>>2]|0;l=n;do{if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0))m=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(p)break;else{w=17;break b}else{c[d>>2]=0;l=0;w=15;break}}else w=15}while(0);if((w|0)==15){w=0;if(p){w=17;break}else n=0}c:do{if((Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[h>>2]|0,0)|0)<<24>>24==37){m=h+4|0;if((m|0)==(j|0)){w=21;break b}p=Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[m>>2]|0,0)|0;switch(p<<24>>24){case 48:case 69:{n=h+8|0;if((n|0)==(j|0)){w=24;break b}h=m;m=Gb[c[(c[v>>2]|0)+52>>2]&63](v,c[n>>2]|0,0)|0;k=p;break}default:{m=p;k=0}}p=c[(c[a>>2]|0)+36>>2]|0;c[t>>2]=q;c[u>>2]=l;c[r>>2]=c[t>>2];c[s>>2]=c[u>>2];c[b>>2]=Sb[p&15](a,r,s,e,f,g,m,k)|0;h=h+8|0}else{if(!(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,c[h>>2]|0)|0)){m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;q=Lb[c[(c[v>>2]|0)+28>>2]&63](v,l)|0;if((q|0)!=(Lb[c[(c[v>>2]|0)+28>>2]&63](v,c[h>>2]|0)|0)){w=61;break b}l=c[m>>2]|0;if((l|0)==(c[n>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else c[m>>2]=l+4;h=h+4|0;break}do{h=h+4|0;if((h|0)==(j|0)){h=j;break}}while(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,c[h>>2]|0)|0);l=n;p=n;while(1){if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))m=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;k=0}else n=0}else{n=1;k=0}do{if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(n^(l|0)==0){q=l;p=l;break}else break c;else{c[d>>2]=0;l=0;w=44;break}}else w=44}while(0);if((w|0)==44){w=0;if(n)break c;else{q=l;p=0}}m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else l=c[l>>2]|0;if(!(Gb[c[(c[v>>2]|0)+12>>2]&63](v,8192,l)|0))break c;l=c[m>>2]|0;if((l|0)==(c[n>>2]|0)){Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;l=q;continue}else{c[m>>2]=l+4;l=q;continue}}}}while(0);k=c[b>>2]|0;if(!((h|0)!=(j|0)&(c[f>>2]|0)==0))break a}if((w|0)==17){c[f>>2]=4;break}else if((w|0)==21){c[f>>2]=4;break}else if((w|0)==24){c[f>>2]=4;break}else if((w|0)==61){c[f>>2]=4;k=c[b>>2]|0;break}}}while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}h=c[d>>2]|0;do{if(h){l=c[h+12>>2]|0;if((l|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[l>>2]|0;if((h|0)!=-1)if(m)break;else{w=76;break}else{c[d>>2]=0;w=74;break}}else w=74}while(0);if((w|0)==74?m:0)w=76;if((w|0)==76)c[f>>2]=c[f>>2]|2;i=x;return k|0}function pq(a){a=a|0;return}function qq(a){a=a|0;cj(a);return}function rq(a){a=a|0;return 2}function sq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=oq(a,k,j,e,f,g,44788,44820)|0;i=h;return a|0}function tq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;q=b+8|0;q=Eb[c[(c[q>>2]|0)+20>>2]&127](q)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];o=a[q>>0]|0;p=(o&1)==0;e=q+4|0;d=p?e:c[q+8>>2]|0;e=d+((p?(o&255)>>>1:c[e>>2]|0)<<2)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=oq(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function uq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];vq(a,g+24|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function vq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Iu(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function wq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];xq(a,g+16|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function xq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Iu(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function yq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l+4|0;k=l;e=jn(e)|0;c[h>>2]=e;o=0;h=ra(37,h|0,44212)|0;m=o;o=0;if(m&1){m=Na()|0;pm(e)|0;Ya(m|0)}else{pm(e)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];zq(a,g+20|0,b,j,f,h);i=l;return c[b>>2]|0}return 0}function zq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function Aq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,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;U=i;i=i+144|0;l=U+132|0;k=U+116|0;N=U+128|0;x=U+124|0;I=U+120|0;O=U+112|0;P=U+108|0;Q=U+104|0;R=U+100|0;S=U+96|0;T=U+92|0;m=U+88|0;n=U+84|0;p=U+80|0;q=U+76|0;r=U+72|0;s=U+68|0;t=U+64|0;u=U+60|0;v=U+56|0;w=U+52|0;y=U+48|0;z=U+44|0;A=U+40|0;B=U+36|0;C=U+32|0;D=U+28|0;E=U+24|0;F=U+20|0;G=U+16|0;H=U+12|0;J=U+8|0;K=U+4|0;L=U;c[g>>2]=0;M=jn(f)|0;c[N>>2]=M;o=0;N=ra(37,N|0,44212)|0;W=o;o=0;if(W&1){W=Na()|0;pm(M)|0;Ya(W|0)}pm(M)|0;do{switch(j<<24>>24|0){case 65:case 97:{c[x>>2]=c[e>>2];c[l>>2]=c[x>>2];vq(b,h+24|0,d,l,g,N);V=28;break}case 104:case 66:case 98:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];xq(b,h+16|0,d,l,g,N);V=28;break}case 99:{W=b+8|0;W=Eb[c[(c[W>>2]|0)+12>>2]&127](W)|0;c[O>>2]=c[d>>2];c[P>>2]=c[e>>2];j=a[W>>0]|0;e=(j&1)==0;V=W+4|0;W=e?V:c[W+8>>2]|0;V=W+((e?(j&255)>>>1:c[V>>2]|0)<<2)|0;c[k>>2]=c[O>>2];c[l>>2]=c[P>>2];c[d>>2]=oq(b,k,l,f,g,h,W,V)|0;V=28;break}case 101:case 100:{c[Q>>2]=c[e>>2];c[l>>2]=c[Q>>2];Bq(b,h+12|0,d,l,g,N);V=28;break}case 68:{c[R>>2]=c[d>>2];c[S>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[S>>2];c[d>>2]=oq(b,k,l,f,g,h,44820,44852)|0;V=28;break}case 70:{c[T>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[T>>2];c[l>>2]=c[m>>2];c[d>>2]=oq(b,k,l,f,g,h,44852,44884)|0;V=28;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];Cq(b,h+8|0,d,l,g,N);V=28;break}case 73:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];Dq(b,h+8|0,d,l,g,N);V=28;break}case 106:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];Eq(b,h+28|0,d,l,g,N);V=28;break}case 109:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];Fq(b,h+16|0,d,l,g,N);V=28;break}case 77:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];Gq(b,h+4|0,d,l,g,N);V=28;break}case 116:case 110:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];Hq(b,d,l,g,N);V=28;break}case 112:{c[u>>2]=c[e>>2];c[l>>2]=c[u>>2];Iq(b,h+8|0,d,l,g,N);V=28;break}case 114:{c[v>>2]=c[d>>2];c[w>>2]=c[e>>2];c[k>>2]=c[v>>2];c[l>>2]=c[w>>2];c[d>>2]=oq(b,k,l,f,g,h,44884,44928)|0;V=28;break}case 82:{c[y>>2]=c[d>>2];c[z>>2]=c[e>>2];c[k>>2]=c[y>>2];c[l>>2]=c[z>>2];c[d>>2]=oq(b,k,l,f,g,h,44928,44948)|0;V=28;break}case 83:{c[A>>2]=c[e>>2];c[l>>2]=c[A>>2];Jq(b,h,d,l,g,N);V=28;break}case 84:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[k>>2]=c[B>>2];c[l>>2]=c[C>>2];c[d>>2]=oq(b,k,l,f,g,h,44948,44980)|0;V=28;break}case 119:{c[D>>2]=c[e>>2];c[l>>2]=c[D>>2];Kq(b,h+24|0,d,l,g,N);V=28;break}case 120:{W=c[(c[b>>2]|0)+20>>2]|0;c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[k>>2]=c[E>>2];c[l>>2]=c[F>>2];k=Db[W&63](b,k,l,f,g,h)|0;break}case 88:{W=b+8|0;W=Eb[c[(c[W>>2]|0)+24>>2]&127](W)|0;c[G>>2]=c[d>>2];c[H>>2]=c[e>>2];j=a[W>>0]|0;e=(j&1)==0;V=W+4|0;W=e?V:c[W+8>>2]|0;V=W+((e?(j&255)>>>1:c[V>>2]|0)<<2)|0;c[k>>2]=c[G>>2];c[l>>2]=c[H>>2];c[d>>2]=oq(b,k,l,f,g,h,W,V)|0;V=28;break}case 121:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];zq(b,h+20|0,d,l,g,N);V=28;break}case 89:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];Lq(b,h+20|0,d,l,g,N);V=28;break}case 37:{c[L>>2]=c[e>>2];c[l>>2]=c[L>>2];Mq(b,d,l,g,N);V=28;break}default:{c[g>>2]=c[g>>2]|4;V=28}}}while(0);if((V|0)==28)k=c[d>>2]|0;i=U;return k|0}function Bq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Dq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Eq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Fq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function Gq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Hq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do{if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1}while(0);g=c[d>>2]|0;do{if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15}while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if(!(Gb[c[(c[f>>2]|0)+12>>2]&63](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;continue}else{c[g>>2]=h+4;continue}}a=c[b>>2]|0;do{if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break;else{i=39;break}else{c[d>>2]=0;i=37;break}}else i=37}while(0);if((i|0)==37?g:0)i=39;if((i|0)==39)c[e>>2]=c[e>>2]|2;return}function Iq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=Eb[c[(c[m>>2]|0)+8>>2]&127](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do{if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=Iu(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4}while(0);i=n;return}function Jq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Kq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Lq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wu(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function Mq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a=c[b>>2]|0;do{if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1}while(0);g=c[d>>2]|0;do{if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14}while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do{if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((Gb[c[(c[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;a=c[b>>2]|0;if(!a)g=1;else j=25}else{c[g>>2]=h+4;j=25}do{if((j|0)==25){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}}while(0);do{if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break a;else break;else{c[d>>2]=0;j=37;break}}else j=37}while(0);if((j|0)==37?!g:0)break;c[e>>2]=c[e>>2]|2}}while(0);return}function Nq(a){a=a|0;Oq(a+8|0);return}function Oq(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;o=0;d=ua(3)|0;e=o;o=0;do{if(!(e&1)){if((b|0)!=(d|0)?(o=0,ha(188,c[a>>2]|0),e=o,o=0,e&1):0)break;return}}while(0);e=Na(0)|0;ec(e)}function Pq(a){a=a|0;Oq(a+8|0);cj(a);return}function Qq(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;l=i;i=i+112|0;k=l+4|0;e=l;c[e>>2]=k+100;Rq(b+8|0,k,e,g,h,j);g=c[e>>2]|0;e=c[d>>2]|0;if((k|0)!=(g|0))do{j=a[k>>0]|0;do{if(e){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){d=(Lb[c[(c[e>>2]|0)+52>>2]&63](e,j&255)|0)==-1;e=d?0:e;break}else{c[f>>2]=h+1;a[h>>0]=j;break}}else e=0}while(0);k=k+1|0}while((k|0)!=(g|0));i=l;return e|0}function Rq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;a[l>>0]=37;j=l+1|0;a[j>>0]=g;k=l+2|0;a[k>>0]=h;a[l+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}c[e>>2]=d+(Ra(d|0,(c[e>>2]|0)-d|0,l|0,f|0,c[b>>2]|0)|0);i=m;return}function Sq(a){a=a|0;Oq(a+8|0);return}function Tq(a){a=a|0;Oq(a+8|0);cj(a);return}function Uq(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;i=i+416|0;e=j+8|0;d=j;c[d>>2]=e+400;Vq(a+8|0,e,d,f,g,h);a=c[d>>2]|0;d=c[b>>2]|0;if((e|0)!=(a|0)){f=e;do{e=c[f>>2]|0;if(!d)d=0;else{g=d+24|0;h=c[g>>2]|0;if((h|0)==(c[d+28>>2]|0))e=Lb[c[(c[d>>2]|0)+52>>2]&63](d,e)|0;else{c[g>>2]=h+4;c[h>>2]=e}d=(e|0)==-1?0:d}f=f+4|0}while((f|0)!=(a|0))}i=j;return d|0}function Vq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+128|0;l=h+16|0;m=h+12|0;j=h;k=h+8|0;c[m>>2]=l+100;Rq(a,l,m,e,f,g);f=j;c[f>>2]=0;c[f+4>>2]=0;c[k>>2]=l;f=(c[d>>2]|0)-b>>2;g=qk(c[a>>2]|0)|0;o=0;f=va(18,b|0,k|0,f|0,j|0)|0;a=o;o=0;if(a&1){f=Na()|0;if((g|0)!=0?(o=0,ka(75,g|0)|0,m=o,o=0,m&1):0){m=Na(0)|0;ec(m)}Ya(f|0)}if((g|0)!=0?(o=0,ka(75,g|0)|0,m=o,o=0,m&1):0){m=Na(0)|0;ec(m)}if((f|0)==-1)Rr(58955);else{c[d>>2]=b+(f<<2);i=h;return}}function Wq(a){a=a|0;return}function Xq(a){a=a|0;cj(a);return}function Yq(a){a=a|0;return 127}function Zq(a){a=a|0;return 127}function _q(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function $q(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ar(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function br(a,b){a=a|0;b=b|0;Hm(a,1,45);return}function cr(a){a=a|0;return 0}function dr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function er(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function fr(a){a=a|0;return}function gr(a){a=a|0;cj(a);return}function hr(a){a=a|0;return 127}function ir(a){a=a|0;return 127}function jr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function kr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function lr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function mr(a,b){a=a|0;b=b|0;Hm(a,1,45);return}function nr(a){a=a|0;return 0}function or(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function pr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function qr(a){a=a|0;return}function rr(a){a=a|0;cj(a);return}function sr(a){a=a|0;return 2147483647}function tr(a){a=a|0;return 2147483647}function ur(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function vr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function wr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function xr(a,b){a=a|0;b=b|0;Vm(a,1,45);return}function yr(a){a=a|0;return 0}function zr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Ar(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Br(a){a=a|0;return}function Cr(a){a=a|0;cj(a);return}function Dr(a){a=a|0;return 2147483647}function Er(a){a=a|0;return 2147483647}function Fr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Gr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Hr(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Ir(a,b){a=a|0;b=b|0;Vm(a,1,45);return}function Jr(a){a=a|0;return 0}function Kr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Lr(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Mr(a){a=a|0;return}function Nr(a){a=a|0;cj(a);return}function Or(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;B=i;i=i+240|0;z=B+24|0;A=B;b=B+136|0;D=B+16|0;y=B+12|0;C=B+8|0;p=B+134|0;l=B+4|0;x=B+124|0;c[D>>2]=b;E=D+4|0;c[E>>2]=189;m=b+100|0;o=0;k=ka(68,g|0)|0;w=o;o=0;if(!(w&1)){c[C>>2]=k;o=0;b=ra(37,C|0,44220)|0;w=o;o=0;a:do{if(!(w&1)?(a[p>>0]=0,c[l>>2]=c[e>>2],n=c[g+4>>2]|0,o=0,c[z>>2]=c[l>>2],n=la(1,d|0,z|0,f|0,C|0,n|0,h|0,p|0,b|0,D|0,y|0,m|0)|0,w=o,o=0,!(w&1)):0){b:do{if(n){o=0;va(c[(c[b>>2]|0)+32>>2]|0,b|0,58976,58986,x|0)|0;w=o;o=0;if(w&1){G=10;break a}l=c[y>>2]|0;m=c[D>>2]|0;b=l-m|0;if((b|0)>98){b=Fl(b+2|0)|0;k=b;if(!b){o=0;xa(6);w=o;o=0;if(!(w&1)){b=0;G=13}}else G=13}else{k=0;b=z;G=13}do{if((G|0)==13){if(a[p>>0]|0){a[b>>0]=45;b=b+1|0}v=x+10|0;w=x;if(m>>>0>>0){n=x+1|0;f=n+1|0;g=f+1|0;p=g+1|0;q=p+1|0;r=q+1|0;s=r+1|0;t=s+1|0;u=t+1|0;do{l=a[m>>0]|0;do{if((a[x>>0]|0)!=l<<24>>24)if((a[n>>0]|0)!=l<<24>>24)if((a[f>>0]|0)!=l<<24>>24)if((a[g>>0]|0)!=l<<24>>24)if((a[p>>0]|0)==l<<24>>24)l=p;else{if((a[q>>0]|0)==l<<24>>24){l=q;break}if((a[r>>0]|0)==l<<24>>24){l=r;break}if((a[s>>0]|0)==l<<24>>24){l=s;break}if((a[t>>0]|0)==l<<24>>24){l=t;break}l=(a[u>>0]|0)==l<<24>>24?u:v}else l=g;else l=f;else l=n;else l=x}while(0);a[b>>0]=a[58976+(l-w)>>0]|0;m=m+1|0;b=b+1|0}while(m>>>0<(c[y>>2]|0)>>>0)}a[b>>0]=0;c[A>>2]=j;if(($k(z,58987,A)|0)!=1?(o=0,ha(190,58991),j=o,o=0,j&1):0)break;if(k)Gl(k);break b}}while(0);b=Na()|0;if(!k){l=b;k=D;break a}Gl(k);l=b;k=D;break a}}while(0);b=c[d>>2]|0;do{if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}if((b|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}}else b=0}while(0);k=(b|0)==0;b=c[e>>2]|0;do{if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}if((b|0)==-1){c[e>>2]=0;G=37;break}}if(!k)G=38}else G=37}while(0);if((G|0)==37?k:0)G=38;if((G|0)==38)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(c[C>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if((b|0)!=0?(o=0,ha(c[E>>2]|0,b|0),G=o,o=0,G&1):0){G=Na(0)|0;ec(G)}i=B;return k|0}else G=10}while(0);if((G|0)==10){l=Na()|0;k=D}pm(c[C>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=0;if(!b)F=l;else{k=c[E>>2]|0;G=45}}else{l=Na()|0;c[D>>2]=0;k=189;G=45}if((G|0)==45){o=0;ha(k|0,b|0);G=o;o=0;if(G&1){G=Na(0)|0;ec(G)}else F=l}Ya(F|0);return 0}function Pr(a){a=a|0;return}function Qr(e,f,g,h,j,k,l,m,n,p,q){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,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;ba=i;i=i+512|0;P=ba+88|0;u=ba+96|0;da=ba+80|0;T=ba+72|0;S=ba+68|0;U=ba+500|0;Q=ba+497|0;V=ba+496|0;Y=ba+56|0;aa=ba+44|0;_=ba+32|0;Z=ba+20|0;$=ba+8|0;R=ba+4|0;X=ba;c[P>>2]=q;c[da>>2]=u;ca=da+4|0;c[ca>>2]=189;c[T>>2]=u;c[S>>2]=u+400;c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;o=0;qa(1,g|0,h|0,U|0,Q|0,V|0,Y|0,aa|0,_|0,Z|0,R|0);O=o;o=0;a:do{if(O&1)m=Na()|0;else{c[p>>2]=c[n>>2];I=m+8|0;J=_+4|0;K=Z+4|0;L=Z+8|0;M=Z+1|0;N=_+8|0;O=_+1|0;z=(j&512|0)!=0;A=aa+8|0;B=aa+1|0;C=aa+4|0;D=$+4|0;E=$+8|0;F=$+1|0;G=U+3|0;H=Y+4|0;y=0;t=0;b:while(1){q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);q=(q|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(q){x=m;break}else{W=235;break b}o=0;g=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=24;break b}if((g|0)!=-1)if(q){x=m;break}else{W=235;break b}else{c[f>>2]=0;W=15;break}}else W=15}while(0);if((W|0)==15){W=0;if(q){W=235;break}else x=0}c:do{switch(a[U+y>>0]|0){case 1:{if((y|0)!=3){q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=24;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24<=-1){W=40;break b}if(!(b[(c[I>>2]|0)+(q<<24>>24<<1)>>1]&8192)){W=40;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=24;break b}}else{c[m>>2]=g+1;q=d[g>>0]|0}o=0;ia(67,$|0,q&255|0);W=o;o=0;if(W&1){W=24;break b}else{q=x;h=x;W=42}}break}case 0:{if((y|0)!=3){q=x;h=x;W=42}break}case 3:{m=a[_>>0]|0;q=(m&1)==0?(m&255)>>>1:c[J>>2]|0;g=a[Z>>0]|0;h=(g&1)==0?(g&255)>>>1:c[K>>2]|0;if((q|0)!=(0-h|0)){if(!q){q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}m=a[Z>>0]|0}else{q=d[m>>0]|0;m=g}if((q&255)<<24>>24!=(a[((m&1)==0?M:c[L>>2]|0)>>0]|0))break c;q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;a[l>>0]=1;x=a[Z>>0]|0;t=((x&1)==0?(x&255)>>>1:c[K>>2]|0)>>>0>1?Z:t;break c}j=c[e>>2]|0;r=c[j+12>>2]|0;g=c[j+16>>2]|0;q=(r|0)==(g|0);if(!h){if(q){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}m=a[_>>0]|0}else q=d[r>>0]|0;if((q&255)<<24>>24!=(a[((m&1)==0?O:c[N>>2]|0)>>0]|0)){a[l>>0]=1;break c}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;x=a[_>>0]|0;t=((x&1)==0?(x&255)>>>1:c[J>>2]|0)>>>0>1?_:t;break c}if(q){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}g=c[e>>2]|0;m=a[_>>0]|0;j=g;r=c[g+12>>2]|0;g=c[g+16>>2]|0}else q=d[r>>0]|0;h=j+12|0;g=(r|0)==(g|0);if((q&255)<<24>>24==(a[((m&1)==0?O:c[N>>2]|0)>>0]|0)){if(g){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[h>>2]=r+1;x=a[_>>0]|0;t=((x&1)==0?(x&255)>>>1:c[J>>2]|0)>>>0>1?_:t;break c}if(g){o=0;q=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=24;break b}}else q=d[r>>0]|0;if((q&255)<<24>>24!=(a[((a[Z>>0]&1)==0?M:c[L>>2]|0)>>0]|0)){W=104;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;a[l>>0]=1;x=a[Z>>0]|0;t=((x&1)==0?(x&255)>>>1:c[K>>2]|0)>>>0>1?Z:t}break}case 2:{if(!(y>>>0<2|(t|0)!=0)?!(z|(y|0)==2&(a[G>>0]|0)!=0):0){t=0;break c}v=a[aa>>0]|0;q=(v&1)==0;w=c[A>>2]|0;g=q?B:w;s=g;d:do{if((y|0)!=0?(d[U+(y+-1)>>0]|0)<2:0){r=q?(v&255)>>>1:c[C>>2]|0;h=g+r|0;j=c[I>>2]|0;e:do{if(!r)m=s;else{r=g;m=s;do{q=a[r>>0]|0;if(q<<24>>24<=-1)break e;if(!(b[j+(q<<24>>24<<1)>>1]&8192))break e;r=r+1|0;m=r}while((r|0)!=(h|0))}}while(0);h=m-s|0;j=a[$>>0]|0;q=(j&1)==0;j=q?(j&255)>>>1:c[D>>2]|0;if(j>>>0>=h>>>0){q=q?F:c[E>>2]|0;r=q+j|0;if((m|0)!=(s|0)){q=q+(j-h)|0;while(1){if((a[q>>0]|0)!=(a[g>>0]|0)){m=s;break d}q=q+1|0;if((q|0)==(r|0))break;else g=g+1|0}}}else m=s}else m=s}while(0);q=(v&1)==0;q=(q?B:w)+(q?(v&255)>>>1:c[C>>2]|0)|0;f:do{if((m|0)!=(q|0)){j=x;h=x;q=m;while(1){m=c[e>>2]|0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=21;break b}if((m|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}}else m=0}while(0);g=(m|0)==0;do{if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){m=j;r=h;break}else break f;o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=21;break b}if((m|0)!=-1)if(g^(j|0)==0){m=j;r=j;break}else break f;else{c[f>>2]=0;m=0;W=131;break}}else{m=j;W=131}}while(0);if((W|0)==131){W=0;if(g)break f;else r=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=21;break b}}else g=d[h>>0]|0;if((g&255)<<24>>24!=(a[q>>0]|0))break f;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=21;break b}}else c[h>>2]=j+1;q=q+1|0;g=a[aa>>0]|0;x=(g&1)==0;g=(x?B:c[A>>2]|0)+(x?(g&255)>>>1:c[C>>2]|0)|0;if((q|0)==(g|0)){q=g;break}else{j=m;h=r}}}}while(0);if(z?(x=a[aa>>0]|0,w=(x&1)==0,(q|0)!=((w?B:c[A>>2]|0)+(w?(x&255)>>>1:c[C>>2]|0)|0)):0){W=143;break b}break}case 4:{s=a[V>>0]|0;m=x;j=x;q=0;g:while(1){g=c[e>>2]|0;do{if(g){if((c[g+12>>2]|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=23;break b}if((g|0)==-1){c[e>>2]=0;g=0;break}else{g=c[e>>2]|0;break}}}else g=0}while(0);h=(g|0)==0;do{if(j){if((c[j+12>>2]|0)!=(c[j+16>>2]|0))if(h){r=m;break}else{h=m;break g}o=0;g=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;x=o;o=0;if(x&1){W=23;break b}if((g|0)!=-1)if(h^(m|0)==0){r=m;j=m;break}else{h=m;break g}else{c[f>>2]=0;m=0;W=156;break}}else W=156}while(0);if((W|0)==156){W=0;if(h){h=m;break}else{r=m;j=0}}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=23;break b}}else m=d[g>>0]|0;g=m&255;if(g<<24>>24>-1?(b[(c[I>>2]|0)+(m<<24>>24<<1)>>1]&2048)!=0:0){m=c[p>>2]|0;if((m|0)==(c[P>>2]|0)){o=0;wa(12,n|0,p|0,P|0);x=o;o=0;if(x&1){W=23;break b}m=c[p>>2]|0}c[p>>2]=m+1;a[m>>0]=g;q=q+1|0}else{x=a[Y>>0]|0;if(!(g<<24>>24==s<<24>>24&((q|0)!=0?(((x&1)==0?(x&255)>>>1:c[H>>2]|0)|0)!=0:0))){h=r;break}if((u|0)==(c[S>>2]|0)){o=0;wa(13,da|0,T|0,S|0);x=o;o=0;if(x&1){W=23;break b}u=c[T>>2]|0}x=u+4|0;c[T>>2]=x;c[u>>2]=q;u=x;q=0}m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){o=0;ka(c[(c[m>>2]|0)+40>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=23;break b}else{m=r;continue}}else{c[g>>2]=h+1;m=r;continue}}if((q|0)!=0?(c[da>>2]|0)!=(u|0):0){if((u|0)==(c[S>>2]|0)){o=0;wa(13,da|0,T|0,S|0);x=o;o=0;if(x&1){W=24;break b}u=c[T>>2]|0}x=u+4|0;c[T>>2]=x;c[u>>2]=q;u=x}r=c[R>>2]|0;if((r|0)>0){q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);q=(q|0)==0;do{if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0)){o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=24;break b}if((m|0)==-1){c[f>>2]=0;W=193;break}}if(!q){W=198;break b}}else W=193}while(0);if((W|0)==193){W=0;if(q){W=198;break b}else h=0}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24!=(a[Q>>0]|0)){W=198;break b}q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=24;break b}}else c[m>>2]=g+1;if((r|0)>0){j=h;g=h;s=r;while(1){q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=22;break b}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);m=(q|0)==0;do{if(g){if((c[g+12>>2]|0)!=(c[g+16>>2]|0))if(m){q=j;r=g;break}else{W=222;break b}o=0;q=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=22;break b}if((q|0)!=-1)if(m^(j|0)==0){q=j;r=j;break}else{W=222;break b}else{c[f>>2]=0;q=0;W=215;break}}else{q=j;W=215}}while(0);if((W|0)==215){W=0;if(m){W=222;break b}else r=0}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=22;break b}}else m=d[g>>0]|0;if((m&255)<<24>>24<=-1){W=222;break b}if(!(b[(c[I>>2]|0)+(m<<24>>24<<1)>>1]&2048)){W=222;break b}if((c[p>>2]|0)==(c[P>>2]|0)?(o=0,wa(12,n|0,p|0,P|0),x=o,o=0,x&1):0){W=22;break b}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=22;break b}}else m=d[g>>0]|0;g=c[p>>2]|0;c[p>>2]=g+1;a[g>>0]=m;m=s;s=s+-1|0;c[R>>2]=s;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){W=22;break b}}else c[h>>2]=j+1;if((m|0)<=1)break;else{j=q;g=r}}}}if((c[p>>2]|0)==(c[n>>2]|0)){W=233;break b}break}default:{}}}while(0);h:do{if((W|0)==42)while(1){W=0;m=c[e>>2]|0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;m=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;x=o;o=0;if(x&1){W=20;break b}if((m|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}}else m=0}while(0);g=(m|0)==0;do{if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){j=q;break}else break h;o=0;m=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){W=20;break b}if((m|0)!=-1)if(g^(q|0)==0){j=q;h=q;break}else break h;else{c[f>>2]=0;q=0;W=54;break}}else W=54}while(0);if((W|0)==54){W=0;if(g)break h;else{j=q;h=0}}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){W=20;break b}}else q=d[m>>0]|0;if((q&255)<<24>>24<=-1)break h;if(!(b[(c[I>>2]|0)+(q<<24>>24<<1)>>1]&8192))break h;q=c[e>>2]|0;m=q+12|0;g=c[m>>2]|0;if((g|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+40>>2]|0,q|0)|0;W=o;o=0;if(W&1){W=20;break b}}else{c[m>>2]=g+1;q=d[g>>0]|0}o=0;ia(67,$|0,q&255|0);W=o;o=0;if(W&1){W=20;break b}else{q=j;W=42}}}while(0);y=y+1|0;if(y>>>0>=4){W=235;break}}i:switch(W|0){case 20:{m=Na()|0;break a}case 21:{m=Na()|0;break a}case 22:{m=Na()|0;break a}case 23:{m=Na()|0;break a}case 24:{m=Na()|0;break a}case 40:{c[k>>2]=c[k>>2]|4;m=0;break}case 104:{c[k>>2]=c[k>>2]|4;m=0;break}case 143:{c[k>>2]=c[k>>2]|4;m=0;break}case 198:{c[k>>2]=c[k>>2]|4;m=0;break}case 222:{c[k>>2]=c[k>>2]|4;m=0;break}case 233:{c[k>>2]=c[k>>2]|4;m=0;break}case 235:{j:do{if(t){j=t+1|0;r=t+8|0;s=t+4|0;g=1;k:while(1){q=a[t>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[s>>2]|0;if(g>>>0>=q>>>0)break j;q=c[e>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break k}if((q|0)==-1){c[e>>2]=0;q=0;break}else{q=c[e>>2]|0;break}}}else q=0}while(0);m=(q|0)==0;q=c[f>>2]|0;do{if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break k}if((q|0)==-1){c[f>>2]=0;W=253;break}}if(!m){W=260;break k}}else W=253}while(0);if((W|0)==253?(W=0,m):0){W=260;break}q=c[e>>2]|0;m=c[q+12>>2]|0;if((m|0)==(c[q+16>>2]|0)){o=0;q=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;p=o;o=0;if(p&1){W=19;break}}else q=d[m>>0]|0;if(!(a[t>>0]&1))m=j;else m=c[r>>2]|0;if((q&255)<<24>>24!=(a[m+g>>0]|0)){W=260;break}q=g+1|0;m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){o=0;ka(c[(c[m>>2]|0)+40>>2]|0,m|0)|0;p=o;o=0;if(p&1){W=19;break}else{g=q;continue}}else{c[g>>2]=h+1;g=q;continue}}if((W|0)==19){m=Na()|0;break a}else if((W|0)==260){c[k>>2]=c[k>>2]|4;m=0;break i}}}while(0);q=c[da>>2]|0;if((q|0)!=(u|0)?(c[X>>2]=0,Ur(Y,q,u,X),(c[X>>2]|0)!=0):0){c[k>>2]=c[k>>2]|4;m=0}else m=1;break}}Im($);Im(Z);Im(_);Im(aa);Im(Y);q=c[da>>2]|0;c[da>>2]=0;if((q|0)!=0?(o=0,ha(c[ca>>2]|0,q|0),da=o,o=0,da&1):0){da=Na(0)|0;ec(da)}i=ba;return m|0}}while(0);Im($);Im(Z);Im(_);Im(aa);Im(Y);q=c[da>>2]|0;c[da>>2]=0;if((q|0)!=0?(o=0,ha(c[ca>>2]|0,q|0),da=o,o=0,da&1):0){da=Na(0)|0;ec(da)}Ya(m|0);return 0}function Rr(a){a=a|0;var b=0;b=Ma(8)|0;o=0;ia(90,b|0,a|0);a=o;o=0;if(a&1){a=Na()|0;La(b|0);Ya(a|0)}else lb(b|0,616,80)}function Sr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+144|0;k=w+24|0;b=w+32|0;x=w+16|0;s=w+8|0;p=w+4|0;q=w+28|0;l=w;c[x>>2]=b;A=x+4|0;c[A>>2]=189;m=b+100|0;o=0;v=ka(68,g|0)|0;n=o;o=0;if(!(n&1)){c[p>>2]=v;o=0;n=ra(37,p|0,44220)|0;b=o;o=0;a:do{if(!(b&1)?(a[q>>0]=0,t=c[e>>2]|0,c[l>>2]=t,r=c[g+4>>2]|0,u=t,o=0,c[k>>2]=c[l>>2],r=la(1,d|0,k|0,f|0,p|0,r|0,h|0,q|0,n|0,x|0,s|0,m|0)|0,g=o,o=0,!(g&1)):0){if(r){if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}if(a[q>>0]|0){o=0;b=ra(c[(c[n>>2]|0)+28>>2]|0,n|0,45)|0;g=o;o=0;if(g&1)break;o=0;ia(67,j|0,b|0);g=o;o=0;if(g&1)break}o=0;l=ra(c[(c[n>>2]|0)+28>>2]|0,n|0,48)|0;g=o;o=0;if(g&1)break;b=c[x>>2]|0;m=c[s>>2]|0;k=m+-1|0;b:do{if(b>>>0>>0)do{if((a[b>>0]|0)!=l<<24>>24)break b;b=b+1|0}while(b>>>0>>0)}while(0);o=0;ma(32,j|0,b|0,m|0)|0;j=o;o=0;if(j&1)break}b=c[d>>2]|0;do{if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1)break a;if((b|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}}else b=0}while(0);k=(b|0)==0;do{if(t){if((c[u+12>>2]|0)==(c[u+16>>2]|0)){o=0;b=ka(c[(c[t>>2]|0)+36>>2]|0,u|0)|0;u=o;o=0;if(u&1)break a;if((b|0)==-1){c[e>>2]=0;z=29;break}}if(!k)z=30}else z=29}while(0);if((z|0)==29?k:0)z=30;if((z|0)==30)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(v)|0;b=c[x>>2]|0;c[x>>2]=0;if((b|0)!=0?(o=0,ha(c[A>>2]|0,b|0),A=o,o=0,A&1):0){A=Na(0)|0;ec(A)}i=w;return k|0}}while(0);k=Na()|0;pm(v)|0;b=c[x>>2]|0;c[x>>2]=0;if(!b)y=k;else z=36}else{k=Na()|0;c[x>>2]=0;z=36}if((z|0)==36){o=0;ha(c[A>>2]|0,b|0);A=o;o=0;if(A&1){A=Na(0)|0;ec(A)}else y=k}Ya(y|0);return 0}function Tr(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+100|0;p=z+88|0;q=z+76|0;r=z+64|0;s=z+52|0;t=z+48|0;u=z+36|0;v=z+24|0;w=z+12|0;x=z;do{if(b){b=Is(d,43828)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](n,b);x=c[n>>2]|0;a[e>>0]=x;a[e+1>>0]=x>>8;a[e+2>>0]=x>>16;a[e+3>>0]=x>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Im(p);Cb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Im(q);a[f>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);Cb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Im(s);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(d,43764)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](t,b);t=c[t>>2]|0;a[e>>0]=t;a[e+1>>0]=t>>8;a[e+2>>0]=t>>16;a[e+3>>0]=t>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Im(u);Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Im(v);a[f>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[g>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Im(x);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=y;i=z;return}function Ur(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=a[b>>0]|0;i=b+4|0;h=c[i>>2]|0;a:do{if(((g&1)==0?(g&255)>>>1:h)|0){if((d|0)!=(e|0)){g=e+-4|0;if(g>>>0>d>>>0){h=d;do{j=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=j;h=h+4|0;g=g+-4|0}while(h>>>0>>0)}g=a[b>>0]|0;h=c[i>>2]|0}j=(g&1)==0;i=j?b+1|0:c[b+8>>2]|0;e=e+-4|0;b=i+(j?(g&255)>>>1:h)|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;b:do{if(e>>>0>d>>>0){while(1){if(!g?(h<<24>>24|0)!=(c[d>>2]|0):0)break;i=(b-i|0)>1?i+1|0:i;d=d+4|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;if(d>>>0>=e>>>0)break b}c[f>>2]=4;break a}}while(0);if(!g?((c[e>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}}while(0);return}function Vr(a){a=a|0;return}function Wr(a){a=a|0;cj(a);return}function Xr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;B=i;i=i+576|0;x=B+424|0;A=B;b=B+24|0;D=B+16|0;y=B+12|0;C=B+8|0;p=B+464|0;l=B+4|0;z=B+468|0;c[D>>2]=b;F=D+4|0;c[F>>2]=189;m=b+400|0;o=0;k=ka(68,g|0)|0;w=o;o=0;if(!(w&1)){c[C>>2]=k;o=0;b=ra(37,C|0,44212)|0;w=o;o=0;a:do{if(!(w&1)?(a[p>>0]=0,c[l>>2]=c[e>>2],n=c[g+4>>2]|0,o=0,c[x>>2]=c[l>>2],n=la(2,d|0,x|0,f|0,C|0,n|0,h|0,p|0,b|0,D|0,y|0,m|0)|0,w=o,o=0,!(w&1)):0){b:do{if(n){o=0;va(c[(c[b>>2]|0)+48>>2]|0,b|0,59007,59017,x|0)|0;w=o;o=0;if(w&1){G=10;break a}l=c[y>>2]|0;m=c[D>>2]|0;b=l-m|0;if((b|0)>392){b=Fl((b>>2)+2|0)|0;k=b;if(!b){o=0;xa(6);w=o;o=0;if(!(w&1)){b=0;G=13}}else G=13}else{k=0;b=z;G=13}do{if((G|0)==13){if(a[p>>0]|0){a[b>>0]=45;b=b+1|0}v=x+40|0;w=x;if(m>>>0>>0){n=x+4|0;f=n+4|0;g=f+4|0;p=g+4|0;q=p+4|0;r=q+4|0;s=r+4|0;t=s+4|0;u=t+4|0;do{l=c[m>>2]|0;do{if((c[x>>2]|0)!=(l|0))if((c[n>>2]|0)!=(l|0))if((c[f>>2]|0)!=(l|0))if((c[g>>2]|0)!=(l|0))if((c[p>>2]|0)==(l|0))l=p;else{if((c[q>>2]|0)==(l|0)){l=q;break}if((c[r>>2]|0)==(l|0)){l=r;break}if((c[s>>2]|0)==(l|0)){l=s;break}if((c[t>>2]|0)==(l|0)){l=t;break}l=(c[u>>2]|0)==(l|0)?u:v}else l=g;else l=f;else l=n;else l=x}while(0);a[b>>0]=a[59007+(l-w>>2)>>0]|0;m=m+4|0;b=b+1|0}while(m>>>0<(c[y>>2]|0)>>>0)}a[b>>0]=0;c[A>>2]=j;if(($k(z,58987,A)|0)!=1?(o=0,ha(190,58991),j=o,o=0,j&1):0)break;if(k)Gl(k);break b}}while(0);b=Na()|0;if(!k){l=b;k=D;break a}Gl(k);l=b;k=D;break a}}while(0);b=c[d>>2]|0;do{if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}}else b=c[k>>2]|0;if((b|0)==-1){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1}while(0);b=c[e>>2]|0;do{if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1){G=10;break a}}else b=c[k>>2]|0;if((b|0)!=-1)if(l)break;else{G=40;break}else{c[e>>2]=0;G=38;break}}else G=38}while(0);if((G|0)==38?l:0)G=40;if((G|0)==40)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(c[C>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if((b|0)!=0?(o=0,ha(c[F>>2]|0,b|0),G=o,o=0,G&1):0){G=Na(0)|0;ec(G)}i=B;return k|0}else G=10}while(0);if((G|0)==10){l=Na()|0;k=D}pm(c[C>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=0;if(!b)E=l;else{k=c[F>>2]|0;G=47}}else{l=Na()|0;c[D>>2]=0;k=189;G=47}if((G|0)==47){o=0;ha(k|0,b|0);G=o;o=0;if(G&1){G=Na(0)|0;ec(G)}else E=l}Ya(E|0);return 0}function Yr(b,e,f,g,h,j,k,l,m,n,p){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Y=i;i=i+512|0;K=Y+96|0;q=Y+104|0;_=Y+88|0;O=Y+80|0;N=Y+76|0;P=Y+504|0;L=Y+72|0;Q=Y+68|0;T=Y+56|0;X=Y+44|0;V=Y+32|0;U=Y+20|0;W=Y+8|0;M=Y+4|0;S=Y;c[K>>2]=p;c[_>>2]=q;Z=_+4|0;c[Z>>2]=189;c[O>>2]=q;c[N>>2]=q+400;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;qa(2,f|0,g|0,P|0,L|0,Q|0,T|0,X|0,V|0,U|0,M|0);J=o;o=0;a:do{if(J&1)f=Na()|0;else{c[n>>2]=c[m>>2];G=V+4|0;H=U+4|0;I=U+8|0;J=V+8|0;z=(h&512|0)!=0;A=X+8|0;B=X+4|0;C=W+4|0;D=W+8|0;E=P+3|0;F=T+4|0;y=0;s=0;b:while(1){p=c[b>>2]|0;do{if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[f>>2]|0;if((p|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);f=c[e>>2]|0;do{if(f){p=c[f+12>>2]|0;if((p|0)==(c[f+16>>2]|0)){o=0;p=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[p>>2]|0;if((p|0)!=-1)if(g){x=f;break}else{t=q;R=244;break b}else{c[e>>2]=0;R=16;break}}else R=16}while(0);if((R|0)==16){R=0;if(g){t=q;R=244;break}else x=0}c:do{switch(a[P+y>>0]|0){case 1:{if((y|0)!=3){p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=26;break b}}else p=c[f>>2]|0;o=0;p=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,p|0)|0;R=o;o=0;if(R&1){R=26;break b}if(!p){R=42;break b}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=26;break b}}else{c[f>>2]=g+4;p=c[g>>2]|0}o=0;ia(92,W|0,p|0);R=o;o=0;if(R&1){R=26;break b}else{p=x;h=x;R=44}}else p=q;break}case 0:{if((y|0)==3)p=q;else{p=x;h=x;R=44}break}case 3:{f=a[V>>0]|0;p=(f&1)==0?(f&255)>>>1:c[G>>2]|0;g=a[U>>0]|0;h=(g&1)==0?(g&255)>>>1:c[H>>2]|0;if((p|0)==(0-h|0))p=q;else{if(!p){p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}f=a[U>>0]|0}else{p=c[f>>2]|0;f=g}if((p|0)!=(c[((f&1)==0?H:c[I>>2]|0)>>2]|0)){p=q;break c}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;a[k>>0]=1;x=a[U>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[H>>2]|0)>>>0>1?U:s;break c}r=c[b>>2]|0;t=c[r+12>>2]|0;g=c[r+16>>2]|0;p=(t|0)==(g|0);if(!h){if(p){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}f=a[V>>0]|0}else p=c[t>>2]|0;if((p|0)!=(c[((f&1)==0?G:c[J>>2]|0)>>2]|0)){a[k>>0]=1;p=q;break c}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;x=a[V>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[G>>2]|0)>>>0>1?V:s;break c}if(p){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}g=c[b>>2]|0;f=a[V>>0]|0;r=g;t=c[g+12>>2]|0;g=c[g+16>>2]|0}else p=c[t>>2]|0;h=r+12|0;g=(t|0)==(g|0);if((p|0)==(c[((f&1)==0?G:c[J>>2]|0)>>2]|0)){if(g){o=0;ka(c[(c[r>>2]|0)+40>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[h>>2]=t+4;x=a[V>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[G>>2]|0)>>>0>1?V:s;break c}if(g){o=0;p=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=26;break b}}else p=c[t>>2]|0;if((p|0)!=(c[((a[U>>0]&1)==0?H:c[I>>2]|0)>>2]|0)){R=107;break b}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[f>>2]=g+4;a[k>>0]=1;x=a[U>>0]|0;p=q;s=((x&1)==0?(x&255)>>>1:c[H>>2]|0)>>>0>1?U:s}break}case 2:{if(!(y>>>0<2|(s|0)!=0)?!(z|(y|0)==2&(a[E>>0]|0)!=0):0){p=q;s=0;break c}h=a[X>>0]|0;g=c[A>>2]|0;f=(h&1)==0?B:g;p=f;d:do{if((y|0)!=0?(d[P+(y+-1)>>0]|0)<2:0){w=(h&1)==0;e:do{if((f|0)!=((w?B:g)+((w?(h&255)>>>1:c[B>>2]|0)<<2)|0)){h=f;while(1){o=0;f=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,c[h>>2]|0)|0;w=o;o=0;if(w&1){R=23;break b}if(!f)break;h=h+4|0;p=h;f=a[X>>0]|0;g=c[A>>2]|0;w=(f&1)==0;if((h|0)==((w?B:g)+((w?(f&255)>>>1:c[B>>2]|0)<<2)|0)){h=f;break e}}h=a[X>>0]|0;g=c[A>>2]|0}}while(0);t=(h&1)==0?B:g;f=t;u=p-f>>2;v=a[W>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(v>>>0>=u>>>0){r=r?C:c[D>>2]|0;w=r+(v<<2)|0;if(!u)f=p;else{r=r+(v-u<<2)|0;while(1){if((c[r>>2]|0)!=(c[t>>2]|0))break d;r=r+4|0;if((r|0)==(w|0)){f=p;break}else t=t+4|0}}}}else f=p}while(0);p=(h&1)==0;p=(p?B:g)+((p?(h&255)>>>1:c[B>>2]|0)<<2)|0;f:do{if((f|0)!=(p|0)){r=x;h=x;p=f;while(1){f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=22;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=22;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(r|0)==0){f=r;t=r;break}else break f;else{c[e>>2]=0;f=0;R=136;break}}else{f=r;R=136}}while(0);if((R|0)==136){R=0;if(g)break f;else t=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=22;break b}}else g=c[h>>2]|0;if((g|0)!=(c[p>>2]|0))break f;g=c[b>>2]|0;h=g+12|0;r=c[h>>2]|0;if((r|0)==(c[g+16>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=22;break b}}else c[h>>2]=r+4;p=p+4|0;g=a[X>>0]|0;x=(g&1)==0;g=(x?B:c[A>>2]|0)+((x?(g&255)>>>1:c[B>>2]|0)<<2)|0;if((p|0)==(g|0)){p=g;break}else{r=f;h=t}}}}while(0);if(z?(x=a[X>>0]|0,w=(x&1)==0,(p|0)!=((w?B:c[A>>2]|0)+((w?(x&255)>>>1:c[B>>2]|0)<<2)|0)):0){R=148;break b}else p=q;break}case 4:{v=c[Q>>2]|0;u=x;r=x;p=q;f=0;g:while(1){g=c[b>>2]|0;do{if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=25;break b}}else g=c[h>>2]|0;if((g|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1}while(0);do{if(r){g=c[r+12>>2]|0;if((g|0)==(c[r+16>>2]|0)){o=0;g=ka(c[(c[r>>2]|0)+36>>2]|0,r|0)|0;x=o;o=0;if(x&1){R=25;break b}}else g=c[g>>2]|0;if((g|0)!=-1)if(h^(u|0)==0){g=u;t=u;break}else{q=u;break g}else{c[e>>2]=0;g=0;R=162;break}}else{g=u;R=162}}while(0);if((R|0)==162){R=0;if(h){q=g;break}else t=0}h=c[b>>2]|0;q=c[h+12>>2]|0;if((q|0)==(c[h+16>>2]|0)){o=0;h=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=25;break b}}else h=c[q>>2]|0;o=0;q=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,2048,h|0)|0;x=o;o=0;if(x&1){R=25;break b}if(q){q=c[n>>2]|0;if((q|0)==(c[K>>2]|0)){o=0;wa(14,m|0,n|0,K|0);x=o;o=0;if(x&1){R=25;break b}q=c[n>>2]|0}c[n>>2]=q+4;c[q>>2]=h;f=f+1|0}else{x=a[T>>0]|0;if(!((h|0)==(v|0)&((f|0)!=0?(((x&1)==0?(x&255)>>>1:c[F>>2]|0)|0)!=0:0))){q=g;break}if((p|0)==(c[N>>2]|0)){o=0;wa(13,_|0,O|0,N|0);x=o;o=0;if(x&1){R=25;break b}p=c[O>>2]|0}x=p+4|0;c[O>>2]=x;c[p>>2]=f;p=x;f=0}h=c[b>>2]|0;q=h+12|0;r=c[q>>2]|0;if((r|0)==(c[h+16>>2]|0)){o=0;ka(c[(c[h>>2]|0)+40>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=25;break b}else{u=g;r=t;continue}}else{c[q>>2]=r+4;u=g;r=t;continue}}if((f|0)!=0?(c[_>>2]|0)!=(p|0):0){if((p|0)==(c[N>>2]|0)){o=0;wa(13,_|0,O|0,N|0);x=o;o=0;if(x&1){R=26;break b}p=c[O>>2]|0}x=p+4|0;c[O>>2]=x;c[p>>2]=f;p=x}t=c[M>>2]|0;if((t|0)>0){f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(q){f=c[q+12>>2]|0;if((f|0)==(c[q+16>>2]|0)){o=0;f=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g)break;else{R=206;break b}else{c[e>>2]=0;R=200;break}}else R=200}while(0);if((R|0)==200){R=0;if(g){R=206;break b}else q=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else f=c[g>>2]|0;if((f|0)!=(c[L>>2]|0)){R=206;break b}f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=26;break b}}else c[g>>2]=h+4;if((t|0)>0){r=q;h=q;u=t;while(1){f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=24;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=24;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(r|0)==0){f=r;t=r;break}else{R=231;break b}else{c[e>>2]=0;f=0;R=224;break}}else{f=r;R=224}}while(0);if((R|0)==224){R=0;if(g){R=231;break b}else t=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=24;break b}}else g=c[h>>2]|0;o=0;g=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,2048,g|0)|0;x=o;o=0;if(x&1){R=24;break b}if(!g){R=231;break b}if((c[n>>2]|0)==(c[K>>2]|0)?(o=0,wa(14,m|0,n|0,K|0),x=o,o=0,x&1):0){R=24;break b}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0)){o=0;g=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;x=o;o=0;if(x&1){R=24;break b}}else g=c[h>>2]|0;h=c[n>>2]|0;c[n>>2]=h+4;c[h>>2]=g;g=u;u=u+-1|0;c[M>>2]=u;h=c[b>>2]|0;q=h+12|0;r=c[q>>2]|0;if((r|0)==(c[h+16>>2]|0)){o=0;ka(c[(c[h>>2]|0)+40>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=24;break b}}else c[q>>2]=r+4;if((g|0)<=1)break;else{r=f;h=t}}}}if((c[n>>2]|0)==(c[m>>2]|0)){R=242;break b}break}default:p=q}}while(0);h:do{if((R|0)==44)while(1){R=0;f=c[b>>2]|0;do{if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0)){o=0;f=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;x=o;o=0;if(x&1){R=21;break b}}else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);do{if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0)){o=0;f=ka(c[(c[h>>2]|0)+36>>2]|0,h|0)|0;x=o;o=0;if(x&1){R=21;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(g^(p|0)==0){r=p;h=p;break}else{p=q;break h}else{c[e>>2]=0;p=0;R=57;break}}else R=57}while(0);if((R|0)==57){R=0;if(g){p=q;break h}else{r=p;h=0}}p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;x=o;o=0;if(x&1){R=21;break b}}else p=c[f>>2]|0;o=0;p=ma(c[(c[l>>2]|0)+12>>2]|0,l|0,8192,p|0)|0;x=o;o=0;if(x&1){R=21;break b}if(!p){p=q;break h}p=c[b>>2]|0;f=p+12|0;g=c[f>>2]|0;if((g|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+40>>2]|0,p|0)|0;R=o;o=0;if(R&1){R=21;break b}}else{c[f>>2]=g+4;p=c[g>>2]|0}o=0;ia(92,W|0,p|0);R=o;o=0;if(R&1){R=21;break b}else{p=r;R=44}}}while(0);y=y+1|0;if(y>>>0>=4){t=p;R=244;break}else q=p}i:switch(R|0){case 21:{f=Na()|0;break a}case 22:{f=Na()|0;break a}case 23:{f=Na()|0;break a}case 24:{f=Na()|0;break a}case 25:{f=Na()|0;break a}case 26:{f=Na()|0;break a}case 42:{c[j>>2]=c[j>>2]|4;f=0;break}case 107:{c[j>>2]=c[j>>2]|4;f=0;break}case 148:{c[j>>2]=c[j>>2]|4;f=0;break}case 206:{c[j>>2]=c[j>>2]|4;f=0;break}case 231:{c[j>>2]=c[j>>2]|4;f=0;break}case 242:{c[j>>2]=c[j>>2]|4;f=0;break}case 244:{j:do{if(s){q=s+4|0;r=s+8|0;h=1;k:while(1){p=a[s>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[q>>2]|0;if(h>>>0>=p>>>0)break j;p=c[b>>2]|0;do{if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break k}}else p=c[f>>2]|0;if((p|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1}while(0);p=c[e>>2]|0;do{if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break k}}else p=c[f>>2]|0;if((p|0)!=-1)if(g)break;else{R=271;break k}else{c[e>>2]=0;R=263;break}}else R=263}while(0);if((R|0)==263?(R=0,g):0){R=271;break}p=c[b>>2]|0;f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0)){o=0;p=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;n=o;o=0;if(n&1){R=20;break}}else p=c[f>>2]|0;if(!(a[s>>0]&1))f=q;else f=c[r>>2]|0;if((p|0)!=(c[f+(h<<2)>>2]|0)){R=271;break}p=h+1|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;n=o;o=0;if(n&1){R=20;break}else{h=p;continue}}else{c[g>>2]=h+4;h=p;continue}}if((R|0)==20){f=Na()|0;break a}else if((R|0)==271){c[j>>2]=c[j>>2]|4;f=0;break i}}}while(0);p=c[_>>2]|0;if((p|0)!=(t|0)?(c[S>>2]=0,Ur(T,p,t,S),(c[S>>2]|0)!=0):0){c[j>>2]=c[j>>2]|4;f=0}else f=1;break}}Wm(W);Wm(U);Wm(V);Wm(X);Im(T);p=c[_>>2]|0;c[_>>2]=0;if((p|0)!=0?(o=0,ha(c[Z>>2]|0,p|0),_=o,o=0,_&1):0){_=Na(0)|0;ec(_)}i=Y;return f|0}}while(0);Wm(W);Wm(U);Wm(V);Wm(X);Im(T);p=c[_>>2]|0;c[_>>2]=0;if((p|0)!=0?(o=0,ha(c[Z>>2]|0,p|0),_=o,o=0,_&1):0){_=Na(0)|0;ec(_)}Ya(f|0);return 0}function Zr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;w=i;i=i+432|0;k=w+424|0;b=w+24|0;y=w+16|0;s=w+8|0;p=w+4|0;q=w+428|0;l=w;c[y>>2]=b;A=y+4|0;c[A>>2]=189;m=b+400|0;o=0;v=ka(68,g|0)|0;n=o;o=0;if(!(n&1)){c[p>>2]=v;o=0;n=ra(37,p|0,44212)|0;b=o;o=0;a:do{if(!(b&1)?(a[q>>0]=0,t=c[e>>2]|0,c[l>>2]=t,r=c[g+4>>2]|0,u=t,o=0,c[k>>2]=c[l>>2],r=la(2,d|0,k|0,f|0,p|0,r|0,h|0,q|0,n|0,y|0,s|0,m|0)|0,g=o,o=0,!(g&1)):0){if(r){if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;if(a[q>>0]|0){o=0;b=ra(c[(c[n>>2]|0)+44>>2]|0,n|0,45)|0;g=o;o=0;if(g&1)break;o=0;ia(92,j|0,b|0);g=o;o=0;if(g&1)break}o=0;l=ra(c[(c[n>>2]|0)+44>>2]|0,n|0,48)|0;g=o;o=0;if(g&1)break;b=c[y>>2]|0;m=c[s>>2]|0;k=m+-4|0;b:do{if(b>>>0>>0)do{if((c[b>>2]|0)!=(l|0))break b;b=b+4|0}while(b>>>0>>0)}while(0);o=0;ma(33,j|0,b|0,m|0)|0;j=o;o=0;if(j&1)break}b=c[d>>2]|0;do{if(b){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0)){o=0;b=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;j=o;o=0;if(j&1)break a}else b=c[k>>2]|0;if((b|0)==-1){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1}while(0);do{if(t){b=c[u+12>>2]|0;if((b|0)==(c[u+16>>2]|0)){o=0;b=ka(c[(c[t>>2]|0)+36>>2]|0,u|0)|0;u=o;o=0;if(u&1)break a}else b=c[b>>2]|0;if((b|0)!=-1)if(k)break;else{z=32;break}else{c[e>>2]=0;z=30;break}}else z=30}while(0);if((z|0)==30?k:0)z=32;if((z|0)==32)c[h>>2]=c[h>>2]|2;k=c[d>>2]|0;pm(v)|0;b=c[y>>2]|0;c[y>>2]=0;if((b|0)!=0?(o=0,ha(c[A>>2]|0,b|0),A=o,o=0,A&1):0){A=Na(0)|0;ec(A)}i=w;return k|0}}while(0);k=Na()|0;pm(v)|0;b=c[y>>2]|0;c[y>>2]=0;if(!b)x=k;else z=38}else{k=Na()|0;c[y>>2]=0;z=38}if((z|0)==38){o=0;ha(c[A>>2]|0,b|0);A=o;o=0;if(A&1){A=Na(0)|0;ec(A)}else x=k}Ya(x|0);return 0}function _r(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+100|0;p=z+88|0;q=z+76|0;r=z+64|0;s=z+52|0;t=z+48|0;u=z+36|0;v=z+24|0;w=z+12|0;x=z;do{if(b){b=Is(d,43956)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](n,b);x=c[n>>2]|0;a[e>>0]=x;a[e+1>>0]=x>>8;a[e+2>>0]=x>>16;a[e+3>>0]=x>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Wm(p);Cb[c[(c[b>>2]|0)+28>>2]&127](q,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Wm(q);c[f>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](r,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[r>>2];c[h+4>>2]=c[r+4>>2];c[h+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);Cb[c[(c[b>>2]|0)+24>>2]&127](s,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;o=0;ia(93,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Wm(s);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(d,43892)|0;Cb[c[(c[b>>2]|0)+44>>2]&127](t,b);t=c[t>>2]|0;a[e>>0]=t;a[e+1>>0]=t>>8;a[e+2>>0]=t>>16;a[e+3>>0]=t>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](u,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Wm(u);Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Wm(v);c[f>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[g>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](w,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}o=0;ia(91,h|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}c[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[b>>2]|0)+24>>2]&127](x,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;o=0;ia(93,j|0,0);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else{c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Wm(x);y=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=y;i=z;return}function $r(a){a=a|0;return}function as(a){a=a|0;cj(a);return}function bs(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;D=i;i=i+384|0;v=D+8|0;k=D;m=D+284|0;n=D+72|0;l=D+184|0;F=D+68|0;A=D+80|0;x=D+77|0;B=D+76|0;G=D+56|0;I=D+44|0;H=D+32|0;p=D+28|0;u=D+84|0;z=D+24|0;y=D+20|0;w=D+16|0;c[n>>2]=m;h[v>>3]=j;m=_k(m,100,59018,v)|0;do{if(m>>>0>99){o=0;b=ua(3)|0;C=o;o=0;if(!(C&1)?(o=0,h[k>>3]=j,s=va(17,n|0,b|0,59018,k|0)|0,C=o,o=0,!(C&1)):0){b=c[n>>2]|0;if(!b){o=0;xa(6);C=o;o=0;if(C&1){b=0;k=0;C=7;break}b=c[n>>2]|0}l=Fl(s)|0;k=l;if(!l){o=0;xa(6);C=o;o=0;if(C&1)C=7;else{t=0;C=10}}else{t=l;C=10}}else{b=0;k=0;C=7}}else{k=0;b=0;t=l;s=m;C=10}}while(0);if((C|0)==10){o=0;l=ka(68,f|0)|0;r=o;o=0;if(r&1)C=7;else{c[F>>2]=l;o=0;r=ra(37,F|0,44220)|0;q=o;o=0;if(!(q&1)?(q=c[n>>2]|0,o=0,va(c[(c[r>>2]|0)+32>>2]|0,r|0,q|0,q+s|0,t|0)|0,q=o,o=0,!(q&1)):0){if(!s)q=0;else q=(a[c[n>>2]>>0]|0)==45;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;o=0;qa(3,e|0,q|0,F|0,A|0,x|0,B|0,G|0,I|0,H|0,p|0);e=o;o=0;if(!(e&1)){p=c[p>>2]|0;if((s|0)>(p|0)){e=a[H>>0]|0;m=a[I>>0]|0;m=(s-p<<1|1)+p+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}else{e=a[H>>0]|0;m=a[I>>0]|0;m=p+2+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}if(m>>>0>100){m=Fl(m)|0;n=m;if(!m){o=0;xa(6);u=o;o=0;if(!(u&1)){m=0;C=26}}else C=26}else{n=0;m=u;C=26}if((C|0)==26){o=0;na(1,m|0,z|0,y|0,c[f+4>>2]|0,t|0,t+s|0,r|0,q|0,A|0,a[x>>0]|0,a[B>>0]|0,G|0,I|0,H|0,p|0);B=o;o=0;if(!(B&1)?(c[w>>2]=c[d>>2],d=c[z>>2]|0,E=c[y>>2]|0,o=0,c[v>>2]=c[w>>2],E=ja(39,v|0,m|0,d|0,E|0,f|0,g|0)|0,d=o,o=0,!(d&1)):0){if(n){Gl(n);l=c[F>>2]|0}Im(H);Im(I);Im(G);pm(l)|0;if(k)Gl(k);if(b)Gl(b);i=D;return E|0}}m=Na()|0;if(n){Gl(n);l=c[F>>2]|0}}else m=Na()|0;Im(H);Im(I);Im(G)}else m=Na()|0;pm(l)|0}}if((C|0)==7)m=Na()|0;if(k)Gl(k);if(b)Gl(b);Ya(m|0);return 0}function cs(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+112|0;q=D+108|0;r=D+96|0;u=D+92|0;v=D+80|0;w=D+68|0;x=D+56|0;y=D+52|0;z=D+40|0;A=D+36|0;B=D+24|0;s=D+12|0;t=D;do{if(b){b=Is(e,43828)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](q,b);d=c[q>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](r,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Im(r);p=b;break}}else{Cb[c[e+40>>2]&127](u,b);d=c[u>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](v,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Im(v);p=b;break}}}while(0);a[g>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[p>>2]|0)+20>>2]&127](w,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Im(w);Cb[c[(c[p>>2]|0)+24>>2]&127](x,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[x>>2];c[k+4>>2]=c[x+4>>2];c[k+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Im(x);C=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(e,43764)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](y,b);d=c[y>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](z,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[z>>2];c[l+4>>2]=c[z+4>>2];c[l+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Im(z);n=b;break}}else{Cb[c[e+40>>2]&127](A,b);d=c[A>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](B,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}o=0;ia(91,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[B>>2];c[l+4>>2]=c[B+4>>2];c[l+8>>2]=c[B+8>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;Im(B);n=b;break}}}while(0);a[g>>0]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;a[h>>0]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[n>>2]|0)+20>>2]&127](s,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Im(s);Cb[c[(c[n>>2]|0)+24>>2]&127](t,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}o=0;ia(91,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Im(t);C=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=C;i=D;return}function ds(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){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;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,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;c[f>>2]=d;N=q+4|0;O=q+8|0;P=q+1|0;H=p+4|0;I=(g&512|0)==0;J=p+8|0;K=p+1|0;L=j+8|0;M=(r|0)>0;A=o+4|0;B=o+8|0;C=o+1|0;D=r+1|0;F=-2-r-((r|0)<0?~r:-1)|0;G=(r|0)>0;z=0;do{switch(a[l+z>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];x=Lb[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;break}case 3:{y=a[q>>0]|0;s=(y&1)==0;if((s?(y&255)>>>1:c[N>>2]|0)|0){x=a[(s?P:c[O>>2]|0)>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}break}case 2:{u=a[p>>0]|0;s=(u&1)==0;u=s?(u&255)>>>1:c[H>>2]|0;if(!(I|(u|0)==0)){t=s?K:c[J>>2]|0;v=t+u|0;s=c[f>>2]|0;if(u)do{a[s>>0]=a[t>>0]|0;t=t+1|0;s=s+1|0}while((t|0)!=(v|0));c[f>>2]=s}break}case 4:{s=c[f>>2]|0;h=k?h+1|0:h;w=h;v=c[L>>2]|0;a:do{if(h>>>0>>0){t=h;do{u=a[t>>0]|0;if(u<<24>>24<=-1)break a;if(!(b[v+(u<<24>>24<<1)>>1]&2048))break a;t=t+1|0}while(t>>>0>>0)}else t=h}while(0);u=t;if(M){x=-2-u-~(u>>>0>w>>>0?w:u)|0;x=F>>>0>x>>>0?F:x;if(t>>>0>h>>>0&G){u=t;w=r;while(1){u=u+-1|0;y=a[u>>0]|0;v=c[f>>2]|0;c[f>>2]=v+1;a[v>>0]=y;v=(w|0)>1;if(!(u>>>0>h>>>0&v))break;else w=w+-1|0}}else v=G;y=D+x|0;u=t+(x+1)|0;if(v)w=Lb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;t=c[f>>2]|0;c[f>>2]=t+1;if((y|0)>0){v=y;while(1){a[t>>0]=w;t=c[f>>2]|0;c[f>>2]=t+1;if((v|0)>1)v=v+-1|0;else break}}a[t>>0]=m}else u=t;if((u|0)!=(h|0)){y=a[o>>0]|0;t=(y&1)==0;if(!((t?(y&255)>>>1:c[A>>2]|0)|0))t=-1;else t=a[(t?C:c[B>>2]|0)>>0]|0;if((u|0)!=(h|0)){v=0;w=0;while(1){if((w|0)==(t|0)){y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=n;v=v+1|0;y=a[o>>0]|0;t=(y&1)==0;if(v>>>0<(t?(y&255)>>>1:c[A>>2]|0)>>>0){t=a[(t?C:c[B>>2]|0)+v>>0]|0;t=t<<24>>24==127?-1:t<<24>>24;w=0}else{t=w;w=0}}u=u+-1|0;x=a[u>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;if((u|0)==(h|0))break;else w=w+1|0}}}else{x=Lb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}t=c[f>>2]|0;if((s|0)!=(t|0)?(E=t+-1|0,s>>>0>>0):0){t=E;do{y=a[s>>0]|0;a[s>>0]=a[t>>0]|0;a[t>>0]=y;s=s+1|0;t=t+-1|0}while(s>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);t=a[q>>0]|0;h=(t&1)==0;t=h?(t&255)>>>1:c[N>>2]|0;if(t>>>0>1){s=h?P:c[O>>2]|0;u=s+t|0;h=c[f>>2]|0;if((t|0)!=1){s=s+1|0;do{a[h>>0]=a[s>>0]|0;h=h+1|0;s=s+1|0}while((s|0)!=(u|0))}c[f>>2]=h}switch(g&176|0){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function es(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;z=i;i=i+176|0;r=z+56|0;B=z+52|0;x=z+64|0;u=z+61|0;y=z+60|0;C=z+40|0;E=z+28|0;D=z+16|0;m=z+12|0;q=z+68|0;w=z+8|0;v=z+4|0;s=z;b=jn(f)|0;c[B>>2]=b;o=0;t=ra(37,B|0,44220)|0;p=o;o=0;do{if(p&1)F=13;else{n=a[h>>0]|0;j=(n&1)==0;p=h+4|0;if(!((j?(n&255)>>>1:c[p>>2]|0)|0))n=0;else{j=a[(j?h+1|0:c[h+8>>2]|0)>>0]|0;o=0;k=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,45)|0;n=o;o=0;if(n&1){F=13;break}n=j<<24>>24==k<<24>>24}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;qa(3,e|0,n|0,B|0,x|0,u|0,y|0,C|0,E|0,D|0,m|0);l=o;o=0;if(!(l&1)){l=a[h>>0]|0;e=c[p>>2]|0;j=(l&1)==0?(l&255)>>>1:e;m=c[m>>2]|0;if((j|0)>(m|0)){G=a[D>>0]|0;k=a[E>>0]|0;j=(j-m<<1|1)+m+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{G=a[D>>0]|0;j=a[E>>0]|0;j=m+2+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[E+4>>2]|0)|0}if(j>>>0>100){j=Fl(j)|0;k=j;if(!j){o=0;xa(6);G=o;o=0;if(!(G&1)){l=a[h>>0]|0;e=c[p>>2]|0;j=0;F=17}}else F=17}else{k=0;j=q;F=17}if((F|0)==17){G=(l&1)==0;h=G?h+1|0:c[h+8>>2]|0;o=0;na(1,j|0,w|0,v|0,c[f+4>>2]|0,h|0,h+(G?(l&255)>>>1:e)|0,t|0,n|0,x|0,a[u>>0]|0,a[y>>0]|0,C|0,E|0,D|0,m|0);G=o;o=0;if(!(G&1)?(c[s>>2]=c[d>>2],G=c[w>>2]|0,A=c[v>>2]|0,o=0,c[r>>2]=c[s>>2],A=ja(39,r|0,j|0,G|0,A|0,f|0,g|0)|0,G=o,o=0,!(G&1)):0){if(k){Gl(k);b=c[B>>2]|0}Im(D);Im(E);Im(C);pm(b)|0;i=z;return A|0}}j=Na()|0;if(k){Gl(k);b=c[B>>2]|0}}else j=Na()|0;Im(D);Im(E);Im(C)}}while(0);if((F|0)==13)j=Na()|0;pm(b)|0;Ya(j|0);return 0}function fs(a){a=a|0;return}function gs(a){a=a|0;cj(a);return}function hs(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;D=i;i=i+992|0;v=D+8|0;k=D;m=D+888|0;n=D+880|0;l=D+480|0;F=D+76|0;A=D+884|0;x=D+72|0;B=D+68|0;G=D+56|0;I=D+44|0;H=D+32|0;p=D+28|0;u=D+80|0;z=D+24|0;y=D+20|0;w=D+16|0;c[n>>2]=m;h[v>>3]=j;m=_k(m,100,59018,v)|0;do{if(m>>>0>99){o=0;b=ua(3)|0;C=o;o=0;if(!(C&1)?(o=0,h[k>>3]=j,s=va(17,n|0,b|0,59018,k|0)|0,C=o,o=0,!(C&1)):0){b=c[n>>2]|0;if(!b){o=0;xa(6);C=o;o=0;if(C&1){b=0;k=0;C=7;break}b=c[n>>2]|0}l=Fl(s<<2)|0;k=l;if(!l){o=0;xa(6);C=o;o=0;if(C&1)C=7;else{t=0;C=10}}else{t=l;C=10}}else{b=0;k=0;C=7}}else{k=0;b=0;t=l;s=m;C=10}}while(0);if((C|0)==10){o=0;l=ka(68,f|0)|0;r=o;o=0;if(r&1)C=7;else{c[F>>2]=l;o=0;r=ra(37,F|0,44212)|0;q=o;o=0;if(!(q&1)?(q=c[n>>2]|0,o=0,va(c[(c[r>>2]|0)+48>>2]|0,r|0,q|0,q+s|0,t|0)|0,q=o,o=0,!(q&1)):0){if(!s)q=0;else q=(a[c[n>>2]>>0]|0)==45;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;o=0;qa(4,e|0,q|0,F|0,A|0,x|0,B|0,G|0,I|0,H|0,p|0);e=o;o=0;if(!(e&1)){p=c[p>>2]|0;if((s|0)>(p|0)){e=a[H>>0]|0;m=a[I>>0]|0;m=(s-p<<1|1)+p+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}else{e=a[H>>0]|0;m=a[I>>0]|0;m=p+2+((e&1)==0?(e&255)>>>1:c[H+4>>2]|0)+((m&1)==0?(m&255)>>>1:c[I+4>>2]|0)|0}if(m>>>0>100){m=Fl(m<<2)|0;n=m;if(!m){o=0;xa(6);u=o;o=0;if(!(u&1)){m=0;C=26}}else C=26}else{n=0;m=u;C=26}if((C|0)==26){o=0;na(2,m|0,z|0,y|0,c[f+4>>2]|0,t|0,t+(s<<2)|0,r|0,q|0,A|0,c[x>>2]|0,c[B>>2]|0,G|0,I|0,H|0,p|0);B=o;o=0;if(!(B&1)?(c[w>>2]=c[d>>2],d=c[z>>2]|0,E=c[y>>2]|0,o=0,c[v>>2]=c[w>>2],E=ja(40,v|0,m|0,d|0,E|0,f|0,g|0)|0,d=o,o=0,!(d&1)):0){if(n){Gl(n);l=c[F>>2]|0}Wm(H);Wm(I);Im(G);pm(l)|0;if(k)Gl(k);if(b)Gl(b);i=D;return E|0}}m=Na()|0;if(n){Gl(n);l=c[F>>2]|0}}else m=Na()|0;Wm(H);Wm(I);Im(G)}else m=Na()|0;pm(l)|0}}if((C|0)==7)m=Na()|0;if(k)Gl(k);if(b)Gl(b);Ya(m|0);return 0}function is(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;n=B+108|0;p=B+96|0;s=B+92|0;t=B+80|0;u=B+68|0;v=B+56|0;w=B+52|0;x=B+40|0;y=B+36|0;z=B+24|0;q=B+12|0;r=B;do{if(b){b=Is(e,43956)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](n,b);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](p,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Wm(p);break}}else{Cb[c[e+40>>2]&127](s,b);d=c[s>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](t,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[t>>2];c[l+4>>2]=c[t+4>>2];c[l+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Wm(t);break}}}while(0);c[g>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](u,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[u>>2];c[j+4>>2]=c[u+4>>2];c[j+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Im(u);Cb[c[(c[b>>2]|0)+24>>2]&127](v,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Wm(v);A=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}else{b=Is(e,43892)|0;e=c[b>>2]|0;do{if(d){Cb[c[e+44>>2]&127](w,b);d=c[w>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+32>>2]&127](x,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[x>>2];c[l+4>>2]=c[x+4>>2];c[l+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Wm(x);break}}else{Cb[c[e+40>>2]&127](y,b);d=c[y>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;Cb[c[(c[b>>2]|0)+28>>2]&127](z,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;o=0;ia(93,l|0,0);f=o;o=0;if(f&1){l=Na(0)|0;ec(l)}else{c[l>>2]=c[z>>2];c[l+4>>2]=c[z+4>>2];c[l+8>>2]=c[z+8>>2];c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;Wm(z);break}}}while(0);c[g>>2]=Eb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[h>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Cb[c[(c[b>>2]|0)+20>>2]&127](q,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}o=0;ia(91,j|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Im(q);Cb[c[(c[b>>2]|0)+24>>2]&127](r,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;o=0;ia(93,k|0,0);h=o;o=0;if(h&1){h=Na(0)|0;ec(h)}else{c[k>>2]=c[r>>2];c[k+4>>2]=c[r+4>>2];c[k+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Wm(r);A=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;break}}}while(0);c[m>>2]=A;i=B;return}function js(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;c[e>>2]=b;J=p+4|0;K=p+8|0;C=o+4|0;D=(f&512|0)==0;E=o+8|0;F=(q|0)>0;G=n+4|0;H=n+8|0;I=n+1|0;A=(q|0)>0;z=0;do{switch(a[k+z>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];x=Lb[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x;break}case 3:{y=a[p>>0]|0;r=(y&1)==0;if((r?(y&255)>>>1:c[J>>2]|0)|0){x=c[(r?J:c[K>>2]|0)>>2]|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x}break}case 2:{v=a[o>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(!(D|(v|0)==0)){r=r?C:c[E>>2]|0;t=r+(v<<2)|0;u=c[e>>2]|0;if(v){s=u;while(1){c[s>>2]=c[r>>2];r=r+4|0;if((r|0)==(t|0))break;else s=s+4|0}}c[e>>2]=u+(v<<2)}break}case 4:{r=c[e>>2]|0;g=j?g+4|0:g;a:do{if(g>>>0>>0){s=g;do{if(!(Gb[c[(c[i>>2]|0)+12>>2]&63](i,2048,c[s>>2]|0)|0))break a;s=s+4|0}while(s>>>0>>0)}else s=g}while(0);if(F){if(s>>>0>g>>>0&A){v=c[e>>2]|0;u=q;while(1){s=s+-4|0;t=v+4|0;c[v>>2]=c[s>>2];w=u+-1|0;u=(u|0)>1;if(s>>>0>g>>>0&u){v=t;u=w}else{v=w;break}}c[e>>2]=t;t=v}else{u=A;t=q}if(u)w=Lb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;x=c[e>>2]|0;u=t+((t|0)<0?~t:-1)|0;if((t|0)>0){v=x;while(1){c[v>>2]=w;if((t|0)>1){v=v+4|0;t=t+-1|0}else break}}c[e>>2]=x+(u+2<<2);c[x+(u+1<<2)>>2]=l}if((s|0)==(g|0)){x=Lb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;y=c[e>>2]|0;s=y+4|0;c[e>>2]=s;c[y>>2]=x}else{x=a[n>>0]|0;t=(x&1)==0;y=c[G>>2]|0;if(!((t?(x&255)>>>1:y)|0))t=-1;else t=a[(t?I:c[H>>2]|0)>>0]|0;if((s|0)!=(g|0)){w=0;x=0;while(1){u=c[e>>2]|0;if((x|0)==(t|0)){v=u+4|0;c[e>>2]=v;c[u>>2]=m;w=w+1|0;u=a[n>>0]|0;t=(u&1)==0;if(w>>>0<(t?(u&255)>>>1:y)>>>0){t=a[(t?I:c[H>>2]|0)+w>>0]|0;u=v;t=t<<24>>24==127?-1:t<<24>>24;v=0}else{u=v;t=x;v=0}}else v=x;s=s+-4|0;x=c[s>>2]|0;c[e>>2]=u+4;c[u>>2]=x;if((s|0)==(g|0))break;else x=v+1|0}}s=c[e>>2]|0}if((r|0)!=(s|0)?(B=s+-4|0,r>>>0>>0):0){s=B;do{y=c[r>>2]|0;c[r>>2]=c[s>>2];c[s>>2]=y;r=r+4|0;s=s+-4|0}while(r>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);r=a[p>>0]|0;g=(r&1)==0;r=g?(r&255)>>>1:c[J>>2]|0;if(r>>>0>1){s=g?J:c[K>>2]|0;g=s+4|0;s=s+(r<<2)|0;t=c[e>>2]|0;u=s-g|0;if((r|0)!=1){r=t;while(1){c[r>>2]=c[g>>2];g=g+4|0;if((g|0)==(s|0))break;else r=r+4|0}}c[e>>2]=t+(u>>>2<<2)}switch(f&176|0){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function ks(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;z=i;i=i+480|0;q=z+468|0;B=z+464|0;x=z+472|0;u=z+56|0;y=z+52|0;C=z+40|0;E=z+28|0;D=z+16|0;m=z+12|0;p=z+64|0;w=z+8|0;v=z+4|0;r=z;b=jn(f)|0;c[B>>2]=b;o=0;s=ra(37,B|0,44212)|0;t=o;o=0;do{if(t&1)F=13;else{n=a[h>>0]|0;j=(n&1)==0;t=h+4|0;if(!((j?(n&255)>>>1:c[t>>2]|0)|0))n=0;else{j=c[(j?t:c[h+8>>2]|0)>>2]|0;o=0;k=ra(c[(c[s>>2]|0)+44>>2]|0,s|0,45)|0;n=o;o=0;if(n&1){F=13;break}n=(j|0)==(k|0)}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;qa(4,e|0,n|0,B|0,x|0,u|0,y|0,C|0,E|0,D|0,m|0);l=o;o=0;if(!(l&1)){l=a[h>>0]|0;e=c[t>>2]|0;j=(l&1)==0?(l&255)>>>1:e;m=c[m>>2]|0;if((j|0)>(m|0)){G=a[D>>0]|0;k=a[E>>0]|0;j=(j-m<<1|1)+m+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{G=a[D>>0]|0;j=a[E>>0]|0;j=m+2+((G&1)==0?(G&255)>>>1:c[D+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[E+4>>2]|0)|0}if(j>>>0>100){j=Fl(j<<2)|0;k=j;if(!j){o=0;xa(6);G=o;o=0;if(!(G&1)){l=a[h>>0]|0;e=c[t>>2]|0;j=0;F=17}}else F=17}else{k=0;j=p;F=17}if((F|0)==17){G=(l&1)==0;h=G?t:c[h+8>>2]|0;o=0;na(2,j|0,w|0,v|0,c[f+4>>2]|0,h|0,h+((G?(l&255)>>>1:e)<<2)|0,s|0,n|0,x|0,c[u>>2]|0,c[y>>2]|0,C|0,E|0,D|0,m|0);G=o;o=0;if(!(G&1)?(c[r>>2]=c[d>>2],G=c[w>>2]|0,A=c[v>>2]|0,o=0,c[q>>2]=c[r>>2],A=ja(40,q|0,j|0,G|0,A|0,f|0,g|0)|0,G=o,o=0,!(G&1)):0){if(k){Gl(k);b=c[B>>2]|0}Wm(D);Wm(E);Im(C);pm(b)|0;i=z;return A|0}}j=Na()|0;if(k){Gl(k);b=c[B>>2]|0}}else j=Na()|0;Wm(D);Wm(E);Im(C)}}while(0);if((F|0)==13)j=Na()|0;pm(b)|0;Ya(j|0);return 0}function ls(a){a=a|0;return}function ms(a){a=a|0;cj(a);return}function ns(b,d,e){b=b|0;d=d|0;e=e|0;b=lk((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function os(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;k=i;i=i+16|0;l=k;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;j=a[h>>0]|0;m=(j&1)==0;d=m?h+1|0:c[h+8>>2]|0;j=m?(j&255)>>>1:c[h+4>>2]|0;h=d+j|0;a:do{if((j|0)>0){while(1){o=0;ia(67,l|0,a[d>>0]|0);m=o;o=0;if(m&1)break;d=d+1|0;if(d>>>0>=h>>>0){j=4;break a}}d=Na()|0;j=7}else j=4}while(0);b:do{if((j|0)==4){o=0;d=va(19,((e|0)==-1?-1:e<<1)|0,f|0,g|0,((a[l>>0]&1)==0?l+1|0:c[l+8>>2]|0)|0)|0;m=o;o=0;if(m&1){d=Na()|0;j=7;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;m=nl(d)|0;h=d+m|0;c:do{if((m|0)>0){while(1){o=0;ia(67,b|0,a[d>>0]|0);m=o;o=0;if(m&1)break;d=d+1|0;if(d>>>0>=h>>>0)break c}d=Na()|0;Im(b);break b}}while(0);Im(l);i=k;return}}while(0);Im(l);Ya(d|0)}function ps(a,b){a=a|0;b=b|0;return}function qs(a){a=a|0;return}function rs(a){a=a|0;cj(a);return}function ss(b,d,e){b=b|0;d=d|0;e=e|0;b=lk((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function ts(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+224|0;p=w+184|0;n=w+192|0;m=w+180|0;q=w+176|0;u=w+168|0;t=w+40|0;s=w+32|0;v=w+28|0;x=w+16|0;l=w+8|0;r=w;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[l+4>>2]=0;c[l>>2]=44696;k=a[h>>0]|0;y=(k&1)==0;j=h+4|0;d=y?j:c[h+8>>2]|0;h=y?(k&255)>>>1:c[j>>2]|0;j=d+(h<<2)|0;k=n+32|0;a:do{if((h|0)>0){b:while(1){c[q>>2]=d;o=0;h=ya(c[(c[l>>2]|0)+12>>2]|0,l|0,p|0,d|0,j|0,q|0,n|0,k|0,m|0)|0;y=o;o=0;if(y&1){h=12;break}if((h|0)==2?1:(c[q>>2]|0)==(d|0)){h=5;break}if(n>>>0<(c[m>>2]|0)>>>0){d=n;do{o=0;ia(67,x|0,a[d>>0]|0);y=o;o=0;if(y&1){h=11;break b}d=d+1|0}while(d>>>0<(c[m>>2]|0)>>>0)}d=c[q>>2]|0;if(!((h|0)!=2&d>>>0>>0)){h=9;break a}}if((h|0)==5){o=0;ha(190,58955);o=0;d=Na()|0}else if((h|0)==11)d=Na()|0;else if((h|0)==12)d=Na()|0}else h=9}while(0);c:do{if((h|0)==9){o=0;d=va(19,((e|0)==-1?-1:e<<1)|0,f|0,g|0,((a[x>>0]&1)==0?x+1|0:c[x+8>>2]|0)|0)|0;y=o;o=0;if(y&1){d=Na()|0;break}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[r+4>>2]=0;c[r>>2]=44744;y=nl(d)|0;j=d+y|0;k=j;l=t+128|0;d:do{if((y|0)>0){e:while(1){c[v>>2]=d;o=0;h=ya(c[(c[r>>2]|0)+16>>2]|0,r|0,u|0,d|0,((k-d|0)>32?d+32|0:j)|0,v|0,t|0,l|0,s|0)|0;y=o;o=0;if(y&1){h=24;break}if((h|0)==2?1:(c[v>>2]|0)==(d|0)){h=18;break}if(t>>>0<(c[s>>2]|0)>>>0){d=t;do{o=0;ia(92,b|0,c[d>>2]|0);y=o;o=0;if(y&1){h=23;break e}d=d+4|0}while(d>>>0<(c[s>>2]|0)>>>0)}d=c[v>>2]|0;if(!((h|0)!=2&d>>>0>>0))break d}if((h|0)==18){o=0;ha(190,58955);o=0;d=Na()|0}else if((h|0)==23)d=Na()|0;else if((h|0)==24)d=Na()|0;Wm(b);break c}}while(0);Im(x);i=w;return}}while(0);Im(x);Ya(d|0)}function us(a,b){a=a|0;b=b|0;return}function vs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[b+4>>2]=d+-1;c[b>>2]=44196;h=b+8|0;o=0;ia(94,h|0,28);g=o;o=0;if(g&1)d=Na()|0;else{g=b+144|0;o=0;wa(5,g|0,58885,1);f=o;o=0;if(f&1)d=Na()|0;else{e=c[h>>2]|0;f=b+12|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do{d=d+-4|0}while((d|0)!=(e|0));c[f>>2]=d}c[495]=0;c[494]=43124;o=0;ia(95,b|0,1976);f=o;o=0;do{if(((((((((((((!(f&1)?(c[497]=0,c[496]=43164,o=0,ia(96,b|0,1984),f=o,o=0,!(f&1)):0)?(c[499]=0,c[498]=44236,c[500]=0,a[2004]=0,c[500]=Os()|0,o=0,ia(97,b|0,1992),f=o,o=0,!(f&1)):0)?(c[503]=0,c[502]=44484,o=0,ia(98,b|0,2008),f=o,o=0,!(f&1)):0)?(c[505]=0,c[504]=44552,o=0,ia(99,b|0,2016),f=o,o=0,!(f&1)):0)?(o=0,ia(100,2024,1),f=o,o=0,!(f&1)):0)?(o=0,ia(101,b|0,2024),f=o,o=0,!(f&1)):0)?(c[511]=0,c[510]=44600,o=0,ia(102,b|0,2040),f=o,o=0,!(f&1)):0)?(c[513]=0,c[512]=44648,o=0,ia(103,b|0,2048),f=o,o=0,!(f&1)):0)?(Tt(2056,1),o=0,ia(104,b|0,2056),f=o,o=0,!(f&1)):0)?(Ut(2080,1),o=0,ia(105,b|0,2080),f=o,o=0,!(f&1)):0)?(c[529]=0,c[528]=43204,o=0,ia(106,b|0,2112),f=o,o=0,!(f&1)):0)?(c[531]=0,c[530]=43276,o=0,ia(107,b|0,2120),f=o,o=0,!(f&1)):0)?(c[533]=0,c[532]=43348,o=0,ia(108,b|0,2128),f=o,o=0,!(f&1)):0){c[535]=0;c[534]=43408;o=0;ia(109,b|0,2136);f=o;o=0;if(f&1){i=42;break}c[537]=0;c[536]=43716;o=0;ia(110,b|0,2144);f=o;o=0;if(f&1){i=42;break}c[539]=0;c[538]=43780;o=0;ia(111,b|0,2152);f=o;o=0;if(f&1){i=42;break}c[541]=0;c[540]=43844;o=0;ia(112,b|0,2160);f=o;o=0;if(f&1){i=42;break}c[543]=0;c[542]=43908;o=0;ia(113,b|0,2168);f=o;o=0;if(f&1){i=42;break}c[545]=0;c[544]=43972;o=0;ia(114,b|0,2176);f=o;o=0;if(f&1){i=42;break}c[547]=0;c[546]=44008;o=0;ia(115,b|0,2184);f=o;o=0;if(f&1){i=42;break}c[549]=0;c[548]=44044;o=0;ia(116,b|0,2192);f=o;o=0;if(f&1){i=42;break}c[551]=0;c[550]=44080;o=0;ia(117,b|0,2200);f=o;o=0;if(f&1){i=42;break}c[553]=0;c[552]=43468;c[554]=43516;o=0;ia(118,b|0,2208);f=o;o=0;if(f&1){i=42;break}c[557]=0;c[556]=43560;c[558]=43608;o=0;ia(119,b|0,2224);f=o;o=0;if(f&1){i=42;break}c[561]=0;c[560]=44464;o=0;d=ua(3)|0;f=o;o=0;if(f&1){d=Na()|0;break}c[562]=d;c[560]=43652;o=0;ia(120,b|0,2240);f=o;o=0;if(f&1){i=42;break}c[565]=0;c[564]=44464;o=0;d=ua(3)|0;f=o;o=0;if(f&1){d=Na()|0;break}c[566]=d;c[564]=43684;o=0;ia(121,b|0,2256);i=o;o=0;if(i&1){i=42;break}c[569]=0;c[568]=44116;o=0;ia(122,b|0,2272);i=o;o=0;if(i&1){i=42;break}c[571]=0;c[570]=44156;o=0;ia(123,b|0,2280);i=o;o=0;if(i&1){i=42;break}return}else i=42}while(0);if((i|0)==42)d=Na()|0;Im(g)}Dv(h)}Ya(d|0)}function ws(){var b=0;do{if((a[2288]|0)==0?(Ha(2288)|0)!=0:0){o=0;ua(4)|0;b=o;o=0;if(b&1){b=Na()|0;sb(2288);Ya(b|0)}else{c[11246]=44980;Pa(2288);break}}}while(0);return c[11246]|0}function xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;om(b);f=a+8|0;e=c[f>>2]|0;do{if((c[a+12>>2]|0)-e>>2>>>0<=d>>>0){o=0;ia(124,f|0,d+1|0);a=o;o=0;if(!(a&1)){e=c[f>>2]|0;break}e=Na()|0;if(b)pm(b)|0;Ya(e|0)}}while(0);a=c[e+(d<<2)>>2]|0;if(a){pm(a)|0;e=c[f>>2]|0}c[e+(d<<2)>>2]=b;return}function ys(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=44196;e=a+8|0;f=a+12|0;b=c[e>>2]|0;if((c[f>>2]|0)!=(b|0)){d=0;do{b=c[b+(d<<2)>>2]|0;if(b)pm(b)|0;d=d+1|0;b=c[e>>2]|0}while(d>>>0<(c[f>>2]|0)-b>>2>>>0)}Im(a+144|0);Dv(e);return}function zs(a){a=a|0;ys(a);cj(a);return}function As(a,b){a=a|0;b=b|0;if(Fv(a,b)|0)return c[(c[a+8>>2]|0)+(b<<2)>>2]|0;else{a=Ma(4)|0;qj(a);lb(a|0,640,82)}return 0}function Bs(){vs(2296,1);c[11245]=2296;return 44980}function Cs(){var a=0;a=c[(ws()|0)>>2]|0;c[11247]=a;om(a);return 44988}function Ds(){var b=0;do{if((a[2456]|0)==0?(Ha(2456)|0)!=0:0){o=0;ua(5)|0;b=o;o=0;if(b&1){b=Na()|0;sb(2456);Ya(b|0)}else{c[11248]=44988;Pa(2456);break}}}while(0);return c[11248]|0}function Es(a){a=a|0;var b=0,d=0;o=0;b=ua(6)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}else{d=c[b>>2]|0;c[a>>2]=d;om(d);return}}function Fs(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;om(b);return}function Gs(a){a=a|0;pm(c[a>>2]|0)|0;return}function Hs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((c[a>>2]|0)!=-1){c[b>>2]=a;c[b+4>>2]=191;c[b+8>>2]=0;Em(a,b,192)}i=d;return(c[a+4>>2]|0)+-1|0}function Is(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return As(a,Hs(b)|0)|0}function Js(a){a=a|0;cj(a);return}function Ks(a){a=a|0;if(a)Bb[c[(c[a>>2]|0)+4>>2]&255](a);return}function Ls(a){a=a|0;var b=0;b=c[11052]|0;c[11052]=b+1;c[a+4>>2]=b+1;return}function Ms(a){a=a|0;cj(a);return}function Ns(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128)d=(b[(Os()|0)+(d<<1)>>1]&c)<<16>>16!=0;else d=0;return d|0}function Os(){var a=0,b=0;o=0;a=ua(7)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Ps(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;i=(f-d|0)>>>2;if((d|0)!=(f|0)){h=d;while(1){a=c[h>>2]|0;if(a>>>0<128)a=e[(Os()|0)+(a<<1)>>1]|0;else a=0;b[g>>1]=a;h=h+4|0;if((h|0)==(f|0))break;else g=g+2|0}}return d+(i<<2)|0}function Qs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do{if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0<128?(b[(Os()|0)+(a<<1)>>1]&d)<<16>>16!=0:0)break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}}while(0);return e|0}function Rs(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do{if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0>=128)break a;if(!((b[(Os()|0)+(a<<1)>>1]&d)<<16>>16))break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}}while(0);return e|0}function Ss(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(Ts()|0)+(b<<2)>>2]|0;return b|0}function Ts(){var a=0,b=0;o=0;a=ua(8)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(Ts()|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Vs(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(Ws()|0)+(b<<2)>>2]|0;return b|0}function Ws(){var a=0,b=0;o=0;a=ua(9)|0;b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else return c[a>>2]|0;return 0}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(Ws()|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Ys(a,b){a=a|0;b=b|0;return b<<24>>24|0}function Zs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((d|0)!=(e|0))while(1){c[f>>2]=a[d>>0];d=d+1|0;if((d|0)==(e|0))break;else f=f+4|0}return e|0}function _s(a,b,c){a=a|0;b=b|0;c=c|0;return(b>>>0<128?b&255:c)|0}function $s(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=(e-d|0)>>>2;if((d|0)!=(e|0)){h=d;b=g;while(1){g=c[h>>2]|0;a[b>>0]=g>>>0<128?g&255:f;h=h+4|0;if((h|0)==(e|0))break;else b=b+1|0}}return d+(i<<2)|0}function at(b){b=b|0;var d=0;c[b>>2]=44236;d=c[b+8>>2]|0;if((d|0)!=0?(a[b+12>>0]|0)!=0:0)dj(d);return}function bt(a){a=a|0;at(a);cj(a);return}function ct(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(Ts()|0)+((b&255)<<2)>>2]&255;return b|0}function dt(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(Ts()|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function et(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(Ws()|0)+(b<<24>>24<<2)>>2]&255;return b|0}function ft(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(Ws()|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function gt(a,b){a=a|0;b=b|0;return b|0}function ht(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;if((c|0)!=(d|0))while(1){a[e>>0]=a[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return d|0}function it(a,b,c){a=a|0;b=b|0;c=c|0;return(b<<24>>24>-1?b:c)|0}function jt(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((c|0)!=(d|0))while(1){b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;c=c+1|0;if((c|0)==(d|0))break;else f=f+1|0}return d|0}function kt(a){a=a|0;cj(a);return}function lt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function mt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function nt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function ot(a){a=a|0;return 1}function pt(a){a=a|0;return 1}function qt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=d-c|0;return(a>>>0>>0?a:e)|0}function rt(a){a=a|0;return 1}function st(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=44304;o=0;b=ua(3)|0;d=o;o=0;if(d&1){d=Na()|0;Ya(d|0)}else{c[a+8>>2]=b;return}}function tt(a){a=a|0;wu(a);cj(a);return}function xl(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;_=X;aa=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do{if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(ck()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do{if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)Xk(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do{if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}}while(0);do{if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}}while(0);e:do{if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1}while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[56223+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do{if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Cl(ba,s,g)}}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do{switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=kw(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=56703;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=56703;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=hw(0,0,n|0,o|0)|0;o=D;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=56703;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?56703:56705;L=76}else{p=1;s=56704;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=56703;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=56703;n=N;break}case 109:{n=dk(c[(ck()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:56713;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){El(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?56721:56726}else{G=1;H=56723}else{q=-q;G=1;H=56720}h[k>>3]=q;F=c[k+4>>2]&2146435072;do{if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+wk(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do{if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v}while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Dl(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[56687+H>>0]|w;q=(q-+(H|0))*16.0;do{if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;El(e,32,K,p,I);if(!(c[e>>2]&32))Xk(y,x,e)|0;El(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))Xk(da,n,e)|0;o=_-t|0;El(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))Xk(t,o,e)|0;El(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do{if(r>>>0>>0)r=s;else{o=0;do{B=mw(c[r>>2]|0,0,t|0)|0;B=jw(B|0,D|0,o|0,0)|0;o=D;A=vw(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=uw(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(C|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do{if(w>>>0

    >>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=$(B&o,s)|0;t=t+4|0}while(t>>>0

    >>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w}while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do{if(w>>>0

    >>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0}while(0);A=(C|0)==103;B=(n|0)!=0;r=n-((C|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do{if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do{if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}}while(0);do{if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}C=t+s|0;c[r>>2]=C;if(C>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}C=(c[s>>2]|0)+1|0;c[s>>2]=C;if(C>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}}while(0);C=r+4|0;w=s;p=p>>>0>C>>>0?C:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;C=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;C=p;break}}do{if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do{if(z){p=c[C+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9}while(0);p=((C-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8}while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Dl(r,((r|0)<0)<<31>>31,X)|0;if((_-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((_-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=_-E|0;u=E}y=G+1+n+s+o|0;El(e,32,K,y,I);if(!(c[e>>2]&32))Xk(H,G,e)|0;El(e,48,K,y,I^65536);do{if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Dl(c[o>>2]|0,0,R)|0;do{if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}}while(0);if(!(c[e>>2]&32))Xk(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do{if(x){if(c[e>>2]&32)break;Xk(56755,1,e)|0}}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Dl(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))Xk(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}El(e,48,n+9|0,9,0)}else{t=z?C:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Dl(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do{if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))Xk(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}Xk(56755,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}}while(0);p=S-o|0;if(!(c[e>>2]&32))Xk(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}El(e,48,n+18|0,18,0);if(c[e>>2]&32)break;Xk(u,_-u|0,e)|0}}while(0);El(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;El(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){Xk(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))Xk(s?t?56747:56751:t?56739:56743,3,e)|0;El(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=56703;n=N}}}while(0);g:do{if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[56687+(o&15)>>0]|s;o=kw(o|0,p|0,4)|0;p=D}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=56703;L=77}else{o=t;t=2;s=56703+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=56703;L=77}}else if((L|0)==76){n=Dl(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=jl(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=56703;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Ik(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}El(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Ik(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))Xk(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}}while(0);if((L|0)==98){L=0;El(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;El(e,32,n,r,p);if(!(c[e>>2]&32))Xk(u,t,e)|0;El(e,48,n,r,p^65536);El(e,48,o,s,0);if(!(c[e>>2]&32))Xk(w,s,e)|0;El(e,32,n,r,p^8192);w=J}h:do{if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Cl(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0}while(0);i=ha;return m|0}function yl(a,b,c){a=a|0;b=b|0;c=c|0;return Rk(a,b,c)|0}function zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;gk(h,0);e=+ek(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b)c[b>>2]=(d|0)!=0?a+d|0:a;i=j;return+e}function Al(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;gk(j,0);e=fk(j,d,1,e,f)|0;if(b)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function Bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;lw(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do{if(b>>>0<=20)do{switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}}while(0)}while(0);return}function Dl(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=vw(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=uw(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=D}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function El(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do{if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;iw(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){Xk(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;Xk(h,f,a)|0}}while(0);i=j;return}function Fl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do{if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[10218]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=40912+(e<<2)|0;e=40912+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do{if((d|0)!=(h|0)){if(h>>>0<(c[10222]|0)>>>0)Ga();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ga()}else c[10218]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[10220]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=40912+(e<<2)|0;e=40912+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do{if((d|0)!=(f|0)){if(f>>>0<(c[10222]|0)>>>0)Ga();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[10220]|0;break}else Ga()}else{c[10218]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[10223]|0;d=k>>>3;b=d<<1;e=40912+(b<<2)|0;a=c[10218]|0;d=1<>2]|0;if(b>>>0<(c[10222]|0)>>>0)Ga();else{l=a;m=b}}else{c[10218]=a|d;l=40912+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[10220]=h;c[10223]=i;M=j;return M|0}a=c[10219]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[41176+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[10222]|0;if(e>>>0>>0)Ga();i=e+o|0;if(e>>>0>=i>>>0)Ga();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do{if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ga();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ga();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ga();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ga()}}while(0);do{if(h){b=c[e+28>>2]|0;a=41176+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[10222]|0;if(n>>>0>>0)Ga();c[n+24>>2]=h;b=c[e+16>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[n+16>>2]=b;c[b+24>>2]=n;break}}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[10220]|0;if(b){g=c[10223]|0;d=b>>>3;b=d<<1;f=40912+(b<<2)|0;a=c[10218]|0;d=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{p=b;q=a}}else{c[10218]=a|d;p=40912+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[10220]=j;c[10223]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[10219]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[41176+(k<<2)>>2]|0;a:do{if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[41176+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[10220]|0)-m|0)>>>0:0){f=c[10222]|0;if(j>>>0>>0)Ga();h=j+m|0;if(j>>>0>=h>>>0)Ga();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do{if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ga();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ga();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ga();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ga()}}while(0);do{if(g){b=c[j+28>>2]|0;a=41176+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[10222]|0;if(o>>>0>>0)Ga();c[o+24>>2]=g;b=c[j+16>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[o+16>>2]=b;c[b+24>>2]=o;break}}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}}while(0);b:do{if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{s=b;t=a}}else{c[10218]=d|b;s=40912+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=41176+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[10219]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do{if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b}while(0);b=y+8|0;a=c[b>>2]|0;M=c[10222]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ga()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1}while(0);d=c[10220]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[10223]|0;if(b>>>0>15){c[10223]=a+q;c[10220]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[10220]=0;c[10223]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[10221]|0;if(a>>>0>q>>>0){L=a-q|0;c[10221]=L;M=c[10224]|0;c[10224]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do{if(!(c[10336]|0)){a=_a(30)|0;if(!(a+-1&a)){c[10338]=a;c[10337]=a;c[10339]=-1;c[10340]=-1;c[10341]=0;c[10329]=0;c[10336]=(qb(0)|0)&-16^1431655768;break}else Ga()}}while(0);j=q+48|0;i=c[10338]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[10328]|0;if((a|0)!=0?(t=c[10326]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do{if(!(c[10329]&4)){a=c[10224]|0;e:do{if(a){f=41320;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[10221]|0)&i;if(d>>>0<2147483647){f=Ua(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174}while(0);do{if((v|0)==174){g=Ua(0)|0;if((g|0)!=(-1|0)){a=g;d=c[10337]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[10326]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[10328]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=Ua(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}}while(0);f:do{if((v|0)==184){g=0-d|0;do{if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[10338]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((Ua(u|0)|0)==(-1|0)){Ua(g|0)|0;break f}else{d=u+d|0;break}}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}}while(0);c[10329]=c[10329]|4;v=191}else{a=0;v=191}}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=Ua(l|0)|0,x=Ua(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[10326]|0)+p|0;c[10326]=a;if(a>>>0>(c[10327]|0)>>>0)c[10327]=a;h=c[10224]|0;g:do{if(h){g=41320;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[10221]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[10224]=h+L;c[10221]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[10225]=c[10340];break}a=c[10222]|0;if(w>>>0>>0){c[10222]=w;a=w}d=w+p|0;g=41320;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=41320;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do{if((b|0)!=(h|0)){if((b|0)==(c[10223]|0)){M=(c[10220]|0)+l|0;c[10220]=M;c[10223]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do{if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do{if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ga();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ga();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ga()}}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=41176+(a<<2)|0;do{if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[10222]|0)>>>0)Ga();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[10219]=c[10219]&~(1<>>0>>0)Ga();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do{if(a)if(a>>>0>>0)Ga();else{c[J+16>>2]=a;c[a+24>>2]=J;break}}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=40912+(g<<1<<2)|0;do{if((e|0)!=(d|0)){if(e>>>0>>0)Ga();if((c[e+12>>2]|0)==(b|0))break;Ga()}}while(0);if((f|0)==(e|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ga()}}while(0);c[e+12>>2]=f;c[F>>2]=e}}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0>=(c[10222]|0)>>>0){K=b;L=a;break}Ga()}}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do{if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);b=41176+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[10219]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do{if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b}while(0);b=M+8|0;a=c[b>>2]|0;L=c[10222]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ga()}else{M=(c[10221]|0)+l|0;c[10221]=M;c[10224]=o;c[w+(m+4)>>2]=M|1}}while(0);M=w+(n|8)|0;return M|0}else d=41320;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[10224]=w+d;c[10221]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[10225]=c[10340];d=a+4|0;c[d>>2]=27;c[b>>2]=c[10330];c[b+4>>2]=c[10331];c[b+8>>2]=c[10332];c[b+12>>2]=c[10333];c[10330]=w;c[10331]=p;c[10333]=0;c[10332]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=40912+(a<<2)|0;d=c[10218]|0;b=1<>2]|0;if(a>>>0<(c[10222]|0)>>>0)Ga();else{G=b;H=a}}else{c[10218]=d|b;G=40912+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=41176+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[10219]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do{if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[10222]|0)>>>0)Ga();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b}while(0);b=I+8|0;a=c[b>>2]|0;M=c[10222]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ga()}}else{M=c[10222]|0;if((M|0)==0|w>>>0>>0)c[10222]=w;c[10330]=w;c[10331]=p;c[10333]=0;c[10227]=c[10336];c[10226]=-1;b=0;do{M=b<<1;L=40912+(M<<2)|0;c[40912+(M+3<<2)>>2]=L;c[40912+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[10224]=w+M;c[10221]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[10225]=c[10340]}}while(0);b=c[10221]|0;if(b>>>0>q>>>0){L=b-q|0;c[10221]=L;M=c[10224]|0;c[10224]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(ck()|0)>>2]=12;M=0;return M|0}function Gl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[10222]|0;if(b>>>0>>0)Ga();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ga();o=d&-8;q=a+(o+-8)|0;do{if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ga();if((l|0)==(c[10223]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[10220]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=40912+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ga();if((c[e+12>>2]|0)!=(l|0))Ga()}if((d|0)==(e|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ga()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do{if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ga();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ga();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ga();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ga()}}while(0);if(h){b=c[a+(j+28)>>2]|0;d=41176+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[10222]|0;if(k>>>0>>0)Ga();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[k+16>>2]=b;c[b+24>>2]=k;break}}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}}while(0);if(u>>>0>=q>>>0)Ga();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ga();if(!(d&2)){if((q|0)==(c[10224]|0)){t=(c[10221]|0)+g|0;c[10221]=t;c[10224]=u;c[u+4>>2]=t|1;if((u|0)!=(c[10223]|0))return;c[10223]=0;c[10220]=0;return}if((q|0)==(c[10223]|0)){t=(c[10220]|0)+g|0;c[10220]=t;c[10223]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do{if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do{if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[10222]|0)>>>0)Ga();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ga();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ga()}}while(0);if(h){b=c[a+(o+20)>>2]|0;d=41176+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[10222]|0;if(p>>>0>>0)Ga();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do{if(b)if(b>>>0>>0)Ga();else{c[p+16>>2]=b;c[b+24>>2]=p;break}}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[10222]|0)>>>0)Ga();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=40912+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[10222]|0)>>>0)Ga();if((c[e+12>>2]|0)!=(q|0))Ga()}if((d|0)==(e|0)){c[10218]=c[10218]&~(1<>>0<(c[10222]|0)>>>0)Ga();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ga()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[10223]|0)){c[10220]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=40912+(d<<2)|0;e=c[10218]|0;b=1<>2]|0;if(d>>>0<(c[10222]|0)>>>0)Ga();else{r=b;s=d}}else{c[10218]=e|b;r=40912+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=41176+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[10219]|0;e=1<>2]|0;b:do{if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b}while(0);b=t+8|0;d=c[b>>2]|0;s=c[10222]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ga()}else{c[10219]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}}while(0);u=(c[10226]|0)+-1|0;c[10226]=u;if(!u)b=41328;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[10226]=-1;return}function Hl(a,b){a=a|0;b=b|0;var d=0;if(a){d=$(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Fl(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;iw(b|0,0,d|0)|0;return b|0}function Il(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Fl(b)|0;return a|0}if(b>>>0>4294967231){c[(ck()|0)>>2]=12;a=0;return a|0}d=Jl(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Fl(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;lw(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Gl(a);a=d;return a|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[10222]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ga();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ga();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[10338]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Kl(a+b|0,d);return a|0}if((l|0)==(c[10224]|0)){d=(c[10221]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[10224]=a+b;c[10221]=n;return a|0}if((l|0)==(c[10223]|0)){e=(c[10220]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[10220]=d;c[10223]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do{if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do{if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ga();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ga();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ga()}}while(0);if(h){d=c[a+(j+28)>>2]|0;e=41176+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[10222]|0;if(k>>>0>>0)Ga();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do{if(d)if(d>>>0>>0)Ga();else{c[k+16>>2]=d;c[d+24>>2]=k;break}}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(l|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ga()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Kl(a+b|0,n);return a|0}return 0}function Kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do{if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[10222]|0;if(n>>>0>>0)Ga();if((n|0)==(c[10223]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[10220]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(n|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ga()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do{if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ga();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ga();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ga()}}while(0);if(i){d=c[a+(28-k)>>2]|0;e=41176+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[10222]|0;if(l>>>0>>0)Ga();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do{if(e)if(e>>>0>>0)Ga();else{c[l+16>>2]=e;c[e+24>>2]=l;break}}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}}while(0);j=c[10222]|0;if(q>>>0>>0)Ga();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[10224]|0)){s=(c[10221]|0)+h|0;c[10221]=s;c[10224]=t;c[t+4>>2]=s|1;if((t|0)!=(c[10223]|0))return;c[10223]=0;c[10220]=0;return}if((q|0)==(c[10223]|0)){s=(c[10220]|0)+h|0;c[10220]=s;c[10223]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do{if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do{if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ga();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ga();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ga();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ga()}}while(0);if(i){d=c[a+(b+28)>>2]|0;e=41176+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[10219]=c[10219]&~(1<>>0<(c[10222]|0)>>>0)Ga();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[10222]|0;if(p>>>0>>0)Ga();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do{if(d)if(d>>>0>>0)Ga();else{c[p+16>>2]=d;c[d+24>>2]=p;break}}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[10222]|0)>>>0)Ga();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=40912+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ga();if((c[f+12>>2]|0)!=(q|0))Ga()}if((e|0)==(f|0)){c[10218]=c[10218]&~(1<>>0>>0)Ga();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ga()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[10223]|0)){c[10220]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=40912+(e<<2)|0;f=c[10218]|0;d=1<>2]|0;if(e>>>0<(c[10222]|0)>>>0)Ga();else{r=d;s=e}}else{c[10218]=f|d;r=40912+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=41176+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[10219]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do{if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[10222]|0)>>>0)Ga();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}}while(0);e=d+8|0;f=c[e>>2]|0;s=c[10222]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ga();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Ll(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[9321]|0;Pl(42048,e,42104);c[10342]=42892;c[10344]=42912;c[10343]=0;a=c[10720]|0;o=0;ia(62,41368+a|0,42048);g=o;o=0;if(g&1){g=Na()|0;fn(41376);Ya(g|0)}c[41368+(a+72)>>2]=0;c[41368+(a+76)>>2]=-1;f=c[9322]|0;Ql(42152,f,42112);c[10364]=42972;c[10365]=42992;d=c[10740]|0;o=0;ia(62,41456+d|0,42152);g=o;o=0;if(g&1){g=Na()|0;fn(41460);Ya(g|0)}a=d+72|0;c[41456+a>>2]=0;b=d+76|0;c[41456+b>>2]=-1;g=c[9320]|0;Ql(42200,g,42120);c[10385]=42972;c[10386]=42992;o=0;ia(62,41540+d|0,42200);h=o;o=0;if(h&1){h=Na()|0;fn(41544);Ya(h|0)}c[41540+a>>2]=0;c[41540+b>>2]=-1;h=c[41540+((c[(c[10385]|0)+-12>>2]|0)+24)>>2]|0;c[10406]=42972;c[10407]=42992;o=0;ia(62,41624+d|0,h|0);h=o;o=0;if(h&1){h=Na()|0;fn(41628);Ya(h|0)}c[41624+a>>2]=0;c[41624+b>>2]=-1;c[41368+((c[(c[10342]|0)+-12>>2]|0)+72)>>2]=41456;a=41540+((c[(c[10385]|0)+-12>>2]|0)+4)|0;c[a>>2]=c[a>>2]|8192;c[41540+((c[(c[10385]|0)+-12>>2]|0)+72)>>2]=41456;Rl(42248,e,42128);c[10427]=42932;c[10429]=42952;c[10428]=0;a=c[10730]|0;o=0;ia(62,41708+a|0,42248);h=o;o=0;if(h&1){h=Na()|0;ln(41716);Ya(h|0)}c[41708+(a+72)>>2]=0;c[41708+(a+76)>>2]=-1;Sl(42304,f,42136);c[10449]=43012;c[10450]=43032;d=c[10750]|0;o=0;ia(62,41796+d|0,42304);h=o;o=0;if(h&1){h=Na()|0;ln(41800);Ya(h|0)}a=d+72|0;c[41796+a>>2]=0;b=d+76|0;c[41796+b>>2]=-1;Sl(42352,g,42144);c[10470]=43012;c[10471]=43032;o=0;ia(62,41880+d|0,42352);h=o;o=0;if(h&1){h=Na()|0;ln(41884);Ya(h|0)}c[41880+a>>2]=0;c[41880+b>>2]=-1;h=c[41880+((c[(c[10470]|0)+-12>>2]|0)+24)>>2]|0;c[10491]=43012;c[10492]=43032;o=0;ia(62,41964+d|0,h|0);h=o;o=0;if(h&1){h=Na()|0;ln(41968);Ya(h|0)}else{c[41964+a>>2]=0;c[41964+b>>2]=-1;c[41708+((c[(c[10427]|0)+-12>>2]|0)+72)>>2]=41796;h=41880+((c[(c[10470]|0)+-12>>2]|0)+4)|0;c[h>>2]=c[h>>2]|8192;c[41880+((c[(c[10470]|0)+-12>>2]|0)+72)>>2]=41796;return}}function Ml(a){a=a|0;o=0;ka(70,41456)|0;a=o;o=0;if(((!(a&1)?(o=0,ka(70,41624)|0,a=o,o=0,!(a&1)):0)?(o=0,ka(71,41796)|0,a=o,o=0,!(a&1)):0)?(o=0,ka(71,41964)|0,a=o,o=0,!(a&1)):0)return;a=Na(0)|0;ec(a)}function Nl(){Ll(0);kb(187,56757,n|0)|0;return}function Ol(){return}function Pl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;pn(b);c[b>>2]=42600;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;ia(23,b|0,f|0);e=o;o=0;if(e&1){h=Na()|0;Gs(f);nn(b);Ya(h|0)}else{Gs(f);i=g;return}}function Ql(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;pn(b);c[b>>2]=42536;c[b+32>>2]=d;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;d=ra(37,f|0,44280)|0;h=o;o=0;if(h&1){h=Na()|0;Gs(f);nn(b);Ya(h|0)}else{Gs(f);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=g;return}}function Rl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;En(b);c[b>>2]=42472;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;ia(21,b|0,f|0);e=o;o=0;if(e&1){h=Na()|0;Gs(f);Cn(b);Ya(h|0)}else{Gs(f);i=g;return}}function Sl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;h=g+4|0;f=g;En(b);c[b>>2]=42408;c[b+32>>2]=d;Fs(h,b+4|0);c[f>>2]=c[h>>2];o=0;d=ra(37,f|0,44288)|0;h=o;o=0;if(h&1){h=Na()|0;Gs(f);Cn(b);Ya(h|0)}else{Gs(f);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=g;return}}function Tl(a){a=a|0;Cn(a);cj(a);return}function Ul(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Is(d,44288)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function Vl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Yk(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Vk(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function Wl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do{if(!(a[b+44>>0]|0))if((e|0)>0){f=d;d=0;while(1){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,c[f>>2]|0)|0)==-1)break a;d=d+1|0;if((d|0)<(e|0))f=f+4|0;else break}}else d=0;else d=Yk(d,4,e,c[b+32>>2]|0)|0}while(0);return d|0}function Xl(b,d){b=b|0;d=d|0;var e=0,f=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;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do{if(!q){c[e>>2]=d;if(a[b+44>>0]|0)if((Yk(e,4,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;l=e+4|0;m=b+36|0;g=b+40|0;h=p+8|0;j=p;k=b+32|0;while(1){b=c[m>>2]|0;b=Sb[c[(c[b>>2]|0)+12>>2]&15](b,c[g>>2]|0,e,l,n,p,h,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-j|0;if((Yk(p,1,b,c[k>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Yk(e,1,1,c[k>>2]|0)|0)!=1)e=-1;else r=11}else r=11}while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function Yl(b,d){b=b|0;d=d|0;var e=0,f=0;f=Is(d,44288)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Rr(56783);return}function Zl(a){a=a|0;Cn(a);cj(a);return}function _l(a){a=a|0;return bm(a,0)|0}function $l(a){a=a|0;return bm(a,1)|0}function am(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+8|0;f=m+4|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do{if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do{if(e){c[f>>2]=c[j>>2];e=c[b+36>>2]|0;switch(Sb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((al(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}}while(0);c[j>>2]=d;a[h>>0]=1}}while(0);i=m;return d|0}function bm(b,d){b=b|0;d=d|0;var e=0,f=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;r=i;i=i+32|0;q=r+16|0;p=r+8|0;m=r+4|0;n=r;g=b+52|0;a:do{if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=-1;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;if((e|0)>0){g=0;do{f=Zk(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[q+g>>0]=f;g=g+1|0}while((g|0)<(e|0))}b:do{if(!(a[b+53>>0]|0)){j=b+40|0;k=b+36|0;l=p+4|0;c:while(1){s=c[j>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[k>>2]|0;h=q+e|0;switch(Sb[c[(c[t>>2]|0)+16>>2]&15](t,s,q,h,m,p,l,n)|0){case 2:{e=-1;break a}case 3:break c;case 1:break;default:break b}t=c[j>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){e=-1;break a}f=Zk(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[h>>0]=f;e=e+1|0}c[p>>2]=a[q>>0]}else c[p>>2]=a[q>>0]}while(0);if(d){e=c[p>>2]|0;c[b+48>>2]=e;break}while(1){if((e|0)<=0)break;e=e+-1|0;if((al(a[q+e>>0]|0,c[o>>2]|0)|0)==-1){e=-1;break a}}e=c[p>>2]|0}}while(0);i=r;return e|0}function cm(a){a=a|0;nn(a);cj(a);return}function dm(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Is(d,44280)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function em(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Yk(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Vk(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function fm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;a:do{if(!(a[b+44>>0]|0))if((f|0)>0){g=e;e=0;while(1){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,d[g>>0]|0)|0)==-1)break a;e=e+1|0;if((e|0)<(f|0))g=g+1|0;else break}}else e=0;else e=Yk(e,1,f,c[b+32>>2]|0)|0}while(0);return e|0}function gm(b,d){b=b|0;d=d|0;var e=0,f=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;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do{if(!q){a[e>>0]=d;if(a[b+44>>0]|0)if((Yk(e,1,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;m=e+1|0;g=b+36|0;h=b+40|0;j=p+8|0;k=p;l=b+32|0;while(1){b=c[g>>2]|0;b=Sb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,e,m,n,p,j,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-k|0;if((Yk(p,1,b,c[l>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Yk(e,1,1,c[l>>2]|0)|0)!=1)e=-1;else r=11}else r=11}while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function hm(b,d){b=b|0;d=d|0;var e=0,f=0;f=Is(d,44280)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Rr(56783);return}function im(a){a=a|0;nn(a);cj(a);return}function jm(a){a=a|0;return mm(a,0)|0}function km(a){a=a|0;return mm(a,1)|0}function lm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+4|0;f=m+8|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do{if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do{if(e){a[f>>0]=c[j>>2];e=c[b+36>>2]|0;switch(Sb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((al(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}}while(0);c[j>>2]=d;a[h>>0]=1}}while(0);i=m;return d|0}function mm(b,e){b=b|0;e=e|0;var f=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;s=i;i=i+32|0;r=s+16|0;q=s+8|0;n=s+4|0;o=s;h=b+52|0;a:do{if(a[h>>0]|0){g=b+48|0;f=c[g>>2]|0;if(e){c[g>>2]=-1;a[h>>0]=0}}else{f=c[b+44>>2]|0;f=(f|0)>1?f:1;p=b+32|0;if((f|0)>0){h=0;do{g=Zk(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[r+h>>0]=g;h=h+1|0}while((h|0)<(f|0))}b:do{if(!(a[b+53>>0]|0)){k=b+40|0;l=b+36|0;m=q+1|0;c:while(1){t=c[k>>2]|0;h=t;g=c[h>>2]|0;h=c[h+4>>2]|0;u=c[l>>2]|0;j=r+f|0;switch(Sb[c[(c[u>>2]|0)+16>>2]&15](u,t,r,j,n,q,m,o)|0){case 2:{f=-1;break a}case 3:break c;case 1:break;default:break b}u=c[k>>2]|0;c[u>>2]=g;c[u+4>>2]=h;if((f|0)==8){f=-1;break a}g=Zk(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[j>>0]=g;f=f+1|0}a[q>>0]=a[r>>0]|0}else a[q>>0]=a[r>>0]|0}while(0);if(e){f=a[q>>0]|0;c[b+48>>2]=f&255}else{while(1){if((f|0)<=0)break;f=f+-1|0;if((al(d[r+f>>0]|0,c[p>>2]|0)|0)==-1){f=-1;break a}}f=a[q>>0]|0}f=f&255}}while(0);i=s;return f|0}function nm(a){a=a|0;return}function om(a){a=a|0;a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function pm(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b){Bb[c[(c[a>>2]|0)+8>>2]&255](a);a=1}else a=0;return a|0}function qm(b,d){b=b|0;d=d|0;c[b>>2]=36868;o=0;ia(86,b+4|0,((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0)|0);b=o;o=0;if(b&1){b=Na()|0;Ya(b|0)}else return}function rm(a,b){a=a|0;b=b|0;c[a>>2]=36868;o=0;ia(86,a+4|0,b|0);a=o;o=0;if(a&1){a=Na()|0;Ya(a|0)}else return}function sm(a,b){a=a|0;b=b|0;var d=0,e=0;e=nl(b)|0;d=bj(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=d+12|0;lw(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function tm(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=d;c[a+4>>2]=b;return}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;Qb[c[(c[a>>2]|0)+12>>2]&15](e,a,b);if((c[e+4>>2]|0)==(c[d+4>>2]|0))e=(c[e>>2]|0)==(c[d>>2]|0);else e=0;i=f;return e|0}function vm(a,b,d){a=a|0;b=b|0;d=d|0;return((c[b>>2]|0)==(d|0)?(c[b+4>>2]|0)==(a|0):0)|0}function wm(a,b,c){a=a|0;b=b|0;c=c|0;b=dk(c)|0;Gm(a,b,nl(b)|0);return}function xm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;f=c[d>>2]|0;do{if(f){g=a[e>>0]|0;if(!(g&1))g=(g&255)>>>1;else g=c[e+4>>2]|0;if(g){Pm(e,56990)|0;f=c[d>>2]|0}d=c[d+4>>2]|0;Qb[c[(c[d>>2]|0)+24>>2]&15](h,d,f);d=a[h>>0]|0;g=(d&1)==0;o=0;ma(30,e|0,(g?h+1|0:c[h+8>>2]|0)|0,(g?(d&255)>>>1:c[h+4>>2]|0)|0)|0;d=o;o=0;if(d&1){j=Na()|0;Im(h);Ya(j|0)}else{Im(h);break}}}while(0);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;i=j;return}function ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;e=f+12|0;g=f;Gm(g,d,nl(d)|0);o=0;wa(10,e|0,b|0,g|0);d=o;o=0;do{if(!(d&1)){o=0;ia(87,a|0,e|0);d=o;o=0;if(d&1){f=Na()|0;Im(e);e=f;break}else{Im(e);Im(g);c[a>>2]=42664;d=c[b+4>>2]|0;g=a+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=d;i=f;return}}else e=Na()|0}while(0);Im(g);Ya(e|0)}function zm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+48|0;f=g+24|0;j=g+16|0;h=g;c[j>>2]=b;c[j+4>>2]=d;Fm(h,e);o=0;wa(10,f|0,j|0,h|0);e=o;o=0;do{if(!(e&1)){o=0;ia(87,a|0,f|0);j=o;o=0;if(j&1){j=Na()|0;Im(f);f=j;break}else{Im(f);Im(h);c[a>>2]=42664;c[a+8>>2]=b;c[a+12>>2]=d;i=g;return}}else f=Na()|0}while(0);Im(h);Ya(f|0)}function Am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+48|0;e=f+24|0;h=f+16|0;g=f;c[h>>2]=b;c[h+4>>2]=d;Gm(g,58898,0);o=0;wa(10,e|0,h|0,g|0);h=o;o=0;do{if(!(h&1)){o=0;ia(87,a|0,e|0);h=o;o=0;if(h&1){h=Na()|0;Im(e);e=h;break}else{Im(e);Im(g);c[a>>2]=42664;c[a+8>>2]=b;c[a+12>>2]=d;i=f;return}}else e=Na()|0}while(0);Im(g);Ya(e|0)}function Bm(a){a=a|0;mj(a);return}function Cm(a){a=a|0;mj(a);cj(a);return}function Dm(a){a=a|0;return}function Em(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;rb(42676)|0;if((c[a>>2]|0)==1)do{Da(42704,42676)|0}while((c[a>>2]|0)==1);do{if(!(c[a>>2]|0)){c[a>>2]=1;o=0;ka(72,42676)|0;e=o;o=0;if((((!(e&1)?(o=0,ha(d|0,b|0),e=o,o=0,!(e&1)):0)?(o=0,ka(73,42676)|0,e=o,o=0,!(e&1)):0)?(c[a>>2]=-1,o=0,ka(72,42676)|0,e=o,o=0,!(e&1)):0)?(o=0,ka(74,42704)|0,e=o,o=0,!(e&1)):0)break;e=Na(0)|0;Va(e|0)|0;o=0;ka(73,42676)|0;e=o;o=0;if((!(e&1)?(c[a>>2]=0,o=0,ka(72,42676)|0,e=o,o=0,!(e&1)):0)?(o=0,ka(74,42704)|0,e=o,o=0,!(e&1)):0){o=0;xa(5);o=0}b=Na()|0;o=0;xa(3);e=o;o=0;if(e&1){e=Na(0)|0;ec(e)}else Ya(b|0)}else cb(42676)|0}while(0);return}function Fm(b,d){b=b|0;d=d|0;if(!(a[d>>0]&1)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}else Gm(b,c[d+8>>2]|0,c[d+4>>2]|0);return}function Gm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)_i(b);if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0}else{g=e+16&-16;f=bj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}lw(b|0,d|0,e|0)|0;a[b+e>>0]=0;return}function Hm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>4294967279)_i(b);if(d>>>0<11){a[b>>0]=d<<1;b=b+1|0}else{g=d+16&-16;f=bj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}iw(b|0,e|0,d|0)|0;a[b+d>>0]=0;return}function Im(b){b=b|0;if(a[b>>0]&1)cj(c[b+8>>2]|0);return}function Jm(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d>>0]|0;f=(e&1)==0;Lm(b,f?d+1|0:c[d+8>>2]|0,f?(e&255)>>>1:c[d+4>>2]|0)|0}return b|0}function Km(a,b){a=a|0;b=b|0;return Lm(a,b,nl(b)|0)|0}function Lm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=10;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do{if(h>>>0>=e>>>0){if(g)f=b+1|0;else f=c[b+8>>2]|0;nw(f|0,d|0,e|0)|0;a[f+e>>0]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;Sm(b,h,e-h|0,f,0,f,e,d)}}while(0);return b|0}function Mm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a[b>>0]|0;g=(f&1)==0;if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;do{if(f>>>0>=d>>>0)if(g){a[b+1+d>>0]=0;a[b>>0]=d<<1;break}else{a[(c[b+8>>2]|0)+d>>0]=0;c[b+4>>2]=d;break}else Nm(b,d-f|0,e)|0}while(0);return}function Nm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(d){f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>>0){Tm(b,g,d-g+h|0,h,h,0,0);f=a[b>>0]|0}if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;iw(g+h|0,e|0,d|0)|0;f=h+d|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}return b|0}function Om(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>4294967279)_i(b);e=a[b>>0]|0;if(!(e&1))f=10;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<11)i=10;else i=(d+16&-16)+-1|0;a:do{if((i|0)!=(f|0)){do{if((i|0)!=10){d=i+1|0;if(i>>>0<=f>>>0){o=0;d=ka(67,d|0)|0;h=o;o=0;if(h&1){b=Na(0)|0;Va(b|0)|0;Xa();break a}}else d=bj(d)|0;if(!(e&1)){f=1;g=b+1|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+1|0;f=0;g=c[b+8>>2]|0;h=1}}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;lw(d|0,g|0,e+1|0)|0;if(h)cj(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}}while(0);return}function Pm(a,b){a=a|0;b=b|0;return Rm(a,b,nl(b)|0)|0}function Qm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=10;h=(e&255)>>>1}if((h|0)==(g|0)){Tm(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+1|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}a[e+h>>0]=d;a[e+f>>0]=0;return}function Rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>=e>>>0){if(e){if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;lw(g+h|0,d|0,e|0)|0;f=h+e|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}}else Sm(b,g,e-g+h|0,h,h,0,e,d);return b|0}function Sm(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((-18-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))m=b+1|0;else m=c[b+8>>2]|0;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=bj(k)|0;if(g)lw(l|0,m|0,g|0)|0;if(i)lw(l+g|0,j|0,i|0)|0;e=f-h|0;if((e|0)!=(g|0))lw(l+(i+g)|0,m+(h+g)|0,e-g|0)|0;if((d|0)!=10)cj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;a[l+d>>0]=0;return}function Tm(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))l=b+1|0;else l=c[b+8>>2]|0;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=bj(j)|0;if(g)lw(k|0,l|0,g|0)|0;e=f-h|0;if((e|0)!=(g|0))lw(k+(i+g)|0,l+(h+g)|0,e-g|0)|0;if((d|0)!=10)cj(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function Um(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>1073741807)_i(b);if(e>>>0<2){a[b>>0]=e<<1;b=b+4|0}else{g=e+4&-4;f=bj(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}ql(b,d,e)|0;c[b+(e<<2)>>2]=0;return}function Vm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>1073741807)_i(b);if(d>>>0<2){a[b>>0]=d<<1;b=b+4|0}else{g=d+4&-4;f=bj(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}sl(b,e,d)|0;c[b+(d<<2)>>2]=0;return}function Wm(b){b=b|0;if(a[b>>0]&1)cj(c[b+8>>2]|0);return}function Xm(a,b){a=a|0;b=b|0;return Ym(a,b,pl(b)|0)|0}function Ym(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=1;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do{if(h>>>0>=e>>>0){if(g)f=b+4|0;else f=c[b+8>>2]|0;rl(f,d,e)|0;c[f+(e<<2)>>2]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;$m(b,h,e-h|0,f,0,f,e,d)}}while(0);return b|0}function Zm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>1073741807)_i(b);e=a[b>>0]|0;if(!(e&1))f=1;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<2)i=1;else i=(d+4&-4)+-1|0;a:do{if((i|0)!=(f|0)){do{if((i|0)!=1){d=(i<<2)+4|0;if(i>>>0<=f>>>0){o=0;d=ka(67,d|0)|0;h=o;o=0;if(h&1){b=Na(0)|0;Va(b|0)|0;Xa();break a}}else d=bj(d)|0;if(!(e&1)){f=1;g=b+4|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+4|0;f=0;g=c[b+8>>2]|0;h=1}}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;ql(d,g,e+1|0)|0;if(h)cj(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}}while(0);return}function _m(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=1;h=(e&255)>>>1}if((h|0)==(g|0)){an(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+4|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}c[e+(h<<2)>>2]=d;c[e+(f<<2)>>2]=0;return}function $m(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((1073741806-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))m=b+4|0;else m=c[b+8>>2]|0;if(d>>>0<536870887){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<2?2:k+4&-4}else k=1073741807;l=bj(k<<2)|0;if(g)ql(l,m,g)|0;if(i)ql(l+(g<<2)|0,j,i)|0;e=f-h|0;if((e|0)!=(g|0))ql(l+(i+g<<2)|0,m+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)cj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;c[l+(d<<2)>>2]=0;return}function an(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((1073741807-d|0)>>>0>>0)_i(b);if(!(a[b>>0]&1))l=b+4|0;else l=c[b+8>>2]|0;if(d>>>0<536870887){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<2?2:j+4&-4}else j=1073741807;k=bj(j<<2)|0;if(g)ql(k,l,g)|0;e=f-h|0;if((e|0)!=(g|0))ql(k+(i+g<<2)|0,l+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)cj(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function bn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d;f=e-g|0;if(f>>>0>4294967279)_i(b);if(f>>>0<11){a[b>>0]=f<<1;h=b+1|0}else{i=f+16&-16;h=bj(i)|0;c[b+8>>2]=h;c[b>>2]=i|1;c[b+4>>2]=f}b=e-g|0;if((d|0)!=(e|0)){f=h;while(1){a[f>>0]=a[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else f=f+1|0}}a[h+b>>0]=0;return}function cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d;f=e-h|0;g=f>>2;if(g>>>0>1073741807)_i(b);if(g>>>0<2){a[b>>0]=f>>>1;b=b+4|0}else{i=g+4&-4;f=bj(i<<2)|0;c[b+8>>2]=f;c[b>>2]=i|1;c[b+4>>2]=g;b=f}g=(e-h|0)>>>2;if((d|0)!=(e|0)){f=b;while(1){c[f>>2]=c[d>>2];d=d+4|0;if((d|0)==(e|0))break;else f=f+4|0}}c[b+(g<<2)>>2]=0;return}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=(c[a+24>>2]|0)==0;c[a+16>>2]=f&1|b;if(!((f&1|b)&c[a+20>>2])){i=d;return}b=Ma(16)|0;so()|0;c[e>>2]=1;c[e+4>>2]=43112;o=0;wa(11,b|0,57437,e|0);f=o;o=0;if(f&1){f=Na()|0;La(b|0);Ya(f|0)}else lb(b|0,864,112)}function en(a){a=a|0;var b=0;c[a>>2]=43068;o=0;ia(88,a|0,0);b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else{Gs(a+28|0);Gl(c[a+32>>2]|0);Gl(c[a+36>>2]|0);Gl(c[a+48>>2]|0);Gl(c[a+60>>2]|0);return}}function fn(a){a=a|0;en(a);return}function gn(a){a=a|0;en(a);cj(a);return}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+40>>2]|0;e=a+32|0;f=a+36|0;if(d)do{d=d+-1|0;Qb[c[(c[e>>2]|0)+(d<<2)>>2]&15](b,a,c[(c[f>>2]|0)+(d<<2)>>2]|0)}while((d|0)!=0);return}function jn(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;Fs(b,a+28|0);i=d;return c[b>>2]|0}function kn(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));Es(d);return}function ln(a){a=a|0;en(a);return}function mn(a){a=a|0;en(a);cj(a);return}function nn(a){a=a|0;c[a>>2]=42760;Gs(a+4|0);return}function on(a){a=a|0;c[a>>2]=42760;Gs(a+4|0);cj(a);return}function pn(a){a=a|0;c[a>>2]=42760;Es(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function qn(a,b){a=a|0;b=b|0;return}function rn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function sn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function tn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function un(a){a=a|0;return 0}function vn(a){a=a|0;return 0}function wn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+12|0;i=b+16|0;a:do{if((e|0)>0){g=d;d=0;while(1){f=c[h>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[h>>2]=f+1;f=a[f>>0]|0}else{f=Eb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break a;f=f&255}a[g>>0]=f;d=d+1|0;if((d|0)<(e|0))g=g+1|0;else break}}else d=0}while(0);return d|0}function xn(a){a=a|0;return-1}function yn(a){a=a|0;var b=0;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+1;a=d[a>>0]|0}return a|0}function zn(a,b){a=a|0;b=b|0;return-1}function An(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=b+24|0;j=b+28|0;a:do{if((f|0)>0){h=e;e=0;while(1){g=c[i>>2]|0;if(g>>>0>=(c[j>>2]|0)>>>0){if((Lb[c[(c[b>>2]|0)+52>>2]&63](b,d[h>>0]|0)|0)==-1)break a}else{k=a[h>>0]|0;c[i>>2]=g+1;a[g>>0]=k}e=e+1|0;if((e|0)<(f|0))h=h+1|0;else break}}else e=0}while(0);return e|0}function Bn(a,b){a=a|0;b=b|0;return-1}function Cn(a){a=a|0;c[a>>2]=42824;Gs(a+4|0);return}function Dn(a){a=a|0;c[a>>2]=42824;Gs(a+4|0);cj(a);return}function En(a){a=a|0;c[a>>2]=42824;Es(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function Fn(a,b){a=a|0;b=b|0;return}function Gn(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Hn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Jn(a){a=a|0;return 0}function Kn(a){a=a|0;return 0}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+12|0;h=a+16|0;a:do{if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){e=Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break a}else{c[g>>2]=e+4;e=c[e>>2]|0}c[f>>2]=e;b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0}while(0);return b|0}function Mn(a){a=a|0;return-1}function Nn(a){a=a|0;var b=0;if((Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0}return a|0}function On(a,b){a=a|0;b=b|0;return-1}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+24|0;h=a+28|0;a:do{if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){if((Lb[c[(c[a>>2]|0)+52>>2]&63](a,c[f>>2]|0)|0)==-1)break a}else{i=c[f>>2]|0;c[g>>2]=e+4;c[e>>2]=i}b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0}while(0);return b|0}function Qn(a,b){a=a|0;b=b|0;return-1}function Rn(a){a=a|0;en(a+8|0);return}function Sn(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Tn(a){a=a|0;en(a+8|0);cj(a);return}function Un(a){a=a|0;Tn(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Vn(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;a:do{if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){o=0;ia(65,e|0,b|0);d=o;o=0;b:do{if(d&1)d=Na(0)|0;else{do{if(a[e>>0]|0){d=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;d=ka(c[(c[d>>2]|0)+24>>2]|0,d|0)|0;g=o;o=0;if(!(g&1)){if((d|0)!=-1)break;g=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+g|0,c[b+(g+16)>>2]|1|0);g=o;o=0;if(!(g&1))break}d=Na(0)|0;ho(e);break b}}while(0);ho(e);break a}}while(0);Va(d|0)|0;o=0;ha(181,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=o;o=0;if(!(g&1)){Xa();break}d=Na()|0;o=0;xa(3);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else Ya(d|0)}}while(0);i=f;return b|0}function Wn(a){a=a|0;var b=0;b=a+16|0;c[b>>2]=c[b>>2]|1;if(!(c[a+20>>2]&1))return;else mb()}function Xn(a){a=a|0;en(a+8|0);return}function Yn(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function Zn(a){a=a|0;en(a+8|0);cj(a);return}function _n(a){a=a|0;Zn(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function $n(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;a:do{if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){o=0;ia(89,e|0,b|0);d=o;o=0;b:do{if(d&1)d=Na(0)|0;else{do{if(a[e>>0]|0){d=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;d=ka(c[(c[d>>2]|0)+24>>2]|0,d|0)|0;g=o;o=0;if(!(g&1)){if((d|0)!=-1)break;g=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+g|0,c[b+(g+16)>>2]|1|0);g=o;o=0;if(!(g&1))break}d=Na(0)|0;po(e);break b}}while(0);po(e);break a}}while(0);Va(d|0)|0;o=0;ha(181,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=o;o=0;if(!(g&1)){Xa();break}d=Na()|0;o=0;xa(3);g=o;o=0;if(g&1){g=Na(0)|0;ec(g)}else Ya(d|0)}}while(0);i=f;return b|0}function ao(a,b){a=a|0;b=b|0;return}function bo(a){a=a|0;en(a+4|0);return}function co(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function eo(a){a=a|0;en(a+4|0);cj(a);return}function fo(a){a=a|0;eo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function go(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)Vn(e)|0;a[b>>0]=1}return}function ho(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;do{if((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Za()|0):0){b=c[a>>2]|0;b=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;b=ka(c[(c[b>>2]|0)+24>>2]|0,b|0)|0;d=o;o=0;if(!(d&1)){if((b|0)!=-1)break;b=c[a>>2]|0;d=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+d|0,c[b+(d+16)>>2]|1|0);d=o;o=0;if(!(d&1))break}d=Na(0)|0;Va(d|0)|0;o=0;xa(3);d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}}}while(0);return}function io(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+20|0;l=q+16|0;n=q+8|0;e=q;o=0;ia(65,n|0,b|0);m=o;o=0;a:do{if(m&1){e=Na(0)|0;f=b;g=b;p=19}else{do{if(a[n>>0]|0){c[e>>2]=jn(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=0;m=ra(37,e|0,43392)|0;j=o;o=0;if(j&1){p=Na(0)|0;Gs(e);e=p}else{Gs(e);g=c[(c[b>>2]|0)+-12>>2]|0;j=c[b+(g+24)>>2]|0;f=b+g|0;g=b+(g+76)|0;e=c[g>>2]|0;do{if((e|0)==-1){c[k>>2]=jn(f)|0;o=0;e=ra(37,k|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(k);e=h<<24>>24;c[g>>2]=e;p=10;break}e=Na(0)|0;Gs(k)}else p=10}while(0);if((p|0)==10){r=c[(c[m>>2]|0)+16>>2]|0;c[l>>2]=j;o=0;c[k>>2]=c[l>>2];e=sa(r|0,m|0,k|0,f|0,e&255|0,d|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break}e=Na(0)|0}}ho(n);f=b;g=b;p=19;break a}}while(0);ho(n)}}while(0);do{if((p|0)==19){Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();break}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0)}}while(0);i=q;return b|0}function jo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+20|0;l=q+16|0;n=q+8|0;e=q;o=0;ia(65,n|0,b|0);m=o;o=0;a:do{if(m&1){e=Na(0)|0;f=b;g=b;p=19}else{do{if(a[n>>0]|0){c[e>>2]=jn(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=0;m=ra(37,e|0,43392)|0;j=o;o=0;if(j&1){p=Na(0)|0;Gs(e);e=p}else{Gs(e);g=c[(c[b>>2]|0)+-12>>2]|0;j=c[b+(g+24)>>2]|0;f=b+g|0;g=b+(g+76)|0;e=c[g>>2]|0;do{if((e|0)==-1){c[k>>2]=jn(f)|0;o=0;e=ra(37,k|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,h=ra(c[(c[e>>2]|0)+28>>2]|0,e|0,32)|0,r=o,o=0,!(r&1)):0){Gs(k);e=h<<24>>24;c[g>>2]=e;p=10;break}e=Na(0)|0;Gs(k)}else p=10}while(0);if((p|0)==10){r=c[(c[m>>2]|0)+24>>2]|0;c[l>>2]=j;o=0;c[k>>2]=c[l>>2];e=sa(r|0,m|0,k|0,f|0,e&255|0,d|0)|0;r=o;o=0;if(!(r&1)){if(e)break;r=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+r|0,c[b+(r+16)>>2]|5|0);r=o;o=0;if(!(r&1))break}e=Na(0)|0}}ho(n);f=b;g=b;p=19;break a}}while(0);ho(n)}}while(0);do{if((p|0)==19){Va(e|0)|0;o=0;ha(181,f+(c[(c[g>>2]|0)+-12>>2]|0)|0);r=o;o=0;if(!(r&1)){Xa();break}e=Na()|0;o=0;xa(3);r=o;o=0;if(r&1){r=Na(0)|0;ec(r)}else Ya(e|0)}}while(0);i=q;return b|0}function ko(a){a=a|0;en(a+4|0);return}function lo(a){a=a|0;en(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function mo(a){a=a|0;en(a+4|0);cj(a);return}function no(a){a=a|0;mo(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function oo(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)$n(e)|0;a[b>>0]=1}return}function po(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;do{if((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Za()|0):0){b=c[a>>2]|0;b=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;o=0;b=ka(c[(c[b>>2]|0)+24>>2]|0,b|0)|0;d=o;o=0;if(!(d&1)){if((b|0)!=-1)break;b=c[a>>2]|0;d=c[(c[b>>2]|0)+-12>>2]|0;o=0;ia(66,b+d|0,c[b+(d+16)>>2]|1|0);d=o;o=0;if(!(d&1))break}d=Na(0)|0;Va(d|0)|0;o=0;xa(3);d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}}}while(0);return}function qo(a){a=a|0;return 57453}function ro(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=1&(c|0)<257)wm(a,b,c);else Gm(a,57462,35);return}function so(){if((a[1048]|0)==0?(Ha(1048)|0)!=0:0){c[10778]=43084;kb(72,43112,n|0)|0;Pa(1048)}return 43112}function to(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e;j=d;h=c[j+4>>2]|0;d=g;c[d>>2]=c[j>>2];c[d+4>>2]=h;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];ym(a,f,b);c[a>>2]=43048;i=e;return}function uo(a){a=a|0;Bm(a);return}function vo(a){a=a|0;Bm(a);cj(a);return}function wo(a){a=a|0;en(a);cj(a);return}function xo(a){a=a|0;cj(a);return}function yo(a){a=a|0;return}function zo(a){a=a|0;return}function Ao(a){a=a|0;cj(a);return}function Bo(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do{if((e|0)==(f|0))h=6;else while(1){if((c|0)==(d|0)){c=-1;break a}b=a[c>>0]|0;g=a[e>>0]|0;if(b<<24>>24>24){c=-1;break a}if(g<<24>>24>24){c=1;break a}c=c+1|0;e=e+1|0;if((e|0)==(f|0)){h=6;break}}}while(0);if((h|0)==6)c=(c|0)!=(d|0)&1;return c|0}function Co(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bn(a,c,d);return}function Do(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)==(d|0))b=0;else{b=0;do{b=(a[c>>0]|0)+(b<<4)|0;e=b&-268435456;b=(e>>>24|e)^b;c=c+1|0}while((c|0)!=(d|0))}return b|0}function Eo(a){a=a|0;return}function Fo(a){a=a|0;cj(a);return}function Go(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do{if((e|0)==(f|0))h=6;else while(1){if((b|0)==(d|0)){b=-1;break a}a=c[b>>2]|0;g=c[e>>2]|0;if((a|0)<(g|0)){b=-1;break a}if((g|0)<(a|0)){b=1;break a}b=b+4|0;e=e+4|0;if((e|0)==(f|0)){h=6;break}}}while(0);if((h|0)==6)b=(b|0)!=(d|0)&1;return b|0}function Ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cn(a,c,d);return}function Io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))a=0;else{a=0;do{a=(c[b>>2]|0)+(a<<4)|0;e=a&-268435456;a=(e>>>24|e)^a;b=b+4|0}while((b|0)!=(d|0))}return a|0}function Jo(a){a=a|0;return}function Ko(a){a=a|0;cj(a);return}function Lo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;q=s+56|0;j=s+52|0;n=s+48|0;k=s+44|0;l=s+40|0;m=s+36|0;p=s+32|0;t=s+8|0;r=s;a:do{if(!(c[f+4>>2]&1)){c[n>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[j>>2]=c[k>>2];c[q>>2]=c[l>>2];j=Db[t&63](b,j,q,f,g,n)|0;c[d>>2]=j;switch(c[n>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{j=jn(f)|0;c[m>>2]=j;o=0;b=ra(37,m|0,44220)|0;n=o;o=0;do{if(!(n&1)){pm(j)|0;j=jn(f)|0;c[p>>2]=j;o=0;l=ra(37,p|0,44360)|0;p=o;o=0;if(p&1){t=Na()|0;pm(j)|0;j=t;break}pm(j)|0;o=0;ia(c[(c[l>>2]|0)+24>>2]|0,t|0,l|0);p=o;o=0;if(!(p&1)){k=t+12|0;o=0;ia(c[(c[l>>2]|0)+28>>2]|0,k|0,l|0);p=o;o=0;if(!(p&1)){c[r>>2]=c[e>>2];o=0;c[q>>2]=c[r>>2];j=ea(7,d|0,q|0,t|0,t+24|0,b|0,g|0,1)|0;g=o;o=0;if(g&1){j=Na()|0;Im(t+12|0);Im(t);break}else{a[h>>0]=(j|0)==(t|0)&1;j=c[d>>2]|0;Im(t+12|0);Im(t);break a}}}else k=t;j=Na()|0;l=D;if((t|0)!=(k|0))do{k=k+-12|0;Im(k)}while((k|0)!=(t|0))}else{t=Na()|0;pm(j)|0;j=t}}while(0);Ya(j|0)}}while(0);i=s;return j|0}function Mo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=yu(a,k,j,e,f,g)|0;i=h;return a|0}function No(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=zu(a,k,j,e,f,g)|0;i=h;return a|0}function Oo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Au(a,k,j,e,f,g)|0;i=h;return a|0}function Po(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Bu(a,k,j,e,f,g)|0;i=h;return a|0}function Qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Cu(a,k,j,e,f,g)|0;i=h;return a|0}function Ro(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Du(a,k,j,e,f,g)|0;i=h;return a|0}function So(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Eu(a,k,j,e,f,g)|0;i=h;return a|0}function To(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Fu(a,k,j,e,f,g)|0;i=h;return a|0}function Uo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Gu(a,k,j,e,f,g)|0;i=h;return a|0}function Vo(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;C=i;i=i+240|0;x=C;s=C+208|0;E=C+32|0;b=C+28|0;D=C+16|0;w=C+12|0;u=C+48|0;v=C+8|0;t=C+4|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;o=0;g=ka(68,g|0)|0;r=o;o=0;do{if(r&1)b=Na()|0;else{c[b>>2]=g;o=0;b=ra(37,b|0,44220)|0;r=o;o=0;if(!(r&1)?(o=0,va(c[(c[b>>2]|0)+32>>2]|0,b|0,57498,57524,s|0)|0,r=o,o=0,!(r&1)):0){pm(g)|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;if(!(a[D>>0]&1))b=10;else b=(c[D>>2]&-2)+-1|0;o=0;wa(8,D|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){q=D+8|0;r=D+1|0;g=(a[D>>0]&1)==0?r:c[q>>2]|0;c[w>>2]=g;c[v>>2]=u;c[t>>2]=0;p=D+4|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){F=29;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){F=29;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;F=19;break}}else F=19}while(0);if((F|0)==19){F=0;if(l){k=0;break}else k=0}l=a[D>>0]|0;l=(l&1)==0?(l&255)>>>1:c[p>>2]|0;if((c[w>>2]|0)==(g+l|0)){o=0;wa(8,D|0,l<<1|0,0);n=o;o=0;if(n&1){F=29;break}if(!(a[D>>0]&1))g=10;else g=(c[D>>2]&-2)+-1|0;o=0;wa(8,D|0,g|0,0);n=o;o=0;if(n&1){F=29;break}g=(a[D>>0]&1)==0?r:c[q>>2]|0;c[w>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=29;break}}else l=d[l>>0]|0;if(Wo(l&255,16,g,w,t,0,E,u,v,s)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=29;break}else continue}else{c[m>>2]=k+1;continue}}if((F|0)==29){b=Na()|0;break}o=0;wa(8,D|0,(c[w>>2]|0)-g|0,0);G=o;o=0;if((!(G&1)?(y=a[D>>0]|0,z=c[q>>2]|0,o=0,A=ua(3)|0,G=o,o=0,!(G&1)):0)?(o=0,c[x>>2]=j,B=va(16,((y&1)==0?r:z)|0,A|0,58882,x|0)|0,G=o,o=0,!(G&1)):0){if((B|0)!=1)c[h>>2]=4;if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;G=o;o=0;if(G&1){F=30;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;G=o;o=0;if(G&1){F=30;break a}if((b|0)==-1){c[f>>2]=0;F=55;break}}if(!g)F=56}else F=55}while(0);if((F|0)==55?g:0)F=56;if((F|0)==56)c[h>>2]=c[h>>2]|2;G=c[e>>2]|0;Im(D);Im(E);i=C;return G|0}else F=30}else F=30}while(0);if((F|0)==30)b=Na()|0;Im(D);break}b=Na()|0;pm(g)|0}}while(0);Im(E);Ya(b|0);return 0}function Wo(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do{if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5}while(0);a:do{if((n|0)==5){n=a[i>>0]|0;if(b<<24>>24==h<<24>>24?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+26|0;m=l;while(1){if((a[m>>0]|0)==b<<24>>24)break;m=m+1|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[57498+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[57498+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}}while(0);return m|0}function Xo(){var b=0,d=0;do{if((a[1968]|0)==0?(Ha(1968)|0)!=0:0){o=0;b=ma(31,2147483647,58885,0)|0;d=o;o=0;if(d&1){d=Na()|0;sb(1968);Ya(d|0)}else{c[11196]=b;Pa(1968);break}}}while(0);return c[11196]|0}function Yo(a){a=a|0;return}function Zo(a){a=a|0;cj(a);return}function _o(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;q=s+56|0;j=s+52|0;n=s+48|0;k=s+44|0;l=s+40|0;m=s+36|0;p=s+32|0;t=s+8|0;r=s;a:do{if(!(c[f+4>>2]&1)){c[n>>2]=-1;t=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[j>>2]=c[k>>2];c[q>>2]=c[l>>2];j=Db[t&63](b,j,q,f,g,n)|0;c[d>>2]=j;switch(c[n>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{j=jn(f)|0;c[m>>2]=j;o=0;b=ra(37,m|0,44212)|0;n=o;o=0;do{if(!(n&1)){pm(j)|0;j=jn(f)|0;c[p>>2]=j;o=0;l=ra(37,p|0,44368)|0;p=o;o=0;if(p&1){t=Na()|0;pm(j)|0;j=t;break}pm(j)|0;o=0;ia(c[(c[l>>2]|0)+24>>2]|0,t|0,l|0);p=o;o=0;if(!(p&1)){k=t+12|0;o=0;ia(c[(c[l>>2]|0)+28>>2]|0,k|0,l|0);p=o;o=0;if(!(p&1)){c[r>>2]=c[e>>2];o=0;c[q>>2]=c[r>>2];j=ea(8,d|0,q|0,t|0,t+24|0,b|0,g|0,1)|0;g=o;o=0;if(g&1){j=Na()|0;Wm(t+12|0);Wm(t);break}else{a[h>>0]=(j|0)==(t|0)&1;j=c[d>>2]|0;Wm(t+12|0);Wm(t);break a}}}else k=t;j=Na()|0;l=D;if((t|0)!=(k|0))do{k=k+-12|0;Wm(k)}while((k|0)!=(t|0))}else{t=Na()|0;pm(j)|0;j=t}}while(0);Ya(j|0)}}while(0);i=s;return j|0}function $o(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ju(a,k,j,e,f,g)|0;i=h;return a|0}function ap(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ku(a,k,j,e,f,g)|0;i=h;return a|0}function bp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Lu(a,k,j,e,f,g)|0;i=h;return a|0}function cp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Mu(a,k,j,e,f,g)|0;i=h;return a|0}function dp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Nu(a,k,j,e,f,g)|0;i=h;return a|0}function ep(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ou(a,k,j,e,f,g)|0;i=h;return a|0}function fp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Pu(a,k,j,e,f,g)|0;i=h;return a|0}function gp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Qu(a,k,j,e,f,g)|0;i=h;return a|0}function hp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ru(a,k,j,e,f,g)|0;i=h;return a|0}function ip(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=i;i=i+320|0;w=B;r=B+208|0;D=B+32|0;b=B+28|0;C=B+16|0;v=B+12|0;t=B+48|0;u=B+8|0;s=B+4|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;o=0;f=ka(68,f|0)|0;q=o;o=0;do{if(q&1)b=Na()|0;else{c[b>>2]=f;o=0;b=ra(37,b|0,44212)|0;q=o;o=0;if(!(q&1)?(o=0,va(c[(c[b>>2]|0)+48>>2]|0,b|0,57498,57524,r|0)|0,q=o,o=0,!(q&1)):0){pm(f)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if(!(a[C>>0]&1))b=10;else b=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,b|0,0);q=o;o=0;a:do{if(!(q&1)){p=C+8|0;q=C+1|0;b=(a[C>>0]&1)==0?q:c[p>>2]|0;c[v>>2]=b;c[u>>2]=t;c[s>>2]=0;n=C+4|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){E=30;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){E=30;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k){j=l;break}else{j=l;break b}else{c[e>>2]=0;E=20;break}}else E=20}while(0);if((E|0)==20){E=0;if(k){j=0;break}else j=0}k=a[C>>0]|0;k=(k&1)==0?(k&255)>>>1:c[n>>2]|0;if((c[v>>2]|0)==(b+k|0)){o=0;wa(8,C|0,k<<1|0,0);m=o;o=0;if(m&1){E=30;break}if(!(a[C>>0]&1))b=10;else b=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,b|0,0);m=o;o=0;if(m&1){E=30;break}b=(a[C>>0]&1)==0?q:c[p>>2]|0;c[v>>2]=b+k}l=f+12|0;k=c[l>>2]|0;m=f+16|0;if((k|0)==(c[m>>2]|0)){o=0;k=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=30;break}}else k=c[k>>2]|0;if(jp(k,16,b,v,s,0,D,t,u,r)|0)break;j=c[l>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=30;break}else{j=f;continue}}else{c[l>>2]=j+4;j=f;continue}}if((E|0)==30){b=Na()|0;break}o=0;wa(8,C|0,(c[v>>2]|0)-b|0,0);F=o;o=0;if((!(F&1)?(x=a[C>>0]|0,y=c[p>>2]|0,o=0,z=ua(3)|0,F=o,o=0,!(F&1)):0)?(o=0,c[w>>2]=h,A=va(16,((x&1)==0?q:y)|0,z|0,58882,w|0)|0,F=o,o=0,!(F&1)):0){if((A|0)!=1)c[g>>2]=4;if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;F=o;o=0;if(F&1){E=31;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;F=o;o=0;if(F&1){E=31;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{E=59;break}else{c[e>>2]=0;E=57;break}}else E=57}while(0);if((E|0)==57?f:0)E=59;if((E|0)==59)c[g>>2]=c[g>>2]|2;F=c[d>>2]|0;Im(C);Im(D);i=B;return F|0}else E=31}else E=31}while(0);if((E|0)==31)b=Na()|0;Im(C);break}b=Na()|0;pm(f)|0}}while(0);Im(D);Ya(b|0);return 0}function jp(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do{if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5}while(0);a:do{if((n|0)==5){n=a[i>>0]|0;if((b|0)==(h|0)?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+104|0;m=l;while(1){if((c[m>>2]|0)==(b|0))break;m=m+4|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;i=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((i|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[57498+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[57498+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}}while(0);return m|0}function kp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;k=l;d=jn(d)|0;c[k>>2]=d;o=0;g=ra(37,k|0,44220)|0;m=o;o=0;if((((!(m&1)?(o=0,va(c[(c[g>>2]|0)+32>>2]|0,g|0,57498,57524,e|0)|0,m=o,o=0,!(m&1)):0)?(o=0,j=ra(37,k|0,44360)|0,m=o,o=0,!(m&1)):0)?(o=0,h=ka(c[(c[j>>2]|0)+16>>2]|0,j|0)|0,m=o,o=0,!(m&1)):0)?(a[f>>0]=h,o=0,ia(c[(c[j>>2]|0)+20>>2]|0,b|0,j|0),m=o,o=0,!(m&1)):0){pm(d)|0;i=l;return}m=Na()|0;pm(d)|0;Ya(m|0)}function lp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i;i=i+16|0;m=n;d=jn(d)|0;c[m>>2]=d;o=0;h=ra(37,m|0,44220)|0;p=o;o=0;if(((((!(p&1)?(o=0,va(c[(c[h>>2]|0)+32>>2]|0,h|0,57498,57530,e|0)|0,p=o,o=0,!(p&1)):0)?(o=0,l=ra(37,m|0,44360)|0,p=o,o=0,!(p&1)):0)?(o=0,j=ka(c[(c[l>>2]|0)+12>>2]|0,l|0)|0,p=o,o=0,!(p&1)):0)?(a[f>>0]=j,o=0,k=ka(c[(c[l>>2]|0)+16>>2]|0,l|0)|0,p=o,o=0,!(p&1)):0)?(a[g>>0]=k,o=0,ia(c[(c[l>>2]|0)+20>>2]|0,b|0,l|0),p=o,o=0,!(p&1)):0){pm(d)|0;i=n;return}p=Na()|0;pm(d)|0;Ya(p|0)}function mp(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do{if(b<<24>>24==i<<24>>24)if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if(b<<24>>24==j<<24>>24?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+32|0;p=o;while(1){if((a[p>>0]|0)==b<<24>>24)break;p=p+1|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;if((i|0)>31)p=-1;else{j=a[57498+i>>0]|0;switch(i|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=j;p=0;break a}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>21){p=0;break a}c[n>>2]=(c[n>>2]|0)+1;p=0;break a}}}}}while(0);return p|0}function np(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;j=k;b=jn(b)|0;c[j>>2]=b;o=0;f=ra(37,j|0,44212)|0;l=o;o=0;if((((!(l&1)?(o=0,va(c[(c[f>>2]|0)+48>>2]|0,f|0,57498,57524,d|0)|0,l=o,o=0,!(l&1)):0)?(o=0,h=ra(37,j|0,44368)|0,l=o,o=0,!(l&1)):0)?(o=0,g=ka(c[(c[h>>2]|0)+16>>2]|0,h|0)|0,l=o,o=0,!(l&1)):0)?(c[e>>2]=g,o=0,ia(c[(c[h>>2]|0)+20>>2]|0,a|0,h|0),l=o,o=0,!(l&1)):0){pm(b)|0;i=k;return}l=Na()|0;pm(b)|0;Ya(l|0)}function op(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;l=m;b=jn(b)|0;c[l>>2]=b;o=0;g=ra(37,l|0,44212)|0;n=o;o=0;if(((((!(n&1)?(o=0,va(c[(c[g>>2]|0)+48>>2]|0,g|0,57498,57530,d|0)|0,n=o,o=0,!(n&1)):0)?(o=0,k=ra(37,l|0,44368)|0,n=o,o=0,!(n&1)):0)?(o=0,h=ka(c[(c[k>>2]|0)+12>>2]|0,k|0)|0,n=o,o=0,!(n&1)):0)?(c[e>>2]=h,o=0,j=ka(c[(c[k>>2]|0)+16>>2]|0,k|0)|0,n=o,o=0,!(n&1)):0)?(c[f>>2]=j,o=0,ia(c[(c[k>>2]|0)+20>>2]|0,a|0,k|0),n=o,o=0,!(n&1)):0){pm(b)|0;i=m;return}n=Na()|0;pm(b)|0;Ya(n|0)}function pp(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do{if((b|0)==(i|0))if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if((b|0)==(j|0)?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+128|0;p=o;while(1){if((c[p>>2]|0)==(b|0))break;p=p+4|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;p=i>>2;if((i|0)<=124){j=a[57498+p>>0]|0;switch(p|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;break}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}}}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>84)p=0;else{c[n>>2]=(c[n>>2]|0)+1;p=0}}else p=-1}}while(0);return p|0}function qp(a){a=a|0;return}function rp(a){a=a|0;cj(a);return}function sp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n;a:do{if(!(c[e+4>>2]&1)){m=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Mb[m&31](b,h,e,f,g&1)|0}else{h=jn(e)|0;c[k>>2]=h;o=0;j=ra(37,k|0,44360)|0;l=o;o=0;b:do{if(l&1){n=Na()|0;pm(h)|0;h=n}else{pm(h)|0;h=c[j>>2]|0;if(g)Cb[c[h+24>>2]&127](m,j);else Cb[c[h+28>>2]&127](m,j);b=a[m>>0]|0;l=(b&1)==0;h=m+1|0;g=m+8|0;k=l?h:m+1|0;h=l?h:c[m+8>>2]|0;l=m+4|0;e=(b&1)==0;c:do{if((h|0)!=((e?k:c[g>>2]|0)+(e?(b&255)>>>1:c[l>>2]|0)|0)){d:while(1){j=a[h>>0]|0;f=c[d>>2]|0;do{if(f){e=f+24|0;b=c[e>>2]|0;if((b|0)!=(c[f+28>>2]|0)){c[e>>2]=b+1;a[b>>0]=j;break}o=0;j=ra(c[(c[f>>2]|0)+52>>2]|0,f|0,j&255|0)|0;b=o;o=0;if(b&1)break d;if((j|0)==-1)c[d>>2]=0}}while(0);h=h+1|0;b=a[m>>0]|0;e=(b&1)==0;if((h|0)==((e?k:c[g>>2]|0)+(e?(b&255)>>>1:c[l>>2]|0)|0))break c}h=Na()|0;Im(m);break b}}while(0);h=c[d>>2]|0;Im(m);break a}}while(0);Ya(h|0)}}while(0);i=n;return h|0}function tp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+64|0;h=n;q=n+56|0;r=n+44|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,1,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(1,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=cd(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function up(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=a[c>>0]|0;if(f<<24>>24){g=c;while(1){g=g+1|0;c=b+1|0;a[b>>0]=f;f=a[g>>0]|0;if(!(f<<24>>24)){b=c;break}else b=c}}a:do{switch(e&74|0){case 64:{a[b>>0]=111;break}case 8:if(!(e&16384)){a[b>>0]=120;break a}else{a[b>>0]=88;break a}default:if(d){a[b>>0]=100;break a}else{a[b>>0]=117;break a}}}while(0);return}function vp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do{switch(c[e+4>>2]&176|0){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}}while(0);return b|0}function wp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;t=Is(j,44220)|0;m=Is(j,44360)|0;Cb[c[(c[m>>2]|0)+20>>2]&127](w,m);r=a[w>>0]|0;s=w+4|0;a:do{if(!(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0)){o=0;va(c[(c[t>>2]|0)+32>>2]|0,t|0,b|0,e|0,f|0)|0;u=o;o=0;if(u&1)u=5;else{j=f+(e-b)|0;c[h>>2]=j;u=29}}else{c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,j|0)|0;r=o;o=0;if(r&1){u=5;break a}l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=j;l=b+1|0;break}default:l=b}b:do{if((e-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break b}o=0;k=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,48)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=k;o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,a[j>>0]|0)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=j;l=l+2|0}}while(0);if((l|0)!=(e|0)?(n=e+-1|0,l>>>0>>0):0){k=l;j=n;do{r=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=r;k=k+1|0;j=j+-1|0}while(k>>>0>>0)}o=0;n=ka(c[(c[m>>2]|0)+16>>2]|0,m|0)|0;r=o;o=0;if(!(r&1)){p=w+8|0;q=w+1|0;c:do{if(l>>>0>>0){j=0;k=0;r=l;while(1){m=a[((a[w>>0]&1)==0?q:c[p>>2]|0)+k>>0]|0;if(m<<24>>24!=0&(j|0)==(m<<24>>24|0)){j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=n;j=a[w>>0]|0;m=0;k=(k>>>0<(((j&1)==0?(j&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+k|0}else m=j;o=0;j=ra(c[(c[t>>2]|0)+28>>2]|0,t|0,a[r>>0]|0)|0;x=o;o=0;if(x&1)break;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=j;r=r+1|0;if(r>>>0>=e>>>0)break c;else j=m+1|0}j=Na()|0;break a}}while(0);k=b;j=f+(l-k)|0;b=c[h>>2]|0;if((j|0)==(b|0)){b=k;u=29}else{b=b+-1|0;if(j>>>0>>0)do{x=a[j>>0]|0;a[j>>0]=a[b>>0]|0;a[b>>0]=x;j=j+1|0;b=b+-1|0}while(j>>>0>>0);b=k;j=c[h>>2]|0;u=29}}else u=5}}while(0);if((u|0)==5)j=Na()|0;else if((u|0)==29){c[g>>2]=(d|0)==(e|0)?j:f+(d-b)|0;Im(w);i=v;return}Im(w);Ya(j|0)}function xp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+96|0;h=n+8|0;a=n;q=n+74|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,1,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,22,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(1,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=cd(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function yp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+64|0;h=n;q=n+56|0;r=n+44|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,0,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(1,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=cd(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function zp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+112|0;h=n+8|0;a=n;q=n+75|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,0,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,23,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(1,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=cd(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function Ap(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+176|0;u=z+84|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+88|0;t=z+80|0;k=z+118|0;y=z+76|0;x=z+72|0;v=z+68|0;w=z+64|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58898,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,c[q>>2]=c[d+8>>2],h[q+8>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<1)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(2,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(39,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Bp(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}h=d&260;f=d>>>14;i=(h|0)==260;if(i)g=0;else{a[b>>0]=46;a[b+1>>0]=42;b=b+2|0;g=1}d=a[c>>0]|0;if(d<<24>>24){e=b;while(1){c=c+1|0;b=e+1|0;a[e>>0]=d;d=a[c>>0]|0;if(!(d<<24>>24))break;else e=b}}a:do{switch(h|0){case 4:if(!(f&1)){a[b>>0]=102;break a}else{a[b>>0]=70;break a}case 256:if(!(f&1)){a[b>>0]=101;break a}else{a[b>>0]=69;break a}default:{d=(f&1|0)!=0;if(i)if(d){a[b>>0]=65;break a}else{a[b>>0]=97;break a}else if(d){a[b>>0]=71;break a}else{a[b>>0]=103;break a}}}}while(0);return g|0}function Cp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=i;i=i+16|0;A=z;y=Is(j,44220)|0;w=Is(j,44360)|0;Cb[c[(c[w>>2]|0)+20>>2]&127](A,w);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,j|0)|0;x=o;o=0;if(x&1)v=8;else{n=c[h>>2]|0;c[h>>2]=n+1;a[n>>0]=j;n=b+1|0;v=10}break}default:{n=b;v=10}}a:do{if((v|0)==10){x=e;b:do{if((x-n|0)>1?(a[n>>0]|0)==48:0){l=n+1|0;switch(a[l>>0]|0){case 88:case 120:break;default:{v=11;break b}}o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,48)|0;u=o;o=0;if(u&1){v=8;break a}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=j;n=n+2|0;o=0;j=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,a[l>>0]|0)|0;u=o;o=0;if(u&1){v=8;break a}u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=j;if(n>>>0>>0){j=n;while(1){l=a[j>>0]|0;o=0;m=ua(3)|0;u=o;o=0;if(u&1)break;o=0;l=ra(39,l<<24>>24|0,m|0)|0;u=o;o=0;if(u&1)break;if(!l){u=n;break b}j=j+1|0;if(j>>>0>=e>>>0){u=n;break b}}j=Na()|0;break a}else{u=n;j=n}}else v=11}while(0);c:do{if((v|0)==11)if(n>>>0>>0){j=n;while(1){l=a[j>>0]|0;o=0;m=ua(3)|0;u=o;o=0;if(u&1)break;o=0;l=ra(40,l<<24>>24|0,m|0)|0;u=o;o=0;if(u&1)break;if(!l){u=n;break c}j=j+1|0;if(j>>>0>=e>>>0){u=n;break c}}j=Na()|0;break a}else{u=n;j=n}}while(0);s=a[A>>0]|0;t=A+4|0;if(((s&1)==0?(s&255)>>>1:c[t>>2]|0)|0){if((u|0)!=(j|0)?(p=j+-1|0,u>>>0

    >>0):0){m=u;l=p;do{s=a[m>>0]|0;a[m>>0]=a[l>>0]|0;a[l>>0]=s;m=m+1|0;l=l+-1|0}while(m>>>0>>0)}o=0;p=ka(c[(c[w>>2]|0)+16>>2]|0,w|0)|0;s=o;o=0;if(s&1){v=8;break}q=A+8|0;r=A+1|0;d:do{if(u>>>0>>0){l=0;m=0;s=u;while(1){n=a[((a[A>>0]&1)==0?r:c[q>>2]|0)+m>>0]|0;if(n<<24>>24>0&(l|0)==(n<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=p;l=a[A>>0]|0;n=0;m=(m>>>0<(((l&1)==0?(l&255)>>>1:c[t>>2]|0)+-1|0)>>>0&1)+m|0}else n=l;o=0;l=ra(c[(c[y>>2]|0)+28>>2]|0,y|0,a[s>>0]|0)|0;B=o;o=0;if(B&1)break;B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=l;s=s+1|0;if(s>>>0>=j>>>0)break d;else l=n+1|0}j=Na()|0;break a}}while(0);l=f+(u-b)|0;m=c[h>>2]|0;if((l|0)!=(m|0)?(k=m+-1|0,l>>>0>>0):0){do{B=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=B;l=l+1|0;k=k+-1|0}while(l>>>0>>0);l=y}else l=y}else{o=0;va(c[(c[y>>2]|0)+32>>2]|0,y|0,u|0,j|0,c[h>>2]|0)|0;B=o;o=0;if(B&1){v=8;break}c[h>>2]=(c[h>>2]|0)+(j-u);l=y}e:do{if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46)break;o=0;k=ra(c[(c[l>>2]|0)+28>>2]|0,y|0,k|0)|0;B=o;o=0;if(B&1){v=4;break}B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=k;j=j+1|0;if(j>>>0>=e>>>0)break e}if((v|0)==4){j=Na()|0;break a}o=0;k=ka(c[(c[w>>2]|0)+12>>2]|0,w|0)|0;B=o;o=0;if(B&1){v=8;break a}B=c[h>>2]|0;c[h>>2]=B+1;a[B>>0]=k;j=j+1|0}}while(0);o=0;va(c[(c[y>>2]|0)+32>>2]|0,y|0,j|0,e|0,c[h>>2]|0)|0;B=o;o=0;if(B&1)v=8;else{B=(c[h>>2]|0)+(x-j)|0;c[h>>2]=B;c[g>>2]=(d|0)==(e|0)?B:f+(d-b)|0;Im(A);i=z;return}}}while(0);if((v|0)==8)j=Na()|0;Im(A);Ya(j|0)}function Dp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+176|0;u=z+76|0;q=z+48|0;p=z+32|0;l=z+24|0;g=z+8|0;n=z;s=z+80|0;t=z+72|0;k=z+110|0;y=z+68|0;x=z+64|0;v=z+60|0;w=z+56|0;m=n;c[m>>2]=37;c[m+4>>2]=0;m=Bp(n+1|0,58899,c[d+4>>2]|0)|0;c[t>>2]=s;a=Xo()|0;if(m){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;g=Su(s,30,a,n,g)|0}else{h[l>>3]=f;g=Su(s,30,a,n,l)|0}a:do{if((g|0)>29){o=0;a=ua(3)|0;g=o;o=0;g=g&1;if(m){if(!g?(o=0,c[p>>2]=c[d+8>>2],h[p+8>>3]=f,j=va(17,t|0,a|0,n|0,p|0)|0,r=o,o=0,!(r&1)):0)A=12}else if(!g?(o=0,h[q>>3]=f,r=va(17,t|0,a|0,n|0,q|0)|0,q=o,o=0,!(q&1)):0){j=r;A=12}do{if((A|0)==12){a=c[t>>2]|0;if(!a){o=0;xa(6);r=o;o=0;if(r&1)break;g=c[t>>2]|0}else g=a;a=g;n=g;A=16;break a}}while(0);a=Na()|0}else{a=c[t>>2]|0;n=0;j=g;A=16}}while(0);if((A|0)==16){l=a+j|0;m=vp(a,l,d)|0;do{if((a|0)==(s|0)){a=s;g=0;A=22}else{j=Fl(j<<1)|0;if(!j){o=0;xa(6);A=o;o=0;if(A&1){g=0;A=20;break}a=c[t>>2]|0}g=j;k=j;A=22}}while(0);do{if((A|0)==22){o=0;j=ka(68,d|0)|0;t=o;o=0;if(!(t&1)){c[v>>2]=j;o=0;pa(2,a|0,m|0,l|0,k|0,y|0,x|0,v|0);v=o;o=0;if(v&1){a=Na()|0;pm(j)|0;break}pm(j)|0;c[w>>2]=c[b>>2];A=c[y>>2]|0;a=c[x>>2]|0;o=0;c[u>>2]=c[w>>2];a=ja(39,u|0,k|0,A|0,a|0,d|0,e|0)|0;A=o;o=0;if(!(A&1)){c[b>>2]=a;if(g)Gl(g);if(n)Gl(n);i=z;return a|0}else A=20}else A=20}}while(0);if((A|0)==20)a=Na()|0;if(g)Gl(g);if(n)Gl(n)}Ya(a|0);return 0}function Ep(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;q=i;i=i+80|0;l=q;b=q+70|0;n=q+12|0;p=q+32|0;k=q+8|0;m=q+4|0;a[b>>0]=a[58901]|0;a[b+1>>0]=a[58902]|0;a[b+2>>0]=a[58903]|0;a[b+3>>0]=a[58904]|0;a[b+4>>0]=a[58905]|0;a[b+5>>0]=a[58906]|0;h=Xo()|0;c[l>>2]=g;b=Su(n,20,h,b,l)|0;g=n+b|0;h=vp(n,g,e)|0;j=jn(e)|0;c[k>>2]=j;o=0;k=ra(37,k|0,44220)|0;r=o;o=0;if(r&1){r=Na()|0;pm(j)|0;Ya(r|0)}else{pm(j)|0;Pb[c[(c[k>>2]|0)+32>>2]&31](k,n,g,p)|0;r=p+b|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];r=cd(l,p,(h|0)==(g|0)?r:p+(h-n)|0,r,e,f)|0;i=q;return r|0}return 0}function Fp(a){a=a|0;return}function Gp(a){a=a|0;cj(a);return}function Hp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+20|0;j=m+16|0;k=m+12|0;l=m;a:do{if(!(c[e+4>>2]&1)){l=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Mb[l&31](b,h,e,f,g&1)|0}else{h=jn(e)|0;c[k>>2]=h;o=0;j=ra(37,k|0,44368)|0;k=o;o=0;b:do{if(k&1){m=Na()|0;pm(h)|0;h=m}else{pm(h)|0;h=c[j>>2]|0;if(g)Cb[c[h+24>>2]&127](l,j);else Cb[c[h+28>>2]&127](l,j);b=a[l>>0]|0;e=(b&1)==0;h=l+4|0;g=l+8|0;k=e?h:l+4|0;h=e?h:c[l+8>>2]|0;e=(b&1)==0;c:do{if((h|0)!=((e?k:c[g>>2]|0)+((e?(b&255)>>>1:c[k>>2]|0)<<2)|0)){while(1){j=c[h>>2]|0;f=c[d>>2]|0;if(f){e=f+24|0;b=c[e>>2]|0;if((b|0)==(c[f+28>>2]|0)){o=0;j=ra(c[(c[f>>2]|0)+52>>2]|0,f|0,j|0)|0;b=o;o=0;if(b&1)break}else{c[e>>2]=b+4;c[b>>2]=j}if((j|0)==-1)c[d>>2]=0}h=h+4|0;b=a[l>>0]|0;e=(b&1)==0;if((h|0)==((e?k:c[g>>2]|0)+((e?(b&255)>>>1:c[k>>2]|0)<<2)|0))break c}h=Na()|0;Wm(l);break b}}while(0);h=c[d>>2]|0;Wm(l);break a}}while(0);Ya(h|0)}}while(0);i=m;return h|0}function Ip(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0;n=i;i=i+128|0;h=n;q=n+116|0;r=n+104|0;k=n+20|0;m=n+16|0;l=n+12|0;p=n+8|0;j=n+4|0;a[q>>0]=a[58887]|0;a[q+1>>0]=a[58888]|0;a[q+2>>0]=a[58889]|0;a[q+3>>0]=a[58890]|0;a[q+4>>0]=a[58891]|0;a[q+5>>0]=a[58892]|0;up(q+1|0,58893,1,c[e+4>>2]|0);b=Xo()|0;c[h>>2]=g;g=r+(Su(r,12,b,q,h)|0)|0;q=vp(r,g,e)|0;b=jn(e)|0;c[p>>2]=b;o=0;pa(3,r|0,q|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){r=Na()|0;pm(b)|0;Ya(r|0)}else{pm(b)|0;c[j>>2]=c[d>>2];q=c[m>>2]|0;r=c[l>>2]|0;c[h>>2]=c[j>>2];r=Uu(h,k,q,r,e,f)|0;i=n;return r|0}return 0}function Jp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;t=Is(j,44212)|0;m=Is(j,44368)|0;Cb[c[(c[m>>2]|0)+20>>2]&127](w,m);r=a[w>>0]|0;s=w+4|0;a:do{if(!(((r&1)==0?(r&255)>>>1:c[s>>2]|0)|0)){o=0;va(c[(c[t>>2]|0)+48>>2]|0,t|0,b|0,e|0,f|0)|0;u=o;o=0;if(u&1)u=5;else{j=f+(e-b<<2)|0;c[h>>2]=j;u=28}}else{c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,j|0)|0;r=o;o=0;if(r&1){u=5;break a}l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=j;l=b+1|0;break}default:l=b}b:do{if((e-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{r=l;break b}}o=0;k=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,48)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=k;o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,a[j>>0]|0)|0;r=o;o=0;if(r&1){u=5;break a}r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=j;r=l+2|0}else r=l}while(0);if((r|0)!=(e|0)?(n=e+-1|0,r>>>0>>0):0){k=r;j=n;do{q=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=q;k=k+1|0;j=j+-1|0}while(k>>>0>>0)}o=0;m=ka(c[(c[m>>2]|0)+16>>2]|0,m|0)|0;q=o;o=0;if(!(q&1)){n=w+8|0;p=w+1|0;c:do{if(r>>>0>>0){j=0;k=0;q=r;while(1){l=a[((a[w>>0]&1)==0?p:c[n>>2]|0)+k>>0]|0;if(l<<24>>24!=0&(j|0)==(l<<24>>24|0)){j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=m;j=a[w>>0]|0;l=0;k=(k>>>0<(((j&1)==0?(j&255)>>>1:c[s>>2]|0)+-1|0)>>>0&1)+k|0}else l=j;o=0;j=ra(c[(c[t>>2]|0)+44>>2]|0,t|0,a[q>>0]|0)|0;x=o;o=0;if(x&1)break;x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=j;q=q+1|0;if(q>>>0>=e>>>0)break c;else j=l+1|0}j=Na()|0;break a}}while(0);l=b;j=f+(r-l<<2)|0;k=c[h>>2]|0;if((j|0)!=(k|0)){b=k+-4|0;if(j>>>0>>0){do{x=c[j>>2]|0;c[j>>2]=c[b>>2];c[b>>2]=x;j=j+4|0;b=b+-4|0}while(j>>>0>>0);b=l;j=k;u=28}else{b=l;j=k;u=28}}else{b=l;u=28}}else u=5}}while(0);if((u|0)==5)j=Na()|0;else if((u|0)==28){c[g>>2]=(d|0)==(e|0)?j:f+(d-b<<2)|0;Im(w);i=v;return}Im(w);Ya(j|0)}function Kp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0;n=i;i=i+224|0;h=n+8|0;a=n;q=n+196|0;k=n+32|0;m=n+28|0;l=n+24|0;p=n+20|0;j=n+16|0;r=a;c[r>>2]=37;c[r+4>>2]=0;up(a+1|0,58895,1,c[d+4>>2]|0);r=Xo()|0;s=h;c[s>>2]=f;c[s+4>>2]=g;g=q+(Su(q,22,r,a,h)|0)|0;f=vp(q,g,d)|0;a=jn(d)|0;c[p>>2]=a;o=0;pa(3,q|0,f|0,g|0,k|0,m|0,l|0,p|0);g=o;o=0;if(g&1){s=Na()|0;pm(a)|0;Ya(s|0)}else{pm(a)|0;c[j>>2]=c[b>>2];r=c[m>>2]|0;s=c[l>>2]|0;c[h>>2]=c[j>>2];s=Uu(h,k,r,s,d,e)|0;i=n;return s|0}return 0}function ut(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+16|0;s=u;q=u+8|0;a:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break a;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}}while(0);c[k>>2]=h;c[g>>2]=e;n=j;r=b+8|0;b:do{if(!((h|0)==(j|0)|(e|0)==(f|0))){b=h;m=l;c:while(1){w=d;h=c[w+4>>2]|0;l=s;c[l>>2]=c[w>>2];c[l+4>>2]=h;l=qk(c[r>>2]|0)|0;o=0;h=sa(21,b|0,g|0,m-e>>2|0,n-b|0,d|0)|0;w=o;o=0;if(w&1){v=9;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=8;break}switch(h|0){case 0:{p=1;break b}case-1:{l=b;v=14;break c}default:{}}l=(c[k>>2]|0)+h|0;c[k>>2]=l;if((l|0)==(j|0)){v=27;break}if((m|0)==(f|0)){e=c[g>>2]|0;b=l;l=f}else{l=qk(c[r>>2]|0)|0;o=0;e=ma(34,q|0,0,d|0)|0;w=o;o=0;if(w&1){v=35;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=34;break}if((e|0)==-1){p=2;break b}if(e>>>0>(n-(c[k>>2]|0)|0)>>>0){p=1;break b}if(e){l=q;while(1){m=a[l>>0]|0;w=c[k>>2]|0;c[k>>2]=w+1;a[w>>0]=m;e=e+-1|0;if(!e)break;else l=l+1|0}}e=(c[g>>2]|0)+4|0;c[g>>2]=e;d:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break d;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}}while(0);b=c[k>>2]|0}if((b|0)==(j|0)|(e|0)==(f|0)){v=47;break b}else m=l}if((v|0)==8){w=Na(0)|0;ec(w)}else if((v|0)==9){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==14){c[k>>2]=l;e:do{if((e|0)!=(c[g>>2]|0)){while(1){w=c[e>>2]|0;b=qk(c[r>>2]|0)|0;o=0;l=ma(34,l|0,w|0,s|0)|0;w=o;o=0;if(w&1){t=b;break}if((b|0)!=0?(o=0,ka(75,b|0)|0,w=o,o=0,w&1):0){v=18;break}if((l|0)==-1)break e;l=(c[k>>2]|0)+l|0;c[k>>2]=l;e=e+4|0;if((e|0)==(c[g>>2]|0))break e}if((v|0)==18){w=Na(0)|0;ec(w)}e=Na()|0;if((t|0)!=0?(o=0,ka(75,t|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}while(0);c[g>>2]=e;p=2;break}else if((v|0)==27){e=c[g>>2]|0;v=47;break}else if((v|0)==34){w=Na(0)|0;ec(w)}else if((v|0)==35){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}else v=47}while(0);if((v|0)==47)p=(e|0)!=(f|0)&1;i=u;return p|0}function vt(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=i;i=i+16|0;t=u;a:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break a;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}}while(0);c[k>>2]=h;c[g>>2]=e;p=j;r=b+8|0;b:do{if(!((h|0)==(j|0)|(e|0)==(f|0))){b=h;n=l;c:while(1){m=d;l=c[m+4>>2]|0;h=t;c[h>>2]=c[m>>2];c[h+4>>2]=l;h=n;l=qk(c[r>>2]|0)|0;o=0;m=sa(22,b|0,g|0,h-e|0,p-b>>2|0,d|0)|0;w=o;o=0;if(w&1){v=9;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=8;break}switch(m|0){case 0:{q=2;break b}case-1:{l=b;v=14;break c}default:{}}b=(c[k>>2]|0)+(m<<2)|0;c[k>>2]=b;if((b|0)==(j|0)){v=31;break}e=c[g>>2]|0;if((n|0)==(f|0))l=f;else{l=qk(c[r>>2]|0)|0;o=0;e=va(20,b|0,e|0,1,d|0)|0;w=o;o=0;if(w&1){v=38;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=37;break}if(e){q=2;break b}c[k>>2]=(c[k>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;d:do{if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break d;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}}while(0);b=c[k>>2]|0}if((b|0)==(j|0)|(e|0)==(f|0)){v=47;break b}else n=l}if((v|0)==8){w=Na(0)|0;ec(w)}else if((v|0)==9){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==14){c[k>>2]=l;e:do{if((e|0)!=(c[g>>2]|0)){b=l;f:while(1){l=qk(c[r>>2]|0)|0;o=0;b=va(20,b|0,e|0,h-e|0,t|0)|0;w=o;o=0;if(w&1){v=19;break}if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){v=18;break}switch(b|0){case-1:{v=25;break f}case-2:{v=26;break f}case 0:{e=e+1|0;break}default:e=e+b|0}b=(c[k>>2]|0)+4|0;c[k>>2]=b;if((e|0)==(c[g>>2]|0)){s=e;break e}}if((v|0)==18){w=Na(0)|0;ec(w)}else if((v|0)==19){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}else if((v|0)==25){c[g>>2]=e;q=2;break b}else if((v|0)==26){c[g>>2]=e;q=1;break b}}else s=e}while(0);c[g>>2]=s;q=(s|0)!=(f|0)&1;break}else if((v|0)==31){e=c[g>>2]|0;v=47;break}else if((v|0)==37){w=Na(0)|0;ec(w)}else if((v|0)==38){e=Na()|0;if((l|0)!=0?(o=0,ka(75,l|0)|0,w=o,o=0,w&1):0){w=Na(0)|0;ec(w)}Ya(e|0)}}else v=47}while(0);if((v|0)==47)q=(e|0)!=(f|0)&1;i=u;return q|0}function wt(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;j=i;i=i+16|0;h=j;c[g>>2]=e;e=qk(c[b+8>>2]|0)|0;o=0;b=ma(34,h|0,0,d|0)|0;d=o;o=0;if(d&1){h=Na()|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,j=o,o=0,j&1):0){j=Na(0)|0;ec(j)}Ya(h|0)}if((e|0)!=0?(o=0,ka(75,e|0)|0,d=o,o=0,d&1):0){d=Na(0)|0;ec(d)}switch(b|0){case 0:case-1:{h=2;break}default:{b=b+-1|0;if(b>>>0<=(f-(c[g>>2]|0)|0)>>>0)if(!b)h=0;else while(1){d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;b=b+-1|0;if(!b){h=0;break}else h=h+1|0}else h=1}}i=j;return h|0}function xt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+8|0;o=0;d=ka(75,c[b>>2]|0)|0;e=o;o=0;do{if(e&1)f=16;else{o=0;e=ma(35,0,0,4)|0;a=o;o=0;if(a&1){a=Na(0)|0;if(!d)break;o=0;ka(75,d|0)|0;h=o;o=0;if(!(h&1))break;h=Na(0)|0;ec(h)}if((d|0)!=0?(o=0,ka(75,d|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}if(!e){a=c[b>>2]|0;if(a){o=0;a=ka(75,a|0)|0;h=o;o=0;if(h&1){f=16;break}if((a|0)!=0?(o=0,ka(75,a|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}else g=0}else g=1}else g=-1;return g|0}}while(0);if((f|0)==16)a=Na(0)|0;ec(a);return 0}function yt(a){a=a|0;return 0}function zt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=e;j=a+8|0;a:do{if((d|0)==(e|0)|(f|0)==0)a=0;else{a=0;i=0;while(1){h=qk(c[j>>2]|0)|0;o=0;g=ma(36,d|0,k-d|0,b|0)|0;n=o;o=0;if(n&1){m=h;break}if((h|0)!=0?(o=0,ka(75,h|0)|0,n=o,o=0,n&1):0){l=5;break}switch(g|0){case-2:case-1:break a;case 0:{d=d+1|0;g=1;break}default:d=d+g|0}a=g+a|0;i=i+1|0;if((d|0)==(e|0)|i>>>0>=f>>>0)break a}if((l|0)==5){n=Na(0)|0;ec(n)}a=Na()|0;if((m|0)!=0?(o=0,ka(75,m|0)|0,n=o,o=0,n&1):0){n=Na(0)|0;ec(n)}Ya(a|0)}}while(0);return a|0}function At(a){a=a|0;var b=0,d=0;a=c[a+8>>2]|0;if(a){o=0;a=ka(75,a|0)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}if((a|0)!=0?(o=0,ka(75,a|0)|0,d=o,o=0,d&1):0){d=Na(0)|0;ec(d)}else b=4}else b=1;return b|0}function Bt(a){a=a|0;cj(a);return}function Ct(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Hv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Dt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Iv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Et(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Ft(a){a=a|0;return 0}function Gt(a){a=a|0;return 0}function Ht(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Jv(c,d,e,1114111,0)|0}function It(a){a=a|0;return 4}function Jt(a){a=a|0;cj(a);return}function Kt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Kv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Lt(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Lv(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Mt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Nt(a){a=a|0;return 0}function Ot(a){a=a|0;return 0}function Pt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Mv(c,d,e,1114111,0)|0}function Qt(a){a=a|0;return 4}function Rt(a){a=a|0;cj(a);return}function St(a){a=a|0;cj(a);return}function Tt(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=44384;a[b+8>>0]=46;a[b+9>>0]=44;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Ut(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=44424;c[a+8>>2]=46;c[a+12>>2]=44;a=a+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Vt(a){a=a|0;c[a>>2]=44384;Im(a+12|0);return}function Wt(a){a=a|0;Vt(a);cj(a);return}function Xt(a){a=a|0;c[a>>2]=44424;Im(a+16|0);return}function Yt(a){a=a|0;Xt(a);cj(a);return}function Zt(b){b=b|0;return a[b+8>>0]|0}function _t(a){a=a|0;return c[a+8>>2]|0}function $t(b){b=b|0;return a[b+9>>0]|0}function au(a){a=a|0;return c[a+12>>2]|0}function bu(a,b){a=a|0;b=b|0;Fm(a,b+12|0);return}function cu(a,b){a=a|0;b=b|0;Fm(a,b+16|0);return}function du(a,b){a=a|0;b=b|0;Gm(a,59024,4);return}function eu(a,b){a=a|0;b=b|0;Um(a,44996,pl(44996)|0);return}function fu(a,b){a=a|0;b=b|0;Gm(a,59029,5);return}function gu(a,b){a=a|0;b=b|0;Um(a,45016,pl(45016)|0);return}function hu(a){a=a|0;switch(c[a+4>>2]&74|0){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function iu(b){b=b|0;do{if((a[2464]|0)==0?(Ha(2464)|0)!=0:0){if((a[2472]|0)==0?(Ha(2472)|0)!=0:0){b=45040;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=45208);kb(193,0,n|0)|0;Pa(2472)}o=0;ra(41,45040,59035)|0;b=o;o=0;if(((((((((((((!(b&1)?(o=0,ra(41,45052,59042)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45064,59049)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45076,59057)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45088,59067)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45100,59076)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45112,59083)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45124,59092)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45136,59096)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45148,59100)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45160,59104)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45172,59108)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45184,59112)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45196,59116)|0,b=o,o=0,!(b&1)):0){c[11302]=45040;Pa(2464);break}b=Na()|0;sb(2464);Ya(b|0)}}while(0);return c[11302]|0}function ju(b){b=b|0;do{if((a[2480]|0)==0?(Ha(2480)|0)!=0:0){if((a[2488]|0)==0?(Ha(2488)|0)!=0:0){b=45212;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=45380);kb(194,0,n|0)|0;Pa(2488)}o=0;ra(42,45212,45380)|0;b=o;o=0;if(((((((((((((!(b&1)?(o=0,ra(42,45224,45408)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45236,45436)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45248,45468)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45260,45508)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45272,45544)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45284,45572)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45296,45608)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45308,45624)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45320,45640)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45332,45656)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45344,45672)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45356,45688)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,45368,45704)|0,b=o,o=0,!(b&1)):0){c[11430]=45212;Pa(2480);break}b=Na()|0;sb(2480);Ya(b|0)}}while(0);return c[11430]|0}function ku(b){b=b|0;a:do{if((a[2496]|0)==0?(Ha(2496)|0)!=0:0){if((a[2504]|0)==0?(Ha(2504)|0)!=0:0){b=45724;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=46012);kb(195,0,n|0)|0;Pa(2504)}o=0;ra(41,45724,59120)|0;b=o;o=0;do{if((((((((((((((!(b&1)?(o=0,ra(41,45736,59128)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45748,59137)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45760,59143)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45772,59149)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45784,59153)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45796,59158)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45808,59163)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45820,59170)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45832,59180)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45844,59188)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45856,59197)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45868,59206)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45880,59210)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(41,45892,59214)|0,b=o,o=0,!(b&1)):0){o=0;ra(41,45904,59218)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45916,59149)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45928,59222)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45940,59226)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45952,59230)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45964,59234)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45976,59238)|0;b=o;o=0;if(b&1)break;o=0;ra(41,45988,59242)|0;b=o;o=0;if(b&1)break;o=0;ra(41,46e3,59246)|0;b=o;o=0;if(b&1)break;c[11503]=45724;Pa(2496);break a}}while(0);b=Na()|0;sb(2496);Ya(b|0)}}while(0);return c[11503]|0}function lu(b){b=b|0;a:do{if((a[2512]|0)==0?(Ha(2512)|0)!=0:0){if((a[2520]|0)==0?(Ha(2520)|0)!=0:0){b=46016;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=46304);kb(196,0,n|0)|0;Pa(2520)}o=0;ra(42,46016,46304)|0;b=o;o=0;do{if((((((((((((((!(b&1)?(o=0,ra(42,46028,46336)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46040,46372)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46052,46396)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46064,46420)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46076,46436)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46088,46456)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46100,46476)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46112,46504)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46124,46544)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46136,46576)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46148,46612)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46160,46648)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46172,46664)|0,b=o,o=0,!(b&1)):0)?(o=0,ra(42,46184,46680)|0,b=o,o=0,!(b&1)):0){o=0;ra(42,46196,46696)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46208,46420)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46220,46712)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46232,46728)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46244,46744)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46256,46760)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46268,46776)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46280,46792)|0;b=o;o=0;if(b&1)break;o=0;ra(42,46292,46808)|0;b=o;o=0;if(b&1)break;c[11706]=46016;Pa(2512);break a}}while(0);b=Na()|0;sb(2512);Ya(b|0)}}while(0);return c[11706]|0}function mu(b){b=b|0;do{if((a[2528]|0)==0?(Ha(2528)|0)!=0:0){if((a[2536]|0)==0?(Ha(2536)|0)!=0:0){b=46828;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=47116);kb(197,0,n|0)|0;Pa(2536)}o=0;ra(41,46828,59250)|0;b=o;o=0;if(!(b&1)?(o=0,ra(41,46840,59253)|0,b=o,o=0,!(b&1)):0){c[11779]=46828;Pa(2528);break}b=Na()|0;sb(2528);Ya(b|0)}}while(0);return c[11779]|0}function nu(b){b=b|0;do{if((a[2544]|0)==0?(Ha(2544)|0)!=0:0){if((a[2552]|0)==0?(Ha(2552)|0)!=0:0){b=47120;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=47408);kb(198,0,n|0)|0;Pa(2552)}o=0;ra(42,47120,47408)|0;b=o;o=0;if(!(b&1)?(o=0,ra(42,47132,47420)|0,b=o,o=0,!(b&1)):0){c[11858]=47120;Pa(2544);break}b=Na()|0;sb(2544);Ya(b|0)}}while(0);return c[11858]|0}function ou(b){b=b|0;do{if((a[2560]|0)==0?(Ha(2560)|0)!=0:0){o=0;wa(5,47436,59256,8);b=o;o=0;if(b&1){b=Na()|0;sb(2560);Ya(b|0)}else{kb(199,47436,n|0)|0;Pa(2560);break}}}while(0);return 47436}function pu(b){b=b|0;var c=0;do{if((a[2568]|0)==0?(Ha(2568)|0)!=0:0){o=0;b=ka(76,47448)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47484,47448,b|0),c=o,o=0,!(c&1)):0){kb(200,47484,n|0)|0;Pa(2568);break}c=Na()|0;sb(2568);Ya(c|0)}}while(0);return 47484}function qu(b){b=b|0;do{if((a[2576]|0)==0?(Ha(2576)|0)!=0:0){o=0;wa(5,47496,59265,8);b=o;o=0;if(b&1){b=Na()|0;sb(2576);Ya(b|0)}else{kb(199,47496,n|0)|0;Pa(2576);break}}}while(0);return 47496}function ru(b){b=b|0;var c=0;do{if((a[2584]|0)==0?(Ha(2584)|0)!=0:0){o=0;b=ka(76,47508)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47544,47508,b|0),c=o,o=0,!(c&1)):0){kb(200,47544,n|0)|0;Pa(2584);break}c=Na()|0;sb(2584);Ya(c|0)}}while(0);return 47544}function su(b){b=b|0;do{if((a[2592]|0)==0?(Ha(2592)|0)!=0:0){o=0;wa(5,47556,59274,20);b=o;o=0;if(b&1){b=Na()|0;sb(2592);Ya(b|0)}else{kb(199,47556,n|0)|0;Pa(2592);break}}}while(0);return 47556}function tu(b){b=b|0;var c=0;do{if((a[2600]|0)==0?(Ha(2600)|0)!=0:0){o=0;b=ka(76,47568)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47652,47568,b|0),c=o,o=0,!(c&1)):0){kb(200,47652,n|0)|0;Pa(2600);break}c=Na()|0;sb(2600);Ya(c|0)}}while(0);return 47652}function uu(b){b=b|0;do{if((a[2608]|0)==0?(Ha(2608)|0)!=0:0){o=0;wa(5,47664,59295,11);b=o;o=0;if(b&1){b=Na()|0;sb(2608);Ya(b|0)}else{kb(199,47664,n|0)|0;Pa(2608);break}}}while(0);return 47664}function vu(b){b=b|0;var c=0;do{if((a[2616]|0)==0?(Ha(2616)|0)!=0:0){o=0;b=ka(76,47676)|0;c=o;o=0;if(!(c&1)?(o=0,wa(15,47724,47676,b|0),c=o,o=0,!(c&1)):0){kb(200,47724,n|0)|0;Pa(2616);break}c=Na()|0;sb(2616);Ya(c|0)}}while(0);return 47724}function wu(a){a=a|0;var b=0,d=0,e=0;c[a>>2]=44304;a=a+8|0;b=c[a>>2]|0;o=0;d=ua(3)|0;e=o;o=0;do{if(!(e&1)){if((b|0)!=(d|0)?(o=0,ha(188,c[a>>2]|0),e=o,o=0,e&1):0)break;return}}while(0);e=Na(0)|0;ec(e)}function xu(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+112|0;m=z;p=(g-f|0)/12|0;do{if(p>>>0>100){m=Fl(p)|0;if((m|0)==0?(o=0,xa(6),y=o,o=0,y&1):0){l=0;s=6;break}l=m;s=11}else{l=0;s=11}}while(0);a:do{if((s|0)==11){if((f|0)==(g|0))n=0;else{s=f;q=0;r=m;while(1){n=a[s>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[s+4>>2]|0;if(!n){a[r>>0]=2;n=q+1|0;p=p+-1|0}else{a[r>>0]=1;n=q}s=s+12|0;if((s|0)==(g|0))break;else{q=n;r=r+1|0}}}x=(f|0)==(g|0);y=(f|0)==(g|0);w=0;t=n;b:while(1){n=c[b>>2]|0;do{if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;v=o;o=0;if(v&1){s=5;break b}if((n|0)==-1){c[b>>2]=0;n=0;break}else{n=c[b>>2]|0;break}}}else n=0}while(0);s=(n|0)==0;q=c[e>>2]|0;if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;n=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;v=o;o=0;if(v&1){s=5;break}if((n|0)==-1){c[e>>2]=0;q=0}}}else q=0;r=(q|0)==0;n=c[b>>2]|0;if(!((p|0)!=0&(s^r))){s=64;break}q=c[n+12>>2]|0;if((q|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;v=o;o=0;if(v&1){s=5;break}}else n=d[q>>0]|0;n=n&255;if(!k){o=0;n=ra(c[(c[h>>2]|0)+12>>2]|0,h|0,n|0)|0;v=o;o=0;if(v&1){s=5;break}}v=w+1|0;if(x){n=0;s=t}else{r=0;u=f;s=t;t=m;while(1){do{if((a[t>>0]|0)==1){if(!(a[u>>0]&1))q=u+1|0;else q=c[u+8>>2]|0;q=a[q+w>>0]|0;if(!k){o=0;q=ra(c[(c[h>>2]|0)+12>>2]|0,h|0,q|0)|0;A=o;o=0;if(A&1){s=4;break b}}if(n<<24>>24!=q<<24>>24){a[t>>0]=0;q=r;p=p+-1|0;break}q=a[u>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[u+4>>2]|0;if((q|0)==(v|0)){a[t>>0]=2;q=1;s=s+1|0;p=p+-1|0}else q=1}else q=r}while(0);u=u+12|0;if((u|0)==(g|0)){n=q;break}else{r=q;t=t+1|0}}}if(!n){w=v;t=s;continue}n=c[b>>2]|0;q=n+12|0;r=c[q>>2]|0;if((r|0)==(c[n+16>>2]|0)){o=0;ka(c[(c[n>>2]|0)+40>>2]|0,n|0)|0;A=o;o=0;if(A&1){s=5;break}}else c[q>>2]=r+1;if((s+p|0)>>>0<2|y){w=v;t=s;continue}else{n=f;r=s;s=m}while(1){if((a[s>>0]|0)==2){q=a[n>>0]|0;if(!(q&1))q=(q&255)>>>1;else q=c[n+4>>2]|0;if((q|0)!=(v|0)){a[s>>0]=0;r=r+-1|0}}n=n+12|0;if((n|0)==(g|0)){w=v;t=r;continue b}else s=s+1|0}}if((s|0)==4){f=Na()|0;break}else if((s|0)==5){f=Na()|0;break}else if((s|0)==64){do{if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;A=o;o=0;if(A&1){s=6;break a}if((n|0)==-1){c[b>>2]=0;n=0;break}else{n=c[b>>2]|0;break}}}else n=0}while(0);p=(n|0)==0;do{if(!r){if((c[q+12>>2]|0)==(c[q+16>>2]|0)){o=0;n=ka(c[(c[q>>2]|0)+36>>2]|0,q|0)|0;A=o;o=0;if(A&1){s=6;break a}if((n|0)==-1){c[e>>2]=0;s=76;break}}if(!p)s=77}else s=76}while(0);if((s|0)==76?p:0)s=77;if((s|0)==77)c[j>>2]=c[j>>2]|2;c:do{if((f|0)==(g|0))s=81;else while(1){if((a[m>>0]|0)==2)break c;f=f+12|0;if((f|0)==(g|0)){s=81;break}else m=m+1|0}}while(0);if((s|0)==81){c[j>>2]=c[j>>2]|4;f=g}if(l)Gl(l);i=z;return f|0}}}while(0);if((s|0)==6)f=Na()|0;if(l)Gl(l);Ya(f|0);return 0}function yu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(21,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49}while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25}while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function zu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){E=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;k=(b|0)==0;l=c[f>>2]|0;do{if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(k)break;else break b;o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;n=o;o=0;if(n&1){E=24;break b}if((m|0)!=-1)if(k)break;else break b;else{c[f>>2]=0;E=16;break}}else E=16}while(0);if((E|0)==16){E=0;if(k){l=0;break}else l=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){E=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){E=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+k}m=b+12|0;k=c[m>>2]|0;n=b+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}}else k=d[k>>0]|0;if(Wo(k&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[m>>2]=k+1;continue}}if((E|0)==24){b=Na()|0;break}F=a[C>>0]|0;if((((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){F=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=F}o=0;g=va(22,g|0,c[v>>2]|0,h|0,u|0)|0;k=D;F=o;o=0;if(!(F&1)){F=j;c[F>>2]=g;c[F+4>>2]=k;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((b|0)==-1){c[f>>2]=0;E=49;break}}if(!g)E=50}else E=49}while(0);if((E|0)==49?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;F=c[e>>2]|0;Im(B);Im(C);i=A;return F|0}else E=25}else E=25}while(0);if((E|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Au(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=i;i=i+240|0;u=B+202|0;l=B+200|0;D=B+24|0;C=B+12|0;w=B+8|0;z=B+40|0;A=B+4|0;x=B;v=hu(h)|0;kp(D,h,u,l);c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if(!(a[C>>0]&1))e=10;else e=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,e|0,0);t=o;o=0;a:do{if(!(t&1)){r=C+8|0;s=C+1|0;h=(a[C>>0]&1)==0?s:c[r>>2]|0;c[w>>2]=h;c[A>>2]=z;c[x>>2]=0;t=C+4|0;q=a[l>>0]|0;e=c[f>>2]|0;b:while(1){if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)){o=0;l=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;p=o;o=0;if(p&1){E=24;break}if((l|0)==-1){c[f>>2]=0;e=0}}}else e=0;m=(e|0)==0;l=c[g>>2]|0;do{if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(m)break;else break b;o=0;n=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){E=24;break b}if((n|0)!=-1)if(m)break;else break b;else{c[g>>2]=0;E=16;break}}else E=16}while(0);if((E|0)==16){E=0;if(m){l=0;break}else l=0}m=a[C>>0]|0;m=(m&1)==0?(m&255)>>>1:c[t>>2]|0;if((c[w>>2]|0)==(h+m|0)){o=0;wa(8,C|0,m<<1|0,0);p=o;o=0;if(p&1){E=24;break}if(!(a[C>>0]&1))h=10;else h=(c[C>>2]&-2)+-1|0;o=0;wa(8,C|0,h|0,0);p=o;o=0;if(p&1){E=24;break}h=(a[C>>0]&1)==0?s:c[r>>2]|0;c[w>>2]=h+m}n=e+12|0;m=c[n>>2]|0;p=e+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=24;break}}else m=d[m>>0]|0;if(Wo(m&255,v,h,w,x,q,D,z,A,u)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[e>>2]|0)+40>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[n>>2]=l+1;continue}}if((E|0)==24){e=Na()|0;break}F=a[D>>0]|0;if((((F&1)==0?(F&255)>>>1:c[D+4>>2]|0)|0)!=0?(y=c[A>>2]|0,(y-z|0)<160):0){F=c[x>>2]|0;c[A>>2]=y+4;c[y>>2]=F}o=0;h=va(23,h|0,c[w>>2]|0,j|0,v|0)|0;F=o;o=0;if(!(F&1)){b[k>>1]=h;Ur(D,z,c[A>>2]|0,j);if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)){o=0;h=ka(c[(c[e>>2]|0)+36>>2]|0,e|0)|0;F=o;o=0;if(F&1){E=25;break}if((h|0)==-1){c[f>>2]=0;e=0}}}else e=0;h=(e|0)==0;do{if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;e=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((e|0)==-1){c[g>>2]=0;E=49;break}}if(!h)E=50}else E=49}while(0);if((E|0)==49?h:0)E=50;if((E|0)==50)c[j>>2]=c[j>>2]|2;F=c[f>>2]|0;Im(C);Im(D);i=B;return F|0}else E=25}else E=25}while(0);if((E|0)==25)e=Na()|0;Im(C);Im(D);Ya(e|0);return 0}function Bu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(24,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49}while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25}while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Cu(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){D=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do{if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break b;o=0;m=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=24;break b}if((m|0)!=-1)if(l)break;else break b;else{c[f>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(l){k=0;break}else k=0}l=a[B>>0]|0;l=(l&1)==0?(l&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+l|0)){o=0;wa(8,B|0,l<<1|0,0);n=o;o=0;if(n&1){D=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){D=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0)){o=0;l=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}}else l=d[l>>0]|0;if(Wo(l&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=24;break}else continue}else{c[m>>2]=k+1;continue}}if((D|0)==24){b=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;g=va(25,g|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){c[j>>2]=g;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;E=o;o=0;if(E&1){D=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=25;break a}if((b|0)==-1){c[f>>2]=0;D=49;break}}if(!g)D=50}else D=49}while(0);if((D|0)==49?g:0)D=50;if((D|0)==50)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=25}else D=25}while(0);if((D|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Du(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0;A=i;i=i+240|0;t=A+202|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;kp(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,b|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=a[k>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;n=o;o=0;if(n&1){E=24;break}if((k|0)==-1){c[e>>2]=0;b=0}}}else b=0;k=(b|0)==0;l=c[f>>2]|0;do{if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(k)break;else break b;o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;n=o;o=0;if(n&1){E=24;break b}if((m|0)!=-1)if(k)break;else break b;else{c[f>>2]=0;E=16;break}}else E=16}while(0);if((E|0)==16){E=0;if(k){l=0;break}else l=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(g+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){E=24;break}if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,g|0,0);n=o;o=0;if(n&1){E=24;break}g=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=g+k}m=b+12|0;k=c[m>>2]|0;n=b+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}}else k=d[k>>0]|0;if(Wo(k&255,u,g,v,w,p,C,y,z,t)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=24;break}else continue}else{c[m>>2]=k+1;continue}}if((E|0)==24){b=Na()|0;break}F=a[C>>0]|0;if((((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){F=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=F}o=0;g=va(26,g|0,c[v>>2]|0,h|0,u|0)|0;k=D;F=o;o=0;if(!(F&1)){F=j;c[F>>2]=g;c[F+4>>2]=k;Ur(C,y,c[z>>2]|0,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;F=o;o=0;if(F&1){E=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;F=o;o=0;if(F&1){E=25;break a}if((b|0)==-1){c[f>>2]=0;E=49;break}}if(!g)E=50}else E=49}while(0);if((E|0)==49?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;F=c[e>>2]|0;Im(B);Im(C);i=A;return F|0}else E=25}else E=25}while(0);if((E|0)==25)b=Na()|0;Im(B);Im(C);Ya(b|0);return 0}function Eu(b,e,f,h,j,k){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,h,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do{if(!(v&1)){t=F+8|0;u=F+1|0;h=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=h;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16}while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(h+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))h=10;else h=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,h|0,0);q=o;o=0;if(q&1){H=24;break}h=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=h+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,h,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(1,h|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){g[k>>2]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;h=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((h|0)==-1){c[e>>2]=0;b=0}}}else b=0;h=(b|0)==0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!h)H=50}else H=49}while(0);if((H|0)==49?h:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25}while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Fu(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,g,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do{if(!(v&1)){t=F+8|0;u=F+1|0;g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16}while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(g+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))g=10;else g=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,g|0,0);q=o;o=0;if(q&1){H=24;break}g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,g,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(2,g|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){h[k>>3]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!g)H=50}else H=49}while(0);if((H|0)==49?g:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25}while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Gu(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=i;i=i+240|0;w=E+208|0;m=E+203|0;n=E+202|0;G=E+24|0;F=E+12|0;y=E+8|0;C=E+40|0;D=E+4|0;z=E;A=E+201|0;x=E+200|0;lp(G,g,w,m,n);c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;if(!(a[F>>0]&1))b=10;else b=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,b|0,0);v=o;o=0;a:do{if(!(v&1)){t=F+8|0;u=F+1|0;g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g;c[D>>2]=C;c[z>>2]=0;a[A>>0]=1;a[x>>0]=69;v=F+4|0;s=a[m>>0]|0;r=a[n>>0]|0;b=c[e>>2]|0;b:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;m=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;q=o;o=0;if(q&1){H=24;break}if((m|0)==-1){c[e>>2]=0;b=0}}}else b=0;n=(b|0)==0;m=c[f>>2]|0;do{if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(n)break;else break b;o=0;p=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;q=o;o=0;if(q&1){H=24;break b}if((p|0)!=-1)if(n)break;else break b;else{c[f>>2]=0;H=16;break}}else H=16}while(0);if((H|0)==16){H=0;if(n){m=0;break}else m=0}n=a[F>>0]|0;n=(n&1)==0?(n&255)>>>1:c[v>>2]|0;if((c[y>>2]|0)==(g+n|0)){o=0;wa(8,F|0,n<<1|0,0);q=o;o=0;if(q&1){H=24;break}if(!(a[F>>0]&1))g=10;else g=(c[F>>2]&-2)+-1|0;o=0;wa(8,F|0,g|0,0);q=o;o=0;if(q&1){H=24;break}g=(a[F>>0]&1)==0?u:c[t>>2]|0;c[y>>2]=g+n}p=b+12|0;n=c[p>>2]|0;q=b+16|0;if((n|0)==(c[q>>2]|0)){o=0;n=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}}else n=d[n>>0]|0;if(mp(n&255,A,x,g,y,s,r,G,C,D,z,w)|0)break;m=c[p>>2]|0;if((m|0)==(c[q>>2]|0)){o=0;ka(c[(c[b>>2]|0)+40>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=24;break}else continue}else{c[p>>2]=m+1;continue}}if((H|0)==24){b=Na()|0;break}I=a[G>>0]|0;if(!((a[A>>0]|0)==0?1:(((I&1)==0?(I&255)>>>1:c[G+4>>2]|0)|0)==0)?(B=c[D>>2]|0,(B-C|0)<160):0){I=c[z>>2]|0;c[D>>2]=B+4;c[B>>2]=I}o=0;l=+ta(3,g|0,c[y>>2]|0,j|0);I=o;o=0;if(!(I&1)){h[k>>3]=l;Ur(G,C,c[D>>2]|0,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)){o=0;g=ka(c[(c[b>>2]|0)+36>>2]|0,b|0)|0;I=o;o=0;if(I&1){H=25;break}if((g|0)==-1){c[e>>2]=0;b=0}}}else b=0;g=(b|0)==0;do{if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)){o=0;b=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;I=o;o=0;if(I&1){H=25;break a}if((b|0)==-1){c[f>>2]=0;H=49;break}}if(!g)H=50}else H=49}while(0);if((H|0)==49?g:0)H=50;if((H|0)==50)c[j>>2]=c[j>>2]|2;I=c[e>>2]|0;Im(F);Im(G);i=E;return I|0}else H=25}else H=25}while(0);if((H|0)==25)b=Na()|0;Im(F);Im(G);Ya(b|0);return 0}function Hu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=qk(b)|0;b=fl(a,d,g)|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}i=f;return b|0}function Iu(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+112|0;l=y;n=(f-e|0)/12|0;do{if(n>>>0>100){l=Fl(n)|0;if((l|0)==0?(o=0,xa(6),x=o,o=0,x&1):0){k=0;q=6;break}k=l;q=11}else{k=0;q=11}}while(0);a:do{if((q|0)==11){if((e|0)==(f|0))m=0;else{r=e;p=0;q=l;while(1){m=a[r>>0]|0;if(!(m&1))m=(m&255)>>>1;else m=c[r+4>>2]|0;if(!m){a[q>>0]=2;m=p+1|0;n=n+-1|0}else{a[q>>0]=1;m=p}r=r+12|0;if((r|0)==(f|0))break;else{p=m;q=q+1|0}}}w=(e|0)==(f|0);x=(e|0)==(f|0);v=0;s=n;b:while(1){n=c[b>>2]|0;do{if(n){p=c[n+12>>2]|0;if((p|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;u=o;o=0;if(u&1){q=5;break b}}else n=c[p>>2]|0;if((n|0)==-1){c[b>>2]=0;r=1;break}else{r=(c[b>>2]|0)==0;break}}else r=1}while(0);p=c[d>>2]|0;if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0)){o=0;n=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;u=o;o=0;if(u&1){q=5;break}}else n=c[n>>2]|0;if((n|0)==-1){c[d>>2]=0;p=0;q=1}else q=0}else{p=0;q=1}n=c[b>>2]|0;if(!((s|0)!=0&(r^q))){q=66;break}p=c[n+12>>2]|0;if((p|0)==(c[n+16>>2]|0)){o=0;n=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;u=o;o=0;if(u&1){q=5;break}}else n=c[p>>2]|0;if(!j){o=0;n=ra(c[(c[g>>2]|0)+28>>2]|0,g|0,n|0)|0;u=o;o=0;if(u&1){q=5;break}}u=v+1|0;if(w){n=0;r=s}else{r=0;t=e;q=s;s=l;while(1){do{if((a[s>>0]|0)==1){if(!(a[t>>0]&1))p=t+4|0;else p=c[t+8>>2]|0;p=c[p+(v<<2)>>2]|0;if(!j){o=0;p=ra(c[(c[g>>2]|0)+28>>2]|0,g|0,p|0)|0;z=o;o=0;if(z&1){q=4;break b}}if((n|0)!=(p|0)){a[s>>0]=0;p=r;q=q+-1|0;break}p=a[t>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[t+4>>2]|0;if((p|0)==(u|0)){a[s>>0]=2;p=1;m=m+1|0;q=q+-1|0}else p=1}else p=r}while(0);t=t+12|0;if((t|0)==(f|0)){n=p;r=q;break}else{r=p;s=s+1|0}}}if(!n){v=u;s=r;continue}n=c[b>>2]|0;p=n+12|0;q=c[p>>2]|0;if((q|0)==(c[n+16>>2]|0)){o=0;ka(c[(c[n>>2]|0)+40>>2]|0,n|0)|0;z=o;o=0;if(z&1){q=5;break}}else c[p>>2]=q+4;if((m+r|0)>>>0<2|x){v=u;s=r;continue}else{n=e;q=l}while(1){if((a[q>>0]|0)==2){p=a[n>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[n+4>>2]|0;if((p|0)!=(u|0)){a[q>>0]=0;m=m+-1|0}}n=n+12|0;if((n|0)==(f|0)){v=u;s=r;continue b}else q=q+1|0}}if((q|0)==4){e=Na()|0;break}else if((q|0)==5){e=Na()|0;break}else if((q|0)==66){do{if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0)){o=0;m=ka(c[(c[n>>2]|0)+36>>2]|0,n|0)|0;z=o;o=0;if(z&1){q=6;break a}}else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;break}else{n=(c[b>>2]|0)==0;break}}else n=1}while(0);do{if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0)){o=0;m=ka(c[(c[p>>2]|0)+36>>2]|0,p|0)|0;z=o;o=0;if(z&1){q=6;break a}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else{q=81;break}else{c[d>>2]=0;q=79;break}}else q=79}while(0);if((q|0)==79?n:0)q=81;if((q|0)==81)c[h>>2]=c[h>>2]|2;c:do{if((e|0)==(f|0))q=85;else while(1){if((a[l>>0]|0)==2)break c;e=e+12|0;if((e|0)==(f|0)){q=85;break}else l=l+1|0}}while(0);if((q|0)==85){c[h>>2]=c[h>>2]|4;e=f}if(k)Gl(k);i=y;return e|0}}}while(0);if((q|0)==6)e=Na()|0;if(k)Gl(k);Ya(e|0);return 0}function Ju(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(21,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Ku(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do{if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0)){o=0;f=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;m=o;o=0;if(m&1){C=25;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(l)break;else break b;else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(l){k=0;break}else k=0}f=a[A>>0]|0;f=(f&1)==0?(f&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+f|0)){o=0;wa(8,A|0,f<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+f}l=j+12|0;f=c[l>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}}else f=c[f>>2]|0;if(jp(f,t,b,u,v,n,B,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0)){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}else continue}else{c[l>>2]=f+4;continue}}if((C|0)==25){b=Na()|0;break}E=a[B>>0]|0;if((((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){E=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=E}o=0;b=va(22,b|0,c[u>>2]|0,g|0,t|0)|0;f=D;E=o;o=0;if(!(E&1)){E=h;c[E>>2]=b;c[E+4>>2]=f;Ur(B,x,c[y>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;E=c[d>>2]|0;Im(A);Im(B);i=z;return E|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Lu(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=i;i=i+320|0;t=A+208|0;k=A+200|0;C=A+24|0;B=A+12|0;v=A+8|0;y=A+40|0;z=A+4|0;w=A;u=hu(g)|0;np(C,g,t,k);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))d=10;else d=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,d|0,0);s=o;o=0;a:do{if(!(s&1)){q=B+8|0;r=B+1|0;d=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=d;c[z>>2]=y;c[w>>2]=0;s=B+4|0;p=c[k>>2]|0;k=c[e>>2]|0;b:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0)){o=0;g=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;n=o;o=0;if(n&1){D=25;break}}else g=c[g>>2]|0;if((g|0)==-1){c[e>>2]=0;g=0;l=1}else{g=k;l=0}}else{g=0;l=1}m=c[f>>2]|0;do{if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0)){o=0;k=ka(c[(c[m>>2]|0)+36>>2]|0,m|0)|0;n=o;o=0;if(n&1){D=25;break b}}else k=c[k>>2]|0;if((k|0)!=-1)if(l)break;else{k=m;break b}else{c[f>>2]=0;D=17;break}}else D=17}while(0);if((D|0)==17){D=0;if(l){k=0;break}else m=0}k=a[B>>0]|0;k=(k&1)==0?(k&255)>>>1:c[s>>2]|0;if((c[v>>2]|0)==(d+k|0)){o=0;wa(8,B|0,k<<1|0,0);n=o;o=0;if(n&1){D=25;break}if(!(a[B>>0]&1))d=10;else d=(c[B>>2]&-2)+-1|0;o=0;wa(8,B|0,d|0,0);n=o;o=0;if(n&1){D=25;break}d=(a[B>>0]&1)==0?r:c[q>>2]|0;c[v>>2]=d+k}l=g+12|0;k=c[l>>2]|0;n=g+16|0;if((k|0)==(c[n>>2]|0)){o=0;k=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=25;break}}else k=c[k>>2]|0;if(jp(k,u,d,v,w,p,C,y,z,t)|0){k=m;break}k=c[l>>2]|0;if((k|0)==(c[n>>2]|0)){o=0;ka(c[(c[g>>2]|0)+40>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=25;break}else{k=g;continue}}else{c[l>>2]=k+4;k=g;continue}}if((D|0)==25){d=Na()|0;break}E=a[C>>0]|0;if((((E&1)==0?(E&255)>>>1:c[C+4>>2]|0)|0)!=0?(x=c[z>>2]|0,(x-y|0)<160):0){E=c[w>>2]|0;c[z>>2]=x+4;c[x>>2]=E}o=0;d=va(23,d|0,c[v>>2]|0,h|0,u|0)|0;E=o;o=0;if(!(E&1)){b[j>>1]=d;Ur(C,y,c[z>>2]|0,h);if(g){d=c[g+12>>2]|0;if((d|0)==(c[g+16>>2]|0)){o=0;d=ka(c[(c[g>>2]|0)+36>>2]|0,g|0)|0;E=o;o=0;if(E&1){D=26;break}}else d=c[d>>2]|0;if((d|0)==-1){c[e>>2]=0;g=1}else g=0}else g=1;do{if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0)){o=0;d=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){D=26;break a}}else d=c[d>>2]|0;if((d|0)!=-1)if(g)break;else{D=53;break}else{c[f>>2]=0;D=51;break}}else D=51}while(0);if((D|0)==51?g:0)D=53;if((D|0)==53)c[h>>2]=c[h>>2]|2;E=c[e>>2]|0;Im(B);Im(C);i=A;return E|0}else D=26}else D=26}while(0);if((D|0)==26)d=Na()|0;Im(B);Im(C);Ya(d|0);return 0}function Mu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(24,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Nu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;k=1}else{f=j;k=0}}else{f=0;k=1}l=c[e>>2]|0;do{if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0)){o=0;j=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;m=o;o=0;if(m&1){C=25;break b}}else j=c[j>>2]|0;if((j|0)!=-1)if(k)break;else{j=l;break b}else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(k){j=0;break}else l=0}j=a[A>>0]|0;j=(j&1)==0?(j&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+j|0)){o=0;wa(8,A|0,j<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+j}k=f+12|0;j=c[k>>2]|0;m=f+16|0;if((j|0)==(c[m>>2]|0)){o=0;j=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}}else j=c[j>>2]|0;if(jp(j,t,b,u,v,n,B,x,y,s)|0){j=l;break}j=c[k>>2]|0;if((j|0)==(c[m>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=25;break}else{j=f;continue}}else{c[k>>2]=j+4;j=f;continue}}if((C|0)==25){b=Na()|0;break}D=a[B>>0]|0;if((((D&1)==0?(D&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){D=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=D}o=0;b=va(25,b|0,c[u>>2]|0,g|0,t|0)|0;D=o;o=0;if(!(D&1)){c[h>>2]=b;Ur(B,x,c[y>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;D=o;o=0;if(D&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;D=o;o=0;if(D&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Im(A);Im(B);i=z;return D|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Ou(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0;z=i;i=i+320|0;s=z+208|0;j=z+200|0;B=z+24|0;A=z+12|0;u=z+8|0;x=z+40|0;y=z+4|0;v=z;t=hu(f)|0;np(B,f,s,j);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);r=o;o=0;a:do{if(!(r&1)){p=A+8|0;q=A+1|0;b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b;c[y>>2]=x;c[v>>2]=0;r=A+4|0;n=c[j>>2]|0;j=c[d>>2]|0;b:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;m=o;o=0;if(m&1){C=25;break}}else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do{if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0)){o=0;f=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;m=o;o=0;if(m&1){C=25;break b}}else f=c[f>>2]|0;if((f|0)!=-1)if(l)break;else break b;else{c[e>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(l){k=0;break}else k=0}f=a[A>>0]|0;f=(f&1)==0?(f&255)>>>1:c[r>>2]|0;if((c[u>>2]|0)==(b+f|0)){o=0;wa(8,A|0,f<<1|0,0);m=o;o=0;if(m&1){C=25;break}if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;o=0;wa(8,A|0,b|0,0);m=o;o=0;if(m&1){C=25;break}b=(a[A>>0]&1)==0?q:c[p>>2]|0;c[u>>2]=b+f}l=j+12|0;f=c[l>>2]|0;m=j+16|0;if((f|0)==(c[m>>2]|0)){o=0;f=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}}else f=c[f>>2]|0;if(jp(f,t,b,u,v,n,B,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0)){o=0;ka(c[(c[j>>2]|0)+40>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=25;break}else continue}else{c[l>>2]=f+4;continue}}if((C|0)==25){b=Na()|0;break}E=a[B>>0]|0;if((((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)|0)!=0?(w=c[y>>2]|0,(w-x|0)<160):0){E=c[v>>2]|0;c[y>>2]=w+4;c[w>>2]=E}o=0;b=va(26,b|0,c[u>>2]|0,g|0,t|0)|0;f=D;E=o;o=0;if(!(E&1)){E=h;c[E>>2]=b;c[E+4>>2]=f;Ur(B,x,c[y>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0)){o=0;b=ka(c[(c[j>>2]|0)+36>>2]|0,j|0)|0;E=o;o=0;if(E&1){C=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0)){o=0;b=ka(c[(c[k>>2]|0)+36>>2]|0,k|0)|0;E=o;o=0;if(E&1){C=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{C=53;break}else{c[e>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?f:0)C=53;if((C|0)==53)c[g>>2]=c[g>>2]|2;E=c[d>>2]|0;Im(A);Im(B);i=z;return E|0}else C=26}else C=26}while(0);if((C|0)==26)b=Na()|0;Im(A);Im(B);Ya(b|0);return 0}function Pu(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do{if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do{if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17}while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(1,b|0,c[x>>2]|0,h|0);H=o;o=0;if(!(H&1)){g[j>>2]=k;Ur(F,B,c[C>>2]|0,h);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51}while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[h>>2]=c[h>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26}while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Qu(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do{if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do{if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17}while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(2,b|0,c[x>>2]|0,g|0);H=o;o=0;if(!(H&1)){h[j>>3]=k;Ur(F,B,c[C>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51}while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[g>>2]=c[g>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26}while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Ru(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0.0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=i;i=i+352|0;v=D+208|0;l=D+40|0;m=D+36|0;F=D+24|0;E=D+12|0;x=D+8|0;B=D+48|0;C=D+4|0;y=D;z=D+337|0;w=D+336|0;op(F,f,v,l,m);c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);u=o;o=0;a:do{if(!(u&1)){s=E+8|0;t=E+1|0;b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b;c[C>>2]=B;c[y>>2]=0;a[z>>0]=1;a[w>>0]=69;u=E+4|0;r=c[l>>2]|0;q=c[m>>2]|0;f=c[d>>2]|0;b:while(1){if(f){l=c[f+12>>2]|0;if((l|0)==(c[f+16>>2]|0)){o=0;l=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;p=o;o=0;if(p&1){G=25;break}}else l=c[l>>2]|0;if((l|0)==-1){c[d>>2]=0;f=0;n=1}else n=0}else{f=0;n=1}l=c[e>>2]|0;do{if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0)){o=0;m=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;p=o;o=0;if(p&1){G=25;break b}}else m=c[m>>2]|0;if((m|0)!=-1)if(n)break;else break b;else{c[e>>2]=0;G=17;break}}else G=17}while(0);if((G|0)==17){G=0;if(n){l=0;break}else l=0}m=a[E>>0]|0;m=(m&1)==0?(m&255)>>>1:c[u>>2]|0;if((c[x>>2]|0)==(b+m|0)){o=0;wa(8,E|0,m<<1|0,0);p=o;o=0;if(p&1){G=25;break}if(!(a[E>>0]&1))b=10;else b=(c[E>>2]&-2)+-1|0;o=0;wa(8,E|0,b|0,0);p=o;o=0;if(p&1){G=25;break}b=(a[E>>0]&1)==0?t:c[s>>2]|0;c[x>>2]=b+m}n=f+12|0;m=c[n>>2]|0;p=f+16|0;if((m|0)==(c[p>>2]|0)){o=0;m=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}}else m=c[m>>2]|0;if(pp(m,z,w,b,x,r,q,F,B,C,y,v)|0)break;l=c[n>>2]|0;if((l|0)==(c[p>>2]|0)){o=0;ka(c[(c[f>>2]|0)+40>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=25;break}else continue}else{c[n>>2]=l+4;continue}}if((G|0)==25){b=Na()|0;break}H=a[F>>0]|0;if(!((a[z>>0]|0)==0?1:(((H&1)==0?(H&255)>>>1:c[F+4>>2]|0)|0)==0)?(A=c[C>>2]|0,(A-B|0)<160):0){H=c[y>>2]|0;c[C>>2]=A+4;c[A>>2]=H}o=0;k=+ta(3,b|0,c[x>>2]|0,g|0);H=o;o=0;if(!(H&1)){h[j>>3]=k;Ur(F,B,c[C>>2]|0,g);if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0)){o=0;b=ka(c[(c[f>>2]|0)+36>>2]|0,f|0)|0;H=o;o=0;if(H&1){G=26;break}}else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do{if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0)){o=0;b=ka(c[(c[l>>2]|0)+36>>2]|0,l|0)|0;H=o;o=0;if(H&1){G=26;break a}}else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{G=53;break}else{c[e>>2]=0;G=51;break}}else G=51}while(0);if((G|0)==51?f:0)G=53;if((G|0)==53)c[g>>2]=c[g>>2]|2;H=c[d>>2]|0;Im(E);Im(F);i=D;return H|0}else G=26}else G=26}while(0);if((G|0)==26)b=Na()|0;Im(E);Im(F);Ya(b|0);return 0}function Su(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[h>>2]=f;f=qk(d)|0;d=el(a,b,e,h)|0;if((f|0)!=0?(o=0,ka(75,f|0)|0,h=o,o=0,h&1):0){h=Na(0)|0;ec(h)}i=g;return d|0}function Tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=qk(b)|0;o=0;b=ma(37,a|0,d|0,g|0)|0;a=o;o=0;if(a&1){b=Na()|0;if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}Ya(b|0)}else{if((e|0)!=0?(o=0,ka(75,e|0)|0,g=o,o=0,g&1):0){g=Na(0)|0;ec(g)}i=f;return b|0}return 0}function Uu(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,p=0,q=0;p=i;i=i+16|0;n=p;j=c[b>>2]|0;a:do{if(!j)j=0;else{q=d;l=f-q>>2;m=g+12|0;k=c[m>>2]|0;l=(k|0)>(l|0)?k-l|0:0;k=e;q=k-q|0;g=q>>2;if((q|0)>0?(Gb[c[(c[j>>2]|0)+48>>2]&63](j,d,g)|0)!=(g|0):0){c[b>>2]=0;j=0;break}do{if((l|0)>0){Vm(n,l,h);o=0;g=ma(c[(c[j>>2]|0)+48>>2]|0,j|0,((a[n>>0]&1)==0?n+4|0:c[n+8>>2]|0)|0,l|0)|0;q=o;o=0;if(q&1){q=Na()|0;Wm(n);Ya(q|0)}if((g|0)==(l|0)){Wm(n);break}else{c[b>>2]=0;Wm(n);j=0;break a}}}while(0);q=f-k|0;f=q>>2;if((q|0)>0?(Gb[c[(c[j>>2]|0)+48>>2]&63](j,e,f)|0)!=(f|0):0){c[b>>2]=0;j=0;break}c[m>>2]=0}}while(0);i=p;return j|0}function Vu(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=c[a>>2]|0;do{if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0))if((Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1){c[a>>2]=0;i=0;break}else{i=c[a>>2]|0;break}}else i=0}while(0);j=(i|0)==0;i=c[e>>2]|0;do{if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0)==-1:0){c[e>>2]=0;r=11;break}if(j)r=13;else r=12}else r=11}while(0);if((r|0)==11)if(j)r=12;else{i=0;r=13}a:do{if((r|0)==12){c[f>>2]=c[f>>2]|6;i=0}else if((r|0)==13){j=c[a>>2]|0;k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[k>>0]|0;k=j&255;if(k<<24>>24>-1?(q=g+8|0,(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048)!=0):0){m=(Gb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24;j=c[a>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0)){Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=h;n=i;h=i;i=m}else{c[k>>2]=l+1;o=h;n=i;h=i;i=m}while(1){i=i+-48|0;p=o+-1|0;j=c[a>>2]|0;do{if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0}while(0);l=(j|0)==0;if(h)if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[e>>2]=0;k=0;h=0}else{k=n;h=n}else k=n;else{k=n;h=0}j=c[a>>2]|0;if(!((o|0)>1&(l^(h|0)==0)))break;l=c[j+12>>2]|0;if((l|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=d[l>>0]|0;l=j&255;if(l<<24>>24<=-1)break a;if(!(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=((Gb[c[(c[g>>2]|0)+36>>2]&63](g,l,0)|0)<<24>>24)+(i*10|0)|0;j=c[a>>2]|0;l=j+12|0;m=c[l>>2]|0;if((m|0)==(c[j+16>>2]|0)){Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;o=p;n=k;continue}else{c[l>>2]=m+1;o=p;n=k;continue}}do{if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0}while(0);j=(j|0)==0;do{if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)?(Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0)==-1:0){c[e>>2]=0;r=50;break}if(j)break a}else r=50}while(0);if((r|0)==50?!j:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}}while(0);return i|0}function Wu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a>>2]|0;do{if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[h>>2]|0;if((g|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1}while(0);h=c[b>>2]|0;do{if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=c[g>>2]|0;if((g|0)!=-1)if(i){o=17;break}else{o=16;break}else{c[b>>2]=0;o=14;break}}else o=14}while(0);if((o|0)==14)if(i)o=16;else{h=0;o=17}a:do{if((o|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((o|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=c[i>>2]|0;if(!(Gb[c[(c[e>>2]|0)+12>>2]&63](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(Gb[c[(c[e>>2]|0)+52>>2]&63](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0)){Eb[c[(c[i>>2]|0)+40>>2]&127](i)|0;m=f;l=h;j=h}else{c[j>>2]=k+4;m=f;l=h;j=h}while(1){g=g+-48|0;n=m+-1|0;h=c[a>>2]|0;do{if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=c[i>>2]|0;if((h|0)==-1){c[a>>2]=0;k=1;break}else{k=(c[a>>2]|0)==0;break}}else k=1}while(0);do{if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;j=0;f=0;h=1;break}else{j=l;f=l;h=(l|0)==0;break}}else{j=l;f=0;h=1}}while(0);i=c[a>>2]|0;if(!((m|0)>1&(k^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if(!(Gb[c[(c[e>>2]|0)+12>>2]&63](e,2048,h)|0))break a;g=((Gb[c[(c[e>>2]|0)+52>>2]&63](e,h,0)|0)<<24>>24)+(g*10|0)|0;h=c[a>>2]|0;i=h+12|0;k=c[i>>2]|0;if((k|0)==(c[h+16>>2]|0)){Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;m=n;l=j;j=f;continue}else{c[i>>2]=k+4;m=n;l=j;j=f;continue}}do{if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=c[h>>2]|0;if((h|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1}while(0);do{if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=c[h>>2]|0;if((h|0)!=-1)if(i)break a;else break;else{c[b>>2]=0;o=60;break}}else o=60}while(0);if((o|0)==60?!i:0)break;c[d>>2]=c[d>>2]|2}}while(0);return g|0}function Xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h|0;i=Il(e?i:0,f)|0;if(!i)Sj();do{if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}}while(0);c[g>>2]=201;c[b>>2]=j+h;c[d>>2]=(c[a>>2]|0)+f;return}function Yu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h>>2;i=Il(e?i:0,f)|0;if(!i)Sj();do{if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}}while(0);c[g>>2]=201;c[b>>2]=j+(h<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);return}function Zu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=10;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h|0;do{if((e|0)!=(d|0)){if((g-k|0)>>>0>>0){Tm(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+1|0;else i=c[b+8>>2]|0;h=e+(k-h)|0;if((d|0)!=(e|0)){f=d;g=i+k|0;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else g=g+1|0}}a[i+h>>0]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}}while(0);return b|0}function _u(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=a+4|0;e=(c[g>>2]|0)!=189;i=c[a>>2]|0;h=i;f=(c[d>>2]|0)-h|0;f=f>>>0<2147483647?f<<1:-1;h=(c[b>>2]|0)-h>>2;i=Il(e?i:0,f)|0;if(!i)Sj();do{if(!e){e=c[a>>2]|0;c[a>>2]=i;if(e){o=0;ha(c[g>>2]|0,e|0);i=o;o=0;if(i&1){i=Na(0)|0;ec(i)}else{j=c[a>>2]|0;break}}else j=i}else{c[a>>2]=i;j=i}}while(0);c[g>>2]=201;c[b>>2]=j+(h<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);return}function $u(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=1;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h>>2;do{if(j){if((g-k|0)>>>0>>0){an(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+4|0;else i=c[b+8>>2]|0;h=k+((e-h|0)>>>2)|0;if((d|0)!=(e|0)){f=d;g=i+(k<<2)|0;while(1){c[g>>2]=c[f>>2];f=f+4|0;if((f|0)==(e|0))break;else g=g+4|0}}c[i+(h<<2)>>2]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}}while(0);return b|0}function av(b,d){b=b|0;d=d|0;var e=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;do{if(d){o=0;ia(125,b|0,d|0);e=o;o=0;if(e&1){e=Na()|0;Dv(b);Ya(e|0)}else{Uv(b,d);break}}}while(0);return}function bv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43148)|0);return}function cv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43188)|0);return}function dv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44220)|0);return}function ev(a,b){a=a|0;b=b|0;xs(a,b,Hs(44212)|0);return}function fv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44280)|0);return}function gv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44288)|0);return}function hv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44344)|0);return}function iv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44352)|0);return}function jv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44360)|0);return}function kv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44368)|0);return}function lv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43260)|0);return}function mv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43332)|0);return}function nv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43392)|0);return}function ov(a,b){a=a|0;b=b|0;xs(a,b,Hs(43452)|0);return}function pv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43764)|0);return}function qv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43828)|0);return}function rv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43892)|0);return}function sv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43956)|0);return}function tv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43992)|0);return}function uv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44028)|0);return}function vv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44064)|0);return}function wv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44100)|0);return}function xv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43544)|0);return}function yv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43636)|0);return}function zv(a,b){a=a|0;b=b|0;xs(a,b,Hs(43668)|0);return}function Av(a,b){a=a|0;b=b|0;xs(a,b,Hs(43700)|0);return}function Bv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44140)|0);return}function Cv(a,b){a=a|0;b=b|0;xs(a,b,Hs(44180)|0);return}function Dv(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;do{if(e){f=b+4|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do{d=d+-4|0}while((d|0)!=(e|0));c[f>>2]=d}if((b+16|0)==(e|0)){a[b+128>>0]=0;break}else{cj(e);break}}}while(0);return}function Ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+4|0;d=c[h>>2]|0;e=c[a>>2]|0;f=d-e>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0?(g=e+(b<<2)|0,(d|0)!=(g|0)):0){do{d=d+-4|0}while((d|0)!=(g|0));c[h>>2]=d}}else Tv(a,b-f|0);return}function Fv(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;if((c[a+12>>2]|0)-d>>2>>>0>b>>>0)d=(c[d+(b<<2)>>2]|0)!=0;else d=0;return d|0}function Gv(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;d=c[d+4>>2]|0;a=(c[a>>2]|0)+(d>>1)|0;if(d&1)b=c[(c[a>>2]|0)+b>>2]|0;Bb[b&255](a);return}function Hv(d,f,g,h,i,j,k,l){d=d|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;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do{if((m|0)==4){n=f;d=c[g>>2]|0;if(d>>>0>>0)while(1){l=b[d>>1]|0;m=l&65535;if(m>>>0>k>>>0){d=2;break a}do{if((l&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=l}else{if((l&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)>=56320){if((l&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;l=e[d>>1]|0;if((l&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}h=m&960;if(((h<<10)+65536|m<<10&64512|l&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(h>>>6)+1|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=d>>>2|240;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>2&15|d<<4&48|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m<<4&48|l>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=l&63|128}}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d;if(d>>>0>=f>>>0){d=0;break}}else d=0}}while(0);return d|0}function Iv(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;l=f;if((((l-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0){c[g>>2]=e+3;m=c[j>>2]|0}else m=h}else{m=h;l=f}q=i;h=c[g>>2]|0;e=h>>>0>>0;a:do{if(e&m>>>0>>0)while(1){e=a[h>>0]|0;o=e&255;if(o>>>0>k>>>0){e=2;break a}do{if(e<<24>>24>-1){b[m>>1]=e&255;c[g>>2]=h+1}else{if((e&255)<194){e=2;break a}if((e&255)<224){if((l-h|0)<2){e=1;break a}e=d[h+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|o<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+2;break}if((e&255)<240){if((l-h|0)<3){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;switch(o|0){case 224:{if((n&-32)<<24>>24!=-96){e=2;break a}break}case 237:{if((n&-32)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(n&255)<<6&4032|o<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+3;break}if((e&255)>=245){e=2;break a}if((l-h|0)<4){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;h=a[h+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){e=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=h&255;if((e&192|0)!=128){e=2;break a}if((q-m|0)<4){e=1;break a}o=o&7;h=n&255;n=p<<6;e=e&63;if((h<<12&258048|o<<18|n&4032|e)>>>0>k>>>0){e=2;break a}b[m>>1]=h<<2&60|p>>>4&3|((h>>>4&3|o<<2)<<6)+16320|55296;p=m+2|0;c[j>>2]=p;b[p>>1]=e|n&960|56320;c[g>>2]=(c[g>>2]|0)+4}}while(0);m=(c[j>>2]|0)+2|0;c[j>>2]=m;h=c[g>>2]|0;e=h>>>0>>0;if(!(e&m>>>0>>0)){r=39;break}}else r=39}while(0);if((r|0)==39)e=e&1;return e|0}function Jv(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do{if((e|0)!=0&g>>>0>>0){m=g;h=0;b:while(1){g=a[m>>0]|0;l=g&255;if(l>>>0>f>>>0){g=m;h=42;break a}do{if(g<<24>>24>-1)g=m+1|0;else{if((g&255)<194){g=m;h=42;break a}if((g&255)<224){if((n-m|0)<2){g=m;h=42;break a}g=d[m+1>>0]|0;if((g&192|0)!=128){g=m;h=42;break a}if((g&63|l<<6&1984)>>>0>f>>>0){g=m;h=42;break a}g=m+2|0;break}if((g&255)<240){g=m;if((n-g|0)<3){g=m;h=42;break a}j=a[m+1>>0]|0;i=a[m+2>>0]|0;switch(l|0){case 224:{if((j&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((j&-32)<<24>>24!=-128){h=22;break b}break}default:if((j&-64)<<24>>24!=-128){h=24;break b}}g=i&255;if((g&192|0)!=128){g=m;h=42;break a}if(((j&255)<<6&4032|l<<12&61440|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+3|0;break}if((g&255)>=245){g=m;h=42;break a}g=m;if((e-h|0)>>>0<2|(n-g|0)<4){g=m;h=42;break a}k=a[m+1>>0]|0;i=a[m+2>>0]|0;j=a[m+3>>0]|0;switch(l|0){case 240:{if((k+112&255)>=48){h=32;break b}break}case 244:{if((k&-16)<<24>>24!=-128){h=34;break b}break}default:if((k&-64)<<24>>24!=-128){h=36;break b}}i=i&255;if((i&192|0)!=128){g=m;h=42;break a}g=j&255;if((g&192|0)!=128){g=m;h=42;break a}if(((k&255)<<12&258048|l<<18&1835008|i<<6&4032|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+4|0;h=h+1|0}}while(0);h=h+1|0;if(!(h>>>0>>0&g>>>0>>0)){h=42;break a}else m=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42}while(0);if((h|0)==42)g=g-b|0;return g|0}function Kv(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do{if((k|0)==4){b=c[e>>2]|0;if(b>>>0>>0)while(1){j=c[b>>2]|0;if(j>>>0>i>>>0|(j&-2048|0)==55296){b=2;break a}do{if(j>>>0>=128){if(j>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}b=c[h>>2]|0;g=l-b|0;if(j>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=j}}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b;if(b>>>0>=d>>>0){b=0;break}}else b=0}}while(0);return b|0}function Lv(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;k=e;if((((k-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0){c[f>>2]=b+3;g=c[i>>2]|0;p=k}else p=k}else p=e;k=c[f>>2]|0;b=k>>>0>>0;a:do{if(b&g>>>0>>0)while(1){b=a[k>>0]|0;o=b&255;do{if(b<<24>>24>-1){if(o>>>0>j>>>0){b=2;break a}c[g>>2]=o;c[f>>2]=k+1}else{if((b&255)<194){b=2;break a}if((b&255)<224){if((p-k|0)<2){b=1;break a}b=d[k+1>>0]|0;if((b&192|0)!=128){b=2;break a}b=b&63|o<<6&1984;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+2;break}if((b&255)<240){if((p-k|0)<3){b=1;break a}l=a[k+1>>0]|0;b=a[k+2>>0]|0;switch(o|0){case 224:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case 237:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}b=b&255;if((b&192|0)!=128){b=2;break a}b=(l&255)<<6&4032|o<<12&61440|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+3;break}if((b&255)>=245){b=2;break a}if((p-k|0)<4){b=1;break a}n=a[k+1>>0]|0;b=a[k+2>>0]|0;l=a[k+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){b=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){b=2;break a}break}default:if((n&-64)<<24>>24!=-128){b=2;break a}}m=b&255;if((m&192|0)!=128){b=2;break a}b=l&255;if((b&192|0)!=128){b=2;break a}b=(n&255)<<12&258048|o<<18&1835008|m<<6&4032|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+4}}while(0);g=(c[i>>2]|0)+4|0;c[i>>2]=g;k=c[f>>2]|0;b=k>>>0>>0;if(!(b&g>>>0>>0)){q=38;break}}else q=38}while(0);if((q|0)==38)b=b&1;return b|0}function Mv(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do{if((e|0)!=0&g>>>0>>0){l=g;m=0;b:while(1){g=a[l>>0]|0;k=g&255;do{if(g<<24>>24>-1){if(k>>>0>f>>>0){g=l;h=42;break a}g=l+1|0}else{if((g&255)<194){g=l;h=42;break a}if((g&255)<224){if((n-l|0)<2){g=l;h=42;break a}g=d[l+1>>0]|0;if((g&192|0)!=128){g=l;h=42;break a}if((g&63|k<<6&1984)>>>0>f>>>0){g=l;h=42;break a}g=l+2|0;break}if((g&255)<240){g=l;if((n-g|0)<3){g=l;h=42;break a}i=a[l+1>>0]|0;h=a[l+2>>0]|0;switch(k|0){case 224:{if((i&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((i&-32)<<24>>24!=-128){h=22;break b}break}default:if((i&-64)<<24>>24!=-128){h=24;break b}}g=h&255;if((g&192|0)!=128){g=l;h=42;break a}if(((i&255)<<6&4032|k<<12&61440|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+3|0;break}if((g&255)>=245){g=l;h=42;break a}g=l;if((n-g|0)<4){g=l;h=42;break a}j=a[l+1>>0]|0;h=a[l+2>>0]|0;i=a[l+3>>0]|0;switch(k|0){case 240:{if((j+112&255)>=48){h=32;break b}break}case 244:{if((j&-16)<<24>>24!=-128){h=34;break b}break}default:if((j&-64)<<24>>24!=-128){h=36;break b}}h=h&255;if((h&192|0)!=128){g=l;h=42;break a}g=i&255;if((g&192|0)!=128){g=l;h=42;break a}if(((j&255)<<12&258048|k<<18&1835008|h<<6&4032|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+4|0}}while(0);m=m+1|0;if(!(m>>>0>>0&g>>>0>>0)){h=42;break a}else l=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42}while(0);if((h|0)==42)g=g-b|0;return g|0}function Nv(a){a=a|0;Im(45196);Im(45184);Im(45172);Im(45160);Im(45148);Im(45136);Im(45124);Im(45112);Im(45100);Im(45088);Im(45076);Im(45064);Im(45052);Im(45040);return}function Ov(a){a=a|0;Wm(45368);Wm(45356);Wm(45344);Wm(45332);Wm(45320);Wm(45308);Wm(45296);Wm(45284);Wm(45272);Wm(45260);Wm(45248);Wm(45236);Wm(45224);Wm(45212);return}function Pv(a){a=a|0;Im(46e3);Im(45988);Im(45976);Im(45964);Im(45952);Im(45940);Im(45928);Im(45916);Im(45904);Im(45892);Im(45880);Im(45868);Im(45856);Im(45844);Im(45832);Im(45820);Im(45808);Im(45796);Im(45784);Im(45772);Im(45760);Im(45748);Im(45736);Im(45724);return}function Qv(a){a=a|0;Wm(46292);Wm(46280);Wm(46268);Wm(46256);Wm(46244);Wm(46232);Wm(46220);Wm(46208);Wm(46196);Wm(46184);Wm(46172);Wm(46160);Wm(46148);Wm(46136);Wm(46124);Wm(46112);Wm(46100);Wm(46088);Wm(46076);Wm(46064);Wm(46052);Wm(46040);Wm(46028);Wm(46016);return}function Rv(a){a=a|0;Im(47104);Im(47092);Im(47080);Im(47068);Im(47056);Im(47044);Im(47032);Im(47020);Im(47008);Im(46996);Im(46984);Im(46972);Im(46960);Im(46948);Im(46936);Im(46924);Im(46912);Im(46900);Im(46888);Im(46876);Im(46864);Im(46852);Im(46840);Im(46828);return}function Sv(a){a=a|0;Wm(47396);Wm(47384);Wm(47372);Wm(47360);Wm(47348);Wm(47336);Wm(47324);Wm(47312);Wm(47300);Wm(47288);Wm(47276);Wm(47264);Wm(47252);Wm(47240);Wm(47228);Wm(47216);Wm(47204);Wm(47192);Wm(47180);Wm(47168);Wm(47156);Wm(47144);Wm(47132);Wm(47120);return}function Tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;g=c[a+8>>2]|0;d=c[a+4>>2]|0;if(g-d>>2>>>0>>0){e=c[a>>2]|0;h=d-e>>2;f=h+b|0;if(f>>>0>1073741823)$i(a);d=g-e|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?f:d}else d=1073741823;Vv(j,d,h,a+16|0);h=j+8|0;g=c[h>>2]|0;iw(g|0,0,b<<2|0)|0;c[h>>2]=g+(b<<2);Wv(a,j);Xv(j)}else Uv(a,b);i=k;return}function Uv(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Vv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[b+12>>2]=0;c[b+16>>2]=f;do{if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=bj(d<<2)|0;break}}else f=0}while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[b+12>>2]=f+(d<<2);return}function Wv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;g=a+4|0;d=b+4|0;f=(c[g>>2]|0)-e|0;h=(c[d>>2]|0)+(0-(f>>2)<<2)|0;c[d>>2]=h;lw(h|0,e|0,f|0)|0;f=c[a>>2]|0;c[a>>2]=c[d>>2];c[d>>2]=f;f=b+8|0;e=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=e;f=a+8|0;a=b+12|0;e=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=e;c[b>>2]=c[d>>2];return}function Xv(b){b=b|0;var d=0,e=0,f=0;e=c[b+4>>2]|0;f=b+8|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do{d=d+-4|0}while((d|0)!=(e|0));c[f>>2]=d}e=c[b>>2]|0;do{if(e){d=c[b+16>>2]|0;if((d|0)==(e|0)){a[d+112>>0]=0;break}else{cj(e);break}}}while(0);return}function Yv(b,d){b=b|0;d=d|0;var e=0;if(d>>>0>1073741823)$i(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=bj(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function Zv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do{if((a|0)!=(b|0)){f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}}while(0);i=j;return+e}function _v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do{if((a|0)!=(b|0)){f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}}while(0);i=j;return+e}function $v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do{if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{f=ck()|0;g=c[f>>2]|0;c[f>>2]=0;e=+gl(a,h,Xo()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}}while(0);i=j;return+e}function aw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;f=0;b=0;break}g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;b=Xj(b,j,f,Xo()|0)|0;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(d|0)){c[e>>2]=4;f=0;b=0;break}if((f|0)==34){c[e>>2]=4;f=-1;b=-1}else f=D}else{c[e>>2]=4;f=0;b=0}}while(0);D=f;i=k;return b|0}function bw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}}while(0);i=l;return b|0}function cw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}}while(0);i=l;return b|0}function dw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do{if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=ck()|0;j=c[h>>2]|0;c[h>>2]=0;b=Xj(b,k,f,Xo()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==34){c[e>>2]=4;b=-1;break}else{b=b&65535;break}}else{c[e>>2]=4;b=0}}while(0);i=l;return b|0}function ew(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do{if((a|0)!=(b|0)){g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;a=Yj(a,j,e,Xo()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;e=0;a=0;break}if((f|0)==34){c[d>>2]=4;j=(e|0)>0|(e|0)==0&a>>>0>0;D=j?2147483647:-2147483648;i=k;return(j?-1:0)|0}}else{c[d>>2]=4;e=0;a=0}}while(0);D=e;i=k;return a|0}function fw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do{if((a|0)==(b|0)){c[d>>2]=4;a=0}else{g=ck()|0;h=c[g>>2]|0;c[g>>2]=0;a=Yj(a,j,e,Xo()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;a=0;break}do{if((f|0)==34){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}}while(0);a=-2147483648}}while(0);i=k;return a|0}function gw(){}function hw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return(D=d,a-c>>>0|0)|0}function iw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function jw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return(D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function kw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function lw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Wa(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function mw(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else lw(b,c,d)|0;return b|0}function ow(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function pw(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)>>0]|0)+24|0}function qw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return(D=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=hw(j^a,i^b,j,i)|0;g=D;a=f^j;b=e^i;return hw((ww(h,g,hw(f^c,e^d,f,e)|0,D,0)|0)^a,D^b,a,b)|0}function sw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=hw(h^a,g^b,h,g)|0;b=D;ww(a,b,hw(l^d,k^e,l,k)|0,D,j)|0;e=hw(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=D;i=f;return(D=d,e)|0}function tw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=qw(e,f)|0;a=D;return(D=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function uw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ww(a,b,c,d,0)|0}function vw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;ww(a,b,d,e,f)|0;i=g;return(D=c[f+4>>2]|0,c[f>>2]|0)|0}function ww(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return(D=n,f)|0}else{if(!g){n=0;f=0;return(D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return(D=n,f)|0}}g=(i|0)==0;do{if(h){if(!g){g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return(D=n,f)|0}g=h-1|0;if(g&h){i=(ba(h|0)|0)+33-(ba(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return(D=o,p)|0}else{p=pw(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return(D=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return(D=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return(D=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((pw(i|0)|0)>>>0);return(D=o,p)|0}g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return(D=o,p)|0}}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=jw(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;hw(k,d,e,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=hw(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return(D=o,p)|0}function xw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return yb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function yw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;zb[a&15](b|0,c|0,d|0,e|0,f|0)}function zw(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;return Ab[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function Aw(a,b){a=a|0;b=b|0;Bb[a&255](b|0)}function Bw(a,b,c){a=a|0;b=b|0;c=c|0;Cb[a&127](b|0,c|0)}function Cw(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 Db[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Dw(a,b){a=a|0;b=b|0;return Eb[a&127](b|0)|0}function Ew(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;return Fb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function Fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gb[a&63](b|0,c|0,d|0)|0}function Gw(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){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;o=o|0;p=p|0;Hb[a&3](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)}function Hw(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;Ib[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function Iw(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;Jb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Jw(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;Kb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Kw(a,b,c){a=a|0;b=b|0;c=c|0;return Lb[a&63](b|0,c|0)|0}function Lw(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 Mb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Mw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return+Nb[a&3](b|0,c|0,d|0)}function Nw(a){a=a|0;return Ob[a&15]()|0}function Ow(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Pb[a&31](b|0,c|0,d|0,e|0)|0}function Pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qb[a&15](b|0,c|0,d|0)}function Qw(a){a=a|0;Rb[a&7]()}function Rw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Sb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Sw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Tb[a&7](b|0,c|0,d|0,e|0,+f)|0}function Tw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ub[a&63](b|0,c|0,d|0,e|0)}function Uw(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;ca(0);return 0}function Vw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1)}function Ww(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ca(2);return 0}function Xw(a){a=a|0;ca(3)}function Yw(a,b){a=a|0;b=b|0;ca(4)}function Zw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(5);return 0}function _w(a){a=a|0;ca(6);return 0}function $w(a){a=a|0;return cb(a|0)|0}function ax(a){a=a|0;return rb(a|0)|0}function bx(a){a=a|0;return hb(a|0)|0}function cx(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;ca(7);return 0}function dx(a,b,c){a=a|0;b=b|0;c=c|0;ca(8);return 0}function ex(a,b,c,d,e,f,g,h,i,j,k,l,m,n,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;n=n|0;o=o|0;ca(9)}function fx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(10)}function gx(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;ca(11)}function hx(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;ca(12)}function ix(a,b){a=a|0;b=b|0;ca(13);return 0}function jx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(14);return 0}function kx(a,b,c){a=a|0;b=b|0;c=c|0;ca(15);return 0.0}function lx(){ca(16);return 0}function mx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(17);return 0}function nx(a,b,c){a=a|0;b=b|0;c=c|0;ca(18)}function ox(a,b,c){a=a|0;b=b|0;c=c|0;lb(a|0,b|0,c|0)}function px(){ca(19)}function qx(){pb()}function rx(){Xa()}function sx(){mb()}function tx(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;ca(20);return 0}function ux(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ca(21);return 0}function vx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(22)}function di(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;Ei(k,255,0);l=b+152|0;if(((c[k+4>>2]|0)==(c[l>>2]|0)?(c[k+8>>2]|0)==(c[b+156>>2]|0):0)?(c[k+12>>2]|0)==(c[b+160>>2]|0):0){l=c[8900]|0;c[b+4580>>2]=l+(((c[8901]|0)-l|0)>>>1);i=m;return}e=b+4584|0;f=b+4588|0;g=c[f>>2]|0;d=c[e>>2]|0;h=g-d|0;if(h>>>0>=512){if(h>>>0>512?(j=d+512|0,(g|0)!=(j|0)):0)c[f>>2]=j}else{ie(e,512-h|0);d=c[e>>2]|0}k=b+4580|0;c[k>>2]=d+256;j=b+160|0;g=b+156|0;h=-256;while(1){d=c[j>>2]|0;if((h|0)>(0-d|0)){e=c[g>>2]|0;if((h|0)>(0-e|0)){f=c[l>>2]|0;if((h|0)>(0-f|0))if((h|0)>=0){if((h|0)<1){a[(c[k>>2]|0)+h>>0]=0;h=1;continue}if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1}else d=-1;else d=-2}else d=-3}else d=-4;a[(c[k>>2]|0)+h>>0]=d;h=h+1|0;if((h|0)==256)break}i=m;return}function ei(a){a=a|0;var b=0,d=0;c[a>>2]=35660;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}a=a+88|0;b=c[a>>2]|0;c[a>>2]=0;if(!b)return;Bb[c[(c[b>>2]|0)+4>>2]&255](b);return}function fi(a){a=a|0;var b=0,d=0;c[a>>2]=35660;b=c[a+4608>>2]|0;if(b){d=a+4612|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}c[a>>2]=36736;b=c[a+92>>2]|0;if(b){d=a+96|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b)}d=a+88|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){cj(a);return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);cj(a);return}function gi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+352|0;x=w+328|0;y=w+192|0;e=w+343|0;f=w+342|0;g=w+341|0;h=w+340|0;r=w+176|0;k=w+168|0;l=w+160|0;m=w+152|0;v=w;t=w+136|0;if((c[b+28>>2]|0)!=0?(c[b+20>>2]|0)!=1:0){s=b+4|0;u=b+32|0;j=c[u>>2]|0;if(!j){b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[e>>0]|0;Aa(44,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}b=c[b+12>>2]|0;if((b|0)==8)switch(j|0){case 1:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[f>>0]|0;Aa(45,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[g>>0]|0;Aa(46,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(48)|0;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];a[x>>0]=a[h>>0]|0;Aa(47,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=y+56|0;g=y+4|0;c[y>>2]=36160;c[j>>2]=36180;o=0;ia(62,y+56|0,g|0);w=o;o=0;if(w&1){z=Na()|0;fn(j);Ya(z|0)}c[y+128>>2]=0;c[y+132>>2]=-1;c[y>>2]=36200;c[y+56>>2]=36220;o=0;ha(180,g|0);w=o;o=0;do{if(w&1)b=Na()|0;else{c[g>>2]=36236;h=y+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[y+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);w=o;o=0;if(w&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,y|0,49007,21)|0;x=o;o=0;do{if((!(x&1)?(o=0,p=ra(36,b|0,c[u>>2]|0)|0,x=o,o=0,!(x&1)):0)?(o=0,ma(28,p|0,50997,18)|0,x=o,o=0,!(x&1)):0){f=Ma(16)|0;o=0;ia(64,r|0,g|0);x=o;o=0;if(!(x&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,r|0);x=o;o=0;if(x&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(r);if(!e)break}else b=Na()|0;La(f|0)}else z=34}while(0);if((z|0)==34)b=Na()|0;c[y>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}if((b|0)<=8){b=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,b|0,8,35648);z=o;o=0;if(!(z&1))lb(b|0,824,96);z=Na()|0;La(b|0);Ya(z|0)}e=16-b|0;switch(j|0){case 1:{b=bj(60)|0;c[k>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];Aa(41,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 2:{b=bj(60)|0;c[l>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];Aa(42,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}case 3:{b=bj(60)|0;c[m>>2]=e;o=0;c[y>>2]=c[d>>2];c[y+4>>2]=c[d+4>>2];c[y+8>>2]=c[d+8>>2];c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];Aa(43,b|0,y|0,s|0,x|0);z=o;o=0;if(!(z&1)){z=b;i=w;return z|0}z=Na()|0;cj(b);Ya(z|0)}default:{j=v+56|0;g=v+4|0;c[v>>2]=36160;c[j>>2]=36180;o=0;ia(62,v+56|0,g|0);y=o;o=0;if(y&1){z=Na()|0;fn(j);Ya(z|0)}c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=36200;c[v+56>>2]=36220;o=0;ha(180,g|0);y=o;o=0;do{if(y&1)b=Na()|0;else{c[g>>2]=36236;h=v+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[v+52>>2]=16;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;o=0;ia(63,g|0,x|0);y=o;o=0;if(y&1){b=Na()|0;Im(x);Im(h);nn(g);break}Im(x);o=0;b=ma(28,v|0,49007,21)|0;y=o;o=0;do{if((!(y&1)?(o=0,q=ra(36,b|0,c[u>>2]|0)|0,y=o,o=0,!(y&1)):0)?(o=0,ma(28,q|0,50997,18)|0,y=o,o=0,!(y&1)):0){f=Ma(16)|0;o=0;ia(64,t|0,g|0);y=o;o=0;if(!(y&1)){if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;Aa(36,f|0,9,35648,t|0);y=o;o=0;if(y&1)e=1;else{o=0;wa(6,f|0,824,96);o=0;e=0}b=Na()|0;Im(t);if(!e)break}else b=Na()|0;La(f|0)}else z=64}while(0);if((z|0)==64)b=Na()|0;c[v>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(j);z=b;Ya(z|0)}}while(0);z=b;fn(j);Ya(z|0)}}}e=c[d+4>>2]|0;f=bj(16)|0;b=c[b+16>>2]|0;if(!e){z=c[d>>2]|0;c[f>>2]=36132;c[f+4>>2]=z;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}else{c[f>>2]=36108;c[f+4>>2]=e;c[f+8>>2]=1;c[f+12>>2]=b;z=f;i=w;return z|0}return 0}function hi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;m=k;Ei(m,c[d+128>>2]|0,c[d+136>>2]|0);l=c[e+4>>2]|0;j=c[e+8>>2]|0;j=(j|0)==0?c[m+8>>2]|0:j;h=c[e+12>>2]|0;h=(h|0)==0?c[m+12>>2]|0:h;f=c[e+16>>2]|0;g=c[m+16>>2]|0;c[d+176>>2]=(l|0)==0?c[m+4>>2]|0:l;c[d+180>>2]=j;c[d+184>>2]=h;pi(d);h=d+132|0;e=(c[h>>2]|0)+32|0;e=(e|0)<128?2:(e|0)/64|0;j=0;do{c[d+188+(j*12|0)>>2]=e;c[d+188+(j*12|0)+4>>2]=0;b[d+188+(j*12|0)+8>>1]=0;b[d+188+(j*12|0)+10>>1]=1;j=j+1|0}while((j|0)!=365);l=(c[h>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;m=((f|0)==0?g:f)&255;c[d+4568>>2]=l;c[d+4572>>2]=0;a[d+4576>>0]=m;a[d+4577>>0]=1;a[d+4578>>0]=0;c[d+4580>>2]=l;c[d+4584>>2]=1;a[d+4588>>0]=m;a[d+4589>>0]=1;a[d+4590>>0]=0;c[d+4592>>2]=0;i=k;return}function ii(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=b+88|0;h=c[d>>2]|0;c[d>>2]=0;d=c[i>>2]|0;c[i>>2]=h;if(d)Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=f+4|0;h=c[i>>2]|0;a[b+4620>>0]=g&1;d=b+156|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];Wd(b,f);ji(b);d=c[b+116>>2]|0;b=c[b+112>>2]|0;while(1){g=d+-1|0;e=(a[g>>0]|0)==-1?7:8;if((b|0)<(e|0))break;else{d=g;b=b-e|0}}d=d-h|0;g=c[i>>2]|0;if(!g)return;c[i>>2]=g+d;f=f+8|0;c[f>>2]=(c[f>>2]|0)-d;return}function ji(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+32|0;C=A+12|0;z=A;k=b+172|0;y=(c[k>>2]|0)+4|0;if((c[b+28>>2]|0)==1)l=c[b+20>>2]|0;else l=1;d=$(l<<1,y)|0;c[C>>2]=0;D=C+4|0;c[D>>2]=0;c[C+8>>2]=0;a:do{if(d){if(!((d|0)<0?(o=0,ha(178,C|0),B=o,o=0,B&1):0))x=6;if((x|0)==6?(o=0,e=ka(67,d|0)|0,B=o,o=0,!(B&1)):0){c[D>>2]=e;c[C>>2]=e;c[C+8>>2]=e+d;while(1){a[e>>0]=0;e=(c[D>>2]|0)+1|0;c[D>>2]=e;d=d+-1|0;if(!d)break a}}e=Na()|0;d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}}while(0);c[z>>2]=0;B=z+4|0;c[B>>2]=0;c[z+8>>2]=0;do{if(!l)x=19;else{if(!(l>>>0>1073741823?(o=0,ha(178,z|0),w=o,o=0,w&1):0))x=17;if((x|0)==17?(f=l<<2,o=0,g=ka(67,f|0)|0,w=o,o=0,!(w&1)):0){c[z>>2]=g;x=g+(l<<2)|0;c[z+8>>2]=x;iw(g|0,0,f|0)|0;c[B>>2]=x;x=19;break}e=Na()|0;d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}}while(0);if((x|0)==19){m=b+8|0;d=c[m>>2]|0;b:do{if((d|0)>0){n=b+4596|0;p=$(l,y)|0;q=p+1|0;r=b+4600|0;s=b+160|0;t=b+168|0;u=b+164|0;v=b+156|0;w=b+88|0;j=b+4592|0;if((l|0)>0)h=0;else{h=0;while(1){g=c[C>>2]|0;e=g+1|0;c[n>>2]=e;f=g+q|0;c[r>>2]=f;if(!(h&1))e=q;else{c[n>>2]=f;c[r>>2]=e;e=1}l=c[s>>2]|0;if((l|0)<=(h|0)?(h|0)<((c[t>>2]|0)+l|0):0){l=c[w>>2]|0;o=0;Aa(c[(c[l>>2]|0)+8>>2]|0,l|0,g+(e+((c[v>>2]|0)-p))|0,c[u>>2]|0,y|0);l=o;o=0;if(l&1)break;d=c[m>>2]|0}h=h+1|0;if((h|0)>=(d|0)){x=50;break b}}e=Na()|0;break}c:while(1){e=c[C>>2]|0;d=e+1|0;c[n>>2]=d;e=e+q|0;c[r>>2]=e;if(h&1){c[n>>2]=e;c[r>>2]=d;d=e}g=c[z>>2]|0;e=d;f=0;do{c[j>>2]=c[g+(f<<2)>>2];x=c[k>>2]|0;a[e+x>>0]=a[e+(x+-1)>>0]|0;a[(c[r>>2]|0)+-1>>0]=a[c[n>>2]>>0]|0;o=0;ia(83,b|0,0);x=o;o=0;if(x&1){x=38;break c}g=c[z>>2]|0;c[g+(f<<2)>>2]=c[j>>2];e=(c[n>>2]|0)+y|0;c[n>>2]=e;d=c[r>>2]|0;c[r>>2]=d+y;f=f+1|0}while((f|0)<(l|0));x=c[s>>2]|0;if(((x|0)<=(h|0)?(h|0)<((c[t>>2]|0)+x|0):0)?(x=c[w>>2]|0,o=0,Aa(c[(c[x>>2]|0)+8>>2]|0,x|0,d+(y+((c[v>>2]|0)-p))|0,c[u>>2]|0,y|0),x=o,o=0,x&1):0){x=30;break}h=h+1|0;if((h|0)>=(c[m>>2]|0)){x=50;break b}}if((x|0)==30){e=Na()|0;break}else if((x|0)==38){e=Na()|0;break}}else x=50}while(0);do{if((x|0)==50){o=0;ha(183,b|0);b=o;o=0;if(b&1){e=Na()|0;break}d=c[z>>2]|0;e=d;if(d){f=c[B>>2]|0;if((f|0)!=(d|0))c[B>>2]=f+(~((f+-4-e|0)>>>2)<<2);cj(d)}d=c[C>>2]|0;if(!d){i=A;return}if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);i=A;return}}while(0);d=c[z>>2]|0;f=d;if(d){g=c[B>>2]|0;if((g|0)!=(d|0))c[B>>2]=g+(~((g+-4-f|0)>>>2)<<2);cj(d)}}d=c[C>>2]|0;if(!d)Ya(e|0);if((c[D>>2]|0)!=(d|0))c[D>>2]=d;cj(d);Ya(e|0)}function ki(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=b+4596|0;f=c[p>>2]|0;t=b+172|0;e=c[t>>2]|0;if((e|0)<=0)return;q=b+4600|0;r=b+4604|0;s=b+4592|0;k=f;i=d[f+-1>>0]|0;f=d[f>>0]|0;o=0;while(1){m=c[q>>2]|0;j=a[m+(o+-1)>>0]|0;n=j&255;h=o+1|0;g=d[k+h>>0]|0;l=c[r>>2]|0;k=f-i|0;i=i-n|0;l=((((a[l+(g-f)>>0]|0)*9|0)+(a[l+k>>0]|0)|0)*9|0)+(a[l+i>>0]|0)|0;m=m+o|0;if(!l){e=mi(b,j,m,e-o|0)|0;f=e+o|0;if((f|0)!=(c[t>>2]|0)){n=ni(b,n,d[(c[p>>2]|0)+f>>0]|0)|0;a[(c[q>>2]|0)+f>>0]=n;n=c[s>>2]|0;c[s>>2]=(n|0)<1?0:n+-1|0;e=e+1|0}h=e+o|0;g=c[p>>2]|0;f=d[g+(h+-1)>>0]|0;g=d[g+h>>0]|0}else{e=f-n>>31;if((e^i|0)<0)e=f;else e=n+((e^k|0)<0?0:k)|0;n=li(b,l,d[m>>0]|0,e,0)|0;a[(c[q>>2]|0)+o>>0]=n}e=c[t>>2]|0;if((e|0)<=(h|0))break;k=c[p>>2]|0;i=f;f=g;o=h}return}function li(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0;t=e>>31;l=(t^e)-t|0;r=d+188+(l*12|0)+10|0;f=b[r>>1]|0;q=d+188+(l*12|0)|0;h=c[q>>2]|0;if((f|0)<(h|0))if((f<<1|0)<(h|0))if((f<<2|0)<(h|0))if((f<<3|0)<(h|0))if((f<<4|0)<(h|0)){e=5;while(1)if((f<>1]^t)-t+g|0;s=d+128|0;h=c[s>>2]|0;if((f&h|0)==(f|0))m=f;else m=h&~(f>>31);f=d+112|0;if((c[f>>2]|0)<8)ge(d);h=d+108|0;g=c[h>>2]|0;i=g>>>24;j=c[2832+(e<<11)+(i<<3)+4>>2]|0;if(!j){k=c[d+148>>2]|0;h=c[d+140>>2]|0;f=Jg(d)|0;if((f|0)<(k+-1-h|0)){if(e)f=(Kg(d,e)|0)+(f<>31^f>>1;if((((f|0)>-1?f:0-f|0)|0)>65535){f=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,f|0,5,35648);d=o;o=0;if(d&1){d=Na()|0;La(f|0);Ya(d|0)}else lb(f|0,824,96)}}else{c[f>>2]=(c[f>>2]|0)-j;c[h>>2]=g<>2]|0}k=d+136|0;g=c[k>>2]|0;if(!e){if(!g)h=(c[d+188+(l*12|0)+4>>2]<<1)+-1+(b[r>>1]|0)>>31;else h=0;j=h^f}else j=f;e=c[d+152>>2]|0;h=(c[q>>2]|0)+((j|0)>-1?j:0-j|0)|0;i=d+188+(l*12|0)+4|0;f=(c[i>>2]|0)+($(g<<1|1,j)|0)|0;g=b[r>>1]|0;if((g|0)==(e|0)){h=h>>1;f=f>>1;g=e>>1}c[q>>2]=h;e=g+1|0;b[r>>1]=e;h=e+f|0;if((h|0)>=1){if((f|0)>0){f=f-e|0;r=b[p>>1]|0;b[p>>1]=(r<<16>>16<127&1)+(r&65535);f=(f|0)>0?0:f}}else{f=b[p>>1]|0;b[p>>1]=(f&65535)-(f<<16>>16>-128&1);f=(h|0)>(~g|0)?h:0-g|0}c[i>>2]=f;e=c[k>>2]|0;g=e<<1|1;h=($(g,(j^t)-t|0)|0)+m|0;if((h|0)>=(0-e|0)){f=c[s>>2]|0;if((f+e|0)<(h|0))h=h-($(c[d+132>>2]|0,g)|0)|0}else{h=($(c[d+132>>2]|0,g)|0)+h|0;f=c[s>>2]|0}if((h&f|0)==(h|0)){d=h;d=d&255;return d|0}d=f&~(h>>31);d=d&255;return d|0}function mi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,p=0,q=0;j=b+112|0;k=b+108|0;l=b+4592|0;g=c[j>>2]|0;h=0;while(1){if((g|0)<1){ge(b);g=c[j>>2]|0}i=c[k>>2]|0;g=g+-1|0;c[j>>2]=g;c[k>>2]=i<<1;if((i|0)>=0){m=8;break}i=c[l>>2]|0;p=1<>2];q=f-h|0;q=(p|0)<(q|0)?p:q;h=q+h|0;if((q|0)==(p|0))c[l>>2]=(i|0)>30?31:i+1|0;if((h|0)==(f|0)){g=f;break}}if((m|0)==8)if((h|0)!=(f|0)){g=c[l>>2]|0;if((g+-4|0)>>>0<28)g=Kg(b,c[36476+(g<<2)>>2]|0)|0;else g=0;g=g+h|0;if((g|0)>(f|0)){g=Ma(16)|0;if((a[8]|0)==0?(Ha(8)|0)!=0:0){kb(72,35648,n|0)|0;Pa(8)}o=0;wa(7,g|0,5,35648);q=o;o=0;if(q&1){q=Na()|0;La(g|0);Ya(q|0)}else lb(g|0,824,96)}}else g=f;if((g|0)<=0)return g|0;iw(e|0,d|0,g|0)|0;return g|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=b-d|0;h=a+128|0;e=a+136|0;if((((g|0)>-1?g:0-g|0)|0)>(c[e>>2]|0)){b=$(oi(a,a+4568|0)|0,d-b>>31|1)|0;f=c[e>>2]|0;g=f<<1|1;b=($(b,g)|0)+d|0;if((b|0)>=(0-f|0)){e=c[h>>2]|0;if((e+f|0)<(b|0))b=b-($(c[a+132>>2]|0,g)|0)|0}else{b=($(c[a+132>>2]|0,g)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&255;return a|0}a=e&~(b>>31);a=a&255;return a|0}else{d=oi(a,a+4580|0)|0;g=c[e>>2]|0;f=g<<1|1;b=($(f,d)|0)+b|0;if((b|0)>=(0-g|0)){e=c[h>>2]|0;if((e+g|0)<(b|0))b=b-($(c[a+132>>2]|0,f)|0)|0}else{b=($(c[a+132>>2]|0,f)|0)+b|0;e=c[h>>2]|0}if((b&e|0)==(b|0)){a=b;a=a&255;return a|0}a=e&~(b>>31);a=a&255;return a|0}return 0}function oi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e+9|0;f=d[m>>0]|0;i=e+4|0;h=($(f>>>1,c[i>>2]|0)|0)+(c[e>>2]|0)|0;if((f|0)<(h|0)){g=0;do{f=f<<1;g=g+1|0}while((f|0)<(h|0))}else g=0;j=c[b+148>>2]|0;k=c[36476+(c[b+4592>>2]<<2)>>2]|0;f=c[b+140>>2]|0;h=Jg(b)|0;do{if((h|0)<(j+-2-k-f|0))if(!g){g=c[i>>2]|0;b=g+h|0;f=b&1;b=(f+b|0)/2|0;l=8;break}else{k=(Kg(b,g)|0)+(h<>2]|0;h=k+g|0;j=h&1;f=j;i=1;h=(j+h|0)/2|0;break}else{h=(Kg(b,f)|0)+1|0;j=c[i>>2]|0;b=h+j|0;f=b&1;b=(f+b|0)/2|0;if(!g){g=j;l=8}else{k=h;i=1;h=b;g=j}}}while(0);if((l|0)==8){k=h;i=d[e+10>>0]<<1>>>0>=(d[m>>0]|0)>>>0;h=b}h=(f|0)!=0^i?h:0-h|0;if((h|0)<0){l=e+10|0;a[l>>0]=(d[l>>0]|0)+1}f=(k+1-g>>1)+(c[e>>2]|0)|0;c[e>>2]=f;g=a[m>>0]|0;if(g<<24>>24!=(a[e+8>>0]|0)){e=g;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}c[e>>2]=f>>1;l=(g&255)>>>1;a[m>>0]=l;e=e+10|0;a[e>>0]=(d[e>>0]|0)>>>1;e=l;e=e&255;e=e+1|0;e=e&255;a[m>>0]=e;return h|0}function pi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p;o=b+136|0;a:do{if(!(c[o>>2]|0)){e=c[b+128>>2]|0;d=b+144|0;if((((e|0)==((1<>2])+-1|0)?(Ei(f,e,0),(c[f+4>>2]|0)==(c[b+176>>2]|0)):0)?(c[f+8>>2]|0)==(c[b+180>>2]|0):0)?(c[f+12>>2]|0)==(c[b+184>>2]|0):0)switch(c[d>>2]|0){case 8:{o=c[8900]|0;c[b+4604>>2]=o+(((c[8901]|0)-o|0)>>>1);i=p;return}case 10:{o=c[8903]|0;c[b+4604>>2]=o+(((c[8904]|0)-o|0)>>>1);i=p;return}case 12:{o=c[8906]|0;c[b+4604>>2]=o+(((c[8907]|0)-o|0)>>>1);i=p;return}case 16:{o=c[8909]|0;c[b+4604>>2]=o+(((c[8910]|0)-o|0)>>>1);i=p;return}default:break a}}else d=b+144|0}while(0);n=1<>2];e=b+4608|0;f=n<<1;g=b+4612|0;h=c[g>>2]|0;d=c[e>>2]|0;j=h-d|0;if(f>>>0<=j>>>0){if(f>>>0>>0?(k=d+f|0,(h|0)!=(k|0)):0)c[g>>2]=k}else{ie(e,f-j|0);d=c[e>>2]|0}m=b+4604|0;c[m>>2]=d+n;d=0-n|0;if((n|0)<=(d|0)){i=p;return}k=b+184|0;l=b+180|0;j=b+176|0;h=d;do{d=c[k>>2]|0;if((h|0)>(0-d|0)){e=c[l>>2]|0;if((h|0)>(0-e|0)){f=c[j>>2]|0;if((h|0)>(0-f|0)){g=c[o>>2]|0;if((h|0)>=(0-g|0))if((g|0)<(h|0))if((f|0)<=(h|0))if((e|0)>(h|0))d=2;else d=(d|0)>(h|0)?3:4;else d=1;else d=0;else d=-1}else d=-2}else d=-3}else d=-4;a[(c[m>>2]|0)+h>>0]=d;h=h+1|0}while((h|0)!=(n|0));i=p;return}function qi(a){a=a|0;cj(a);return}function ri(a){a=a|0;return 50767}function si(a,b,c){a=a|0;b=b|0;c=c|0;Gm(a,50754,12);return}function ti(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+16|0;t=s;c[t>>2]=0;u=t+4|0;c[u>>2]=0;c[t+8>>2]=0;q=t+8|0;o=0;g=ka(67,1)|0;p=o;o=0;a:do{if((!(p&1)?(p=g+1|0,a[g>>0]=e,c[t>>2]=g,c[u>>2]=p,c[q>>2]=p,o=0,ia(84,t|0,d&65535|0),p=o,o=0,!(p&1)):0)?(o=0,ia(84,t|0,b&65535|0),p=o,o=0,!(p&1)):0){m=f&255;g=c[u>>2]|0;e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);p=o;o=0;if(p&1){r=52;break}b=c[t>>2]|0;e=c[q>>2]|0;d=b}l=d;g=e-l|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;e=c[u>>2]|0;k=e-l|0;if(!g){g=0;j=0}else r=12}else{k=c[u>>2]|0;g=2147483647;e=k;k=k-l|0;r=12}if((r|0)==12){o=0;j=ka(67,g|0)|0;p=o;o=0;if(p&1){r=52;break}}a[j+k>>0]=m;n=e-l|0;p=j+(k-n)|0;lw(p|0,d|0,n|0)|0;c[t>>2]=p;c[u>>2]=j+(k+1);c[q>>2]=j+g;if(b)cj(b)}else{a[g>>0]=m;c[u>>2]=(c[u>>2]|0)+1}b:do{if((f|0)>0){p=0;while(1){p=p+1|0;n=p&255;g=c[u>>2]|0;d=c[q>>2]|0;if(g>>>0>=d>>>0){b=c[t>>2]|0;e=b;j=g-e+1|0;if((j|0)<0){o=0;ha(178,t|0);m=o;o=0;if(m&1)break;b=c[t>>2]|0;e=b;d=c[q>>2]|0}m=b;g=d-m|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;d=c[u>>2]|0;k=d-m|0;if(!g){l=0;j=0}else r=25}else{k=c[u>>2]|0;g=2147483647;d=k;k=k-m|0;r=25}if((r|0)==25){r=0;o=0;j=ka(67,g|0)|0;l=o;o=0;if(l&1)break;else l=g}a[j+k>>0]=n;g=j+(k+1)|0;m=d-m|0;n=j+(k-m)|0;lw(n|0,b|0,m|0)|0;c[t>>2]=n;c[u>>2]=g;c[q>>2]=j+l;if(e){cj(e);g=c[u>>2]|0}}else{a[g>>0]=n;g=(c[u>>2]|0)+1|0;c[u>>2]=g}e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);n=o;o=0;if(n&1)break;b=c[t>>2]|0;e=c[q>>2]|0;d=b}m=d;g=e-m|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;j=c[u>>2]|0;k=j-m|0;if(!g){l=0;e=0}else r=36}else{k=c[u>>2]|0;g=2147483647;j=k;k=k-m|0;r=36}if((r|0)==36){r=0;o=0;e=ka(67,g|0)|0;n=o;o=0;if(n&1)break;else l=g}a[e+k>>0]=17;g=e+(k+1)|0;m=j-m|0;n=e+(k-m)|0;lw(n|0,d|0,m|0)|0;c[t>>2]=n;c[u>>2]=g;c[q>>2]=e+l;if(b){cj(b);g=c[u>>2]|0}}else{a[g>>0]=17;g=(c[u>>2]|0)+1|0;c[u>>2]=g}e=c[q>>2]|0;if(g>>>0>=e>>>0){d=c[t>>2]|0;b=d;j=g-b+1|0;if((j|0)<0){o=0;ha(178,t|0);n=o;o=0;if(n&1)break;b=c[t>>2]|0;e=c[q>>2]|0;d=b}l=d;g=e-l|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;e=c[u>>2]|0;k=e-l|0;if(!g){g=0;j=0}else r=48}else{k=c[u>>2]|0;g=2147483647;e=k;k=k-l|0;r=48}if((r|0)==48){r=0;o=0;j=ka(67,g|0)|0;n=o;o=0;if(n&1)break}a[j+k>>0]=0;m=e-l|0;n=j+(k-m)|0;lw(n|0,d|0,m|0)|0;c[t>>2]=n;c[u>>2]=j+(k+1);c[q>>2]=j+g;if(b)cj(b)}else{a[g>>0]=0;c[u>>2]=(c[u>>2]|0)+1}if((p|0)>=(f|0))break b}h=Na()|0;break a}}while(0);o=0;k=ka(67,20)|0;f=o;o=0;if(!(f&1)){c[k>>2]=36800;a[k+4>>0]=-9;b=k+8|0;c[b>>2]=0;j=k+12|0;c[j>>2]=0;e=k+16|0;c[e>>2]=0;g=c[u>>2]|0;f=c[t>>2]|0;d=g-f|0;do{if((g|0)!=(f|0)){if(!((d|0)<0?(o=0,ha(178,b|0),f=o,o=0,f&1):0))r=62;if((r|0)==62?(o=0,h=ka(67,d|0)|0,f=o,o=0,!(f&1)):0){c[j>>2]=h;c[b>>2]=h;c[e>>2]=h+d;g=c[t>>2]|0;e=c[u>>2]|0;if((g|0)==(e|0))break;do{a[h>>0]=a[g>>0]|0;h=(c[j>>2]|0)+1|0;c[j>>2]=h;g=g+1|0}while((g|0)!=(e|0));g=c[t>>2]|0;break}h=Na()|0;g=c[b>>2]|0;if(g){if((c[j>>2]|0)!=(g|0))c[j>>2]=g;cj(g)}cj(k);break a}}while(0);if(!g){i=s;return k|0}if((c[u>>2]|0)!=(g|0))c[u>>2]=g;cj(g);i=s;return k|0}else r=52}else r=52}while(0);if((r|0)==52)h=Na()|0;g=c[t>>2]|0;if(!g)Ya(h|0);if((c[u>>2]|0)!=(g|0))c[u>>2]=g;cj(g);Ya(h|0);return 0}function ui(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;u=i;i=i+32|0;r=u+28|0;w=u+16|0;t=u+4|0;s=u;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;p=bj(5)|0;c[w>>2]=p;q=w+8|0;c[q>>2]=p+5;a[p>>0]=74;a[p+1>>0]=70;a[p+2>>0]=73;a[p+3>>0]=70;a[p+4>>0]=0;c[x>>2]=p+5;o=0;ia(84,w|0,c[b>>2]&65535|0);p=o;o=0;a:do{if(!(p&1)){m=c[b+4>>2]&255;d=c[x>>2]|0;f=c[q>>2]|0;if(d>>>0>=f>>>0){g=c[w>>2]|0;h=g;j=d-h+1|0;if((j|0)<0){o=0;ha(178,w|0);p=o;o=0;if(p&1){v=43;break}h=c[w>>2]|0;f=c[q>>2]|0;g=h}l=g;d=f-l|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;f=c[x>>2]|0;k=f-l|0;if(!d){d=0;j=0}else v=10}else{k=c[x>>2]|0;d=2147483647;f=k;k=k-l|0;v=10}if((v|0)==10){o=0;j=ka(67,d|0)|0;p=o;o=0;if(p&1){v=43;break}}a[j+k>>0]=m;n=f-l|0;p=j+(k-n)|0;lw(p|0,g|0,n|0)|0;c[w>>2]=p;c[x>>2]=j+(k+1);c[q>>2]=j+d;if(h)cj(h)}else{a[d>>0]=m;c[x>>2]=(c[x>>2]|0)+1}o=0;ia(84,w|0,c[b+8>>2]&65535|0);p=o;o=0;if(!(p&1)?(o=0,ia(84,w|0,c[b+12>>2]&65535|0),p=o,o=0,!(p&1)):0){p=b+16|0;n=c[p>>2]&255;d=c[x>>2]|0;g=c[q>>2]|0;if(d>>>0>=g>>>0){h=c[w>>2]|0;f=h;j=d-f+1|0;if((j|0)<0){o=0;ha(178,w|0);m=o;o=0;if(m&1){v=43;break}h=c[w>>2]|0;f=h;g=c[q>>2]|0}m=h;d=g-m|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;j=c[x>>2]|0;k=j-m|0;if(!d){l=0;g=0}else v=23}else{k=c[x>>2]|0;d=2147483647;j=k;k=k-m|0;v=23}if((v|0)==23){o=0;g=ka(67,d|0)|0;l=o;o=0;if(l&1){v=43;break}else l=d}a[g+k>>0]=n;d=g+(k+1)|0;m=j-m|0;n=g+(k-m)|0;lw(n|0,h|0,m|0)|0;c[w>>2]=n;c[x>>2]=d;c[q>>2]=g+l;if(f){cj(f);d=c[x>>2]|0}}else{a[d>>0]=n;d=(c[x>>2]|0)+1|0;c[x>>2]=d}n=b+20|0;m=c[n>>2]&255;f=c[q>>2]|0;if(d>>>0>=f>>>0){g=c[w>>2]|0;h=g;j=d-h+1|0;if((j|0)<0){o=0;ha(178,w|0);l=o;o=0;if(l&1){v=43;break}h=c[w>>2]|0;f=c[q>>2]|0;g=h}l=g;d=f-l|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?j:d;f=c[x>>2]|0;k=f-l|0;if(!d){d=0;j=0}else v=34}else{k=c[x>>2]|0;d=2147483647;f=k;k=k-l|0;v=34}if((v|0)==34){o=0;j=ka(67,d|0)|0;y=o;o=0;if(y&1){v=43;break}}a[j+k>>0]=m;m=f-l|0;y=j+(k-m)|0;lw(y|0,g|0,m|0)|0;c[w>>2]=y;c[x>>2]=j+(k+1);c[q>>2]=j+d;if(h)cj(h)}else{a[d>>0]=m;c[x>>2]=(c[x>>2]|0)+1}d=c[p>>2]|0;do{if((d|0)>0){if(!(c[b+24>>2]|0)){c[s>>2]=c[x>>2];y=0+($(d*3|0,c[n>>2]|0)|0)|0;o=0;c[r>>2]=c[s>>2];va(15,w|0,r|0,0,y|0)|0;y=o;o=0;if(y&1){v=43;break a}else break}f=Ma(16)|0;o=0;wa(5,t|0,50792,57);y=o;o=0;if(!(y&1)){o=0;d=ua(1)|0;y=o;o=0;if(!(y&1)?(o=0,Aa(36,f|0,1,d|0,t|0),y=o,o=0,!(y&1)):0){o=0;wa(6,f|0,824,96);o=0;e=0}else e=1;d=Na()|0;Im(t);if(!e){e=d;break a}}else d=Na()|0;La(f|0);e=d;break a}}while(0);o=0;k=ka(67,20)|0;y=o;o=0;if(!(y&1)){c[k>>2]=36800;a[k+4>>0]=-32;h=k+8|0;c[h>>2]=0;j=k+12|0;c[j>>2]=0;f=k+16|0;c[f>>2]=0;d=c[x>>2]|0;y=c[w>>2]|0;g=d-y|0;do{if((d|0)!=(y|0)){if(!((g|0)<0?(o=0,ha(178,h|0),y=o,o=0,y&1):0))v=53;if((v|0)==53?(o=0,e=ka(67,g|0)|0,y=o,o=0,!(y&1)):0){c[j>>2]=e;c[h>>2]=e;c[f>>2]=e+g;d=c[w>>2]|0;f=c[x>>2]|0;if((d|0)==(f|0))break;do{a[e>>0]=a[d>>0]|0;e=(c[j>>2]|0)+1|0;c[j>>2]=e;d=d+1|0}while((d|0)!=(f|0));d=c[w>>2]|0;break}d=Na()|0;e=c[h>>2]|0;if(e){if((c[j>>2]|0)!=(e|0))c[j>>2]=e;cj(e)}cj(k);v=44;break a}}while(0);if(!d){i=u;return k|0}if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);i=u;return k|0}else v=43}else v=43}else v=43}while(0);if((v|0)==43){d=Na()|0;v=44}if((v|0)==44)e=d;d=c[w>>2]|0;if(!d)Ya(e|0);if((c[x>>2]|0)!=(d|0))c[x>>2]=d;cj(d);Ya(e|0);return 0}function vi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;k=i;i=i+16|0;m=k;c[m>>2]=0;n=m+4|0;c[n>>2]=0;c[m+8>>2]=0;o=0;d=ka(67,1)|0;j=o;o=0;a:do{if((((((!(j&1)?(j=d+1|0,a[d>>0]=1,c[m>>2]=d,c[n>>2]=j,c[m+8>>2]=j,o=0,ia(84,m|0,c[b>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+4>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+8>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+12>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,ia(84,m|0,c[b+16>>2]&65535|0),j=o,o=0,!(j&1)):0)?(o=0,l=ka(67,20)|0,j=o,o=0,!(j&1)):0){c[l>>2]=36800;a[l+4>>0]=-8;g=l+8|0;c[g>>2]=0;j=l+12|0;c[j>>2]=0;b=l+16|0;c[b>>2]=0;d=c[n>>2]|0;p=c[m>>2]|0;f=d-p|0;do{if((d|0)!=(p|0)){if(!((f|0)<0?(o=0,ha(178,g|0),p=o,o=0,p&1):0))h=11;if((h|0)==11?(o=0,e=ka(67,f|0)|0,p=o,o=0,!(p&1)):0){c[j>>2]=e;c[g>>2]=e;c[b>>2]=e+f;d=c[m>>2]|0;b=c[n>>2]|0;if((d|0)==(b|0))break;do{a[e>>0]=a[d>>0]|0;e=(c[j>>2]|0)+1|0;c[j>>2]=e;d=d+1|0}while((d|0)!=(b|0));d=c[m>>2]|0;break}e=Na()|0;d=c[g>>2]|0;if(d){if((c[j>>2]|0)!=(d|0))c[j>>2]=d;cj(d)}cj(l);break a}}while(0);if(!d){i=k;return l|0}if((c[n>>2]|0)!=(d|0))c[n>>2]=d;cj(d);i=k;return l|0}else h=25}while(0);if((h|0)==25)e=Na()|0;d=c[m>>2]|0;if(!d)Ya(e|0);if((c[n>>2]|0)!=(d|0))c[n>>2]=d;cj(d);Ya(e|0);return 0}function wi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=bj(5)|0;a[h>>0]=109;a[h+1>>0]=114;a[h+2>>0]=102;a[h+3>>0]=120;a[h+4>>0]=b;o=0;g=ka(67,20)|0;f=o;o=0;if(f&1){g=Na()|0;cj(h);Ya(g|0)}c[g>>2]=36800;a[g+4>>0]=-24;b=g+8|0;c[b>>2]=0;d=g+12|0;c[d>>2]=0;e=g+16|0;c[e>>2]=0;o=0;f=ka(67,5)|0;i=o;o=0;if(!(i&1)){c[d>>2]=f;c[b>>2]=f;c[e>>2]=f+5;a[f>>0]=109;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=h+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=f+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;f=f+1|0;a[i>>0]=a[f>>0]|0;i=(c[d>>2]|0)+1|0;c[d>>2]=i;a[i>>0]=a[f+1>>0]|0;c[d>>2]=(c[d>>2]|0)+1;cj(h);return g|0}i=Na()|0;cj(g);cj(h);Ya(i|0);return 0}function xi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+16|0;w=v;c[w>>2]=0;x=w+4|0;c[x>>2]=0;c[w+8>>2]=0;t=w+8|0;o=0;g=ka(67,1)|0;s=o;o=0;a:do{if(!(s&1)){k=g+1|0;s=k;a[g>>0]=d;c[w>>2]=g;c[x>>2]=s;c[t>>2]=s;if((d|0)>0){j=k;s=0;do{r=s+b&255;if(j>>>0>=k>>>0){g=c[w>>2]|0;l=g;j=j-l+1|0;if((j|0)<0){o=0;ha(178,w|0);q=o;o=0;if(q&1){u=28;break}l=c[w>>2]|0;k=c[t>>2]|0;q=l}else q=g;p=q;g=k-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;k=c[x>>2]|0;m=k-p|0;if(!g){n=0;j=0}else u=13}else{m=c[x>>2]|0;g=2147483647;k=m;m=m-p|0;u=13}if((u|0)==13){u=0;o=0;j=ka(67,g|0)|0;n=o;o=0;if(n&1){u=28;break}else n=g}a[j+m>>0]=r;g=j+(m+1)|0;p=k-p|0;r=j+(m-p)|0;lw(r|0,q|0,p|0)|0;c[w>>2]=r;c[x>>2]=g;c[t>>2]=j+n;if(l){cj(l);g=c[x>>2]|0}}else{a[j>>0]=r;g=(c[x>>2]|0)+1|0;c[x>>2]=g}k=c[t>>2]|0;if(g>>>0>=k>>>0){l=c[w>>2]|0;j=l;m=g-j+1|0;if((m|0)<0){o=0;ha(178,w|0);r=o;o=0;if(r&1){u=28;break}l=c[w>>2]|0;j=l;k=c[t>>2]|0}p=l;g=k-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?m:g;m=c[x>>2]|0;k=m-p|0;if(!g){g=0;n=0}else u=24}else{k=c[x>>2]|0;g=2147483647;m=k;k=k-p|0;u=24}if((u|0)==24){u=0;o=0;n=ka(67,g|0)|0;r=o;o=0;if(r&1){u=28;break}}a[n+k>>0]=0;q=m-p|0;r=n+(k-q)|0;lw(r|0,l|0,q|0)|0;c[w>>2]=r;c[x>>2]=n+(k+1);c[t>>2]=n+g;if(j)cj(j)}else{a[g>>0]=0;c[x>>2]=(c[x>>2]|0)+1}s=s+1|0;j=c[x>>2]|0;k=c[t>>2]|0}while((s|0)<(d|0));if((u|0)==28){h=Na()|0;break}g=e&255;if(j>>>0>>0){a[j>>0]=g;j=(c[x>>2]|0)+1|0;c[x>>2]=j}else u=37}else{j=k;g=e&255;u=37}if((u|0)==37){l=c[w>>2]|0;m=l;n=j-m+1|0;if((n|0)<0){o=0;ha(178,w|0);e=o;o=0;if(e&1){u=29;break}m=c[w>>2]|0;k=c[t>>2]|0;l=m}r=l;j=k-r|0;if(j>>>0<1073741823){j=j<<1;j=j>>>0>>0?n:j;n=c[x>>2]|0;p=n-r|0;if(!j){q=0;k=0}else u=43}else{p=c[x>>2]|0;j=2147483647;n=p;p=p-r|0;u=43}if((u|0)==43){o=0;k=ka(67,j|0)|0;e=o;o=0;if(e&1){u=29;break}else q=j}a[k+p>>0]=g;j=k+(p+1)|0;b=n-r|0;e=k+(p-b)|0;lw(e|0,l|0,b|0)|0;c[w>>2]=e;c[x>>2]=j;c[t>>2]=k+q;if(m){cj(m);j=c[x>>2]|0}}r=f&255;g=c[t>>2]|0;if(j>>>0>=g>>>0){k=c[w>>2]|0;l=k;j=j-l+1|0;if((j|0)<0){o=0;ha(178,w|0);f=o;o=0;if(f&1){u=29;break}l=c[w>>2]|0;g=c[t>>2]|0;k=l}q=k;g=g-q|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?j:g;m=c[x>>2]|0;n=m-q|0;if(!g){p=0;j=0}else u=54}else{n=c[x>>2]|0;g=2147483647;m=n;n=n-q|0;u=54}if((u|0)==54){o=0;j=ka(67,g|0)|0;f=o;o=0;if(f&1){u=29;break}else p=g}a[j+n>>0]=r;g=j+(n+1)|0;e=m-q|0;f=j+(n-e)|0;lw(f|0,k|0,e|0)|0;c[w>>2]=f;c[x>>2]=g;c[t>>2]=j+p;if(l){cj(l);g=c[x>>2]|0}}else{a[j>>0]=r;g=(c[x>>2]|0)+1|0;c[x>>2]=g}j=c[t>>2]|0;if(g>>>0>=j>>>0){k=c[w>>2]|0;l=k;m=g-l+1|0;if((m|0)<0){o=0;ha(178,w|0);f=o;o=0;if(f&1){u=29;break}l=c[w>>2]|0;j=c[t>>2]|0;k=l}p=k;g=j-p|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?m:g;j=c[x>>2]|0;n=j-p|0;if(!g){g=0;m=0}else u=65}else{n=c[x>>2]|0;g=2147483647;j=n;n=n-p|0;u=65}if((u|0)==65){o=0;m=ka(67,g|0)|0;f=o;o=0;if(f&1){u=29;break}}a[m+n>>0]=0;e=j-p|0;f=m+(n-e)|0;lw(f|0,k|0,e|0)|0;c[w>>2]=f;c[x>>2]=m+(n+1);c[t>>2]=m+g;if(l)cj(l)}else{a[g>>0]=0;c[x>>2]=(c[x>>2]|0)+1}o=0;n=ka(67,20)|0;t=o;o=0;if(!(t&1)){c[n>>2]=36800;a[n+4>>0]=-38;l=n+8|0;c[l>>2]=0;m=n+12|0;c[m>>2]=0;j=n+16|0;c[j>>2]=0;g=c[x>>2]|0;t=c[w>>2]|0;k=g-t|0;do{if((g|0)!=(t|0)){if(!((k|0)<0?(o=0,ha(178,l|0),t=o,o=0,t&1):0))u=72;if((u|0)==72?(o=0,h=ka(67,k|0)|0,t=o,o=0,!(t&1)):0){c[m>>2]=h;c[l>>2]=h;c[j>>2]=h+k;g=c[w>>2]|0;j=c[x>>2]|0;if((g|0)==(j|0))break;do{a[h>>0]=a[g>>0]|0;h=(c[m>>2]|0)+1|0;c[m>>2]=h;g=g+1|0}while((g|0)!=(j|0));g=c[w>>2]|0;break}h=Na()|0;g=c[l>>2]|0;if(g){if((c[m>>2]|0)!=(g|0))c[m>>2]=g;cj(g)}cj(n);break a}}while(0);if(!g){i=v;return n|0}if((c[x>>2]|0)!=(g|0))c[x>>2]=g;cj(g);i=v;return n|0}else u=29}else u=29}while(0);if((u|0)==29)h=Na()|0;g=c[w>>2]|0;if(!g)Ya(h|0);if((c[x>>2]|0)!=(g|0))c[x>>2]=g;cj(g);Ya(h|0);return 0}function yi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=(d&65535)>>>8&255;o=b+4|0;e=c[o>>2]|0;p=b+8|0;f=c[p>>2]|0;if(e>>>0>=f>>>0){g=c[b>>2]|0;h=g;i=e-h+1|0;if((i|0)<0){$i(b);h=c[b>>2]|0;f=c[p>>2]|0;g=h}m=g;e=f-m|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?i:e;i=c[o>>2]|0;f=i-m|0;if(!e){l=0;k=0;j=f;e=i}else q=8}else{f=c[o>>2]|0;e=2147483647;i=f;f=f-m|0;q=8}if((q|0)==8){l=e;k=bj(e)|0;j=f;e=i}a[k+j>>0]=n;f=k+(j+1)|0;m=e-m|0;n=k+(j-m)|0;lw(n|0,g|0,m|0)|0;c[b>>2]=n;c[o>>2]=f;c[p>>2]=k+l;if(h){cj(h);f=c[o>>2]|0}}else{a[e>>0]=n;f=(c[o>>2]|0)+1|0;c[o>>2]=f}m=d&255;e=c[p>>2]|0;if(f>>>0>>0){a[f>>0]=m;c[o>>2]=(c[o>>2]|0)+1;return}g=c[b>>2]|0;h=g;f=f-h+1|0;if((f|0)<0){$i(b);h=c[b>>2]|0;e=c[p>>2]|0;g=h}l=g;e=e-l|0;if(e>>>0<1073741823){e=e<<1;e=e>>>0>>0?f:e;i=c[o>>2]|0;f=i-l|0;if(!e){k=0;j=0;e=i}else q=18}else{f=c[o>>2]|0;e=2147483647;i=f;f=f-l|0;q=18}if((q|0)==18){k=e;j=bj(e)|0;e=i}a[j+f>>0]=m;d=e-l|0;q=j+(f-d)|0;lw(q|0,g|0,d|0)|0;c[b>>2]=q;c[o>>2]=j+(f+1);c[p>>2]=j+k;if(!h)return;cj(h);return}function zi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=c[b>>2]|0;q=c[d>>2]|0;p=q;k=g;n=e;l=f-n|0;if((l|0)<=0){r=q;return r|0}o=b+8|0;d=c[o>>2]|0;r=b+4|0;m=c[r>>2]|0;h=m;if((l|0)<=(d-h|0)){j=h-p|0;if((l|0)>(j|0)){i=e+j|0;if((i|0)==(f|0))d=m;else{h=i;d=m;do{a[d>>0]=a[h>>0]|0;d=(c[r>>2]|0)+1|0;c[r>>2]=d;h=h+1|0}while((h|0)!=(f|0))}if((j|0)>0)j=d;else{r=q;return r|0}}else{j=m;i=f}g=j-(g+(l-k+p))|0;d=q+g|0;if(d>>>0>>0){h=j;do{a[h>>0]=a[d>>0]|0;d=d+1|0;h=(c[r>>2]|0)+1|0;c[r>>2]=h}while((d|0)!=(m|0))}nw(j+(0-g)|0,q|0,g|0)|0;nw(q|0,e|0,i-n|0)|0;r=q;return r|0}h=h-k+l|0;if((h|0)<0){$i(b);d=c[o>>2]|0;g=c[b>>2]|0}i=g;d=d-i|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?h:d;h=p-i|0;if(!d){i=0;l=0}else j=15}else{d=2147483647;h=p-i|0;j=15}if((j|0)==15){i=d;l=bj(d)|0}k=l+h|0;d=k;j=l+i|0;if((e|0)!=(f|0)){g=e;i=k;do{a[i>>0]=a[g>>0]|0;i=d+1|0;d=i;g=g+1|0}while((g|0)!=(f|0));g=c[b>>2]|0}e=p-g|0;f=l+(h-e)|0;lw(f|0,g|0,e|0)|0;p=(c[r>>2]|0)-p|0;e=d;lw(e|0,q|0,p|0)|0;d=c[b>>2]|0;c[b>>2]=f;c[r>>2]=e+p;c[o>>2]=j;if(!d){r=k;return r|0}cj(d);r=k;return r|0}function Ai(a){a=a|0;var b=0;c[a>>2]=36800;b=c[a+8>>2]|0;if(!b)return;a=a+12|0;if((c[a>>2]|0)!=(b|0))c[a>>2]=b;cj(b);return}function Bi(a){a=a|0;var b=0,d=0;c[a>>2]=36800;b=c[a+8>>2]|0;if(!b){cj(a);return}d=a+12|0;if((c[d>>2]|0)!=(b|0))c[d>>2]=b;cj(b);cj(a);return}function Ci(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Di(d,-1);Di(d,a[b+4>>0]|0);g=b+12|0;f=b+8|0;b=(c[g>>2]|0)-(c[f>>2]|0)+2|0;Di(d,(b&65535)>>>8&255);Di(d,b&255);b=c[f>>2]|0;if((c[g>>2]|0)==(b|0))return;else e=0;do{Di(d,a[b+e>>0]|0);e=e+1|0;b=c[f>>2]|0}while(e>>>0<((c[g>>2]|0)-b|0)>>>0);return}function Di(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=c[b+4>>2]|0;if(g){e=g+24|0;f=c[e>>2]|0;if((f|0)==(c[g+28>>2]|0)){Lb[c[(c[g>>2]|0)+52>>2]&63](g,d&255)|0;return}else{c[e>>2]=f+1;a[f>>0]=d;return}}e=b+16|0;f=c[e>>2]|0;if(f>>>0<(c[b+12>>2]|0)>>>0){c[e>>2]=f+1;a[(c[b+8>>2]|0)+f>>0]=d;return}e=Ma(16)|0;o=0;f=ua(1)|0;d=o;o=0;if(d&1){d=Na()|0;La(e|0);Ya(d|0)}o=0;wa(7,e|0,4,f|0);d=o;o=0;if(d&1){d=Na()|0;La(e|0);Ya(d|0)}else lb(e|0,824,96)}function Ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=(b|0)<4095?(b+128|0)/256|0:16;g=(d*3|0)+2+f|0;e=d+1|0;g=(g|0)<(e|0)|(g|0)>(b|0)?e:g;c[a+4>>2]=g;e=(f<<2|3)+(d*5|0)|0;e=(e|0)>(b|0)|(e|0)<(g|0)?g:e;c[a+8>>2]=e;d=(d*7|0)+4+(f*17|0)|0;c[a+12>>2]=(d|0)>(b|0)|(d|0)<(e|0)?e:d;c[a>>2]=b;c[a+16>>2]=64;return}function Fi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+128|0;k=m+100|0;f=m+16|0;e=m+112|0;l=m+4|0;n=m;g=f;h=b+20|0;j=g+84|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[f+16>>2]=c[b+4>>2];h=pc(e,f,b+56|0)|0;e=c[(c[h>>2]|0)+16>>2]|0;b=b+8|0;o=0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];e=ra(e|0,h|0,k|0)|0;b=o;o=0;do{if(b&1)e=Na()|0;else{g=d+4|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];g=d+16|0;b=c[g>>2]|0;k=l+8|0;c[k>>2]=(c[k>>2]|0)-b;k=l+4|0;c[k>>2]=(c[k>>2]|0)+b;k=c[(c[h>>2]|0)+12>>2]|0;c[n>>2]=e;o=0;e=va(k|0,h|0,n|0,l|0,((a[d>>0]|0)==0?0:(c[d+8>>2]|0)+b|0)|0)|0;l=o;o=0;if(l&1){e=Na()|0;f=c[n>>2]|0;c[n>>2]=0;if(!f)break;Bb[c[(c[f>>2]|0)+4>>2]&255](f);break}f=c[n>>2]|0;c[n>>2]=0;if(f)Bb[c[(c[f>>2]|0)+4>>2]&255](f);if(!(c[d+4>>2]|0))c[g>>2]=(c[g>>2]|0)+e;if(!h){i=m;return}Bb[c[(c[h>>2]|0)+4>>2]&255](h);i=m;return}}while(0);if(!h)Ya(e|0);Bb[c[(c[h>>2]|0)+4>>2]&255](h);Ya(e|0)}function Gi(b,d){b=b|0;d=d|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];a[b+12>>0]=0;d=b+16|0;b=d+100|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));return}function Hi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+32|0;u=v+4|0;q=v+16|0;w=v;Ii(b);r=b+16|0;g=c[b+24>>2]|0;a:do{if((g+-2|0)>>>0<=14){s=b+40|0;e=c[s>>2]|0;if(e>>>0>2)e=5;else{t=b+32|0;h=c[t>>2]|0;switch(h|0){case 0:{e=1;break a}case 4:{if((e|0)==2){e=2;break a}break}case 3:break;default:if(e){e=2;break a}}p=b+100|0;e=b+108|0;f=c[e>>2]|0;if((f|0)<1){f=c[r>>2]|0;c[e>>2]=f;e=c[b+20>>2]|0;c[b+112>>2]=e}else e=c[b+112>>2]|0;l=tw(e|0,((e|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;k=(g+7|0)/8|0;k=tw(l|0,D|0,k|0,((k|0)<0)<<31>>31|0)|0;l=d+4|0;e=c[l>>2]|0;j=d+8|0;if((e|0)!=0?(m=c[j>>2]|0,n=tw(h|0,((h|0)<0)<<31>>31|0,k|0,D|0)|0,g=D,0<(g|0)|0==(g|0)&m>>>0>>0):0){e=Ma(16)|0;o=0;f=ua(1)|0;w=o;o=0;if(!(w&1)?(o=0,wa(7,e|0,3,f|0),w=o,o=0,!(w&1)):0)lb(e|0,824,96);w=Na()|0;La(e|0);Ya(w|0)}m=b+52|0;n=b+12|0;if((h|0)>0)h=0;else{i=v;return}while(1){Ji(b,(h|0)==0);f=nc(q,r,m)|0;g=c[(c[f>>2]|0)+8>>2]|0;o=0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];g=ra(g|0,f|0,u|0)|0;x=o;o=0;if(x&1){g=32;break}x=c[(c[f>>2]|0)+16>>2]|0;c[w>>2]=g;o=0;fa(x|0,f|0,w|0,p|0,b|0,(a[n>>0]|0)!=0|0);x=o;o=0;if(x&1){g=30;break}g=c[w>>2]|0;c[w>>2]=0;if(g)Bb[c[(c[g>>2]|0)+4>>2]&255](g);if(!e)e=0;else{e=e+k|0;c[l>>2]=e;c[j>>2]=(c[j>>2]|0)-k}g=(c[s>>2]|0)==0;h=(g&1)+h|0;if(f)Bb[c[(c[f>>2]|0)+4>>2]&255](f);if(!g){g=34;break}if((h|0)>=(c[t>>2]|0)){g=34;break}}if((g|0)==30){e=Na()|0;g=c[w>>2]|0;c[w>>2]=0;if(g)Bb[c[(c[g>>2]|0)+4>>2]&255](g)}else if((g|0)==32){e=Na()|0;if(!f){x=e;Ya(x|0)}}else if((g|0)==34){i=v;return}Bb[c[(c[f>>2]|0)+4>>2]&255](f);x=e;Ya(x|0)}}else e=2}while(0);f=Ma(16)|0;o=0;g=ua(1)|0;x=o;o=0;if(!(x&1)?(o=0,wa(7,f|0,e|0,g|0),x=o,o=0,!(x&1)):0)lb(f|0,824,96);x=Na()|0;La(f|0);Ya(x|0)}function Ii(a){a=a|0;var b=0,c=0,d=0,e=0;if((Mi(a)|0)<<24>>24!=-40){b=Ma(16)|0;o=0;c=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,wa(7,b|0,5,c|0),e=o,o=0,!(e&1)):0)lb(b|0,824,96);e=Na()|0;La(b|0);Ya(e|0)}b=Mi(a)|0;if(b<<24>>24==-38)return;while(1){d=((Li(a)|0)&255)<<8;d=d|(Li(a)|0)&255;b=Ni(a,b)|0;c=-2-b+d|0;if((c|0)<0)break;if((c|0)>0){b=d+-2-b|0;c=0;do{Li(a)|0;c=c+1|0}while((c|0)!=(b|0))}b=Mi(a)|0;if(b<<24>>24==-38){e=8;break}}if((e|0)==8)return;b=Ma(16)|0;o=0;c=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,wa(7,b|0,5,c|0),e=o,o=0,!(e&1)):0)lb(b|0,824,96);e=Na()|0;La(b|0);Ya(e|0)}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(!b){if((Li(a)|0)<<24>>24!=-1){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,12,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}if((Li(a)|0)<<24>>24!=-38){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}}Li(a)|0;Li(a)|0;d=Li(a)|0;e=d&255;do{if(d<<24>>24==1){Li(a)|0;d=0;f=20}else{if((e|0)==(c[a+32>>2]|0)){b=Li(a)|0;if(!(d<<24>>24))break;else{d=0;f=20;break}}b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,2,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}}while(0);if((f|0)==20)while(1){Li(a)|0;d=d+1|0;b=Li(a)|0;if((d|0)==(e|0))break;else f=20}c[a+36>>2]=b&255;f=Li(a)|0;d=a+40|0;c[d>>2]=f&255;if((f&255)>=3){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}if((Li(a)|0)<<24>>24){b=Ma(16)|0;o=0;d=ua(1)|0;a=o;o=0;if(!(a&1)?(o=0,wa(7,b|0,5,d|0),a=o,o=0,!(a&1)):0)lb(b|0,824,96);a=Na()|0;La(b|0);Ya(a|0)}e=a+28|0;if(c[e>>2]|0)return;b=c[a+108>>2]|0;if(!b)b=c[a+16>>2]|0;if(!(c[d>>2]|0))d=1;else d=c[a+32>>2]|0;f=$(d,b)|0;c[e>>2]=$(f,((c[a+24>>2]|0)+7|0)/8|0)|0;return}function Ki(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((e|0)<=0)return;n=d+4|0;o=d+8|0;q=0;do{p=Li(b)|0;f=c[n>>2]|0;g=c[o>>2]|0;if(f>>>0>=g>>>0){h=c[d>>2]|0;i=h;j=f-i+1|0;if((j|0)<0){$i(d);i=c[d>>2]|0;g=c[o>>2]|0;h=i}m=h;f=g-m|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f;j=c[n>>2]|0;g=j-m|0;if(!f){l=0;k=0;f=j}else r=10}else{g=c[n>>2]|0;f=2147483647;j=g;g=g-m|0;r=10}if((r|0)==10){r=0;l=f;k=bj(f)|0;f=j}a[k+g>>0]=p;m=f-m|0;p=k+(g-m)|0;lw(p|0,h|0,m|0)|0;c[d>>2]=p;c[n>>2]=k+(g+1);c[o>>2]=k+l;if(i)cj(i)}else{a[f>>0]=p;c[n>>2]=(c[n>>2]|0)+1}q=q+1|0}while((q|0)!=(e|0));return}function Li(b){b=b|0;var e=0,f=0,g=0,h=0;f=c[b>>2]|0;if(f){b=f+12|0;e=c[b>>2]|0;if((e|0)==(c[f+16>>2]|0))b=Eb[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[b>>2]=e+1;b=d[e>>0]|0}h=b&255;return h|0}g=b+8|0;h=c[g>>2]|0;if(h){b=b+4|0;e=c[b>>2]|0;f=a[e>>0]|0;if(!e){h=f;return h|0}c[b>>2]=e+1;c[g>>2]=h+-1;h=f;return h|0}b=Ma(16)|0;o=0;e=ua(1)|0;h=o;o=0;if(h&1){h=Na()|0;La(b|0);Ya(h|0)}o=0;wa(7,b|0,4,e|0);h=o;o=0;if(h&1){h=Na()|0;La(b|0);Ya(h|0)}else lb(b|0,824,96);return 0}function Mi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+176|0;b=d+152|0;k=d+16|0;h=d;j=Li(a)|0;e=j&255;if(j<<24>>24==-1){do{b=Li(a)|0}while(b<<24>>24==-1);i=d;return b|0}j=k+56|0;g=k+4|0;c[k>>2]=36160;c[j>>2]=36180;o=0;ia(62,k+56|0,g|0);f=o;o=0;if(f&1){k=Na()|0;fn(j);Ya(k|0)}c[k+128>>2]=0;c[k+132>>2]=-1;c[k>>2]=36200;c[k+56>>2]=36220;o=0;ha(180,g|0);f=o;o=0;do{if(f&1)b=Na()|0;else{c[g>>2]=36236;f=k+36|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[k+52>>2]=16;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;o=0;ia(63,g|0,b|0);d=o;o=0;if(d&1){k=Na()|0;Im(b);Im(f);nn(g);b=k;break}Im(b);c[k+((c[(c[k>>2]|0)+-12>>2]|0)+76)>>2]=48;o=0;b=ma(28,k|0,50907,62)|0;d=o;o=0;if(!(d&1)?(d=b+((c[(c[b>>2]|0)+-12>>2]|0)+4)|0,c[d>>2]=c[d>>2]&-75|8,d=b+((c[(c[b>>2]|0)+-12>>2]|0)+4)|0,c[d>>2]=c[d>>2]|16384,c[b+((c[(c[b>>2]|0)+-12>>2]|0)+12)>>2]=2,o=0,ra(38,b|0,e|0)|0,e=o,o=0,!(e&1)):0){d=Ma(16)|0;o=0;ia(64,h|0,g|0);e=o;o=0;if(!(e&1)){o=0;b=ua(1)|0;e=o;o=0;if(!(e&1)?(o=0,Aa(36,d|0,12,b|0,h|0),e=o,o=0,!(e&1)):0){o=0;wa(6,d|0,824,96);o=0;a=0}else a=1;b=Na()|0;Im(h);if(!a){h=b;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}}else b=Na()|0;La(d|0);h=b;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}h=Na()|0;c[k>>2]=36200;c[j>>2]=36220;c[g>>2]=36236;Im(f);nn(g);fn(j);Ya(h|0)}}while(0);k=b;fn(j);Ya(k|0);return 0}function Ni(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;d=i;i=i+320|0;j=d+300|0;m=d+152|0;k=d+288|0;n=d+16|0;l=d;switch(b<<24>>24){case-9:{c[a+24>>2]=(Li(a)|0)&255;p=((Li(a)|0)&255)<<8|(Li(a)|0)&255;c[a+16>>2]=((Li(a)|0)&255)<<8|(Li(a)|0)&255;c[a+20>>2]=p;c[a+32>>2]=(Li(a)|0)&255;p=6;i=d;return p|0}case-8:{p=Oi(a)|0;i=d;return p|0}case-24:{p=Pi(a)|0;i=d;return p|0}case-53:case-54:case-55:case-57:case-58:case-59:case-61:case-62:case-63:case-64:{h=m+56|0;f=m+4|0;c[m>>2]=36160;c[h>>2]=36180;o=0;ia(62,m+56|0,f|0);n=o;o=0;if(n&1){p=Na()|0;fn(h);Ya(p|0)}c[m+128>>2]=0;c[m+132>>2]=-1;c[m>>2]=36200;c[m+56>>2]=36220;o=0;ha(180,f|0);n=o;o=0;do{if(n&1)a=Na()|0;else{c[f>>2]=36236;g=m+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[m+52>>2]=16;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;o=0;ia(63,f|0,j|0);n=o;o=0;if(n&1){a=Na()|0;Im(j);Im(g);nn(f);break}Im(j);o=0;a=ma(28,m|0,50970,26)|0;n=o;o=0;do{if((!(n&1)?(o=0,e=ra(38,a|0,b&255|0)|0,n=o,o=0,!(n&1)):0)?(o=0,ma(28,e|0,50997,18)|0,n=o,o=0,!(n&1)):0){e=Ma(16)|0;o=0;ia(64,k|0,f|0);n=o;o=0;if(!(n&1)){o=0;a=ua(1)|0;n=o;o=0;if(!(n&1)?(o=0,Aa(36,e|0,10,a|0,k|0),n=o,o=0,!(n&1)):0){o=0;wa(6,e|0,824,96);o=0;d=0}else d=1;a=Na()|0;Im(k);if(!d)break}else a=Na()|0;La(e|0)}else p=20}while(0);if((p|0)==20)a=Na()|0;c[m>>2]=36200;c[h>>2]=36220;c[f>>2]=36236;Im(g);nn(f);fn(h);p=a;Ya(p|0)}}while(0);p=a;fn(h);Ya(p|0)}case-25:case-32:case-2:{p=0;i=d;return p|0}default:{k=n+56|0;g=n+4|0;c[n>>2]=36160;c[k>>2]=36180;o=0;ia(62,n+56|0,g|0);m=o;o=0;if(m&1){p=Na()|0;fn(k);Ya(p|0)}c[n+128>>2]=0;c[n+132>>2]=-1;c[n>>2]=36200;c[n+56>>2]=36220;o=0;ha(180,g|0);m=o;o=0;do{if(m&1)a=Na()|0;else{c[g>>2]=36236;h=n+36|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[n+52>>2]=16;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;o=0;ia(63,g|0,j|0);m=o;o=0;if(m&1){a=Na()|0;Im(j);Im(h);nn(g);break}Im(j);o=0;a=ma(28,n|0,51016,20)|0;m=o;o=0;do{if((!(m&1)?(o=0,f=ra(38,a|0,b&255|0)|0,m=o,o=0,!(m&1)):0)?(o=0,ma(28,f|0,51037,13)|0,m=o,o=0,!(m&1)):0){e=Ma(16)|0;o=0;ia(64,l|0,g|0);m=o;o=0;if(!(m&1)){o=0;a=ua(1)|0;m=o;o=0;if(!(m&1)?(o=0,Aa(36,e|0,11,a|0,l|0),m=o,o=0,!(m&1)):0){o=0;wa(6,e|0,824,96);o=0;d=0}else d=1;a=Na()|0;Im(l);if(!d)break}else a=Na()|0;La(e|0)}else p=40}while(0);if((p|0)==40)a=Na()|0;c[n>>2]=36200;c[k>>2]=36220;c[g>>2]=36236;Im(h);nn(g);fn(k);p=a;Ya(p|0)}}while(0);p=a;fn(k);Ya(p|0)}}return 0}function Oi(a){a=a|0;var b=0;if((Li(a)|0)<<24>>24!=1){a=1;return a|0}b=((Li(a)|0)&255)<<8;c[a+52>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+56>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+60>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+64>>2]=b|(Li(a)|0)&255;b=((Li(a)|0)&255)<<8;c[a+68>>2]=b|(Li(a)|0)&255;a=11;return a|0}function Pi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d;c[f>>2]=0;g=f+4|0;c[g>>2]=0;c[f+8>>2]=0;o=0;wa(9,a|0,f|0,4);b=o;o=0;a:do{if(b&1)e=3;else{b=c[f>>2]|0;b:do{if(!(ol(b,51051,4)|0)){o=0;b=ka(69,a|0)|0;h=o;o=0;if(h&1){e=3;break a}b=b&255;switch(b|0){case 3:case 2:case 1:case 0:{c[a+44>>2]=b;a=5;b=c[f>>2]|0;break b}case 5:case 4:{b=Ma(16)|0;o=0;a=ua(1)|0;h=o;o=0;if(!(h&1)?(o=0,wa(7,b|0,7,a|0),h=o,o=0,!(h&1)):0){o=0;wa(6,b|0,824,96);o=0;e=3;break a}a=Na()|0;La(b|0);break a}default:{b=Ma(16)|0;o=0;a=ua(1)|0;h=o;o=0;if(!(h&1)?(o=0,wa(7,b|0,5,a|0),h=o,o=0,!(h&1)):0){o=0;wa(6,b|0,824,96);o=0;e=3;break a}a=Na()|0;La(b|0);break a}}}else a=4}while(0);if(!b){i=d;return a|0}if((c[g>>2]|0)!=(b|0))c[g>>2]=b;cj(b);i=d;return a|0}}while(0);if((e|0)==3)a=Na()|0;b=c[f>>2]|0;if(!b)Ya(a|0);if((c[g>>2]|0)!=(b|0))c[g>>2]=b;cj(b);Ya(a|0);return 0}function Qi(a){a=a|0;var b=0,d=0,e=0;e=c[(c[a>>2]|0)+-12>>2]|0;c[a+e>>2]=36200;b=a+(e+56)|0;c[b>>2]=36220;d=a+(e+4)|0;c[d>>2]=36236;Im(a+(e+36)|0);nn(d);fn(b);return}function Ri(a){a=a|0;return}function Si(a){a=a|0;cj(a);return}function Ti(b){b=b|0;a[b>>0]=0;b=b+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f;b=wi(b)|0;c[g>>2]=b;d=a+28|0;e=c[d>>2]|0;if(e>>>0<(c[a+32>>2]|0)>>>0){c[e>>2]=b;c[d>>2]=e+4;c[g>>2]=0;i=f;return}o=0;ia(57,a+24|0,g|0);a=o;o=0;if(a&1){b=Na()|0;d=c[g>>2]|0;c[g>>2]=0;if(!d)Ya(b|0);Bb[c[(c[d>>2]|0)+4>>2]&255](d);Ya(b|0)}else{b=c[g>>2]|0;c[g>>2]=0;if(!b){i=f;return}Bb[c[(c[b>>2]|0)+4>>2]&255](b);i=f;return}}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+4|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];Di(a,-1);Di(a,-40);e=a+28|0;f=a+24|0;b=c[f>>2]|0;if((c[e>>2]|0)==(b|0)){Di(a,-1);Di(a,-39);a=a+16|0;a=c[a>>2]|0;return a|0}else d=0;do{g=c[b+(d<<2)>>2]|0;Cb[c[(c[g>>2]|0)+8>>2]&127](g,a);d=d+1|0;b=c[f>>2]|0}while(d>>>0<(c[e>>2]|0)-b>>2>>>0);Di(a,-1);Di(a,-39);g=a+16|0;g=c[g>>2]|0;return g|0}function Wi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,p=0;n=i;i=i+48|0;j=n+32|0;f=n+12|0;k=n+8|0;m=n+4|0;p=n;e=d+36|0;do{if(((((c[e>>2]|0)==0?(c[d+40>>2]|0)==0:0)?(c[d+44>>2]|0)==0:0)?(c[d+48>>2]|0)==0:0)?(c[d+52>>2]|0)==0:0){e=c[d+8>>2]|0;if((e|0)<=12){g=a+28|0;h=a+32|0;break}Ei(f,(1<>2]|0);e=vi(f)|0;c[k>>2]=e;g=a+28|0;f=c[g>>2]|0;h=a+32|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[k>>2]=0;break}o=0;ia(57,a+24|0,k|0);j=o;o=0;if(!(j&1)){e=c[k>>2]|0;c[k>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[k>>2]|0;c[k>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}else l=6}while(0);do{if((l|0)==6){e=vi(e)|0;c[j>>2]=e;g=a+28|0;f=c[g>>2]|0;h=a+32|0;if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[j>>2]=0;break}o=0;ia(57,a+24|0,j|0);l=o;o=0;if(!(l&1)){e=c[j>>2]|0;c[j>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[j>>2]|0;c[j>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}}while(0);e=a+20|0;f=(c[e>>2]|0)+1|0;c[e>>2]=f;e=c[d+24>>2]|0;j=(e|0)==0?1:c[d+16>>2]|0;e=xi(f,j,c[d+20>>2]|0,e)|0;c[m>>2]=e;f=c[g>>2]|0;do{if(f>>>0<(c[h>>2]|0)>>>0){c[f>>2]=e;c[g>>2]=f+4;c[m>>2]=0}else{o=0;ia(57,a+24|0,m|0);l=o;o=0;if(!(l&1)){e=c[m>>2]|0;c[m>>2]=0;if(!e)break;Bb[c[(c[e>>2]|0)+4>>2]&255](e);break}d=Na()|0;e=c[m>>2]|0;c[m>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}}while(0);k=bj(104)|0;c[k>>2]=36820;c[k+4>>2]=j;f=k+8|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];f=k+20|0;e=f+84|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));c[p>>2]=k;d=c[g>>2]|0;if(d>>>0<(c[h>>2]|0)>>>0){c[d>>2]=k;c[g>>2]=d+4;c[p>>2]=0;i=n;return}o=0;ia(57,a+24|0,p|0);a=o;o=0;if(a&1){d=Na()|0;e=c[p>>2]|0;c[p>>2]=0;if(!e){p=d;Ya(p|0)}Bb[c[(c[e>>2]|0)+4>>2]&255](e);p=d;Ya(p|0)}else{d=c[p>>2]|0;c[p>>2]=0;if(!d){i=n;return}Bb[c[(c[d>>2]|0)+4>>2]&255](d);i=n;return}}function Xi(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+96|0;p=q;o=ic(b,d,p,0)|0;if(o){g=o;i=q;return g|0}a[p+32>>0]=0;s=c[p+8>>2]|0;u=c[p>>2]|0;t=c[p+4>>2]|0;o=$(t,u)|0;r=c[p+16>>2]|0;o=$($(o,(s|0)<9?1:2)|0,r)|0;c[f>>2]=o;o=Fl(o)|0;c[e>>2]=o;c[g>>2]=u;c[h>>2]=t;c[j>>2]=s;c[k>>2]=c[p+12>>2];c[l>>2]=r;c[m>>2]=c[p+20>>2];c[n>>2]=c[p+24>>2];g=jc(o,c[f>>2]|0,b,d,0,0)|0;i=q;return g|0}function Yi(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;n=i;i=i+96|0;l=n+4|0;h=n;m=l;o=m+84|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(o|0));c[l+16>>2]=g;c[l+8>>2]=f;c[l>>2]=d;c[l+4>>2]=e;c[j>>2]=Fl(b)|0;c[h>>2]=0;d=hc(j,b,h,a,b,l,0)|0;c[k>>2]=c[h>>2];i=n;return d|0}function Zi(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;b=c[9320]|0;cl(b,a,d)|0;Wk(10,b)|0;Ga()}function _i(a){a=a|0;Ka(51337,51366,1164,51442)}function $i(a){a=a|0;Ka(51463,51486,303,51442)}function aj(){var a=0,b=0;a=i;i=i+16|0;if(!(db(37024,4)|0)){b=$a(c[9255]|0)|0;i=a;return b|0}else Zi(51562,a);return 0}function bj(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=Fl(b)|0;a:do{if(!a){while(1){a=kj()|0;if(!a)break;Rb[a&7]();a=Fl(b)|0;if(a)break a}b=Ma(4)|0;c[b>>2]=36844;lb(b|0,592,78)}}while(0);return a|0}function cj(a){a=a|0;Gl(a);return}function dj(a){a=a|0;cj(a);return}function ej(a){a=a|0;c[a>>2]=36844;return}function fj(a){a=a|0;return}function gj(a){a=a|0;cj(a);return}function hj(a){a=a|0;return 51611}function ij(a){a=a|0;var b=0;b=i;i=i+16|0;o=0;xa(a|0);a=o;o=0;if(!(a&1)){o=0;ia(85,51626,b|0);o=0}a=Na(0)|0;Va(a|0)|0;o=0;ia(85,51666,b+8|0);o=0;a=Na(0)|0;o=0;xa(3);b=o;o=0;if(b&1){b=Na(0)|0;ec(b)}else ec(a)}function jj(){var a=0,b=0,d=0;o=0;a=ua(2)|0;d=o;o=0;if(d&1){d=Na(0)|0;ec(d)}if(((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0)?(d=b+48|0,(c[d>>2]&-256|0)==1126902528?(c[d+4>>2]|0)==1129074247:0):0)ij(c[b+12>>2]|0);d=c[9208]|0;c[9208]=d+0;ij(d)}function kj(){var a=0;a=c[9214]|0;c[9214]=a+0;return a|0}function lj(a){a=a|0;return}function mj(a){a=a|0;c[a>>2]=36868;Vj(a+4|0);return}function nj(a){a=a|0;mj(a);cj(a);return}function oj(a){a=a|0;return c[a+4>>2]|0}function pj(a){a=a|0;return}function qj(a){a=a|0;c[a>>2]=36888;return}function rj(a){a=a|0;return}function sj(a){a=a|0;cj(a);return}function tj(a){a=a|0;return 51716}function uj(a){a=a|0;return}function vj(a){a=a|0;return}function wj(a){a=a|0;return}function xj(a){a=a|0;cj(a);return}function yj(a){a=a|0;cj(a);return}function zj(a){a=a|0;cj(a);return}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=Gj(b,656,672,0)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Ub[c[(c[f>>2]|0)+28>>2]&63](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=h;return b|0}function Bj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do{if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}}while(0);return}function Cj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Bj(0,b,d,e);return}function Dj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Bj(0,b,d,e);else{a=c[a+8>>2]|0;Ub[c[(c[a>>2]|0)+28>>2]&63](a,b,d,e)}return}function Ej(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;Ub[c[(c[a>>2]|0)+28>>2]&63](a,b,d+f|0,(g&2|0)!=0?e:2);return}function Fj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do{if((b|0)!=(c[d+8>>2]|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Ej(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Ej(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else Bj(0,d,e,f)}while(0);return}function Gj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[q>>2]=f;c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=g;g=q+16|0;d=q+20|0;e=q+24|0;h=q+28|0;j=q+32|0;k=q+40|0;l=(p|0)==(f|0);m=g;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do{if(l){c[q+48>>2]=1;Ib[c[(c[f>>2]|0)+20>>2]&15](f,q,o,o,1,0);g=(c[e>>2]|0)==1?o:0}else{zb[c[(c[p>>2]|0)+24>>2]&15](p,q,o,1,0);switch(c[q+36>>2]|0){case 0:{g=(c[k>>2]|0)==1&(c[h>>2]|0)==1&(c[j>>2]|0)==1?c[d>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((c[e>>2]|0)!=1?!((c[k>>2]|0)==0&(c[h>>2]|0)==1&(c[j>>2]|0)==1):0){g=0;break}g=c[g>>2]|0}}while(0);i=r;return g|0}function Hj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do{if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;f=d+16|0;b=c[f>>2]|0;if(!b){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((b|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}b=d+24|0;f=c[b>>2]|0;if((f|0)==2){c[b>>2]=g;f=g}if((f|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}}while(0);return}function Ij(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do{if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){q=c[b+12>>2]|0;j=b+16+(q<<3)|0;Kj(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;i=c[b+8>>2]|0;if((i&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(i&1)){i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[k>>2]|0)==1)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+24|0;b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[k>>2]|0)==1?(c[i>>2]|0)==1:0)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+54|0;while(1){if(a[i>>0]|0)break a;Kj(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;m=d+44|0;if((c[m>>2]|0)==4)break;i=c[b+12>>2]|0;j=b+16+(i<<3)|0;k=d+52|0;f=d+53|0;n=d+54|0;l=b+8|0;o=d+24|0;b:do{if((i|0)>0){i=0;h=0;b=b+16|0;while(1){a[k>>0]=0;a[f>>0]=0;Jj(b,d,e,e,1,g);if(a[n>>0]|0){q=20;break b}do{if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[l>>2]&1)){h=1;q=20;break b}else{h=1;break}if((c[o>>2]|0)==1)break b;if(!(c[l>>2]&2))break b;else{i=1;h=1}}}while(0);b=b+8|0;if(b>>>0>=j>>>0){q=20;break}}}else{i=0;h=0;q=20}}while(0);do{if((q|0)==20){if((!i?(c[p>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h)break}else q=24;if((q|0)==24?h:0)break;c[m>>2]=4;break a}}while(0);c[m>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}}while(0);return}function Jj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e+h|0,(i&2|0)!=0?f:2,g);return}function Kj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;zb[c[(c[a>>2]|0)+24>>2]&15](a,b,d+g|0,(h&2|0)!=0?e:2,f);return}function Lj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do{if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;zb[c[(c[j>>2]|0)+24>>2]&15](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;k=d+53|0;a[k>>0]=0;b=c[b+8>>2]|0;Ib[c[(c[b>>2]|0)+20>>2]&15](b,d,e,e,1,g);if(a[k>>0]|0){if(!(a[h>>0]|0)){h=1;j=13}}else{h=0;j=13}do{if((j|0)==13){c[i>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)break}else j=16;if((j|0)==16?h:0)break;c[f>>2]=4;break a}}while(0);c[f>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}}while(0);return}function Mj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do{if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}while(0);return}function Nj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((b|0)==(c[d+8>>2]|0))Hj(0,d,e,f,g);else{m=d+52|0;n=a[m>>0]|0;o=d+53|0;p=a[o>>0]|0;l=c[b+12>>2]|0;i=b+16+(l<<3)|0;a[m>>0]=0;a[o>>0]=0;Jj(b+16|0,d,e,f,g,h);a:do{if((l|0)>1){j=d+24|0;k=b+8|0;l=d+54|0;b=b+24|0;do{if(a[l>>0]|0)break a;if(!(a[m>>0]|0)){if((a[o>>0]|0)!=0?(c[k>>2]&1|0)==0:0)break a}else{if((c[j>>2]|0)==1)break a;if(!(c[k>>2]&2))break a}a[m>>0]=0;a[o>>0]=0;Jj(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}}while(0);a[m>>0]=n;a[o>>0]=p}return}function Oj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Hj(0,b,d,e,f);else{a=c[a+8>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e,f,g)}return}function Pj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Hj(0,b,d,e,f);return}function Qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=c[d>>2];a=Gb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];i=f;return a&1|0}function Rj(a){a=a|0;if(!a)a=0;else a=(Gj(a,656,704,0)|0)!=0;return a&1|0}function Sj(){var a=0;a=Ma(4)|0;ej(a);lb(a|0,592,78)}function Tj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+48|0;h=f+32|0;d=f+24|0;j=f+16|0;g=f;f=f+36|0;a=aj()|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=c[9257];Zi(51919,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Gb[c[(c[608>>2]|0)+16>>2]&63](608,e,f)|0){j=c[f>>2]|0;f=c[9257]|0;j=Eb[c[(c[j>>2]|0)+8>>2]&127](j)|0;c[g>>2]=f;c[g+4>>2]=a;c[g+8>>2]=j;Zi(51833,g)}else{c[j>>2]=c[9257];c[j+4>>2]=a;Zi(51878,j)}}Zi(51957,h)}function Uj(){var a=0;a=i;i=i+16|0;if(!(Fa(37020,184)|0)){i=a;return}else Zi(51730,a)}function Vj(a){a=a|0;var b=0,d=0;d=(c[a>>2]|0)+-4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if((b+-1|0)<0)cj((c[a>>2]|0)+-12|0);return}function Wj(a){a=a|0;var b=0;b=i;i=i+16|0;Gl(a);if(!(jb(c[9255]|0,0)|0)){i=b;return}else Zi(51780,b)}function Xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=hl(a,b,c)|0;return a|0}function Yj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=il(a,b,c)|0;return a|0}function Zj(){return 37296}function _j(){return 37300}function $j(){return 37304}function ak(a){a=a|0;return((a|0)==32|(a+-9|0)>>>0<5)&1|0}function bk(a){a=a|0;if((a+-48|0)>>>0<10)a=1;else a=((a|32)+-97|0)>>>0<6;return a&1|0}function ck(){var a=0;if(!(c[9258]|0))a=37308;else a=c[(bb()|0)+60>>2]|0;return a|0}function dk(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[51978+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=52066;e=5;break}}if((e|0)==2)if(!c)b=52066;else{b=52066;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do{if((A|0)==4){E=b+4|0;C=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0}while((ak(e)|0)!=0);b:do{switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=hk(b)|0;I=h;break b}}default:I=1}}while(0);h=e;e=0;do{if((h|32|0)!=(a[53870+e>>0]|0))break;do{if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=hk(b)|0;break}}}while(0);e=e+1|0}while(e>>>0<8);c:do{switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do{if(!e){e=0;do{if((h|32|0)!=(a[56747+e>>0]|0))break d;do{if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=hk(b)|0;break}}}while(0);e=e+1|0}while(e>>>0<3)}}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==40)e=1;else{if(!(c[C>>2]|0)){g=s;break a}c[E>>2]=(c[E>>2]|0)+-1;g=s;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=hk(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(ck()|0)>>2]=22;gk(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{do{if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|32|0)!=120){if(!(c[C>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=hk(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=hk(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;k=jw(k|0,h|0,-1,-1)|0;h=D}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do{if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){r=m*.0625;p=w;j=r;g=g+r*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}}while(0);l=jw(l|0,y|0,1,0)|0;v=x;u=D;n=1}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=hk(b)|0;w=p;m=j;continue}}if(!n){e=(c[C>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,(o|0)!=0):0)c[E>>2]=z+-2}else gk(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=jw(l|0,h|0,1,0)|0;h=D}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=tl(b,f)|0;e=D;if((h|0)==0&(e|0)==-2147483648){if(!f){gk(b,0);g=0.0;break a}if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=mw(o|0,n|0,2)|0;H=jw(H|0,D|0,-32,-1)|0;e=jw(H|0,D|0,h|0,e|0)|0;h=D;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(ck()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0>>0){c[(ck()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=jw(e|0,h|0,-1,-1)|0;h=D}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=hw(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=jw(l|0,h|0,e|0,D|0)|0;J=D;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+sk(+xk(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(ck()|0)>>2]=34;g=+yk(g,l);break a}else e=h}while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=hk(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48){h=0;e=0;while(1){h=jw(h|0,e|0,-1,-1)|0;k=D;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do{if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do{if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=jw(y|0,v|0,1,0)|0;v=D;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}}while(0);e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=hk(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}}while(0);do{if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=tl(b,f)|0;e=D;if((n|0)==0&(e|0)==-2147483648){if(!f){gk(b,0);g=0.0;break}if(!(c[C>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=jw(n|0,e|0,h|0,p|0)|0;u=y;p=D;n=v;A=173}}while(0);if((A|0)==169)if(c[C>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do{if((A|0)==172){c[(ck()|0)>>2]=22;gk(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(ck()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0>>0){c[(ck()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[37312+(8-h<<2)>>2]|0);break}b=K+27+($(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[37312+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[37312+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{C=H+(p<<2)|0;E=c[C>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[C>>2]=b;e=$((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w)break i;if((c[x>>2]|0)>>>0>=9007199){h=18;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=mw(c[p>>2]|0,0,29)|0;o=jw(o|0,D|0,n|0,0)|0;n=D;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=uw(o|0,n|0,1e9,0)|0;o=vw(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){y=l+1&127;x=H+((l+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(l|0);do{if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(l|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;break j}}else A=219}while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(l|0))k=l;else break}u=(1<>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=$(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(l|0))break;else o=k}if(!n)continue;if((y|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(l<<2)>>2]=n;l=y}if((A|0)==220)if(p){c[H+(y+-1<<2)>>2]=0;h=l;l=y}else h=o;g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}r=+(I|0);j=r*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?(p|0)<0?0:p:K;if((o|0)<53){M=+sk(+xk(1.0,105-o|0),j);m=+uk(j,+xk(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do{if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do{if(n>>>0>=5e8){if(n>>>0>5e8){g=r*.75+g;break}if((k+3&127|0)==(l|0)){g=r*.5+g;break}else{g=r*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=r*.25+g}}while(0);if((53-o|0)<=1){j=g;break}if(+uk(g,1.0)!=0.0){j=g;break}j=g+1.0}}while(0);g=m+j-q;do{if((v&2147483647|0)>(-2-F|0)){if(+O(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(ck()|0)>>2]=34}}while(0);g=+yk(g,e)}}while(0);break a}default:{if(c[C>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(ck()|0)>>2]=22;gk(b,0);g=0.0;break a}}}}}while(0);if((A|0)==23){h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*t}}while(0);i=L;return+g}function fk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do{if(e>>>0>36){c[(ck()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0}while((ak(i)|0)!=0);b:do{switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=hk(b)|0;p=j;break b}}default:p=0}}while(0);j=(e|0)==0;do{if((e&-17|0)==0&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=hk(b)|0;if((d[53879+(i+1)>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){gk(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[53879+(i+1)>>0]|0)>>>0>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;gk(b,0);c[(ck()|0)>>2]=22;h=0;g=0;break a}}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=hk(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=tw(e|0,j|0,10,0)|0;l=D;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=jw(k|0,l|0,f|0,m|0)|0;j=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do{if((n|0)==46){if(!(e+-1&e)){n=a[54136+((e*23|0)>>>5&7)>>0]|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f|i<>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0>>0))break;else i=k}f=0}else{f=0;k=0}l=kw(-1,-1,n|0)|0;m=D;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=mw(k|0,i|0,n|0)|0;f=D;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[53879+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f+($(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0>>0){n=uw(-1,-1,e|0,0)|0;o=D;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=tw(k|0,m|0,e|0,0)|0;l=D;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=jw(j|0,0,f|0,l|0)|0;f=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0;j=a[53879+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}}while(0);if((n|0)==72)if((d[53879+(i+1)>>0]|0)>>>0>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=hk(b)|0}while((d[53879+(i+1)>>0]|0)>>>0>>0);c[(ck()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0>>0|(j|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(ck()|0)>>2]=34;g=jw(g|0,h|0,-1,-1)|0;h=D;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(ck()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=hw(i^e|0,j^g|0,e|0,g|0)|0;h=D}}while(0);D=h;return g|0}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function hk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Uk(b)|0;if((e|0)>=0){h=c[f>>2]|0;f=b+8|0;if(h){g=c[f>>2]|0;i=c[b+4>>2]|0;f=g;h=h-(c[b+108>>2]|0)+-1|0;if((f-i|0)>(h|0))c[b+100>>2]=i+h;else j=9}else{g=c[f>>2]|0;f=g;j=9}if((j|0)==9)c[b+100>>2]=f;f=c[b+4>>2]|0;if(g){b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function ik(a){a=a|0;if(a>>>0>4294963200){c[(ck()|0)>>2]=0-a;a=-1}return a|0}function jk(a){a=a|0;return 0}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function lk(a,b){a=a|0;b=b|0;return-1|0}function mk(a){a=a|0;Gl(a);return}function nk(a,b){a=a|0;b=b|0;return(a+-48|0)>>>0<10|0}function ok(a,b){a=a|0;b=b|0;return bk(a)|0}function pk(b,c,d){b=b|0;c=c|0;d=d|0;if(((a[c>>0]|0)!=0?(ll(c,58885)|0)!=0:0)?(ll(c,54145)|0)!=0:0)d=0;else if(!d)d=Hl(1,4)|0;return d|0}function qk(a){a=a|0;var b=0,d=0;b=(bb()|0)+176|0;d=c[b>>2]|0;if(a)c[b>>2]=a;return d|0}function rk(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;h[k>>3]=b;d=c[k+4>>2]&-2147483648|d&2147483647;c[k>>2]=e;c[k+4>>2]=d;return+ +h[k>>3]}function sk(a,b){a=+a;b=+b;return+ +rk(a,b)}function tk(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=kw(d|0,m|0,52)|0;e=e&2047;j=kw(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=mw(n|0,o|0,1)|0;l=D;a:do{if(!((i|0)==0&(l|0)==0)?(g=o&2147483647,!(g>>>0>2146435072|(g|0)==2146435072&n>>>0>0|(e|0)==2047)):0){f=mw(d|0,m|0,1)|0;g=D;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return+((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=mw(d|0,m|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=mw(g|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=mw(d|0,m|0,1-e|0)|0;f=D}else f=m&1048575|1048576;if(!j){g=mw(n|0,o|0,12)|0;i=D;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=mw(g|0,i|0,1)|0;i=D}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=mw(n|0,o|0,1-j|0)|0;m=D}else m=o&1048575|1048576;l=hw(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do{if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=mw(d|0,f|0,1)|0;f=D;e=e+-1|0;l=hw(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=mw(d|0,f|0,1)|0;f=D;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=jw(d|0,f|0,0,-1048576)|0;d=D;e=mw(e|0,0,52)|0;d=d|D;e=o|e}else{e=kw(d|0,f|0,1-e|0)|0;d=D}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3}while(0);if((q|0)==3){b=a*b;b=b/b}return+b}function uk(a,b){a=+a;b=+b;return+ +tk(a,b)}function vk(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=kw(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+vk(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return+a}function wk(a,b){a=+a;b=b|0;return+ +vk(a,b)}function xk(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=mw(d+1023|0,0,52)|0;b=D;c[k>>2]=d;c[k+4>>2]=b;return+(a*+h[k>>3])}function yk(a,b){a=+a;b=b|0;return+ +xk(a,b)}function zk(a,b,c){a=a|0;b=b|0;c=c|0;return Ak(0,a,b,(c|0)!=0?c:37344)|0}function Ak(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?37348:f;f=c[j>>2]|0;a:do{if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[37076+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do{if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}}while(0);c[j>>2]=f;f=-2}}}while(0);if((k|0)==15){c[j>>2]=0;c[(ck()|0)>>2]=84;f=-1}i=l;return f|0}function Bk(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Ck(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+1040|0;l=o+8|0;n=o;k=c[b>>2]|0;c[n>>2]=k;m=(a|0)!=0;e=m?e:256;a=m?a:l;g=k;a:do{if((e|0)!=0&(k|0)!=0){j=e;k=g;e=0;while(1){g=d>>>2;h=g>>>0>=j>>>0;if(!(d>>>0>131|h)){g=k;break a}g=h?j:g;d=d-g|0;g=Dk(a,n,g,f)|0;if((g|0)==-1){e=d;break}p=(a|0)==(l|0);k=p?0:g;h=j-k|0;a=p?a:a+(g<<2)|0;e=g+e|0;g=c[n>>2]|0;if((j|0)!=(k|0)&(g|0)!=0){j=h;k=g}else{j=h;break a}}d=e;j=0;g=c[n>>2]|0;e=-1}else{j=e;e=0}}while(0);b:do{if((g|0)!=0?(j|0)!=0&(d|0)!=0:0){h=g;g=a;while(1){a=Ak(g,h,d,f)|0;if((a+2|0)>>>0<3)break;h=(c[n>>2]|0)+a|0;c[n>>2]=h;j=j+-1|0;e=e+1|0;if(!((j|0)!=0&(d|0)!=(a|0)))break b;else{d=d-a|0;g=g+4|0}}switch(a|0){case-1:{e=-1;break b}case 0:{c[n>>2]=0;break b}default:{c[f>>2]=0;break b}}}}while(0);if(m)c[b>>2]=c[n>>2];i=o;return e|0}function Dk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){g=f;j=h;m=16}else{c[g>>2]=0;l=b;g=f;k=i;m=37}else if(!b){g=f;m=7}else{i=b;g=f;m=6}a:while(1)if((m|0)==6){if(!g){m=26;break}else b=i;while(1){i=a[h>>0]|0;do{if(((i&255)+-1|0)>>>0<127?g>>>0>4&(h&3|0)==0:0){j=h;while(1){h=c[j>>2]|0;if((h+-16843009|h)&-2139062144){i=h;h=j;m=32;break}c[b>>2]=h&255;c[b+4>>2]=d[j+1>>0];c[b+8>>2]=d[j+2>>0];h=j+4|0;i=b+16|0;c[b+12>>2]=d[j+3>>0];g=g+-4|0;if(g>>>0>4){b=i;j=h}else{m=31;break}}if((m|0)==31){b=i;i=a[h>>0]|0;break}else if((m|0)==32){i=i&255;break}}}while(0);i=i&255;if((i+-1|0)>>>0>=127)break;h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g){m=26;break a}else b=b+4|0}i=i+-194|0;if(i>>>0>50){m=48;break}l=b;k=c[37076+(i<<2)>>2]|0;h=h+1|0;m=37;continue}else if((m|0)==7){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){i=c[h>>2]|0;if(!((i+-16843009|i)&-2139062144))do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(((i+-16843009|i)&-2139062144|0)==0);i=i&255}i=i&255;if((i+-1|0)>>>0<127){g=g+-1|0;h=h+1|0;m=7;continue}i=i+-194|0;if(i>>>0>50){m=48;break}i=c[37076+(i<<2)>>2]|0;j=h+1|0;m=16;continue}else if((m|0)==16){m=(d[j>>0]|0)>>>3;if((m+-16|m+(i>>26))>>>0>7){m=17;break}h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){m=20;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){m=23;break}h=j+3|0}}g=g+-1|0;m=7;continue}else if((m|0)==37){i=d[h>>0]|0;m=i>>>3;if((m+-16|m+(k>>26))>>>0>7){m=38;break}j=h+1|0;b=i+-128|k<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=41;break}j=h+2|0;b=i+-128|b<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=44;break}b=i+-128|b<<6;h=h+3|0}else h=j}else h=j;c[l>>2]=b;i=l+4|0;g=g+-1|0;m=6;continue}if((m|0)==17){h=j+-1|0;m=47}else if((m|0)==20){h=j+-1|0;m=47}else if((m|0)==23){h=j+-1|0;m=47}else if((m|0)==26)c[e>>2]=h;else if((m|0)==38){b=l;i=k;h=h+-1|0;m=47}else if((m|0)==41){g=l;f=h+-1|0;m=52}else if((m|0)==44){g=l;f=h+-1|0;m=52}if((m|0)==47)if(!i)m=48;else{g=b;f=h;m=52}if((m|0)==48)if(!(a[h>>0]|0)){if(b){c[b>>2]=0;c[e>>2]=0}f=f-g|0}else{g=b;f=h;m=52}if((m|0)==52){c[(ck()|0)>>2]=84;if(!g)f=-1;else{c[e>>2]=f;f=-1}}return f|0}function Ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k;a:do{if(!e)g=0;else{do{if(f){j=(b|0)==0?g:b;g=a[e>>0]|0;b=g&255;if(g<<24>>24>-1){c[j>>2]=b;g=g<<24>>24!=0&1;break a}g=b+-194|0;if(g>>>0<=50){b=e+1|0;h=c[37076+(g<<2)>>2]|0;if(f>>>0<4?(h&-2147483648>>>((f*6|0)+-6|0)|0)!=0:0)break;g=d[b>>0]|0;f=g>>>3;if((f+-16|f+(h>>26))>>>0<=7){g=g+-128|h<<6;if((g|0)>=0){c[j>>2]=g;g=2;break a}b=d[e+2>>0]|0;if((b&192|0)==128){b=b+-128|g<<6;if((b|0)>=0){c[j>>2]=b;g=3;break a}g=d[e+3>>0]|0;if((g&192|0)==128){c[j>>2]=g+-128|b<<6;g=4;break a}}}}}}while(0);c[(ck()|0)>>2]=84;g=-1}}while(0);i=k;return g|0}function Fk(b,d,e){b=b|0;d=d|0;e=e|0;do{if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(ck()|0)>>2]=84;b=-1;break}}else b=1}while(0);return b|0}function Gk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+272|0;j=m+8|0;l=m;h=c[b>>2]|0;c[l>>2]=h;k=(a|0)!=0;f=k?e:256;e=k?a:j;a=h;a:do{if((f|0)!=0&(h|0)!=0){h=f;g=a;f=0;while(1){a=d>>>0>=h>>>0;if(!(a|d>>>0>32)){a=g;break a}a=a?h:d;d=d-a|0;a=Hk(e,l,a,0)|0;if((a|0)==-1){f=d;break}o=(e|0)==(j|0);n=o?0:a;g=h-n|0;e=o?e:e+a|0;f=a+f|0;a=c[l>>2]|0;if((h|0)!=(n|0)&(a|0)!=0){h=g;g=a}else{h=g;break a}}d=f;h=0;a=c[l>>2]|0;f=-1}else{h=f;f=0}}while(0);b:do{if((a|0)!=0?(h|0)!=0&(d|0)!=0:0){g=a;a=e;while(1){e=Fk(a,c[g>>2]|0,0)|0;if((e+1|0)>>>0<2)break;g=(c[l>>2]|0)+4|0;c[l>>2]=g;d=d+-1|0;f=f+1|0;if(!((h|0)!=(e|0)&(d|0)!=0))break b;else{h=h-e|0;a=a+e|0}}if(!e)c[l>>2]=0;else f=-1}}while(0);if(k)c[b>>2]=c[l>>2];i=m;return f|0}function Hk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do{if(!b){b=c[d>>2]|0;f=c[b>>2]|0;if(!f)e=0;else{e=0;do{if(f>>>0>127){f=Fk(j,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do{if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=Fk(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e}while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=19;break}h=Fk(j,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=22;break}Fk(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==19){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==22){e=e-f|0;break}}}}while(0);i=k;return e|0}function Ik(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Fk(a,b,0)|0;return a|0}function Jk(a){a=a|0;return 0}function Kk(a){a=a|0;return}function Lk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Tk(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do{if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Gb[c[b+36>>2]&63](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}}while(0);i=m;return f|0}function Mk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=ik(nb(6,d|0)|0)|0;i=b;return a|0}function Nk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[9258]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=ik(vb(145,h|0)|0)|0}else{ob(185,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=ik(vb(145,g|0)|0)|0;gb(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((ik(ub(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Pk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[9258]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=ik(wb(146,n|0)|0)|0}else{ob(186,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=ik(wb(146,m|0)|0)|0;gb(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Qk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=8;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(eb(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Pk(b,d,e)|0;i=g;return f|0}function Rk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=jl(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;lw(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Sk(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Gb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Tk(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Uk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Sk(a)|0)!=0:0)b=-1;else if((Gb[c[a+32>>2]&63](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Vk(a){a=a|0;var b=0,d=0;do{if(a){if((c[a+76>>2]|0)<=-1){b=wl(a)|0;break}d=(Jk(a)|0)==0;b=wl(a)|0;if(!d)Kk(a)}else{if(!(c[9323]|0))b=0;else b=Vk(c[9323]|0)|0;Ea(37060);a=c[9264]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Jk(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=wl(a)|0|b;if(d)Kk(a);a=c[a+56>>2]|0}while((a|0)!=0);fb(37060)}}while(0);return b|0}function Wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Jk(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Lk(d,b)|0;Kk(d)}else i=3;do{if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Lk(d,b)|0}}while(0);return e|0}function Xk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Tk(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do{if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Gb[c[e+36>>2]&63](e,b,d)|0;break}b:do{if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Gb[c[e+36>>2]&63](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}}while(0);lw(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}}while(0);return f|0}function Yk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Jk(e)|0)==0;a=Xk(a,f,e)|0;if(!g)Kk(e)}else a=Xk(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Zk(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Jk(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Uk(a)|0}else f=3;do{if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Uk(a)|0;break}}}while(0);return b|0}function _k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=el(a,b,d,g)|0;i=f;return e|0}function $k(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=fl(a,b,f)|0;i=e;return d|0}function al(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;do{if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Jk(d)|0;else g=0;if(!((c[d+8>>2]|0)==0?(Sk(d)|0)!=0:0))h=6;if((h|0)==6?(e=d+4|0,f=c[e>>2]|0,f>>>0>((c[d+44>>2]|0)+-8|0)>>>0):0){h=f+-1|0;c[e>>2]=h;a[h>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Kk(d);break}if(g){Kk(d);b=-1}else b=-1}else b=-1}while(0);return b|0}function bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j;f=Fl(240)|0;do{if(f){c[e>>2]=c[d>>2];e=el(f,240,b,e)|0;if(e>>>0<240){b=Il(f,e+1|0)|0;c[a>>2]=(b|0)!=0?b:f;break}Gl(f);if((e|0)>=0?(h=e+1|0,g=Fl(h)|0,c[a>>2]=g,(g|0)!=0):0)e=el(g,h,b,d)|0;else e=-1}else e=-1}while(0);i=j;return e|0}function cl(b,d,e){b=b|0;d=d|0;e=e|0;var f=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;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((xl(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Jk(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=xl(b,d,o,q,r)|0;if(h){Gb[c[b+36>>2]&63](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=xl(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Kk(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function dl(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Jk(e)|0;else O=0;k=a[f>>0]|0;a:do{if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;C=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do{if(!(ak(m&255)|0)){m=(a[n>>0]|0)==37;d:do{if(m){q=n+1|0;o=a[q>>0]|0;e:do{switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=152;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case-2:{a[x>>0]=s;o=s;break c}case-1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{gk(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=hk(e)|0}while((ak(o)|0)!=0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}gk(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0>>0)c[L>>2]=o+1;else{if((hk(e)|0)<0){N=152;break b}q=c[M>>2]|0}if(q)c[L>>2]=(c[L>>2]|0)+-1;f:do{switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do{if((r&239|0)==99){iw(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{Q=n+1|0;s=(a[Q>>0]|0)==94;o=s&1;r=s?Q:n;n=s?n+2|0:Q;iw(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=r+2|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=r+2|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do{switch(o<<24>>24){case 0:{N=152;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do{if(s){if(t){f=Fl(r<<2)|0;if(!f){l=0;N=152;break b}}else f=x;c[J>>2]=0;c[C>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=hk(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Ak(K,y,1,J)|0){case-1:{l=0;N=152;break b}case-2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Il(f,l<<2)|0;if(!o){l=0;N=152;break b}Q=r;r=l;f=o;l=Q}if(!(Bk(J)|0)){l=0;N=152;break b}else{q=l;l=0}}else{if(t){l=Fl(r)|0;if(!l){l=0;f=0;N=152;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Il(l,f)|0;if(!o){f=0;N=152;break b}else{Q=r;r=f;l=o;o=Q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=hk(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}}while(0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do{if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}}while(0);if(!u){if(f)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=134;break}case 111:{o=8;N=134;break}case 117:case 100:{o=10;N=134;break}case 105:{o=0;N=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+ek(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}}while(0);l:do{if((N|0)==134){N=0;o=fk(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case-2:{a[x>>0]=o;break l}case-1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{Q=x;c[Q>>2]=o;c[Q+4>>2]=D;break l}default:break l}}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}}while(0);n=n+(m&1)|0;gk(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=hk(e)|0;if((m|0)!=(d[n>>0]|0)){N=21;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(ak(d[m>>0]|0)|0))break;else n=m}gk(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=hk(e)|0}while((ak(m)|0)!=0);m=c[L>>2]|0;if(c[M>>2]|0){m=m+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==21){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=153}}else if((N|0)==152)if(!k){k=m;N=153}if((N|0)==153){m=k;k=-1}if(m){Gl(l);Gl(f)}}else k=0}while(0);if(O)Kk(e);i=P;return k|0}function el(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=37352;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(ck()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=cl(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function fl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=29;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=dl(e,b,d)|0;i=g;return h|0}function gl(a,b,c){a=a|0;b=b|0;c=c|0;return+ +zl(a,b,2)}function hl(a,b,c){a=a|0;b=b|0;c=c|0;a=Al(a,b,c,-1,-1)|0;return a|0}function il(a,b,c){a=a|0;b=b|0;c=c|0;a=Al(a,b,c,0,-2147483648)|0;return a|0}function jl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do{if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5}while(0);if((i|0)==5)if(f)i=6;else e=0;b:do{if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=$(h,16843009)|0;c:do{if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11}while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}}while(0);return((e|0)!=0?b:0)|0}function kl(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do{if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8}while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ll(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return(c&255)-(d&255)|0}function ml(a,b){a=a|0;b=b|0;kl(a,b)|0;return a|0}function nl(b){b=b|0;var d=0,e=0,f=0;f=b;a:do{if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do{b=b+1|0}while((a[b>>0]|0)!=0)}return b-f|0}function ol(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do{if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function pl(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(d|0)==0;if(a-b>>2>>>0>>0){if(!e)do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0)}else if(!e){e=b;b=a;while(1){d=d+-1|0;c[b>>2]=c[e>>2];if(!d)break;else{e=e+4|0;b=b+4|0}}}return a|0}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function tl(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=tw(f|0,b|0,10,0)|0;f=D;e=jw(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=jw(e|0,D|0,b|0,f|0)|0;b=D;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=hk(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=hw(0,0,g|0,b|0)|0;f=a?D:b;e=a?e:g}D=f;return e|0}function ul(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function vl(a){a=a|0;if(!(c[a+68>>2]|0))Kk(a);return}function wl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Gb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Gb[c[a+40>>2]&63](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}var yb=[Uw,Qq,Uq,Or,Sr,Xr,Zr,xu,Iu,Uw,Uw,Uw,Uw,Uw,Uw,Uw];var zb=[Vw,ii,Yh,Mh,Ah,oh,ch,Sg,Bg,Mj,Lj,Ij,Vw,Vw,Vw,Vw];var Ab=[Ww,bs,hs,Ww];var Bb=[Xw,ei,fi,Uh,Vh,Ih,Jh,wh,xh,kh,lh,_g,$g,Og,Pg,xg,yg,kg,lg,_f,$f,Of,Pf,Cf,Df,qf,rf,ye,ze,le,me,tc,uc,Pd,Td,Qd,bo,eo,co,fo,kd,ld,Qi,md,dd,ed,Ic,Jc,Qc,Rc,Xc,Yc,nd,od,ud,vd,Bd,Cd,Id,Jd,je,ke,He,Ie,Oe,Pe,Ve,We,af,bf,Mg,Ng,Dm,qi,Ai,Bi,Ri,Si,fj,gj,mj,nj,rj,sj,uj,xj,vj,wj,yj,zj,Cn,Tl,Zl,nn,cm,im,Bm,Cm,on,Dn,Rn,Tn,Sn,Un,Xn,Zn,Yn,_n,ko,mo,lo,no,uo,vo,en,wo,xo,yo,Ao,Ks,Eo,Fo,Jo,Ko,Yo,Zo,qp,rp,Fp,Gp,Sp,Tp,pq,qq,Nq,Pq,Sq,Tq,Wq,Xq,fr,gr,qr,rr,Br,Cr,Mr,Nr,Vr,Wr,$r,as,fs,gs,ls,ms,qs,rs,ys,zs,at,bt,wu,tt,Vt,Wt,Xt,Yt,zo,Js,Ms,kt,Bt,Jt,Rt,St,Ti,Ii,$i,sc,pn,Wn,_d,Eg,Wj,ul,vl,Ml,mk,Pr,Rr,Ls,Gv,Nv,Ov,Pv,Qv,Rv,Sv,Im,Wm,Gl,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw,Xw];var Cb=[Yw,hi,Xh,Lh,zh,nh,bh,Rg,Ag,mg,ag,Qf,Ef,sf,Ae,ne,vc,qn,Ci,Fi,Ul,Yl,dm,hm,Fn,_q,$q,ar,br,dr,er,jr,kr,lr,mr,or,pr,ur,vr,wr,xr,zr,Ar,Fr,Gr,Hr,Ir,Kr,Lr,ps,us,bu,du,fu,cu,eu,gu,kc,Ui,Gi,Hi,Ji,kn,Cc,Ec,go,dn,Qm,Zd,re,jf,wf,If,Uf,eg,qg,Dg,Ug,eh,qh,Ch,Oh,_h,ki,yi,Zi,sm,qm,hn,oo,rm,Om,_m,Zm,av,bv,cv,dv,ev,fv,st,gv,hv,iv,jv,kv,lv,mv,nv,ov,pv,qv,rv,sv,tv,uv,vv,wv,xv,yv,zv,Av,Bv,Cv,Ev,Yv,Yw,Yw];var Db=[Zw,Lo,Mo,No,Oo,Po,Qo,Ro,So,To,Uo,Vo,_o,$o,ap,bp,cp,dp,ep,fp,gp,hp,ip,xp,zp,Kp,Mp,Vp,Wp,Xp,Zp,$p,sq,tq,uq,wq,yq,es,ks,cd,Uu,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw,Zw];var Eb=[_w,un,vn,hd,yn,ri,hj,oj,tj,Mk,Vl,Kn,Mn,Nn,Jn,_l,$l,em,xn,jm,km,qo,Up,iu,ku,mu,su,uu,ou,qu,rq,ju,lu,nu,tu,vu,pu,ru,Yq,Zq,cr,hr,ir,nr,sr,tr,yr,Dr,Er,Jr,xt,yt,At,Zt,$t,_t,au,ot,pt,rt,Ft,Gt,It,Nt,Ot,Qt,ui,bj,jn,Li,Vn,$n,$w,ax,bx,qk,pl,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w,_w];var Fb=[cx,Qr,Yr,cx];var Gb=[dx,rn,wn,An,um,vm,Aj,Bl,Pk,Ok,Nk,Qk,Gn,Ln,Wl,Pn,fm,Do,Io,ns,ss,dt,ft,it,Ns,Us,Xs,_s,Dc,yl,Rm,pk,Zu,$u,Fk,Ek,zk,bl,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx,dx];var Hb=[ex,ds,js,ex];var Ib=[fx,fd,Pj,Oj,Nj,Hn,sn,os,ts,fx,fx,fx,fx,fx,fx,fx];var Jb=[gx,wp,Cp,Jp,Op,gx,gx,gx];var Kb=[hx,Tr,_r,cs,is,hx,hx,hx];var Lb=[ix,gi,Wh,Kh,yh,mh,ah,Qg,zg,og,cg,Sf,Gf,uf,Ce,pe,xc,id,jd,On,Xl,am,Qn,zn,gm,lm,Bn,ct,et,gt,Ss,Vs,Ys,Vi,oc,qc,io,Is,jo,ok,nk,Km,Xm,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix,ix];var Mb=[jx,Bo,Go,sp,tp,yp,Ep,Hp,Ip,Lp,Qp,jt,wt,zt,$s,nt,qt,Et,Ht,Mt,Pt,Gk,Ck,jx,jx,jx,jx,jx,jx,jx,jx,jx];var Nb=[kx,$v,_v,Zv];var Ob=[lx,lc,aj,Xo,Bs,Cs,Ds,Zj,$j,_j,lx,lx,lx,lx,lx,lx];var Pb=[mx,ng,bg,Rf,Ff,tf,Be,oe,wc,ht,Ps,Qs,Rs,Zs,ti,zi,Hu,Tu,Dk,kk,Ak,fw,ew,dw,cw,bw,aw,mx,mx,mx,mx,mx];var Qb=[nx,tm,si,ro,Wi,Gm,ox,Am,Mm,Ki,xm,to,Xu,Yu,_u,Um];var Rb=[px,qx,Tj,rx,Uj,sx,Sj,px];var Sb=[tx,bq,Aq,ut,vt,lt,mt,Ct,Dt,Kt,Lt,tx,tx,tx,tx,tx];var Tb=[ux,Ap,Dp,Np,Pp,ux,ux,ux];var Ub=[vx,Ud,Vd,Rd,Sd,gd,Kc,Lc,Sc,Tc,Zc,_c,pd,qd,wd,xd,Dd,Ed,Kd,Ld,Je,Ke,Qe,Re,Xe,Ye,cf,df,Cj,Dj,Fj,In,tn,Co,Ho,dc,zm,yc,zc,Ac,Bc,Fc,Gc,Hc,De,Ee,Fe,Ge,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx,vx];return{_jpegls_encode:Yi,___cxa_can_catch:Qj,_free:Gl,_jpegls_decode:Xi,___cxa_is_pointer_type:Rj,_i64Add:jw,_memmove:nw,_i64Subtract:hw,_memset:iw,_malloc:Fl,_memcpy:lw,_bitshift64Lshr:kw,_bitshift64Shl:mw,__GLOBAL__I_000101:Nl,__GLOBAL__sub_I_jpegls_cpp:rc,__GLOBAL__sub_I_iostream_cpp:Ol,runPostSets:gw,stackAlloc:Vb,stackSave:Wb,stackRestore:Xb,establishStackSpace:Yb,setThrew:Zb,setTempRet0:ac,getTempRet0:bc,dynCall_iiiiiiii:xw,dynCall_viiiii:yw,dynCall_iiiiiid:zw,dynCall_vi:Aw,dynCall_vii:Bw,dynCall_iiiiiii:Cw,dynCall_ii:Dw,dynCall_iiiiiiiiiiii:Ew,dynCall_iiii:Fw,dynCall_viiiiiiiiiiiiiii:Gw,dynCall_viiiiii:Hw,dynCall_viiiiiii:Iw,dynCall_viiiiiiiiii:Jw,dynCall_iii:Kw,dynCall_iiiiii:Lw,dynCall_diii:Mw,dynCall_i:Nw,dynCall_iiiii:Ow,dynCall_viii:Pw,dynCall_v:Qw,dynCall_iiiiiiiii:Rw,dynCall_iiiiid:Sw,dynCall_viiii:Tw}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _jpegls_encode=Module["_jpegls_encode"]=asm["_jpegls_encode"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var _jpegls_decode=Module["_jpegls_decode"]=asm["_jpegls_decode"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var __GLOBAL__sub_I_jpegls_cpp=Module["__GLOBAL__sub_I_jpegls_cpp"]=asm["__GLOBAL__sub_I_jpegls_cpp"];var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",function(){process["exit"](status)});console.log(" ");setTimeout(function(){process["exit"](status)},500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach(function(decorator){output=decorator(output,what)})}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();return Module};var ColorSpace={Unkown:0,Grayscale:1,AdobeRGB:2,RGB:3,CYMK:4};var JpegImage=function jpegImage(){"use strict";var dctZigZag=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);var dctCos1=4017;var dctSin1=799;var dctCos3=3406;var dctSin3=2276;var dctCos6=1567;var dctSin6=3784;var dctSqrt2=5793;var dctSqrt1d2=2896;function constructor(){}function buildHuffmanTable(codeLengths,values){var k=0,code=[],i,j,length=16;while(length>0&&!codeLengths[length-1])length--;code.push({children:[],index:0});var p=code[0],q;for(i=0;i0){p=code.pop()}p.index++;code.push(p);while(code.length<=i){code.push(q={children:[],index:0});p.children[p.index]=q.children;p=q}k++}if(i+10){bitsCount--;return bitsData>>bitsCount&1}bitsData=data[offset++];if(bitsData==255){var nextByte=data[offset++];if(nextByte){throw"unexpected marker: "+(bitsData<<8|nextByte).toString(16)}}bitsCount=7;return bitsData>>>7}function decodeHuffman(tree){var node=tree;var bit;while((bit=readBit())!==null){node=node[bit];if(typeof node==="number")return node;if(typeof node!=="object")throw"invalid huffman sequence"}return null}function receive(length){var n=0;while(length>0){var bit=readBit();if(bit===null)return;n=n<<1|bit;length--}return n}function receiveAndExtend(length){var n=receive(length);if(n>=1<>4;if(s===0){if(r<15)break;k+=16;continue}k+=r;var z=dctZigZag[k];component.blockData[offset+z]=receiveAndExtend(s);k++}}function decodeDCFirst(component,offset){var t=decodeHuffman(component.huffmanTableDC);var diff=t===0?0:receiveAndExtend(t)<0){eobrun--;return}var k=spectralStart,e=spectralEnd;while(k<=e){var rs=decodeHuffman(component.huffmanTableAC);var s=rs&15,r=rs>>4;if(s===0){if(r<15){eobrun=receive(r)+(1<>4;if(s===0){if(r<15){eobrun=receive(r)+(1<=65488&&marker<=65495){offset+=2}else{break}}return offset-startOffset}function quantizeAndInverse(component,blockBufferOffset,p){var qt=component.quantizationTable;var v0,v1,v2,v3,v4,v5,v6,v7,t;var i;for(i=0;i<64;i++){p[i]=component.blockData[blockBufferOffset+i]*qt[i]}for(i=0;i<8;++i){var row=8*i;if(p[1+row]===0&&p[2+row]===0&&p[3+row]===0&&p[4+row]===0&&p[5+row]===0&&p[6+row]===0&&p[7+row]===0){t=dctSqrt2*p[0+row]+512>>10;p[0+row]=t;p[1+row]=t;p[2+row]=t;p[3+row]=t;p[4+row]=t;p[5+row]=t;p[6+row]=t;p[7+row]=t;continue}v0=dctSqrt2*p[0+row]+128>>8;v1=dctSqrt2*p[4+row]+128>>8;v2=p[2+row];v3=p[6+row];v4=dctSqrt1d2*(p[1+row]-p[7+row])+128>>8;v7=dctSqrt1d2*(p[1+row]+p[7+row])+128>>8;v5=p[3+row]<<4;v6=p[5+row]<<4;t=v0-v1+1>>1;v0=v0+v1+1>>1;v1=t;t=v2*dctSin6+v3*dctCos6+128>>8;v2=v2*dctCos6-v3*dctSin6+128>>8;v3=t;t=v4-v6+1>>1;v4=v4+v6+1>>1;v6=t;t=v7+v5+1>>1;v5=v7-v5+1>>1;v7=t;t=v0-v3+1>>1;v0=v0+v3+1>>1;v3=t;t=v1-v2+1>>1;v1=v1+v2+1>>1;v2=t;t=v4*dctSin3+v7*dctCos3+2048>>12;v4=v4*dctCos3-v7*dctSin3+2048>>12;v7=t;t=v5*dctSin1+v6*dctCos1+2048>>12;v5=v5*dctCos1-v6*dctSin1+2048>>12;v6=t;p[0+row]=v0+v7;p[7+row]=v0-v7;p[1+row]=v1+v6;p[6+row]=v1-v6;p[2+row]=v2+v5;p[5+row]=v2-v5;p[3+row]=v3+v4;p[4+row]=v3-v4}for(i=0;i<8;++i){var col=i;if(p[1*8+col]===0&&p[2*8+col]===0&&p[3*8+col]===0&&p[4*8+col]===0&&p[5*8+col]===0&&p[6*8+col]===0&&p[7*8+col]===0){t=dctSqrt2*p[i+0]+8192>>14;p[0*8+col]=t;p[1*8+col]=t;p[2*8+col]=t;p[3*8+col]=t;p[4*8+col]=t;p[5*8+col]=t;p[6*8+col]=t;p[7*8+col]=t;continue}v0=dctSqrt2*p[0*8+col]+2048>>12;v1=dctSqrt2*p[4*8+col]+2048>>12;v2=p[2*8+col];v3=p[6*8+col];v4=dctSqrt1d2*(p[1*8+col]-p[7*8+col])+2048>>12;v7=dctSqrt1d2*(p[1*8+col]+p[7*8+col])+2048>>12;v5=p[3*8+col];v6=p[5*8+col];t=v0-v1+1>>1;v0=v0+v1+1>>1;v1=t;t=v2*dctSin6+v3*dctCos6+2048>>12;v2=v2*dctCos6-v3*dctSin6+2048>>12;v3=t;t=v4-v6+1>>1;v4=v4+v6+1>>1;v6=t;t=v7+v5+1>>1;v5=v7-v5+1>>1;v7=t;t=v0-v3+1>>1;v0=v0+v3+1>>1;v3=t;t=v1-v2+1>>1;v1=v1+v2+1>>1;v2=t;t=v4*dctSin3+v7*dctCos3+2048>>12;v4=v4*dctCos3-v7*dctSin3+2048>>12;v7=t;t=v5*dctSin1+v6*dctCos1+2048>>12;v5=v5*dctCos1-v6*dctSin1+2048>>12;v6=t;p[0*8+col]=v0+v7;p[7*8+col]=v0-v7;p[1*8+col]=v1+v6;p[6*8+col]=v1-v6;p[2*8+col]=v2+v5;p[5*8+col]=v2-v5;p[3*8+col]=v3+v4;p[4*8+col]=v3-v4}for(i=0;i<64;++i){var index=blockBufferOffset+i;var q=p[i];q=q<=-2056/component.bitConversion?0:q>=2024/component.bitConversion?255/component.bitConversion:q+2056/component.bitConversion>>4;component.blockData[index]=q}}function buildComponentData(frame,component){var lines=[];var blocksPerLine=component.blocksPerLine;var blocksPerColumn=component.blocksPerColumn;var samplesPerLine=blocksPerLine<<3;var computationBuffer=new Int32Array(64);var i,j,ll=0;for(var blockRow=0;blockRow=255?255:a|0}constructor.prototype={load:function load(path){var handleData=function(data){this.parse(data);if(this.onload)this.onload()}.bind(this);if(path.indexOf("data:")>-1){var offset=path.indexOf("base64,")+7;var data=atob(path.substring(offset));var arr=new Uint8Array(data.length);for(var i=data.length-1;i>=0;i--){arr[i]=data.charCodeAt(i)}handleData(data)}else{var xhr=new XMLHttpRequest;xhr.open("GET",path,true);xhr.responseType="arraybuffer";xhr.onload=function(){var data=new Uint8Array(xhr.response);handleData(data)}.bind(this);xhr.send(null)}},parse:function parse(data){function readUint16(){var value=data[offset]<<8|data[offset+1];offset+=2;return value}function readDataBlock(){var length=readUint16();var array=data.subarray(offset,offset+length-2);offset+=array.length;return array}function prepareComponents(frame){var mcusPerLine=Math.ceil(frame.samplesPerLine/8/frame.maxH);var mcusPerColumn=Math.ceil(frame.scanLines/8/frame.maxV);for(var i=0;i>4===0){for(j=0;j<64;j++){var z=dctZigZag[j];tableData[z]=data[offset++]}}else if(quantizationTableSpec>>4===1){for(j=0;j<64;j++){var zz=dctZigZag[j];tableData[zz]=readUint16()}}else throw"DQT: invalid table spec";quantizationTables[quantizationTableSpec&15]=tableData}break;case 65472:case 65473:case 65474:if(frame){throw"Only single frame JPEGs supported"}readUint16();frame={};frame.extended=fileMarker===65473;frame.progressive=fileMarker===65474;frame.precision=data[offset++];frame.scanLines=readUint16();frame.samplesPerLine=readUint16();frame.components=[];frame.componentIds={};var componentsCount=data[offset++],componentId;var maxH=0,maxV=0;for(i=0;i>4;var v=data[offset+1]&15;if(maxH>4===0?huffmanTablesDC:huffmanTablesAC)[huffmanTableSpec&15]=buildHuffmanTable(codeLengths,huffmanValues)}break;case 65501:readUint16();resetInterval=readUint16();break;case 65498:var scanLength=readUint16();var selectorsCount=data[offset++];var components=[],component;for(i=0;i>4];component.huffmanTableAC=huffmanTablesAC[tableSpec&15];components.push(component)}var spectralStart=data[offset++];var spectralEnd=data[offset++];var successiveApproximation=data[offset++];var processed=decodeScan(data,offset,frame,components,resetInterval,spectralStart,spectralEnd,successiveApproximation>>4,successiveApproximation&15);offset+=processed;break;default:if(data[offset-3]==255&&data[offset-2]>=192&&data[offset-2]<=254){offset-=3;break}throw"unknown JPEG marker "+fileMarker.toString(16)}fileMarker=readUint16()}this.width=frame.samplesPerLine;this.height=frame.scanLines;this.jfif=jfif;this.adobe=adobe;this.components=[];switch(frame.components.length){case 1:this.colorspace=ColorSpace.Grayscale;break;case 3:if(this.adobe)this.colorspace=ColorSpace.AdobeRGB;else this.colorspace=ColorSpace.RGB;break;case 4:this.colorspace=ColorSpace.CYMK;break;default:this.colorspace=ColorSpace.Unknown}for(var i=0;i>4!==4092||current===65476){switch(current){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,jpeg.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(current>>8!==255){throw new Error("ERROR: format throw new IOException! (decode)")}}current=this.stream.get16()}if(current<65472||current>65479){throw new Error("ERROR: could not handle arithmetic code!")}this.frame.read(this.stream);current=this.stream.get16();do{while(current!==65498){switch(current){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,jpeg.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(current>>8!==255){throw new Error("ERROR: format throw new IOException! (Parser.decode)")}}current=this.stream.get16()}this.precision=this.frame.precision;this.components=this.frame.components;if(!this.numBytes){this.numBytes=parseInt(Math.ceil(this.precision/8))}if(this.numBytes==1){this.mask=255}else{this.mask=65535}this.scan.read(this.stream);this.numComp=this.scan.numComp;this.selection=this.scan.selection;if(this.numBytes===1){if(this.numComp===3){this.getter=this.getValueRGB;this.setter=this.setValueRGB;this.output=this.outputRGB}else{this.getter=this.getValue8;this.setter=this.setValue8;this.output=this.outputSingle}}else{this.getter=this.getValue16;this.setter=this.setValue16;this.output=this.outputSingle}switch(this.selection){case 2:this.selector=this.select2;break;case 3:this.selector=this.select3;break;case 4:this.selector=this.select4;break;case 5:this.selector=this.select5;break;case 6:this.selector=this.select6;break;case 7:this.selector=this.select7;break;default:this.selector=this.select1;break}this.scanComps=this.scan.components;this.quantTables=this.quantTable.quantTables;for(i=0;i=jpeg.lossless.Decoder.RESTART_MARKER_BEGIN&¤t<=jpeg.lossless.Decoder.RESTART_MARKER_END)){break}}if(current===65500&&scanNum===1){this.readNumber();current=this.stream.get16()}}while(current!==65497&&(this.xLoc>1)};jpeg.lossless.Decoder.prototype.select6=function(compOffset){return this.getPreviousY(compOffset)+(this.getPreviousX(compOffset)-this.getPreviousXY(compOffset)>>1)};jpeg.lossless.Decoder.prototype.select7=function(compOffset){return(this.getPreviousX(compOffset)+this.getPreviousY(compOffset))/2};jpeg.lossless.Decoder.prototype.decodeRGB=function(prev,temp,index){var value,actab,dctab,qtab,ctrC,i,k,j;prev[0]=this.selector(0);prev[1]=this.selector(1);prev[2]=this.selector(2);for(ctrC=0;ctrC=65280){return value}prev[ctrC]=this.IDCT_Source[0]=prev[ctrC]+this.getn(index,value,temp,index);this.IDCT_Source[0]*=qtab[0];for(j=1;j<64;j+=1){value=this.getHuffmanValue(actab,temp,index);if(value>=65280){return value}j+=value>>4;if((value&15)===0){if(value>>4===0){break}}else{this.IDCT_Source[jpeg.lossless.Decoder.IDCT_P[j]]=this.getn(index,value&15,temp,index)*qtab[j]}}}}return 0};jpeg.lossless.Decoder.prototype.decodeSingle=function(prev,temp,index){var value,i,n,nRestart;if(this.restarting){this.restarting=false;prev[0]=1<=65280){return value}n=this.getn(prev,value,temp,index);nRestart=n>>8;if(nRestart>=jpeg.lossless.Decoder.RESTART_MARKER_BEGIN&&nRestart<=jpeg.lossless.Decoder.RESTART_MARKER_END){return nRestart}prev[0]+=n}return 0};jpeg.lossless.Decoder.prototype.getHuffmanValue=function(table,temp,index){var code,input,mask;mask=65535;if(index[0]<8){temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input}else{index[0]-=8}code=table[temp[0]>>index[0]];if((code&jpeg.lossless.Decoder.MSB)!==0){if(this.markerIndex!==0){this.markerIndex=0;return 65280|this.marker}temp[0]&=mask>>16-index[0];temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input;code=table[(code&255)*256+(temp[0]>>index[0])];index[0]+=8}index[0]+=8-(code>>8);if(index[0]<0){throw new Error("index="+index[0]+" temp="+temp[0]+" code="+code+" in HuffmanValue()")}if(index[0]>16-index[0];return code&255};jpeg.lossless.Decoder.prototype.getn=function(PRED,n,temp,index){var result,one,n_one,mask,input;one=1;n_one=-1;mask=65535;if(n===0){return 0}if(n===16){if(PRED[0]>=0){return-32768}else{return 32768}}index[0]-=n;if(index[0]>=0){if(index[0]>index[0];temp[0]&=mask>>16-index[0]}else{temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input;index[0]+=8;if(index[0]<0){if(this.markerIndex!==0){this.markerIndex=0;return(65280|this.marker)<<8}temp[0]<<=8;input=this.stream.get8();if(input===255){this.marker=this.stream.get8();if(this.marker!==0){this.markerIndex=9}}temp[0]|=input;index[0]+=8}if(index[0]<0){throw new Error("index="+index[0]+" in getn()")}if(index[0]>index[0];temp[0]&=mask>>16-index[0]}if(result0){return this.getter(this.yLoc*this.xDim+this.xLoc-1,compOffset)}else if(this.yLoc>0){return this.getPreviousY(compOffset)}else{return 1<0&&this.yLoc>0){return this.getter((this.yLoc-1)*this.xDim+this.xLoc-1,compOffset)}else{return this.getPreviousY(compOffset)}};jpeg.lossless.Decoder.prototype.getPreviousY=function(compOffset){if(this.yLoc>0){return this.getter((this.yLoc-1)*this.xDim+this.xLoc,compOffset)}else{return this.getPreviousX(compOffset)}};jpeg.lossless.Decoder.prototype.isLastPixel=function(){return this.xLoc===this.xDim-1&&this.yLoc===this.yDim-1};jpeg.lossless.Decoder.prototype.outputSingle=function(PRED){if(this.xLoc=this.xDim){this.yLoc+=1;this.xLoc=0}}};jpeg.lossless.Decoder.prototype.outputRGB=function(PRED){var offset=this.yLoc*this.xDim+this.xLoc;if(this.xLoc=this.xDim){this.yLoc+=1;this.xLoc=0}}};jpeg.lossless.Decoder.prototype.setValue8=function(index,val){this.outputData[index]=val};jpeg.lossless.Decoder.prototype.getValue8=function(index){return this.outputData[index]};var littleEndian=function(){var buffer=new ArrayBuffer(2);new DataView(buffer).setInt16(0,256,true);return new Int16Array(buffer)[0]===256}();if(littleEndian){jpeg.lossless.Decoder.prototype.setValue16=jpeg.lossless.Decoder.prototype.setValue8;jpeg.lossless.Decoder.prototype.getValue16=jpeg.lossless.Decoder.prototype.getValue8}else{jpeg.lossless.Decoder.prototype.setValue16=function(index,val){this.outputData[index]=(val&255)<<8|val>>8&255};jpeg.lossless.Decoder.prototype.getValue16=function(index){var val=this.outputData[index];return(val&255)<<8|val>>8&255}}jpeg.lossless.Decoder.prototype.setValueRGB=function(index,val,compOffset){this.outputData[index*3+compOffset]=val};jpeg.lossless.Decoder.prototype.getValueRGB=function(index,compOffset){return this.outputData[index*3+compOffset]};jpeg.lossless.Decoder.prototype.readApp=function(){var count=0,length=this.stream.get16();count+=2;while(countlength){throw new Error("ERROR: frame format error")}c=data.get8();count+=1;if(count>=length){throw new Error("ERROR: frame format error [c>=Lf]")}temp=data.get8();count+=1;if(!this.components[c]){this.components[c]=new jpeg.lossless.ComponentSpec}this.components[c].hSamp=temp>>4;this.components[c].vSamp=temp&15;this.components[c].quantTableSel=data.get8();count+=1}if(count!==length){throw new Error("ERROR: frame format error [Lf!=count]")}return 1};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.FrameHeader}},{"./component-spec.js":1,"./data-stream.js":2}],5:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.Utils=jpeg.lossless.Utils||(typeof require!=="undefined"?require("./utils.js"):null);jpeg.lossless.HuffmanTable=jpeg.lossless.HuffmanTable||function(){this.l=jpeg.lossless.Utils.createArray(4,2,16);this.th=[];this.v=jpeg.lossless.Utils.createArray(4,2,16,200);this.tc=jpeg.lossless.Utils.createArray(4,2);this.tc[0][0]=0;this.tc[1][0]=0;this.tc[2][0]=0;this.tc[3][0]=0;this.tc[0][1]=0;this.tc[1][1]=0;this.tc[2][1]=0;this.tc[3][1]=0;this.th[0]=0;this.th[1]=0;this.th[2]=0;this.th[3]=0};jpeg.lossless.HuffmanTable.MSB=2147483648;jpeg.lossless.HuffmanTable.prototype.read=function(data,HuffTab){var count=0,length,temp,t,c,i,j;length=data.get16();count+=2;while(count3){throw new Error("ERROR: Huffman table ID > 3")}c=temp>>4;if(c>2){throw new Error("ERROR: Huffman table [Table class > 2 ]")}this.th[t]=1;this.tc[t][c]=1;for(i=0;i<16;i+=1){this.l[t][c][i]=data.get8();count+=1}for(i=0;i<16;i+=1){for(j=0;jlength){throw new Error("ERROR: Huffman table format error [count>Lh]")}this.v[t][c][i][j]=data.get8();count+=1}}}if(count!==length){throw new Error("ERROR: Huffman table format error [count!=Lf]")}for(i=0;i<4;i+=1){for(j=0;j<2;j+=1){if(this.tc[i][j]!==0){this.buildHuffTable(HuffTab[i][j],this.l[i][j],this.v[i][j])}}}return 1};jpeg.lossless.HuffmanTable.prototype.buildHuffTable=function(tab,L,V){var currentTable,temp,k,i,j,n;temp=256;k=0;for(i=0;i<8;i+=1){for(j=0;j>i+1;n+=1){tab[k]=V[i][j]|i+1<<8;k+=1}}}for(i=1;k<256;i+=1,k+=1){tab[k]=i|jpeg.lossless.HuffmanTable.MSB}currentTable=1;k=0;for(i=8;i<16;i+=1){for(j=0;j>i-7;n+=1){tab[currentTable*256+k]=V[i][j]|i+1<<8;k+=1}if(k>=256){if(k>256){throw new Error("ERROR: Huffman table error(1)!")}k=0;currentTable+=1}}}};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.HuffmanTable}},{"./data-stream.js":2,"./utils.js":10}],6:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.ComponentSpec=jpeg.lossless.ComponentSpec||(typeof require!=="undefined"?require("./component-spec.js"):null);jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.Decoder=jpeg.lossless.Decoder||(typeof require!=="undefined"?require("./decoder.js"):null);jpeg.lossless.FrameHeader=jpeg.lossless.FrameHeader||(typeof require!=="undefined"?require("./frame-header.js"):null);jpeg.lossless.HuffmanTable=jpeg.lossless.HuffmanTable||(typeof require!=="undefined"?require("./huffman-table.js"):null);jpeg.lossless.QuantizationTable=jpeg.lossless.QuantizationTable||(typeof require!=="undefined"?require("./quantization-table.js"):null);jpeg.lossless.ScanComponent=jpeg.lossless.ScanComponent||(typeof require!=="undefined"?require("./scan-component.js"):null);jpeg.lossless.ScanHeader=jpeg.lossless.ScanHeader||(typeof require!=="undefined"?require("./scan-header.js"):null);jpeg.lossless.Utils=jpeg.lossless.Utils||(typeof require!=="undefined"?require("./utils.js"):null);var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg}},{"./component-spec.js":1,"./data-stream.js":2,"./decoder.js":3,"./frame-header.js":4,"./huffman-table.js":5,"./quantization-table.js":7,"./scan-component.js":8,"./scan-header.js":9,"./utils.js":10}],7:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.Utils=jpeg.lossless.Utils||(typeof require!=="undefined"?require("./utils.js"):null);jpeg.lossless.QuantizationTable=jpeg.lossless.QuantizationTable||function(){this.precision=[];this.tq=[];this.quantTables=jpeg.lossless.Utils.createArray(4,64);this.tq[0]=0;this.tq[1]=0;this.tq[2]=0;this.tq[3]=0};jpeg.lossless.QuantizationTable.enhanceQuantizationTable=function(qtab,table){var i;for(i=0;i<8;i+=1){qtab[table[0*8+i]]*=90;qtab[table[4*8+i]]*=90;qtab[table[2*8+i]]*=118;qtab[table[6*8+i]]*=49;qtab[table[5*8+i]]*=71;qtab[table[1*8+i]]*=126;qtab[table[7*8+i]]*=25;qtab[table[3*8+i]]*=106}for(i=0;i<8;i+=1){qtab[table[0+8*i]]*=90;qtab[table[4+8*i]]*=90;qtab[table[2+8*i]]*=118;qtab[table[6+8*i]]*=49;qtab[table[5+8*i]]*=71;qtab[table[1+8*i]]*=126;qtab[table[7+8*i]]*=25;qtab[table[3+8*i]]*=106}for(i=0;i<64;i+=1){qtab[i]>>=6}};jpeg.lossless.QuantizationTable.prototype.read=function(data,table){var count=0,length,temp,t,i;length=data.get16();count+=2;while(count3){throw new Error("ERROR: Quantization table ID > 3")}this.precision[t]=temp>>4;if(this.precision[t]===0){this.precision[t]=8}else if(this.precision[t]===1){this.precision[t]=16}else{throw new Error("ERROR: Quantization table precision error")}this.tq[t]=1;if(this.precision[t]===8){for(i=0;i<64;i+=1){if(count>length){throw new Error("ERROR: Quantization table format error")}this.quantTables[t][i]=data.get8();count+=1}jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t],table)}else{for(i=0;i<64;i+=1){if(count>length){throw new Error("ERROR: Quantization table format error")}this.quantTables[t][i]=data.get16();count+=2}jpeg.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[t],table)}}if(count!==length){throw new Error("ERROR: Quantization table error [count!=Lq]")}return 1};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.QuantizationTable}},{"./data-stream.js":2,"./utils.js":10}],8:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.ScanComponent=jpeg.lossless.ScanComponent||function(){this.acTabSel=0;this.dcTabSel=0;this.scanCompSel=0};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.ScanComponent}},{}],9:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.DataStream=jpeg.lossless.DataStream||(typeof require!=="undefined"?require("./data-stream.js"):null);jpeg.lossless.ScanComponent=jpeg.lossless.ScanComponent||(typeof require!=="undefined"?require("./scan-component.js"):null);jpeg.lossless.ScanHeader=jpeg.lossless.ScanHeader||function(){this.ah=0;this.al=0;this.numComp=0;this.selection=0;this.spectralEnd=0;this.components=[]};jpeg.lossless.ScanHeader.prototype.read=function(data){var count=0,length,i,temp;length=data.get16();count+=2;this.numComp=data.get8();count+=1;for(i=0;ilength){throw new Error("ERROR: scan header format error")}this.components[i].scanCompSel=data.get8();count+=1;temp=data.get8();count+=1;this.components[i].dcTabSel=temp>>4;this.components[i].acTabSel=temp&15}this.selection=data.get8();count+=1;this.spectralEnd=data.get8();count+=1;temp=data.get8();this.ah=temp>>4;this.al=temp&15;count+=1;if(count!==length){throw new Error("ERROR: scan header format error [count!=Ns]")}return 1};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.ScanHeader}},{"./data-stream.js":2,"./scan-component.js":8}],10:[function(require,module,exports){"use strict";var jpeg=jpeg||{};jpeg.lossless=jpeg.lossless||{};jpeg.lossless.Utils=jpeg.lossless.Utils||{};jpeg.lossless.Utils.createArray=function(length){var arr=new Array(length||0),i=length;if(arguments.length>1){var args=Array.prototype.slice.call(arguments,1);while(i--)arr[length-1-i]=jpeg.lossless.Utils.createArray.apply(this,args)}return arr};jpeg.lossless.Utils.makeCRCTable=function(){var c;var crcTable=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++){c=c&1?3988292384^c>>>1:c>>>1}crcTable[n]=c}return crcTable};jpeg.lossless.Utils.crc32=function(dataView){var uint8view=new Uint8Array(dataView.buffer);var crcTable=jpeg.lossless.Utils.crcTable||(jpeg.lossless.Utils.crcTable=jpeg.lossless.Utils.makeCRCTable());var crc=0^-1;for(var i=0;i>>8^crcTable[(crc^uint8view[i])&255]}return(crc^-1)>>>0};var moduleType=typeof module;if(moduleType!=="undefined"&&module.exports){module.exports=jpeg.lossless.Utils}},{}]},{},[6])(6)});/*! image-JPEG2000 - v0.3.1 - 2015-08-26 | https://github.com/OHIF/image-JPEG2000 */ -"use strict";function info(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.infos&&console.log("Info: "+a)}function warn(a){PDFJS.verbosity>=PDFJS.VERBOSITY_LEVELS.warnings&&console.log("Warning: "+a)}function error(a){if(arguments.length>1){var b=["Error:"];b.push.apply(b,arguments),console.log.apply(console,b),a=[].join.call(arguments," ")}else console.log("Error: "+a);throw console.log(backtrace()),UnsupportedManager.notify(UNSUPPORTED_FEATURES.unknown),new Error(a)}function backtrace(){try{throw new Error}catch(a){return a.stack?a.stack.split("\n").slice(2).join("\n"):""}}function assert(a,b){a||error(b)}function combineUrl(a,b){if(!b)return a;if(/^[a-z][a-z0-9+\-.]*:/i.test(b))return b;var c;if("/"===b.charAt(0))return c=a.indexOf("://"),"/"===b.charAt(1)?++c:c=a.indexOf("/",c+3),a.substring(0,c)+b;var d=a.length;c=a.lastIndexOf("#"),d=c>=0?c:d,c=a.lastIndexOf("?",d),d=c>=0?c:d;var e=a.lastIndexOf("/",d);return a.substring(0,e+1)+b}function isValidUrl(a,b){if(!a)return!1;var c=/^[a-z][a-z0-9+\-.]*(?=:)/i.exec(a);if(!c)return b;switch(c=c[0].toLowerCase()){case"http":case"https":case"ftp":case"mailto":case"tel":return!0;default:return!1}}function shadow(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!1}),c}function bytesToString(a){assert(null!==a&&"object"==typeof a&&void 0!==a.length,"Invalid argument for bytesToString");var b=a.length,c=8192;if(c>b)return String.fromCharCode.apply(null,a);for(var d=[],e=0;b>e;e+=c){var f=Math.min(e+c,b),g=a.subarray(e,f);d.push(String.fromCharCode.apply(null,g))}return d.join("")}function stringToBytes(a){assert("string"==typeof a,"Invalid argument for stringToBytes");for(var b=a.length,c=new Uint8Array(b),d=0;b>d;++d)c[d]=255&a.charCodeAt(d);return c}function string32(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,255&a)}function log2(a){for(var b=1,c=0;a>b;)b<<=1,c++;return c}function readInt8(a,b){return a[b]<<24>>24}function readUint16(a,b){return a[b]<<8|a[b+1]}function readUint32(a,b){return(a[b]<<24|a[b+1]<<16|a[b+2]<<8|a[b+3])>>>0}function isLittleEndian(){var a=new Uint8Array(2);a[0]=1;var b=new Uint16Array(a.buffer);return 1===b[0]}function hasCanvasTypedArrays(){var a=document.createElement("canvas");a.width=a.height=1;var b=a.getContext("2d"),c=b.createImageData(1,1);return"undefined"!=typeof c.data.buffer}function stringToPDFString(a){var b,c=a.length,d=[];if("þ"===a[0]&&"ÿ"===a[1])for(b=2;c>b;b+=2)d.push(String.fromCharCode(a.charCodeAt(b)<<8|a.charCodeAt(b+1)));else for(b=0;c>b;++b){var e=PDFStringTranslateTable[a.charCodeAt(b)];d.push(e?String.fromCharCode(e):a.charAt(b))}return d.join("")}function stringToUTF8String(a){return decodeURIComponent(escape(a))}function isEmptyObj(a){for(var b in a)return!1;return!0}function isBool(a){return"boolean"==typeof a}function isInt(a){return"number"==typeof a&&(0|a)===a}function isNum(a){return"number"==typeof a}function isString(a){return"string"==typeof a}function isNull(a){return null===a}function isName(a){return a instanceof Name}function isCmd(a,b){return a instanceof Cmd&&(void 0===b||a.cmd===b)}function isDict(a,b){if(!(a instanceof Dict))return!1;if(!b)return!0;var c=a.get("Type");return isName(c)&&c.name===b}function isArray(a){return a instanceof Array}function isStream(a){return"object"==typeof a&&null!==a&&void 0!==a.getBytes}function isArrayBuffer(a){return"object"==typeof a&&null!==a&&void 0!==a.byteLength}function isRef(a){return a instanceof Ref}function createPromiseCapability(){var a={};return a.promise=new Promise(function(b,c){a.resolve=b,a.reject=c}),a}function MessageHandler(a,b){this.name=a,this.comObj=b,this.callbackIndex=1,this.postMessageTransfers=!0;var c=this.callbacksCapabilities={},d=this.actionHandler={};d.console_log=[function(a){console.log.apply(console,a)}],d.console_error=[function(a){console.error.apply(console,a)}],d._unsupported_feature=[function(a){UnsupportedManager.notify(a)}],b.onmessage=function(a){var e=a.data;if(e.isReply){var f=e.callbackId;if(e.callbackId in c){var g=c[f];delete c[f],"error"in e?g.reject(e.error):g.resolve(e.data)}else error("Cannot resolve callback "+f)}else if(e.action in d){var h=d[e.action];e.callbackId?Promise.resolve().then(function(){return h[0].call(h[1],e.data)}).then(function(a){b.postMessage({isReply:!0,callbackId:e.callbackId,data:a})},function(a){b.postMessage({isReply:!0,callbackId:e.callbackId,error:a})}):h[0].call(h[1],e.data)}else error("Unknown action from worker: "+e.action)}}function loadJpegStream(a,b,c){var d=new Image;d.onload=function(){c.resolve(a,d)},d.onerror=function(){c.resolve(a,null),warn("Error during JPEG image loading")},d.src=b}var JpxImage=function(){function a(){this.failOnCorruptedImage=!1}function b(a,b){a.x0=Math.ceil(b.XOsiz/a.XRsiz),a.x1=Math.ceil(b.Xsiz/a.XRsiz),a.y0=Math.ceil(b.YOsiz/a.YRsiz),a.y1=Math.ceil(b.Ysiz/a.YRsiz),a.width=a.x1-a.x0,a.height=a.y1-a.y0}function c(a,b){for(var c,d=a.SIZ,e=[],f=Math.ceil((d.Xsiz-d.XTOsiz)/d.XTsiz),g=Math.ceil((d.Ysiz-d.YTOsiz)/d.YTsiz),h=0;g>h;h++)for(var i=0;f>i;i++)c={},c.tx0=Math.max(d.XTOsiz+i*d.XTsiz,d.XOsiz),c.ty0=Math.max(d.YTOsiz+h*d.YTsiz,d.YOsiz),c.tx1=Math.min(d.XTOsiz+(i+1)*d.XTsiz,d.Xsiz),c.ty1=Math.min(d.YTOsiz+(h+1)*d.YTsiz,d.Ysiz),c.width=c.tx1-c.tx0,c.height=c.ty1-c.ty0,c.components=[],e.push(c);a.tiles=e;for(var j=d.Csiz,k=0,l=j;l>k;k++)for(var m=b[k],n=0,o=e.length;o>n;n++){var p={};c=e[n],p.tcx0=Math.ceil(c.tx0/m.XRsiz),p.tcy0=Math.ceil(c.ty0/m.YRsiz),p.tcx1=Math.ceil(c.tx1/m.XRsiz),p.tcy1=Math.ceil(c.ty1/m.YRsiz),p.width=p.tcx1-p.tcx0,p.height=p.tcy1-p.tcy0,c.components[k]=p}}function d(a,b,c){var d=b.codingStyleParameters,e={};return d.entropyCoderWithCustomPrecincts?(e.PPx=d.precinctsSizes[c].PPx,e.PPy=d.precinctsSizes[c].PPy):(e.PPx=15,e.PPy=15),e.xcb_=c>0?Math.min(d.xcb,e.PPx-1):Math.min(d.xcb,e.PPx),e.ycb_=c>0?Math.min(d.ycb,e.PPy-1):Math.min(d.ycb,e.PPy),e}function e(a,b,c){var d=1<b.trx0?Math.ceil(b.trx1/d)-Math.floor(b.trx0/d):0,j=b.try1>b.try0?Math.ceil(b.try1/e)-Math.floor(b.try0/e):0,k=i*j;b.precinctParameters={precinctWidth:d,precinctHeight:e,numprecinctswide:i,numprecinctshigh:j,numprecincts:k,precinctWidthInSubband:g,precinctHeightInSubband:h}}function f(a,b,c){var d,e,f,g,h=c.xcb_,i=c.ycb_,j=1<>h,m=b.tby0>>i,n=b.tbx1+j-1>>h,o=b.tby1+k-1>>i,p=b.resolution.precinctParameters,q=[],r=[];for(e=m;o>e;e++)for(d=l;n>d;d++){f={cbx:d,cby:e,tbx0:j*d,tby0:k*e,tbx1:j*(d+1),tby1:k*(e+1)},f.tbx0_=Math.max(b.tbx0,f.tbx0),f.tby0_=Math.max(b.tby0,f.tby0),f.tbx1_=Math.min(b.tbx1,f.tbx1),f.tby1_=Math.min(b.tby1,f.tby1);var s=Math.floor((f.tbx0_-b.tbx0)/p.precinctWidthInSubband),t=Math.floor((f.tby0_-b.tby0)/p.precinctHeightInSubband);if(g=s+t*p.numprecinctswide,f.precinctNumber=g,f.subbandType=b.type,f.Lblock=3,!(f.tbx1_<=f.tbx0_||f.tby1_<=f.tby0_)){q.push(f);var u=r[g];void 0!==u?(du.cbxMax&&(u.cbxMax=d),eu.cbyMax&&(u.cbyMax=e)):r[g]=u={cbxMin:d,cbyMin:e,cbxMax:d,cbyMax:e},f.precinct=u}}b.codeblockParameters={codeblockWidth:h,codeblockHeight:i,numcodeblockwide:n-l+1,numcodeblockhigh:o-m+1},b.codeblocks=q,b.precincts=r}function g(a,b,c){for(var d=[],e=a.subbands,f=0,g=e.length;g>f;f++)for(var h=e[f],i=h.codeblocks,j=0,k=i.length;k>j;j++){var l=i[j];l.precinctNumber===b&&d.push(l)}return{layerNumber:c,codeblocks:d}}function h(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=0,i=0;f>i;i++)h=Math.max(h,d.components[i].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;e>j;j++){for(;h>=k;k++){for(;f>l;l++){var a=d.components[l];if(!(k>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[k],c=b.precinctParameters.numprecincts;c>m;){var i=g(b,m,j);return m++,i}m=0}}l=0}k=0}}}function i(a){for(var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=0,i=0;f>i;i++)h=Math.max(h,d.components[i].codingStyleParameters.decompositionLevelsCount);var j=0,k=0,l=0,m=0;this.nextPacket=function(){for(;h>=j;j++){for(;e>k;k++){for(;f>l;l++){var a=d.components[l];if(!(j>a.codingStyleParameters.decompositionLevelsCount)){for(var b=a.resolutions[j],c=b.precinctParameters.numprecincts;c>m;){var i=g(b,m,k);return m++,i}m=0}}l=0}k=0}}}function j(a){var b,c,d,e,f=a.SIZ,h=a.currentTile.index,i=a.tiles[h],j=i.codingStyleDefaultParameters.layersCount,k=f.Csiz,l=0;for(d=0;k>d;d++){var m=i.components[d];l=Math.max(l,m.codingStyleParameters.decompositionLevelsCount)}var n=new Int32Array(l+1);for(c=0;l>=c;++c){var o=0;for(d=0;k>d;++d){var p=i.components[d].resolutions;c=c;c++){for(;ed;d++){var a=i.components[d];if(!(c>a.codingStyleParameters.decompositionLevelsCount)){var f=a.resolutions[c],h=f.precinctParameters.numprecincts;if(!(e>=h)){for(;j>b;){var m=g(f,e,b);return b++,m}b=0}}}d=0}e=0}}}function k(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=n(d),i=h,j=0,k=0,l=0,o=0,p=0;this.nextPacket=function(){for(;pl;l++){for(var a=d.components[l],b=a.codingStyleParameters.decompositionLevelsCount;b>=k;k++){var c=a.resolutions[k],n=h.components[l].resolutions[k],q=m(o,p,n,i,c);if(null!==q){for(;e>j;){var r=g(c,q,j);return j++,r}j=0}}k=0}l=0}o=0}}}function l(a){var b=a.SIZ,c=a.currentTile.index,d=a.tiles[c],e=d.codingStyleDefaultParameters.layersCount,f=b.Csiz,h=n(d),i=0,j=0,k=0,l=0,o=0;this.nextPacket=function(){for(;f>k;++k){for(var a=d.components[k],b=h.components[k],c=a.codingStyleParameters.decompositionLevelsCount;o=j;j++){var n=a.resolutions[j],p=b.resolutions[j],q=m(l,o,p,b,n);if(null!==q){for(;e>i;){var r=g(n,q,i);return i++,r}i=0}}j=0}l=0}o=0}}}function m(a,b,c,d,e){var f=a*d.minWidth,g=b*d.minHeight;if(f%c.width!==0||g%c.height!==0)return null;var h=g/c.width*e.precinctParameters.numprecinctswide;return f/c.height+h}function n(a){for(var b=a.components.length,c=Number.MAX_VALUE,d=Number.MAX_VALUE,e=0,f=0,g=new Array(b),h=0;b>h;h++){for(var i=a.components[h],j=i.codingStyleParameters.decompositionLevelsCount,k=new Array(j+1),l=Number.MAX_VALUE,m=Number.MAX_VALUE,n=0,o=0,p=1,q=j;q>=0;--q){var r=i.resolutions[q],s=p*r.precinctParameters.precinctWidth,t=p*r.precinctParameters.precinctHeight;l=Math.min(l,s),m=Math.min(m,t),n=Math.max(n,r.precinctParameters.numprecinctswide),o=Math.max(o,r.precinctParameters.numprecinctshigh),k[q]={width:s,height:t},p<<=1}c=Math.min(c,l),d=Math.min(d,m),e=Math.max(e,n),f=Math.max(f,o),g[h]={resolutions:k,minWidth:l,minHeight:m,maxNumWide:n,maxNumHigh:o}}return{components:g,minWidth:c,minHeight:d,maxNumWide:e,maxNumHigh:f}}function o(a){for(var b=a.SIZ,c=a.currentTile.index,g=a.tiles[c],m=b.Csiz,n=0;m>n;n++){for(var o=g.components[n],p=o.codingStyleParameters.decompositionLevelsCount,q=[],r=[],s=0;p>=s;s++){var t=d(a,o,s),u={},v=1<l;){if(c+k>=b.length)throw new Error("Unexpected EOF");var d=b[c+k];k++,m?(j=j<<7|d,l+=7,m=!1):(j=j<<8|d,l+=8),255===d&&(m=!0)}return l-=a,j>>>l&(1<a?a+3:(a=e(5),31>a?a+6:(a=e(7),a+37))}for(var j,k=0,l=0,m=!1,n=a.currentTile.index,o=a.tiles[n],p=a.COD.sopMarkerUsed,q=a.COD.ephMarkerUsed,r=o.packetsIterator;d>k;)try{h(),p&&f(145)&&g(4);var s=r.nextPacket();if(void 0===s)return;if(!e(1))continue;for(var t,u=s.layerNumber,x=[],y=0,z=s.codeblocks.length;z>y;y++){t=s.codeblocks[y];var A,B=t.precinct,C=t.cbx-B.cbxMin,D=t.cby-B.cbyMin,E=!1,F=!1;if(void 0!==t.included)E=!!e(1);else{B=t.precinct;var G,H;if(void 0!==B.inclusionTree)G=B.inclusionTree;else{var I=B.cbxMax-B.cbxMin+1,J=B.cbyMax-B.cbyMin+1;G=new w(I,J),H=new v(I,J),B.inclusionTree=G,B.zeroBitPlanesTree=H}for(G.reset(C,D,u);;){if(k>=b.length)return;if(G.isAboveThreshold())break;if(G.isKnown())G.nextLevel();else if(e(1)){if(G.setKnown(),G.isLeaf()){t.included=!0,E=F=!0;break}G.nextLevel()}else G.incrementValue()}}if(E){if(F){for(H=B.zeroBitPlanesTree,H.reset(C,D);;){if(k>=b.length)return;if(e(1)){if(A=!H.nextLevel())break}else H.incrementValue()}t.zeroBitPlanes=H.value}for(var K=i();e(1);)t.Lblock++;var L=log2(K),M=(1<K?L-1:L)+t.Lblock,N=e(M);x.push({codeblock:t,codingpasses:K,dataLength:N})}}for(h(),q&&f(146);x.length>0;){var O=x.shift();t=O.codeblock,void 0===t.data&&(t.data=[]),t.data.push({data:b,start:c+k,end:c+k+O.dataLength,codingpasses:O.codingpasses}),k+=O.dataLength}}catch(P){return}return k}function q(a,b,c,d,e,f,g,h){for(var i=d.tbx0,j=d.tby0,k=d.tbx1-d.tbx0,l=d.codeblocks,m="H"===d.type.charAt(0)?1:0,n="H"===d.type.charAt(1)?b:0,o=0,p=l.length;p>o;++o){var q=l[o],r=q.tbx1_-q.tbx0_,s=q.tby1_-q.tby0_;if(0!==r&&0!==s&&void 0!==q.data){var t,u;t=new x(r,s,q.subbandType,q.zeroBitPlanes,f),u=2;var v,w,y,z=q.data,A=0,B=0;for(v=0,w=z.length;w>v;v++)y=z[v],A+=y.end-y.start,B+=y.codingpasses;var C=new Int16Array(A),D=0;for(v=0,w=z.length;w>v;v++){y=z[v];var E=y.data.subarray(y.start,y.end);C.set(E,D),D+=E.length}var F=new ArithmeticDecoder(C,0,A);for(t.setDecoder(F),v=0;B>v;v++){switch(u){case 0:t.runSignificancePropogationPass();break;case 1:t.runMagnitudeRefinementPass();break;case 2:t.runCleanupPass(),h&&t.checkSegmentationSymbol()}u=(u+1)%3}var G,H,I,J=q.tbx0_-i+(q.tby0_-j)*k,K=t.coefficentsSign,L=t.coefficentsMagnitude,M=t.bitsDecoded,N=g?0:.5;D=0;var O="LL"!==d.type;for(v=0;s>v;v++){var P=J/k|0,Q=2*P*(b-k)+m+n;for(G=0;r>G;G++){if(H=L[D],0!==H){H=(H+N)*e,0!==K[D]&&(H=-H),I=M[D];var R=O?Q+(J<<1):J;g&&I>=f?a[R]=H:a[R]=H*(1<=r;r++){for(var s=d.resolutions[r],t=s.trx1-s.trx0,v=s.try1-s.try0,w=new Float32Array(t*v),x=0,y=s.subbands.length;y>x;x++){var B,C;i?(B=h[p].mu,C=h[p].epsilon,p++):(B=h[0].mu,C=h[0].epsilon+(r>0?1-r:0));var D=s.subbands[x],E=u[D.type],F=m?1:Math.pow(2,l+E-C)*(1+B/2048),G=j+C-1;q(w,t,v,D,F,G,m,k)}o.push({width:t,height:v,items:w})}var H=n.calculate(o,d.tcx0,d.tcy0);return{left:d.tcx0,top:d.tcy0,width:H.width,height:H.height,items:H.items}}function s(a){for(var b=a.SIZ,c=a.components,d=b.Csiz,e=[],f=0,g=a.tiles.length;g>f;f++){var h,i=a.tiles[f],j=[];for(h=0;d>h;h++)j[h]=r(a,i,h);var k=j[0],l=c[0].isSigned;if(l)var m=new Int16Array(k.items.length*d);else var m=new Uint16Array(k.items.length*d);var n,o,p,q,s,t,u,v,w,x,y,z,A,B,C,D={left:k.left,top:k.top,width:k.width,height:k.height,items:m},E=0;if(i.codingStyleDefaultParameters.multipleComponentTransform){var F=4===d,G=j[0].items,H=j[1].items,I=j[2].items,J=F?j[3].items:null;n=c[0].precision-8,o=(128<t;t++,E+=L)v=G[t]+o,w=H[t],x=I[t],z=v-(x+w>>2),y=z+x,A=z+w,m[E++]=0>=y?0:y>=p?255:y>>n,m[E++]=0>=z?0:z>=p?255:z>>n,m[E++]=0>=A?0:A>=p?255:A>>n;else for(t=0;u>t;t++,E+=L)v=G[t]+o,w=H[t],x=I[t],y=v+1.402*x,z=v-.34413*w-.71414*x,A=v+1.772*w,m[E++]=0>=y?0:y>=p?255:y>>n,m[E++]=0>=z?0:z>=p?255:z>>n,m[E++]=0>=A?0:A>=p?255:A>>n;if(F)for(t=0,E=3;u>t;t++,E+=4)B=J[t],m[E]=q>=B?0:B>=s?255:B+o>>n}else for(h=0;d>h;h++)if(8===c[h].precision){var M=j[h].items;for(n=c[h].precision-8,o=(128<t;t++)C=M[t],m[E]=q>=C?0:C>=p?255:C+o>>n,E+=d}else{var l=c[h].isSigned,M=j[h].items;if(l)for(E=h,t=0,u=M.length;u>t;t++)m[E]=M[t],E+=d;else{n=c[h].precision-8,o=(128<t;t++)C=M[t],m[E]=Math.max(Math.min(C+o,N),0),E+=d}}e.push(D)}return e}function t(a,b){for(var c=a.SIZ,d=c.Csiz,e=a.tiles[b],f=0;d>f;f++){var g=e.components[f],h=void 0!==a.currentTile.QCC[f]?a.currentTile.QCC[f]:a.currentTile.QCD;g.quantizationParameters=h;var i=void 0!==a.currentTile.COC[f]?a.currentTile.COC[f]:a.currentTile.COD;g.codingStyleParameters=i}e.codingStyleDefaultParameters=a.currentTile.COD}var u={LL:0,LH:1,HL:1,HH:2};a.prototype={parse:function(a){var b=readUint16(a,0);if(65359===b)return void this.parseCodestream(a,0,a.length);for(var c=0,d=a.length;d>c;){var e=8,f=readUint32(a,c),g=readUint32(a,c+4);if(c+=e,1===f&&(f=4294967296*readUint32(a,c)+readUint32(a,c+4),c+=8,e+=8),0===f&&(f=d-c+e),e>f)throw new Error("JPX Error: Invalid box field size");var h=f-e,i=!0;switch(g){case 1785737832:i=!1;break;case 1668246642:var j=a[c];a[c+1],a[c+2];if(1===j){var k=readUint32(a,c+3);switch(k){case 16:case 17:case 18:break;default:warn("Unknown colorspace "+k)}}else 2===j&&info("ICC profile not supported");break;case 1785737827:this.parseCodestream(a,c,c+h);break;case 1783636e3:218793738!==readUint32(a,c)&&warn("Invalid JP2 signature");break;case 1783634458:case 1718909296:case 1920099697:case 1919251232:case 1768449138:break;default:var l=String.fromCharCode(g>>24&255,g>>16&255,g>>8&255,255&g);warn("Unsupported header type "+g+" ("+l+")")}i&&(c+=h)}},parseImageProperties:function(a){for(var b=a.getByte();b>=0;){var c=b;b=a.getByte();var d=c<<8|b;if(65361===d){a.skip(4);var e=a.getInt32()>>>0,f=a.getInt32()>>>0,g=a.getInt32()>>>0,h=a.getInt32()>>>0;a.skip(16);var i=a.getUint16();return this.width=e-g,this.height=f-h,this.componentsCount=i,void(this.bitsPerComponent=8)}}throw new Error("JPX Error: No size marker found in JPX stream")},parseCodestream:function(a,d,e){var f={};try{for(var g=!1,h=d;e>h+1;){var i=readUint16(a,h);h+=2;var j,k,l,m,n,q,r=0;switch(i){case 65359:f.mainHeader=!0;break;case 65497:break;case 65361:r=readUint16(a,h);var u={};u.Xsiz=readUint32(a,h+4),u.Ysiz=readUint32(a,h+8),u.XOsiz=readUint32(a,h+12),u.YOsiz=readUint32(a,h+16),u.XTsiz=readUint32(a,h+20),u.YTsiz=readUint32(a,h+24),u.XTOsiz=readUint32(a,h+28),u.YTOsiz=readUint32(a,h+32);var v=readUint16(a,h+36);u.Csiz=v;var w=[];j=h+38;for(var x=0;v>x;x++){var y={precision:(127&a[j])+1,isSigned:!!(128&a[j]),XRsiz:a[j+1],YRsiz:a[j+1]};b(y,u),w.push(y)}f.SIZ=u,f.components=w,c(f,w),f.QCC=[],f.COC=[];break;case 65372:r=readUint16(a,h);var z={};switch(j=h+2,k=a[j++],31&k){case 0:m=8,n=!0;break;case 1:m=16,n=!1;break;case 2:m=16,n=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+k)}for(z.noQuantization=8===m,z.scalarExpounded=n,z.guardBits=k>>5,l=[];r+h>j;){var A={};8===m?(A.epsilon=a[j++]>>3,A.mu=0):(A.epsilon=a[j]>>3,A.mu=(7&a[j])<<8|a[j+1],j+=2),l.push(A)}z.SPqcds=l,f.mainHeader?f.QCD=z:(f.currentTile.QCD=z,f.currentTile.QCC=[]);break;case 65373:r=readUint16(a,h);var B={};j=h+2;var C;switch(f.SIZ.Csiz<257?C=a[j++]:(C=readUint16(a,j),j+=2),k=a[j++],31&k){case 0:m=8,n=!0;break;case 1:m=16,n=!1;break;case 2:m=16,n=!0;break;default:throw new Error("JPX Error: Invalid SQcd value "+k)}for(B.noQuantization=8===m,B.scalarExpounded=n,B.guardBits=k>>5,l=[];r+h>j;)A={},8===m?(A.epsilon=a[j++]>>3,A.mu=0):(A.epsilon=a[j]>>3,A.mu=(7&a[j])<<8|a[j+1],j+=2),l.push(A);B.SPqcds=l,f.mainHeader?f.QCC[C]=B:f.currentTile.QCC[C]=B;break;case 65362:r=readUint16(a,h);var D={};j=h+2;var E=a[j++];D.entropyCoderWithCustomPrecincts=!!(1&E),D.sopMarkerUsed=!!(2&E),D.ephMarkerUsed=!!(4&E),D.progressionOrder=a[j++],D.layersCount=readUint16(a,j),j+=2,D.multipleComponentTransform=a[j++],D.decompositionLevelsCount=a[j++],D.xcb=(15&a[j++])+2,D.ycb=(15&a[j++])+2;var F=a[j++];if(D.selectiveArithmeticCodingBypass=!!(1&F),D.resetContextProbabilities=!!(2&F),D.terminationOnEachCodingPass=!!(4&F),D.verticalyStripe=!!(8&F),D.predictableTermination=!!(16&F),D.segmentationSymbolUsed=!!(32&F),D.reversibleTransformation=a[j++],D.entropyCoderWithCustomPrecincts){for(var G=[];r+h>j;){var H=a[j++];G.push({PPx:15&H,PPy:H>>4})}D.precinctsSizes=G}var I=[];if(D.selectiveArithmeticCodingBypass&&I.push("selectiveArithmeticCodingBypass"),D.resetContextProbabilities&&I.push("resetContextProbabilities"),D.terminationOnEachCodingPass&&I.push("terminationOnEachCodingPass"),D.verticalyStripe&&I.push("verticalyStripe"),D.predictableTermination&&I.push("predictableTermination"),I.length>0)throw g=!0,new Error("JPX Error: Unsupported COD options ("+I.join(", ")+")");f.mainHeader?f.COD=D:(f.currentTile.COD=D,f.currentTile.COC=[]);break;case 65424:r=readUint16(a,h),q={},q.index=readUint16(a,h+2),q.length=readUint32(a,h+4),q.dataEnd=q.length+h-2,q.partIndex=a[h+8],q.partsCount=a[h+9],f.mainHeader=!1,0===q.partIndex&&(q.COD=f.COD,q.COC=f.COC.slice(0),q.QCD=f.QCD,q.QCC=f.QCC.slice(0)),f.currentTile=q;break;case 65427:q=f.currentTile,0===q.partIndex&&(t(f,q.index),o(f)),r=q.dataEnd-h,p(f,a,h,r);break;case 65365:case 65367:case 65368:case 65380:r=readUint16(a,h);break;case 65363:throw new Error("JPX Error: Codestream code 0xFF53 (COC) is not implemented");default:throw new Error("JPX Error: Unknown codestream code: "+i.toString(16))}h+=r}}catch(J){if(g||this.failOnCorruptedImage)throw J;warn("Trying to recover from "+J.message)}this.tiles=s(f),this.width=f.SIZ.Xsiz-f.SIZ.XOsiz,this.height=f.SIZ.Ysiz-f.SIZ.YOsiz,this.componentsCount=f.SIZ.Csiz}};var v=function(){function a(a,b){var c=log2(Math.max(a,b))+1;this.levels=[];for(var d=0;c>d;d++){var e={width:a,height:b,items:[]};this.levels.push(e),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b){for(var c,d=0,e=0;d>=1,b>>=1,d++}d--,c=this.levels[d],c.items[c.index]=e,this.currentLevel=d,delete this.value},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]++},nextLevel:function(){var a=this.currentLevel,b=this.levels[a],c=b.items[b.index];return a--,0>a?(this.value=c,!1):(this.currentLevel=a,b=this.levels[a],b.items[b.index]=c,!0)}},a}(),w=function(){function a(a,b){var c=log2(Math.max(a,b))+1;this.levels=[];for(var d=0;c>d;d++){for(var e=new Uint8Array(a*b),f=new Uint8Array(a*b),g=0,h=e.length;h>g;g++)e[g]=0,f[g]=0;var i={width:a,height:b,items:e,status:f};this.levels.push(i),a=Math.ceil(a/2),b=Math.ceil(b/2)}}return a.prototype={reset:function(a,b,c){this.currentStopValue=c;for(var d=0;d>=1,b>>=1,d++}this.currentLevel=this.levels.length-1,this.minValue=this.levels[this.currentLevel].items[0]},incrementValue:function(){var a=this.levels[this.currentLevel];a.items[a.index]=a.items[a.index]+1,a.items[a.index]>this.minValue&&(this.minValue=a.items[a.index])},nextLevel:function(){var a=this.currentLevel;if(a--,0>a)return!1;this.currentLevel=a;var b=this.levels[a];return b.items[b.index]this.minValue&&(this.minValue=b.items[b.index]),!0},isLeaf:function(){return 0===this.currentLevel},isAboveThreshold:function(){var a=this.currentLevel,b=this.levels[a];return b.items[b.index]>this.currentStopValue},isKnown:function(){var a=this.currentLevel,b=this.levels[a];return b.status[b.index]>0},setKnown:function(){var a=this.currentLevel,b=this.levels[a];b.status[b.index]=1}},a}(),x=function(){function a(a,b,c,g,h){this.width=a,this.height=b,this.contextLabelTable="HH"===c?f:"HL"===c?e:d;var i=a*b;this.neighborsSignificance=new Uint8Array(i),this.coefficentsSign=new Uint8Array(i),this.coefficentsMagnitude=h>14?new Uint32Array(i):h>6?new Uint16Array(i):new Uint8Array(i),this.processingFlags=new Uint8Array(i);var j=new Uint8Array(i);if(0!==g)for(var k=0;i>k;k++)j[k]=g;this.bitsDecoded=j,this.reset()}var b=17,c=18,d=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]),e=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]),f=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);return a.prototype={setDecoder:function(a){this.decoder=a},reset:function(){this.contexts=new Int8Array(19),this.contexts[0]=8,this.contexts[b]=92,this.contexts[c]=6},setNeighborsSignificance:function(a,b,c){var d,e=this.neighborsSignificance,f=this.width,g=this.height,h=b>0,i=f>b+1;a>0&&(d=c-f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),g>a+1&&(d=c+f,h&&(e[d-1]+=16),i&&(e[d+1]+=16),e[d]+=4),h&&(e[c-1]+=1),i&&(e[c+1]+=1),e[c]|=128},runSignificancePropogationPass:function(){for(var a=this.decoder,b=this.width,c=this.height,d=this.coefficentsMagnitude,e=this.coefficentsSign,f=this.neighborsSignificance,g=this.processingFlags,h=this.contexts,i=this.contextLabelTable,j=this.bitsDecoded,k=-2,l=1,m=2,n=0;c>n;n+=4)for(var o=0;b>o;o++)for(var p=n*b+o,q=0;4>q;q++,p+=b){var r=n+q;if(r>=c)break;if(g[p]&=k,!d[p]&&f[p]){var s=i[f[p]],t=a.readBit(h,s);if(t){var u=this.decodeSignBit(r,o,p);e[p]=u,d[p]=1,this.setNeighborsSignificance(r,o,p),g[p]|=m}j[p]++,g[p]|=l}}},decodeSignBit:function(a,b,c){var d,e,f,g,h,i,j=this.width,k=this.height,l=this.coefficentsMagnitude,m=this.coefficentsSign;g=b>0&&0!==l[c-1],j>b+1&&0!==l[c+1]?(f=m[c+1],g?(e=m[c-1],d=1-f-e):d=1-f-f):g?(e=m[c-1],d=1-e-e):d=0;var n=3*d;return g=a>0&&0!==l[c-j],k>a+1&&0!==l[c+j]?(f=m[c+j],g?(e=m[c-j],d=1-f-e+n):d=1-f-f+n):g?(e=m[c-j],d=1-e-e+n):d=n,d>=0?(h=9+d,i=this.decoder.readBit(this.contexts,h)):(h=9-d,i=1^this.decoder.readBit(this.contexts,h)),i},runMagnitudeRefinementPass:function(){for(var a,b=this.decoder,c=this.width,d=this.height,e=this.coefficentsMagnitude,f=this.neighborsSignificance,g=this.contexts,h=this.bitsDecoded,i=this.processingFlags,j=1,k=2,l=c*d,m=4*c,n=0;l>n;n=a){a=Math.min(l,n+m);for(var o=0;c>o;o++)for(var p=n+o;a>p;p+=c)if(e[p]&&0===(i[p]&j)){var q=16;if(0!==(i[p]&k)){i[p]^=k;var r=127&f[p];q=0===r?15:14}var s=b.readBit(g,q);e[p]=e[p]<<1|s,h[p]++,i[p]|=j}}},runCleanupPass:function(){for(var a,d=this.decoder,e=this.width,f=this.height,g=this.neighborsSignificance,h=this.coefficentsMagnitude,i=this.coefficentsSign,j=this.contexts,k=this.contextLabelTable,l=this.bitsDecoded,m=this.processingFlags,n=1,o=2,p=e,q=2*e,r=3*e,s=0;f>s;s=a){a=Math.min(s+4,f);for(var t=s*e,u=f>s+3,v=0;e>v;v++){var w,x=t+v,y=u&&0===m[x]&&0===m[x+p]&&0===m[x+q]&&0===m[x+r]&&0===g[x]&&0===g[x+p]&&0===g[x+q]&&0===g[x+r],z=0,A=x,B=s;if(y){var C=d.readBit(j,c);if(!C){l[x]++,l[x+p]++,l[x+q]++,l[x+r]++;continue}z=d.readBit(j,b)<<1|d.readBit(j,b),0!==z&&(B=s+z,A+=z*e),w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o,A=x;for(var D=s;B>=D;D++,A+=e)l[A]++;z++}for(B=s+z;a>B;B++,A+=e)if(!h[A]&&0===(m[A]&n)){var E=k[g[A]],F=d.readBit(j,E);1===F&&(w=this.decodeSignBit(B,v,A),i[A]=w,h[A]=1,this.setNeighborsSignificance(B,v,A),m[A]|=o),l[A]++}}}},checkSegmentationSymbol:function(){var a=this.decoder,c=this.contexts,d=a.readBit(c,b)<<3|a.readBit(c,b)<<2|a.readBit(c,b)<<1|a.readBit(c,b);if(10!==d)throw new Error("JPX Error: Invalid segmentation symbol")}},a}(),y=function(){function a(){}return a.prototype.calculate=function(a,b,c){for(var d=a[0],e=1,f=a.length;f>e;e++)d=this.iterate(d,a[e],b,c);return d},a.prototype.extend=function(a,b,c){var d=b-1,e=b+1,f=b+c-2,g=b+c;a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d--]=a[e++],a[g++]=a[f--],a[d]=a[e],a[g]=a[f]},a.prototype.iterate=function(a,b,c,d){var e,f,g,h,i,j,k=a.width,l=a.height,m=a.items,n=b.width,o=b.height,p=b.items;for(g=0,e=0;l>e;e++)for(h=2*e*n,f=0;k>f;f++,g++,h+=2)p[h]=m[g];m=a.items=null;var q=4,r=new Float32Array(n+2*q);if(1===n){if(0!==(1&c))for(j=0,g=0;o>j;j++,g+=n)p[g]*=.5}else for(j=0,g=0;o>j;j++,g+=n)r.set(p.subarray(g,g+n),q),this.extend(r,q,n),this.filter(r,q,n),p.set(r.subarray(q,q+n),g);var s=16,t=[];for(e=0;s>e;e++)t.push(new Float32Array(o+2*q));var u,v=0;if(a=q+o,1===o){if(0!==(1&d))for(i=0;n>i;i++)p[i]*=.5}else for(i=0;n>i;i++){if(0===v){for(s=Math.min(n-i,s),g=i,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)t[u][h]=p[g+u];v=s}v--;var w=t[v];if(this.extend(w,q,o),this.filter(w,q,o),0===v)for(g=i-s+1,h=q;a>h;g+=n,h++)for(u=0;s>u;u++)p[g+u]=t[u][h]}return{width:n,height:o,items:p}},a}(),z=function(){function a(){y.call(this)}return a.prototype=Object.create(y.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f,g,h,i=-1.586134342059924,j=-.052980118572961,k=.882911075530934,l=.443506852043971,m=1.230174104914001,n=1/m;for(e=b-3,f=d+4;f--;e+=2)a[e]*=n;for(e=b-2,g=l*a[e-1],f=d+3;f--&&(h=l*a[e+1],a[e]=m*a[e]-g-h,f--);e+=2)e+=2,g=l*a[e+1],a[e]=m*a[e]-g-h;for(e=b-1,g=k*a[e-1],f=d+2;f--&&(h=k*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=k*a[e+1],a[e]-=g+h;for(e=b,g=j*a[e-1],f=d+1;f--&&(h=j*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=j*a[e+1],a[e]-=g+h;if(0!==d)for(e=b+1,g=i*a[e-1],f=d;f--&&(h=i*a[e+1],a[e]-=g+h,f--);e+=2)e+=2,g=i*a[e+1],a[e]-=g+h},a}(),A=function(){function a(){y.call(this)}return a.prototype=Object.create(y.prototype),a.prototype.filter=function(a,b,c){var d=c>>1;b=0|b;var e,f;for(e=b,f=d+1;f--;e+=2)a[e]-=a[e-1]+a[e+1]+2>>2;for(e=b+1,f=d;f--;e+=2)a[e]+=a[e-1]+a[e+1]>>1},a}();return a}(),ArithmeticDecoder=function(){function a(a,b,c){this.data=a,this.bp=b,this.dataEnd=c,this.chigh=a[b],this.clow=0,this.byteIn(),this.chigh=this.chigh<<7&65535|this.clow>>9&127,this.clow=this.clow<<7&65535,this.ct-=7,this.a=32768}var b=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];return a.prototype={byteIn:function(){var a=this.data,b=this.bp;if(255===a[b]){var c=a[b+1];c>143?(this.clow+=65280,this.ct=8):(b++,this.clow+=a[b]<<9,this.ct=7,this.bp=b)}else b++,this.clow+=b65535&&(this.chigh+=this.clow>>16,this.clow&=65535)},readBit:function(a,c){var d,e=a[c]>>1,f=1&a[c],g=b[e],h=g.qe,i=this.a-h;if(this.chighi?(i=h,d=f,e=g.nmps):(i=h,d=1^f,1===g.switchFlag&&(f=d),e=g.nlps);else{if(this.chigh-=h,0!==(32768&i))return this.a=i,f;h>i?(d=1^f,1===g.switchFlag&&(f=d),e=g.nlps):(d=f,e=g.nmps)}do{0===this.ct&&this.byteIn(),i<<=1,this.chigh=this.chigh<<1&65535|this.clow>>15&1,this.clow=this.clow<<1&65535,this.ct--}while(0===(32768&i));return this.a=i,a[c]=e<<1|f,d}},a}(),globalScope="undefined"==typeof window?this:window,isWorker="undefined"==typeof window,FONT_IDENTITY_MATRIX=[.001,0,0,.001,0,0],TextRenderingMode={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},AnnotationType={WIDGET:1,TEXT:2,LINK:3},StreamType={UNKNOWN:0,FLATE:1,LZW:2,DCT:3,JPX:4,JBIG:5,A85:6,AHX:7,CCF:8,RL:9},FontType={UNKNOWN:0,TYPE1:1,TYPE1C:2,CIDFONTTYPE0:3,CIDFONTTYPE0C:4,TRUETYPE:5,CIDFONTTYPE2:6,TYPE3:7,OPENTYPE:8,TYPE0:9,MMTYPE1:10};globalScope.PDFJS||(globalScope.PDFJS={}),globalScope.PDFJS.pdfBug=!1,PDFJS.VERBOSITY_LEVELS={errors:0,warnings:1,infos:5};var OPS=PDFJS.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},UNSUPPORTED_FEATURES=PDFJS.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",smask:"smask",shadingPattern:"shadingPattern",font:"font"},UnsupportedManager=PDFJS.UnsupportedManager=function(){var a=[];return{listen:function(b){a.push(b)},notify:function(b){warn('Unsupported feature "'+b+'"');for(var c=0,d=a.length;d>c;c++)a[c](b)}}}();PDFJS.isValidUrl=isValidUrl,PDFJS.shadow=shadow;var PasswordResponses=PDFJS.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},PasswordException=function(){function a(a,b){this.name="PasswordException",this.message=a,this.code=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.PasswordException=PasswordException;var UnknownErrorException=function(){function a(a,b){this.name="UnknownErrorException",this.message=a,this.details=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnknownErrorException=UnknownErrorException;var InvalidPDFException=function(){function a(a){this.name="InvalidPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.InvalidPDFException=InvalidPDFException;var MissingPDFException=function(){function a(a){this.name="MissingPDFException",this.message=a}return a.prototype=new Error,a.constructor=a,a}();PDFJS.MissingPDFException=MissingPDFException;var UnexpectedResponseException=function(){function a(a,b){this.name="UnexpectedResponseException",this.message=a,this.status=b}return a.prototype=new Error,a.constructor=a,a}();PDFJS.UnexpectedResponseException=UnexpectedResponseException;var NotImplementedException=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="NotImplementedException",a.constructor=a,a}(),MissingDataException=function(){function a(a,b){this.begin=a,this.end=b,this.message="Missing data ["+a+", "+b+")"}return a.prototype=new Error,a.prototype.name="MissingDataException",a.constructor=a,a}(),XRefParseException=function(){function a(a){this.message=a}return a.prototype=new Error,a.prototype.name="XRefParseException",a.constructor=a,a}();Object.defineProperty(PDFJS,"isLittleEndian",{configurable:!0,get:function(){return shadow(PDFJS,"isLittleEndian",isLittleEndian())}}),Object.defineProperty(PDFJS,"hasCanvasTypedArrays",{configurable:!0,get:function(){return shadow(PDFJS,"hasCanvasTypedArrays",hasCanvasTypedArrays())}});var Uint32ArrayView=function(){function a(a,b){this.buffer=a,this.byteLength=a.length,this.length=void 0===b?this.byteLength>>2:b,c(this.length)}function b(a){return{get:function(){var b=this.buffer,c=a<<2;return(b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24)>>>0},set:function(b){var c=this.buffer,d=a<<2;c[d]=255&b,c[d+1]=b>>8&255,c[d+2]=b>>16&255,c[d+3]=b>>>24&255}}}function c(c){for(;c>d;)Object.defineProperty(a.prototype,d,b(d)),d++}a.prototype=Object.create(null);var d=0;return a}(),IDENTITY_MATRIX=[1,0,0,1,0,0],Util=PDFJS.Util=function(){function a(){}var b=["rgb(",0,",",0,",",0,")"];return a.makeCssRgb=function(a,c,d){return b[1]=a,b[3]=c,b[5]=d,b.join("")},a.transform=function(a,b){return[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],a[0]*b[4]+a[2]*b[5]+a[4],a[1]*b[4]+a[3]*b[5]+a[5]]},a.applyTransform=function(a,b){var c=a[0]*b[0]+a[1]*b[2]+b[4],d=a[0]*b[1]+a[1]*b[3]+b[5];return[c,d]},a.applyInverseTransform=function(a,b){var c=b[0]*b[3]-b[1]*b[2],d=(a[0]*b[3]-a[1]*b[2]+b[2]*b[5]-b[4]*b[3])/c,e=(-a[0]*b[1]+a[1]*b[0]+b[4]*b[1]-b[5]*b[0])/c;return[d,e]},a.getAxialAlignedBoundingBox=function(b,c){var d=a.applyTransform(b,c),e=a.applyTransform(b.slice(2,4),c),f=a.applyTransform([b[0],b[3]],c),g=a.applyTransform([b[2],b[1]],c);return[Math.min(d[0],e[0],f[0],g[0]),Math.min(d[1],e[1],f[1],g[1]),Math.max(d[0],e[0],f[0],g[0]),Math.max(d[1],e[1],f[1],g[1])]},a.inverseTransform=function(a){var b=a[0]*a[3]-a[1]*a[2];return[a[3]/b,-a[1]/b,-a[2]/b,a[0]/b,(a[2]*a[5]-a[4]*a[3])/b,(a[4]*a[1]-a[5]*a[0])/b]},a.apply3dTransform=function(a,b){return[a[0]*b[0]+a[1]*b[1]+a[2]*b[2],a[3]*b[0]+a[4]*b[1]+a[5]*b[2],a[6]*b[0]+a[7]*b[1]+a[8]*b[2]]},a.singularValueDecompose2dScale=function(a){var b=[a[0],a[2],a[1],a[3]],c=a[0]*b[0]+a[1]*b[2],d=a[0]*b[1]+a[1]*b[3],e=a[2]*b[0]+a[3]*b[2],f=a[2]*b[1]+a[3]*b[3],g=(c+f)/2,h=Math.sqrt((c+f)*(c+f)-4*(c*f-e*d))/2,i=g+h||1,j=g-h||1;return[Math.sqrt(i),Math.sqrt(j)]},a.normalizeRect=function(a){var b=a.slice(0);return a[0]>a[2]&&(b[0]=a[2],b[2]=a[0]),a[1]>a[3]&&(b[1]=a[3],b[3]=a[1]),b},a.intersect=function(b,c){function d(a,b){return a-b}var e=[b[0],b[2],c[0],c[2]].sort(d),f=[b[1],b[3],c[1],c[3]].sort(d),g=[];return b=a.normalizeRect(b),c=a.normalizeRect(c),e[0]===b[0]&&e[1]===c[0]||e[0]===c[0]&&e[1]===b[0]?(g[0]=e[1],g[2]=e[2],f[0]===b[1]&&f[1]===c[1]||f[0]===c[1]&&f[1]===b[1]?(g[1]=f[1],g[3]=f[2],g):!1):!1},a.sign=function(a){return 0>a?-1:1},a.appendToArray=function(a,b){Array.prototype.push.apply(a,b)},a.prependToArray=function(a,b){Array.prototype.unshift.apply(a,b)},a.extendObj=function(a,b){for(var c in b)a[c]=b[c]},a.getInheritableProperty=function(a,b){for(;a&&!a.has(b);)a=a.get("Parent");return a?a.get(b):null},a.inherit=function(a,b,c){a.prototype=Object.create(b.prototype),a.prototype.constructor=a;for(var d in c)a.prototype[d]=c[d]},a.loadScript=function(a,b){var c=document.createElement("script"),d=!1;c.setAttribute("src",a),b&&(c.onload=function(){d||b(),d=!0}),document.getElementsByTagName("head")[0].appendChild(c)},a}(),PageViewport=PDFJS.PageViewport=function(){function a(a,b,c,d,e,f){this.viewBox=a,this.scale=b,this.rotation=c,this.offsetX=d,this.offsetY=e;var g,h,i,j,k=(a[2]+a[0])/2,l=(a[3]+a[1])/2;switch(c%=360,c=0>c?c+360:c){case 180:g=-1,h=0,i=0,j=1;break;case 90:g=0,h=1,i=1,j=0;break;case 270:g=0,h=-1,i=-1,j=0;break;default:g=1,h=0,i=0,j=-1}f&&(i=-i,j=-j);var m,n,o,p;0===g?(m=Math.abs(l-a[1])*b+d,n=Math.abs(k-a[0])*b+e,o=Math.abs(a[3]-a[1])*b,p=Math.abs(a[2]-a[0])*b):(m=Math.abs(k-a[0])*b+d,n=Math.abs(l-a[1])*b+e,o=Math.abs(a[2]-a[0])*b,p=Math.abs(a[3]-a[1])*b),this.transform=[g*b,h*b,i*b,j*b,m-g*b*k-i*b*l,n-h*b*k-j*b*l],this.width=o,this.height=p,this.fontScale=b}return a.prototype={clone:function(b){b=b||{};var c="scale"in b?b.scale:this.scale,d="rotation"in b?b.rotation:this.rotation;return new a(this.viewBox.slice(),c,d,this.offsetX,this.offsetY,b.dontFlip)},convertToViewportPoint:function(a,b){return Util.applyTransform([a,b],this.transform)},convertToViewportRectangle:function(a){var b=Util.applyTransform([a[0],a[1]],this.transform),c=Util.applyTransform([a[2],a[3]],this.transform);return[b[0],b[1],c[0],c[1]]},convertToPdfPoint:function(a,b){return Util.applyInverseTransform([a,b],this.transform)}},a}(),PDFStringTranslateTable=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];PDFJS.createPromiseCapability=createPromiseCapability,function(){function a(a){this._status=b,this._handlers=[];try{a.call(this,this._resolve.bind(this),this._reject.bind(this))}catch(c){this._reject(c)}}if(globalScope.Promise)return"function"!=typeof globalScope.Promise.all&&(globalScope.Promise.all=function(a){var b,c,d=0,e=[],f=new globalScope.Promise(function(a,d){b=a,c=d});return a.forEach(function(a,f){d++,a.then(function(a){e[f]=a,d--,0===d&&b(e)},c)}),0===d&&b(e),f}),"function"!=typeof globalScope.Promise.resolve&&(globalScope.Promise.resolve=function(a){return new globalScope.Promise(function(b){b(a)})}),"function"!=typeof globalScope.Promise.reject&&(globalScope.Promise.reject=function(a){return new globalScope.Promise(function(b,c){c(a)})}),void("function"!=typeof globalScope.Promise.prototype["catch"]&&(globalScope.Promise.prototype["catch"]=function(a){return globalScope.Promise.prototype.then(void 0,a)}));var b=0,c=1,d=2,e=500,f={handlers:[],running:!1,unhandledRejections:[],pendingRejectionCheck:!1,scheduleHandlers:function(a){a._status!==b&&(this.handlers=this.handlers.concat(a._handlers),a._handlers=[],this.running||(this.running=!0,setTimeout(this.runHandlers.bind(this),0)))},runHandlers:function(){for(var a=1,b=Date.now()+a;this.handlers.length>0;){var e=this.handlers.shift(),f=e.thisPromise._status,g=e.thisPromise._value;try{f===c?"function"==typeof e.onResolve&&(g=e.onResolve(g)):"function"==typeof e.onReject&&(g=e.onReject(g),f=c,e.thisPromise._unhandledRejection&&this.removeUnhandeledRejection(e.thisPromise))}catch(h){f=d,g=h}if(e.nextPromise._updateStatus(f,g),Date.now()>=b)break}return this.handlers.length>0?void setTimeout(this.runHandlers.bind(this),0):void(this.running=!1)},addUnhandledRejection:function(a){this.unhandledRejections.push({promise:a,time:Date.now()}),this.scheduleRejectionCheck()},removeUnhandeledRejection:function(a){a._unhandledRejection=!1;for(var b=0;be){var c=this.unhandledRejections[b].promise._value,d="Unhandled rejection: "+c;c.stack&&(d+="\n"+c.stack),warn(d),this.unhandledRejections.splice(b),b--}this.unhandledRejections.length&&this.scheduleRejectionCheck()}.bind(this),e))}};a.all=function(b){function c(a){g._status!==d&&(i=[],f(a))}var e,f,g=new a(function(a,b){e=a,f=b}),h=b.length,i=[];if(0===h)return e(i),g;for(var j=0,k=b.length;k>j;++j){var l=b[j],m=function(a){return function(b){g._status!==d&&(i[a]=b,h--,0===h&&e(i))}}(j);a.isPromise(l)?l.then(m,c):m(l)}return g},a.isPromise=function(a){return a&&"function"==typeof a.then},a.resolve=function(b){return new a(function(a){a(b)})},a.reject=function(b){return new a(function(a,c){c(b)})},a.prototype={_status:null,_value:null,_handlers:null,_unhandledRejection:null,_updateStatus:function(b,e){if(this._status!==c&&this._status!==d){if(b===c&&a.isPromise(e))return void e.then(this._updateStatus.bind(this,c),this._updateStatus.bind(this,d));this._status=b,this._value=e,b===d&&0===this._handlers.length&&(this._unhandledRejection=!0,f.addUnhandledRejection(this)),f.scheduleHandlers(this)}},_resolve:function(a){this._updateStatus(c,a)},_reject:function(a){this._updateStatus(d,a)},then:function(b,c){var d=new a(function(a,b){this.resolve=a,this.reject=b});return this._handlers.push({thisPromise:this,onResolve:b,onReject:c,nextPromise:d}),f.scheduleHandlers(this),d},catch:function(a){return this.then(void 0,a)}},globalScope.Promise=a}();var StatTimer=function(){function a(a,b,c){for(;a.lengthb;++b){var g=d[b].name;g.length>f&&(f=g.length)}for(b=0,c=d.length;c>b;++b){var h=d[b],i=h.end-h.start;e+=a(h.name," ",f)+" "+i+"ms\n"}return e}},b}();PDFJS.createBlob=function(a,b){if("undefined"!=typeof Blob)return new Blob([a],{type:b});var c=new MozBlobBuilder;return c.append(a),c.getBlob(b)},PDFJS.createObjectURL=function(){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return function(b,c){if(!PDFJS.disableCreateObjectURL&&"undefined"!=typeof URL&&URL.createObjectURL){var d=PDFJS.createBlob(b,c);return URL.createObjectURL(d)}for(var e="data:"+c+";base64,",f=0,g=b.length;g>f;f+=3){var h=255&b[f],i=255&b[f+1],j=255&b[f+2],k=h>>2,l=(3&h)<<4|i>>4,m=g>f+1?(15&i)<<2|j>>6:64,n=g>f+2?63&j:64;e+=a[k]+a[l]+a[m]+a[n]}return e}}(),MessageHandler.prototype={on:function(a,b,c){var d=this.actionHandler;d[a]&&error('There is already an actionName called "'+a+'"'),d[a]=[b,c]},send:function(a,b,c){var d={action:a,data:b};this.postMessage(d,c)},sendWithPromise:function(a,b,c){var d=this.callbackIndex++,e={action:a,data:b,callbackId:d},f=createPromiseCapability();this.callbacksCapabilities[d]=f;try{this.postMessage(e,c)}catch(g){f.reject(g)}return f.promise},postMessage:function(a,b){b&&this.postMessageTransfers?this.comObj.postMessage(a,b):this.comObj.postMessage(a)}};/*! OpenJPEG.js - v0.2.0 - 2016-06-07 | (c) 2016 Chris Hafey | https://github.com/chafey/openjpeg */ -var OpenJPEG=function(Module){Module=Module||{};var Module;if(!Module)Module=(typeof OpenJPEG!=="undefined"?OpenJPEG:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?function(x){dump(x)}:function(x){}}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=function(title){document.title=title}}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=function(){}}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:function(value){tempRet0=value},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(stackTop){STACKTOP=stackTop},getNativeTypeSize:function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}},getNativeFieldSize:function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr},getAlignSize:function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)},dynCall:function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}},functionPointers:[],addFunction:function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret},alignMemory:function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret},makeBigInt:function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret},stringToC:function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret}};var toC={string:JSfuncs["stringToC"],array:JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||4e8;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32};Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;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["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+25664;__ATINIT__.push();allocate([131,192,202,161,69,182,251,63,127,251,58,112,206,136,234,63,127,251,58,112,206,136,234,63,131,192,202,161,69,182,251,63,225,122,20,174,71,225,252,63,94,186,73,12,2,43,249,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,6,64,0,0,0,0,0,128,21,64,92,143,194,245,40,92,37,64,215,163,112,61,10,87,53,64,246,40,92,143,194,85,69,64,133,235,81,184,30,85,85,64,102,102,102,102,102,86,101,64,205,204,204,204,204,84,117,64,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,173,250,92,109,197,254,230,63,86,125,174,182,98,127,237,63,199,75,55,137,65,96,249,63,242,210,77,98,16,88,8,64,250,126,106,188,116,19,24,64,133,235,81,184,30,5,40,64,0,0,0,0,0,0,56,64,92,143,194,245,40,252,71,64,236,81,184,30,133,251,87,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,113,61,10,215,163,112,255,63,104,145,237,124,63,181,16,64,117,147,24,4,86,206,32,64,102,102,102,102,102,230,48,64,236,81,184,30,133,235,64,64,92,143,194,245,40,236,80,64,154,153,153,153,153,233,96,64,154,153,153,153,153,233,112,64,51,51,51,51,51,231,128,64,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,164,112,61,10,215,163,0,64,236,81,184,30,133,235,14,64,119,190,159,26,47,157,32,64,174,71,225,122,20,46,49,64,123,20,174,71,225,90,65,64,246,40,92,143,194,101,81,64,154,153,153,153,153,105,97,64,154,153,153,153,153,105,113,64,154,153,153,153,153,105,129,64,0,0,0,0,0,0,0,0,4,0,0,0,67,80,82,76,0,0,0,0,0,0,0,0,76,82,67,80,0,0,0,0,3,0,0,0,80,67,82,76,0,0,0,0,1,0,0,0,82,76,67,80,0,0,0,0,2,0,0,0,82,80,67,76,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,144,255,0,0,12,0,0,0,1,0,0,0,82,255,0,0,20,0,0,0,2,0,0,0,83,255,0,0,20,0,0,0,3,0,0,0,94,255,0,0,20,0,0,0,4,0,0,0,92,255,0,0,20,0,0,0,5,0,0,0,93,255,0,0,20,0,0,0,6,0,0,0,95,255,0,0,20,0,0,0,7,0,0,0,81,255,0,0,2,0,0,0,8,0,0,0,85,255,0,0,4,0,0,0,9,0,0,0,87,255,0,0,4,0,0,0,10,0,0,0,88,255,0,0,16,0,0,0,11,0,0,0,96,255,0,0,4,0,0,0,12,0,0,0,97,255,0,0,16,0,0,0,13,0,0,0,145,255,0,0,0,0,0,0,0,0,0,0,99,255,0,0,4,0,0,0,14,0,0,0,100,255,0,0,20,0,0,0,15,0,0,0,116,255,0,0,20,0,0,0,16,0,0,0,120,255,0,0,4,0,0,0,17,0,0,0,117,255,0,0,20,0,0,0,18,0,0,0,119,255,0,0,20,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,32,32,80,106,20,0,0,0,112,121,116,102,21,0,0,0,104,50,112,106,22,0,0,0,114,100,104,105,23,0,0,0,114,108,111,99,24,0,0,0,99,99,112,98,25,0,0,0,114,108,99,112,26,0,0,0,112,97,109,99,27,0,0,0,102,101,100,99,28,0,0,0,1,86,0,0,0,0,0,0,164,4,0,0,180,4,0,0,1,86,0,0,1,0,0,0,180,4,0,0,164,4,0,0,1,52,0,0,0,0,0,0,196,4,0,0,68,5,0,0,1,52,0,0,1,0,0,0,212,4,0,0,84,5,0,0,1,24,0,0,0,0,0,0,228,4,0,0,164,5,0,0,1,24,0,0,1,0,0,0,244,4,0,0,180,5,0,0,193,10,0,0,0,0,0,0,4,5,0,0,4,6,0,0,193,10,0,0,1,0,0,0,20,5,0,0,20,6,0,0,33,5,0,0,0,0,0,0,36,5,0,0,36,8,0,0,33,5,0,0,1,0,0,0,52,5,0,0,52,8,0,0,33,2,0,0,0,0,0,0,68,9,0,0,164,8,0,0,33,2,0,0,1,0,0,0,84,9,0,0,180,8,0,0,1,86,0,0,0,0,0,0,100,5,0,0,84,5,0,0,1,86,0,0,1,0,0,0,116,5,0,0,68,5,0,0,1,84,0,0,0,0,0,0,132,5,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,5,0,0,84,6,0,0,1,72,0,0,0,0,0,0,164,5,0,0,68,6,0,0,1,72,0,0,1,0,0,0,180,5,0,0,84,6,0,0,1,56,0,0,0,0,0,0,196,5,0,0,68,6,0,0,1,56,0,0,1,0,0,0,212,5,0,0,84,6,0,0,1,48,0,0,0,0,0,0,228,5,0,0,164,6,0,0,1,48,0,0,1,0,0,0,244,5,0,0,180,6,0,0,1,36,0,0,0,0,0,0,4,6,0,0,196,6,0,0,1,36,0,0,1,0,0,0,20,6,0,0,212,6,0,0,1,28,0,0,0,0,0,0,36,6,0,0,4,7,0,0,1,28,0,0,1,0,0,0,52,6,0,0,20,7,0,0,1,22,0,0,0,0,0,0,36,8,0,0,36,7,0,0,1,22,0,0,1,0,0,0,52,8,0,0,52,7,0,0,1,86,0,0,0,0,0,0,100,6,0,0,84,6,0,0,1,86,0,0,1,0,0,0,116,6,0,0,68,6,0,0,1,84,0,0,0,0,0,0,132,6,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,6,0,0,84,6,0,0,1,81,0,0,0,0,0,0,164,6,0,0,100,6,0,0,1,81,0,0,1,0,0,0,180,6,0,0,116,6,0,0,1,72,0,0,0,0,0,0,196,6,0,0,132,6,0,0,1,72,0,0,1,0,0,0,212,6,0,0,148,6,0,0,1,56,0,0,0,0,0,0,228,6,0,0,164,6,0,0,1,56,0,0,1,0,0,0,244,6,0,0,180,6,0,0,1,52,0,0,0,0,0,0,4,7,0,0,196,6,0,0,1,52,0,0,1,0,0,0,20,7,0,0,212,6,0,0,1,48,0,0,0,0,0,0,36,7,0,0,228,6,0,0,1,48,0,0,1,0,0,0,52,7,0,0,244,6,0,0,1,40,0,0,0,0,0,0,68,7,0,0,228,6,0,0,1,40,0,0,1,0,0,0,84,7,0,0,244,6,0,0,1,36,0,0,0,0,0,0,100,7,0,0,4,7,0,0,1,36,0,0,1,0,0,0,116,7,0,0,20,7,0,0,1,34,0,0,0,0,0,0,132,7,0,0,36,7,0,0,1,34,0,0,1,0,0,0,148,7,0,0,52,7,0,0,1,28,0,0,0,0,0,0,164,7,0,0,68,7,0,0,1,28,0,0,1,0,0,0,180,7,0,0,84,7,0,0,1,24,0,0,0,0,0,0,196,7,0,0,100,7,0,0,1,24,0,0,1,0,0,0,212,7,0,0,116,7,0,0,1,22,0,0,0,0,0,0,228,7,0,0,132,7,0,0,1,22,0,0,1,0,0,0,244,7,0,0,148,7,0,0,1,20,0,0,0,0,0,0,4,8,0,0,164,7,0,0,1,20,0,0,1,0,0,0,20,8,0,0,180,7,0,0,1,18,0,0,0,0,0,0,36,8,0,0,196,7,0,0,1,18,0,0,1,0,0,0,52,8,0,0,212,7,0,0,1,17,0,0,0,0,0,0,68,8,0,0,228,7,0,0,1,17,0,0,1,0,0,0,84,8,0,0,244,7,0,0,193,10,0,0,0,0,0,0,100,8,0,0,4,8,0,0,193,10,0,0,1,0,0,0,116,8,0,0,20,8,0,0,193,9,0,0,0,0,0,0,132,8,0,0,36,8,0,0,193,9,0,0,1,0,0,0,148,8,0,0,52,8,0,0,161,8,0,0,0,0,0,0,164,8,0,0,68,8,0,0,161,8,0,0,1,0,0,0,180,8,0,0,84,8,0,0,33,5,0,0,0,0,0,0,196,8,0,0,100,8,0,0,33,5,0,0,1,0,0,0,212,8,0,0,116,8,0,0,65,4,0,0,0,0,0,0,228,8,0,0,132,8,0,0,65,4,0,0,1,0,0,0,244,8,0,0,148,8,0,0,161,2,0,0,0,0,0,0,4,9,0,0,164,8,0,0,161,2,0,0,1,0,0,0,20,9,0,0,180,8,0,0,33,2,0,0,0,0,0,0,36,9,0,0,196,8,0,0,33,2,0,0,1,0,0,0,52,9,0,0,212,8,0,0,65,1,0,0,0,0,0,0,68,9,0,0,228,8,0,0,65,1,0,0,1,0,0,0,84,9,0,0,244,8,0,0,17,1,0,0,0,0,0,0,100,9,0,0,4,9,0,0,17,1,0,0,1,0,0,0,116,9,0,0,20,9,0,0,133,0,0,0,0,0,0,0,132,9,0,0,36,9,0,0,133,0,0,0,1,0,0,0,148,9,0,0,52,9,0,0,73,0,0,0,0,0,0,0,164,9,0,0,68,9,0,0,73,0,0,0,1,0,0,0,180,9,0,0,84,9,0,0,37,0,0,0,0,0,0,0,196,9,0,0,100,9,0,0,37,0,0,0,1,0,0,0,212,9,0,0,116,9,0,0,21,0,0,0,0,0,0,0,228,9,0,0,132,9,0,0,21,0,0,0,1,0,0,0,244,9,0,0,148,9,0,0,9,0,0,0,0,0,0,0,4,10,0,0,164,9,0,0,9,0,0,0,1,0,0,0,20,10,0,0,180,9,0,0,5,0,0,0,0,0,0,0,36,10,0,0,196,9,0,0,5,0,0,0,1,0,0,0,52,10,0,0,212,9,0,0,1,0,0,0,0,0,0,0,36,10,0,0,228,9,0,0,1,0,0,0,1,0,0,0,52,10,0,0,244,9,0,0,1,86,0,0,0,0,0,0,68,10,0,0,68,10,0,0,1,86,0,0,1,0,0,0,84,10,0,0,84,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,11,0,0,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,38,94,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,64,4,32,0,32,2,128,0,128,8,16,0,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,0,3,128,4,0,6,128,7,0,9,128,10,0,12,128,13,0,15,128,16,0,18,128,19,0,21,128,22,0,24,128,25,0,27,128,28,0,30,128,31,0,33,128,34,0,36,128,37,0,39,128,40,0,42,128,43,0,45,128,46,0,48,128,49,0,51,128,52,0,54,128,55,0,57,128,58,0,60,128,61,0,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,0,81,128,82,0,84,128,85,0,87,128,88,0,90,128,91,0,93,128,94,0,96,128,97,0,99,128,100,0,102,128,103,0,105,128,106,0,108,128,109,0,111,128,112,0,114,128,115,0,117,128,118,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,128,38,128,39,128,40,128,41,0,43,0,44,0,45,128,46,128,47,0,49,0,50,128,51,128,52,0,54,0,55,128,56,0,58,0,59,128,60,0,62,128,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,128,81,0,83,128,84,0,86,0,88,128,89,0,91,0,93,128,94,128,96,0,98,0,100,128,101,128,103,0,105,0,107,0,109,128,110,128,112,128,114,128,116,0,118,0,120,0,122,0,124,0,126,0,24,128,23,0,23,128,22,0,22,128,21,0,21,128,20,0,20,128,19,0,19,128,18,0,18,128,17,0,17,128,16,0,16,128,15,0,15,128,14,0,14,128,13,0,13,128,12,0,12,128,11,0,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,0,5,128,4,0,4,128,3,0,3,128,2,0,2,128,1,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,1,128,1,0,2,128,2,0,3,128,3,0,4,128,4,0,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,0,11,128,11,0,12,128,12,0,13,128,13,0,14,128,14,0,15,128,15,0,16,128,16,0,17,128,17,0,18,128,18,0,19,128,19,0,20,128,20,0,21,128,21,0,22,128,22,0,23,128,23,0,32,0,31,0,30,0,29,0,28,0,27,128,26,128,25,128,24,128,23,0,23,0,22,0,21,128,20,128,19,0,19,0,18,128,17,128,16,0,16,0,15,128,14,0,14,0,13,128,12,0,12,128,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,128,5,0,5,128,4,0,4,0,4,128,3,0,3,0,3,128,2,128,2,0,2,0,2,128,1,128,1,0,1,0,1,0,1,128,0,128,0,128,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,116,104,101,32,100,101,99,111,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,104,101,97,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,33,0,91,69,82,82,79,82,93,32,37,115,0,83,116,114,101,97,109,32,114,101,97,99,104,101,100,32,105,116,115,32,101,110,100,32,33,10,0,69,114,114,111,114,32,111,110,32,119,114,105,116,105,110,103,32,115,116,114,101,97,109,33,10,0,83,116,114,101,97,109,32,101,114,114,111,114,33,10,0,50,46,49,46,48,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,115,101,116,117,112,95,100,101,99,111,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,114,101,97,100,95,104,101,97,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,119,98,0,114,98,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,44,37,100,93,10,0,68,101,112,114,101,99,97,116,101,100,32,102,105,101,108,100,115,32,99,112,95,99,105,110,101,109,97,32,111,114,32,99,112,95,114,115,105,122,32,97,114,101,32,117,115,101,100,10,80,108,101,97,115,101,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32,111,110,108,121,32,116,104,101,32,114,115,105,122,32,102,105,101,108,100,10,83,101,101,32,111,112,101,110,106,112,101,103,46,104,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,10,0,84,104,101,32,100,101,115,105,114,101,100,32,109,97,120,105,109,117,109,32,99,111,100,101,115,116,114,101,97,109,32,115,105,122,101,32,104,97,115,32,108,105,109,105,116,101,100,10,97,116,32,108,101,97,115,116,32,111,110,101,32,111,102,32,116,104,101,32,100,101,115,105,114,101,100,32,113,117,97,108,105,116,121,32,108,97,121,101,114,115,10,0,74,80,69,71,32,50,48,48,48,32,83,99,97,108,97,98,108,101,32,68,105,103,105,116,97,108,32,67,105,110,101,109,97,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,49,32,115,105,110,103,108,101,32,113,117,97,108,105,116,121,32,108,97,121,101,114,45,62,32,78,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,45,62,32,82,97,116,101,32,111,102,32,116,104,101,32,108,97,115,116,32,108,97,121,101,114,32,40,37,51,46,49,102,41,32,119,105,108,108,32,98,101,32,117,115,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,60,61,32,53,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,53,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,54,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,51,48,50,48,56,51,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,48,52,49,54,54,54,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,51,32,99,111,109,112,111,110,101,110,116,115,45,62,32,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,115,105,103,110,101,100,0,117,110,115,105,103,110,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,80,114,101,99,105,115,105,111,110,32,111,102,32,101,97,99,104,32,99,111,109,112,111,110,101,110,116,32,115,104,97,108,108,32,98,101,32,49,50,32,98,105,116,115,32,117,110,115,105,103,110,101,100,45,62,32,65,116,32,108,101,97,115,116,32,99,111,109,112,111,110,101,110,116,32,37,100,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,32,98,105,116,115,44,32,37,115,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,50,48,52,56,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,49,48,56,48,10,45,62,32,73,110,112,117,116,32,105,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,52,48,57,54,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,50,49,54,48,10,45,62,32,73,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,52,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,76,111,110,103,32,84,101,114,109,32,83,116,111,114,97,103,101,32,112,114,111,102,105,108,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,66,114,111,97,100,99,97,115,116,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,73,77,70,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,97,114,116,45,50,32,112,114,111,102,105,108,101,32,100,101,102,105,110,101,100,10,98,117,116,32,110,111,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,46,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,85,110,115,117,112,112,111,114,116,101,100,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,117,115,101,114,32,101,110,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,37,115,37,115,0,67,114,101,97,116,101,100,32,98,121,32,79,112,101,110,74,80,69,71,32,118,101,114,115,105,111,110,32,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,104,101,99,107,105,110,103,32,116,104,101,32,112,111,99,32,118,97,108,117,101,115,46,10,0,77,105,115,115,105,110,103,32,112,97,99,107,101,116,115,32,112,111,115,115,105,98,108,101,32,108,111,115,115,32,111,102,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,101,109,112,32,98,117,102,102,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,70,97,105,108,101,100,32,116,111,32,105,110,118,101,114,115,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,110,111,114,109,115,32,10,0,70,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,106,50,107,32,109,99,116,32,101,110,99,111,100,105,110,103,10,0,67,97,110,110,111,116,32,112,101,114,102,111,114,109,32,77,67,84,32,111,110,32,99,111,109,112,111,110,101,110,116,115,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,46,32,68,105,115,97,98,108,105,110,103,32,77,67,84,46,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,10,0,73,110,99,111,110,115,105,115,116,101,110,116,32,109,97,114,107,101,114,32,115,105,122,101,10,0,77,97,114,107,101,114,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,32,119,105,116,104,32,105,116,115,32,112,111,115,105,116,105,111,110,10,0,77,97,114,107,101,114,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,104,101,97,100,101,114,10,0,78,111,116,32,115,117,114,101,32,104,111,119,32,116,104,97,116,32,104,97,112,112,101,110,101,100,46,10,0,70,97,105,108,32,116,111,32,114,101,97,100,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,40,37,35,120,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,116,108,32,109,97,114,107,101,114,10,0,84,105,108,101,32,112,97,114,116,32,108,101,110,103,116,104,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,79,84,32,109,97,114,107,101,114,10,0,111,112,106,95,106,50,107,95,97,112,112,108,121,95,110,98,95,116,105,108,101,95,112,97,114,116,115,95,99,111,114,114,101,99,116,105,111,110,32,101,114,114,111,114,10,0,78,111,110,32,99,111,110,102,111,114,109,97,110,116,32,99,111,100,101,115,116,114,101,97,109,32,84,80,115,111,116,61,61,84,78,115,111,116,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,84,32,109,97,114,107,101,114,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,84,32,100,97,116,97,10,0,67,97,110,110,111,116,32,100,101,99,111,100,101,32,116,105,108,101,44,32,109,101,109,111,114,121,32,101,114,114,111,114,10,0,72,101,97,100,101,114,32,111,102,32,116,105,108,101,32,37,100,32,47,32,37,100,32,104,97,115,32,98,101,101,110,32,114,101,97,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,46,10,0,78,111,32,69,79,67,32,109,97,114,107,101,114,46,32,80,111,115,115,105,98,108,121,32,97,32,116,114,117,110,99,97,116,101,100,32,115,116,114,101,97,109,10,0,83,116,114,101,97,109,32,100,111,101,115,32,110,111,116,32,101,110,100,32,119,105,116,104,32,69,79,67,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,44,32,101,120,112,101,99,116,101,100,32,83,79,84,10,0,78,101,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,98,101,102,111,114,101,32,98,101,103,105,110,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,99,111,100,101,115,116,114,101,97,109,0,78,111,32,100,101,99,111,100,101,100,32,97,114,101,97,32,112,97,114,97,109,101,116,101,114,115,44,32,115,101,116,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,116,111,32,116,104,101,32,119,104,111,108,101,32,105,109,97,103,101,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,83,105,122,101,32,120,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,119,61,37,100,41,46,10,0,83,105,122,101,32,121,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,104,61,37,100,41,46,10,0,83,101,116,116,105,110,103,32,100,101,99,111,100,105,110,103,32,97,114,101,97,32,116,111,32,37,100,44,37,100,44,37,100,44,37,100,10,0,87,114,111,110,103,32,102,108,97,103,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,102,111,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,116,120,48,61,37,100,44,32,116,121,48,61,37,100,10,0,9,32,116,100,120,61,37,100,44,32,116,100,121,61,37,100,10,0,9,32,116,119,61,37,100,44,32,116,104,61,37,100,10,0,125,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,100,101,120,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,77,97,105,110,32,104,101,97,100,101,114,32,115,116,97,114,116,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,9,32,77,97,105,110,32,104,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([97,100,101,114,32,101,110,100,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,0,9,32,77,97,114,107,101,114,32,108,105,115,116,58,32,123,10,0,9,9,32,116,121,112,101,61,37,35,120,44,32,112,111,115,61,37,108,108,105,44,32,108,101,110,61,37,100,10,0,9,32,125,10,0,9,32,84,105,108,101,32,105,110,100,101,120,58,32,123,10,0,9,9,32,110,98,32,111,102,32,116,105,108,101,45,112,97,114,116,32,105,110,32,116,105,108,101,32,91,37,100,93,61,37,100,10,0,9,9,9,32,116,105,108,101,45,112,97,114,116,91,37,100,93,58,32,115,116,97,114,95,112,111,115,61,37,108,108,105,44,32,101,110,100,95,104,101,97,100,101,114,61,37,108,108,105,44,32,101,110,100,95,112,111,115,61,37,108,108,105,46,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,73,109,97,103,101,32,105,110,102,111,32,123,10,0,37,115,32,120,48,61,37,100,44,32,121,48,61,37,100,10,0,37,115,32,120,49,61,37,100,44,32,121,49,61,37,100,10,0,37,115,32,110,117,109,99,111,109,112,115,61,37,100,10,0,37,115,9,32,99,111,109,112,111,110,101,110,116,32,37,100,32,123,10,0,37,115,125,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,99,111,109,112,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,37,115,32,100,120,61,37,100,44,32,100,121,61,37,100,10,0,37,115,32,112,114,101,99,61,37,100,10,0,37,115,32,115,103,110,100,61,37,100,10,0,87,101,32,110,101,101,100,32,97,110,32,105,109,97,103,101,32,112,114,101,118,105,111,117,115,108,121,32,99,114,101,97,116,101,100,46,10,0,84,105,108,101,32,105,110,100,101,120,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,117,115,101,114,32,105,115,32,105,110,99,111,114,114,101,99,116,32,37,100,32,40,109,97,120,32,61,32,37,100,41,32,10,0,82,101,115,111,108,117,116,105,111,110,32,102,97,99,116,111,114,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,109,97,120,105,109,117,109,32,114,101,115,111,108,117,116,105,111,110,32,105,110,32,116,104,101,32,99,111,109,112,111,110,101,110,116,46,10,0,84,104,101,32,103,105,118,101,110,32,116,105,108,101,32,105,110,100,101,120,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,46,0,116,105,108,101,32,110,117,109,98,101,114,32,37,100,32,47,32,37,100,10,0,69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,100,97,116,97,46,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,101,110,99,111,100,101,32,97,108,108,32,116,105,108,101,115,10,0,83,105,122,101,32,109,105,115,109,97,116,99,104,32,98,101,116,119,101,101,110,32,116,105,108,101,32,100,97,116,97,32,97,110,100,32,115,101,110,116,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,105,109,97,103,101,32,104,101,97,100,101,114,46,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,114,101,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,111,115,116,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,105,108,101,32,67,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,66,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,84,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,79,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,116,104,101,32,67,79,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,80,79,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,84,76,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,81,99,100,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,104,101,32,83,73,90,32,109,97,114,107,101,114,10,0,78,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,105,115,32,116,111,111,32,104,105,103,104,32,105,110,32,99,111,109,112,97,114,105,115,111,110,32,116,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,105,108,101,115,10,0,67,97,110,110,111,116,32,101,110,99,111,100,101,32,116,105,108,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,111,110,101,32,116,105,108,101,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,101,101,107,32,102,117,110,99,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,84,105,108,101,32,37,100,47,37,100,32,104,97,115,32,98,101,101,110,32,100,101,99,111,100,101,100,46,10,0,73,109,97,103,101,32,100,97,116,97,32,104,97,115,32,98,101,101,110,32,117,112,100,97,116,101,100,32,119,105,116,104,32,116,105,108,101,32,37,100,46,10,10,0,84,105,108,101,32,114,101,97,100,44,32,100,101,99,111,100,101,100,32,97,110,100,32,117,112,100,97,116,101,100,32,105,115,32,110,111,116,32,116,104,101,32,100,101,115,105,114,101,100,32,111,110,101,32,40,37,100,32,118,115,32,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,115,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,9,32,100,101,102,97,117,108,116,32,116,105,108,101,32,123,10,0,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,32,112,114,103,61,37,35,120,10,0,9,9,32,110,117,109,108,97,121,101,114,115,61,37,100,10,0,9,9,32,109,99,116,61,37,120,10,0,9,9,32,99,111,109,112,32,37,100,32,123,10,0,9,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,9,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,61,37,100,10,0,9,9,9,32,99,98,108,107,119,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,104,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,115,116,121,61,37,35,120,10,0,9,9,9,32,113,109,102,98,105,100,61,37,100,10,0,9,9,9,32,112,114,101,99,99,105,110,116,115,105,122,101,32,40,119,44,104,41,61,0,40,37,100,44,37,100,41,32,0,9,9,9,32,113,110,116,115,116,121,61,37,100,10,0,9,9,9,32,110,117,109,103,98,105,116,115,61,37,100,10,0,9,9,9,32,115,116,101,112,115,105,122,101,115,32,40,109,44,101,41,61,0,9,9,9,32,114,111,105,115,104,105,102,116,61,37,100,10,0,9,9,32,125,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,79,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,115,116,97,103,101,115,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,100,97,116,97,32,115,112,97,110,110,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,99,111,108,108,101,99,116,105,111,110,115,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,111,116,104,101,114,32,116,104,97,110,32,97,114,114,97,121,32,100,101,99,111,114,114,101,108,97,116,105,111,110,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32,105,110,100,105,120,32,115,104,117,102,102,108,101,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,111,117,116,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,105,110,100,105,120,101,115,10,0,67,114,114,111,114,32,114,101,97,100,105,110,103,32,67,66,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,99,116,32,100,97,116,97,32,119,105,116,104,105,110,32,109,117,108,116,105,112,108,101,32,77,67,84,32,114,101,99,111,114,100,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,77,67,84,32,109,97,114,107,101,114,115,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,82,71,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,58,32,112,97,99,107,101,116,32,104,101,97,100,101,114,32,104,97,118,101,32,98,101,101,110,32,112,114,101,118,105,111,117,115,108,121,32,102,111,117,110,100,32,105,110,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,40,80,80,77,32,109,97,114,107,101,114,41,46,10,0,90,112,112,116,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,77,32,109,97,114,107,101,114,10,0,90,112,112,109,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,84,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,105,108,108,101,103,97,108,32,45,62,32,37,100,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,110,117,109,98,101,114,32,111,102,32,112,97,114,97,109,101,116,101,114,115,32,40,32,37,100,32,118,115,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,101,103,97,116,105,118,101,32,111,114,32,122,101,114,111,32,105,109,97,103,101,32,115,105,122,101,32,40,37,100,32,120,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,110,118,97,108,105,100,32,116,105,108,101,32,115,105,122,101,32,40,116,100,120,58,32,37,100,44,32,116,100,121,58,32,37,100,41,10,0,80,114,101,118,101,110,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,32,40,120,49,58,32,37,100,44,32,121,49,58,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,108,108,101,103,97,108,32,116,105,108,101,32,111,102,102,115,101,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,83,73,90,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32,99,111,109,112,32,61,32,37,100,32,58,32,100,120,61,37,117,32,100,121,61,37,117,10,32,40,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,50,53,53,32,97,99,99,111,114,100,105,110,103,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,41,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,115,32,58,32,37,117,32,120,32,37,117,32,40,109,97,120,105,109,117,109,32,102,105,120,101,100,32,98,121,32,106,112,101,103,50,48,48,48,32,110,111,114,109,32,105,115,32,54,53,53,51,53,32,116,105,108,101,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,79,67,32,109,97,114,107,101,114,10,0,84,111,111,32,109,97,110,121,32,80,79,67,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,67,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,58,32,37,100,44,32,114,101,103,97,114,100,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,81,99,100,32,111,114,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,87,104,105,108,101,32,114,101,97,100,105,110,103,32,67,67,80,95,81,78,84,83,84,89,32,101,108,101,109,101,110,116,32,105,110,115,105,100,101,32,81,67,68,32,111,114,32,81,67,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,44,32,110,117,109,98,101,114,32,111,102,32,115,117,98,98,97,110,100,115,32,40,37,100,41,32,105,115,32,103,114,101,97,116,101,114,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,46,32,83,111,32,119,101,32,108,105,109,105,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,115,116,111,114,101,100,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,32,97,110,100,32,115,107,105,112,32,116,104,101,32,114,101,115,116,46,32,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,82,71,78,32,109,97,114,107,101,114,10,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,32,105,110,32,82,71,78,32,40,37,100,32,119,104,101,110,32,116,104,101,114,101,32,97,114,101,32,111,110,108,121,32,37,100,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,32,40,98,97,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,102,111,114,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,44,32,109,97,120,32,118,97,108,117,101,32,105,115,32,115,101,116,32,105,110,32,111,112,101,110,106,112,101,103,46,104,32,97,116,32,37,100,10,0,69,114,114,111,114,32,100,101,99,111,100,105,110,103,32,99,111,109,112,111,110,101,110,116,32,37,100,46,10,84,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,116,111,32,114,101,109,111,118,101,32,105,115,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,111,102,32,116,104,105,115,32,99,111,109,112,111,110,101,110,116,10,77,111,100,105,102,121,32,116,104,101,32,99,112,95,114,101,100,117,99,101,32,112,97,114,97,109,101,116,101,114,46,10,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,44,32,73,110,118,97,108,105,100,32,99,98,108,107,119,47,99,98,108,107,104,32,99,111,109,98,105,110,97,116,105,111,110,10,0,73,110,118,97,108,105,100,32,112,114,101,99,105,110,99,116,32,115,105,122,101,10,0,67,79,68,32,109,97,114,107,101,114,32,97,108,114,101,97,100,121,32,114,101,97,100,46,32,78,111,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,67,79,68,32,109,97,114,107,101,114,32,112,101,114,32,116,105,108,101,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,83,99,111,100,32,118,97,108,117,101,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,112,114,111,103,114,101,115,115,105,111,110,32,111,114,100,101,114,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,105,110,32,67,79,68,32,109,97,114,107,101,114,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,45,54,53,53,51,53,93,10,0,73,110,118,97,108,105,100,32,116,105,108,101,32,110,117,109,98,101,114,32,37,100,10,0,69,109,112,116,121,32,83,79,84,32,109,97,114,107,101,114,32,100,101,116,101,99,116,101,100,58,32,80,115,111,116,61,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,105,115,32,110,111,116,32,99,111,114,114,101,99,116,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,58,32,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,108,101,45,112,97,114,116,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,44,32,119,101,32,97,115,115,117,109,105,110,103,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,116,105,108,101,45,112,97,114,116,32,111,102,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,46,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,104,101,97,100,101,114,41,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,83,79,84,32,109,97,114,107,101,114,46,32,84,105,108,101,32,105,110,100,101,120,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,10,0,83,116,97,114,116,32,116,111,32,114,101,97,100,32,106,50,107,32,109,97,105,110,32,104,101,97,100,101,114,32,40,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,109,104,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,97,32,83,79,67,32,109,97,114,107,101,114,32,10,0,65,32,109,97,114,107,101,114,32,73,68,32,119,97,115,32,101,120,112,101,99,116,101,100,32,40,48,120,102,102,45,45,41,32,105,110,115,116,101,97,100,32,111,102,32,37,46,56,120,10,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,32,109,97,114,107,101,114,32,104,97,118,101,32,98,101,101,110,32,100,101,116,101,99,116,101,100,32,97,110,100,32,103,101,110,101,114,97,116,101,100,32,101,114,114,111,114,46,10,0,77,97,114,107,101,114,32,104,97,110,100,108,101,114,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,10,0,114,101,113,117,105,114,101,100,32,83,73,90,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,67,79,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,81,67,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,98,121,116,101,115,32,116,111,32,114,101,97,100,32,78,112,112,109,10,0,67,111,114,114,117,112,116,101,100,32,80,80,77,32,109,97,114,107,101,114,115,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,77,32,100,97,116,97,10,0,77,97,105,110,32,104,101,97,100,101,114,32,104,97,115,32,98,101,101,110,32,99,111,114,114,101,99,116,108,121,32,100,101,99,111,100,101,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,105,110,32,116,104,101,32,74,80,50,32,102,105,108,101,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,119,104,105,108,101,32,115,101,116,116,105,110,103,32,117,112,32,74,80,50,32,101,110,99,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,104,101,110,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,117,110,107,110,111,119,110,32,101,110,117,109,99,115,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,110,111,116,32,101,110,111,117,103,104,32,105,109,97,103,101,32,99,111,109,112,111,110,101,110,116,115,32,102,111,114,32,97,110,32,97,117,116,111,109,97,116,105,99,32,99,100,101,102,32,98,111,120,32,99,114,101,97,116,105,111,110,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,112,111,115,105,116,105,111,110,32,99,111,110,102,108,105,99,116,115,32,119,105,116,104,32,99,111,108,111,114,32,99,104,97,110,110,101,108,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,77,117,108,116,105,112,108,101,32,97,108,112,104,97,32,99,104,97,110,110,101,108,115,32,115,112,101,99,105,102,105,101,100,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,74,80,50,32,98,111,120,32,119,104,105,99,104,32,97,114,101,32,97,102,116,101,114,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,110,111,116,32,98,101,32,114,101,97,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,111,108,100,32,74,80,50,32,72,101,97,100,101,114,32,100,97,116,97,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,102,116,121,112,32,100,97,116,97,10,0,69,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,102,116,121,112,32,100,97,116,97,32,116,111,32,115,116,114,101,97,109,10,0,70,97,105,108,101,100,32,116,111,32,115,101,101,107,32,105,110,32,116,104,101,32,115,116,114,101,97,109,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,102,105,108,101,32,104,101,97,100,101,114,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,115,105,122,101,115,32,104,105,103,104,101,114,32,116,104,97,110,32,50,94,51,50,10,0,98,97,100,32,112,108,97,99,101,100,32,106,112,101,103,32,99,111,100,101,115,116,114,101,97,109,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,117,110,100,101,102,105,110,101,100,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,40,37,120,41,10,0,70,111,117,110,100,32,97,32,109,105,115,112,108,97,99,101,100,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,111,117,116,115,105,100,101,32,106,112,50,104,32,98,111,120,10,0,74,80,69,71,50,48,48,48,32,72,101,97,100,101,114,32,98,111,120,32,110,111,116,32,114,101,97,100,32,121,101,116,44,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,107,105,112,112,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,73,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,102,111,114,32,98,111,120,32,39,37,99,37,99,37,99,37,99,39,46,32,78,101,101,100,32,37,100,32,98,121,116,101,115,44,32,37,100,32,98,121,116,101,115,32,114,101,109,97,105,110,105,110,103,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,98,111,120,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,114,101,97,100,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,102,105,114,115,116,32,98,111,120,32,109,117,115,116,32,98,101,32,74,80,69,71,32,50,48,48,48,32,115,105,103,110,97,116,117,114,101,32,98,111,120,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,115,101,99,111,110,100,32,98,111,120,32,109,117,115,116,32,98,101,32,102,105,108,101,32,116,121,112,101,32,98,111,120,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,68,69,70,32,98,111,120,46,10,0,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,32,100,101,115,99,114,105,112,116,105,111,110,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,32,105,110,32,67,68,69,70,32,98,111,120,46,10,0,78,101,101,100,32,116,111,32,114,101,97,100,32,97,32,80,67,76,82,32,98,111,120,32,98,101,102,111,114,101,32,116,104,101,32,67,77,65,80,32,98,111,120,46,10,0,79,110,108,121,32,111,110,101,32,67,77,65,80,32,98,111,120,32,105,115,32,97,108,108,111,119,101,100,46,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,77,65,80,32,98,111,120,46,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,37,100,32,101,110,116,114,105,101,115,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,48,32,112,97,108,101,116,116,101,32,99,111,108,117,109,110,115,10,0,65,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,108,116,104,111,117,103,104,32,66,80,67,32,103,105,118,101,110,32,98,121,32,116,104,101,32,73,72,68,82,32,98,111,120,32,40,37,100,41,32,105,110,100,105,99,97,116,101,32,99,111,109,112,111,110,101,110,116,115,32,98,105,116,32,100,101,112,116,104,32,105,115,32,99,111,110,115,116,97,110,116,10,0,66,97,100,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,65,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,114,101,97,100,101,114,32,115,104,97,108,108,32,105,103,110,111,114,101,32,97,108,108,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,101,115,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,44,32,115,111,32,119,101,32,105,103,110,111,114,101,32,116,104,105,115,32,111,110,101,46,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,67,73,69,76,97,98,44,32,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,67,79,76,82,32,66,79,88,32,109,101,116,104,32,118,97,108,117,101,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,118,97,108,117,101,32,40,37,100,41,44,32,115,111,32,119,101,32,119,105,108,108,32,105,103,110,111,114,101,32,116,104,101,32,101,110,116,105,114,101,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,46,32,10,0,66,97,100,32,105,109,97,103,101,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,105,109,97,103,101,32,104,101,97,100,101,114,32,40,105,104,100,114,41,10,0,74,80,50,32,73,72,68,82,32,98,111,120,58,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,32,105,110,100,105,99,97,116,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,97,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,102,105,108,101,32,40,37,100,41,32,10,0,84,104,101,32,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,56,32,98,121,116,101,115,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,88,76,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,49,54,32,98,121,116,101,115,10,0,66,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,98,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,110,111,32,39,105,104,100,114,39,32,98,111,120,46,10,0,84,104,101,32,102,116,121,112,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,115,101,99,111,110,100,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,70,84,89,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,105,116,104,32,70,84,89,80,32,66,111,120,10,0,84,104,101,32,115,105,103,110,97,116,117,114,101,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,83,105,103,110,97,116,117,114,101,32,58,32,98,97,100,32,109,97,103,105,99,32,110,117,109,98,101,114,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,97,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,32,40,62,61,32,37,100,41,46,10,0,73,110,99,111,109,112,108,101,116,101,32,99,104,97,110,110,101,108,32,100,101,102,105,110,105,116,105,111,110,115,46,10,0,85,110,101,120,112,101,99,116,101,100,32,79,79,77,46,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,47,112,97,108,101,116,116,101,32,105,110,100,101,120,32,102,111,114,32,100,105,114,101,99,116,32,109,97,112,112,105,110,103,32,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,105,115,32,109,97,112,112,101,100,32,116,119,105,99,101,46,10,0,68,105,114,101,99,116,32,117,115,101,32,97,116,32,35,37,100,32,104,111,119,101,118,101,114,32,112,99,111,108,61,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,100,111,101,115,110,39,116,32,104,97,118,101,32,97,32,109,97,112,112,105,110,103,46,10,0,67,111,109,112,111,110,101,110,116,32,109,97,112,112,105,110,103,32,115,101,101,109,115,32,119,114,111,110,103,46,32,84,114,121,105,110,103,32,116,111,32,99,111,114,114,101,99,116,46,10,0,84,105,108,101,115,32,100,111,110,39,116,32,97,108,108,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,100,105,109,101,110,115,105,111,110,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,40,37,100,41,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,97,32,77,67,84,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,116,105,108,101,115,32,114,101,113,117,105,114,101,32,97,116,32,108,101,97,115,116,32,111,110,101,32,114,101,115,111,108,117,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,114,101,115,111,108,117,116,105,111,110,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,98,97,110,100,32,112,114,101,99,105,110,116,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,117,114,114,101,110,116,32,112,114,101,99,105,110,99,116,32,99,111,100,101,98,108,111,99,107,32,101,108,101,109,101,110,116,10,0,78,111,32,105,110,99,108,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,32,105,109,115,98,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,10,0,116,103,116,95,99,114,101,97,116,101,32,116,114,101,101,45,62,110,117,109,110,111,100,101,115,32,61,61,32,48,44,32,110,111,32,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,32,110,111,100,101,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,116,97,103,32,116,114,101,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,97,32,110,101,119,32,118,97,108,105,100,97,116,105,111,110,32,112,114,111,99,101,100,117,114,101,10,0,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,3,3,6,3,6,6,8,3,6,6,8,6,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,99,117,114,114,101,110,116,32,115,105,122,101,32,40,37,100,32,62,32,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,115,107,105,112,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+25118);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}Module["_i64Subtract"]=_i64Subtract;var _floorf=Math_floor;Module["_bitshift64Ashr"]=_bitshift64Ashr;var _SItoF=true;Module["_memset"]=_memset;var _BDtoILow=true;var _ceilf=Math_ceil;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}Module["_i64Add"]=_i64Add;var _floor=Math_floor;var _sqrt=Math_sqrt;var PATH=undefined;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}});if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||function(){};canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){Module["noExitRuntime"]=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){Module["noExitRuntime"]=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},xhrLoad:function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)},asyncLoad:function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(!noRunDep)addRunDependency("al "+url)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];return ret},getStr:function(){var ret=Pointer_stringify(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push(function(){Runtime.dynCall("vi",routine,[arg])});_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _llvm_pow_f64=Math_pow;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")}}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}var _BItoD=true;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer)___syscall146.buffer=[];var buffer=___syscall146.buffer;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE>2]=d;if((c[a+8>>2]|0)==16)k=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else k=c[a+12>>2]|0;g=(c[a+80>>2]|0)+16|0;h=(c[g>>2]|0)>>>0<257?1:2;j=h+1|0;if(j>>>0>d>>>0){Ub(e,1,14585,m)|0;e=0;i=m;return e|0}c[f>>2]=d-j;qb(b,l,h);d=c[l>>2]|0;if(d>>>0>=(c[g>>2]|0)>>>0){Ub(e,1,14611,m+8|0)|0;e=0;i=m;return e|0}qb(b+h|0,(c[k+5584>>2]|0)+(d*1080|0)|0,1);if(!(Fe(a,c[l>>2]|0,b+j|0,f,e)|0)){Ub(e,1,14585,m+16|0)|0;e=0;i=m;return e|0}if(!(c[f>>2]|0)){e=1;i=m;return e|0}Ub(e,1,14585,m+24|0)|0;e=0;i=m;return e|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+8|0;f=k+20|0;h=c[(c[a+80>>2]|0)+16>>2]|0;g=h>>>0<257?1:2;if((g+2|0)!=(d|0)){Ub(e,1,14502,k)|0;j=0;i=k;return j|0}if((c[a+8>>2]|0)==16)a=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else a=c[a+12>>2]|0;qb(b,f,g);qb(b+g|0,k+16|0,1);d=c[f>>2]|0;if(d>>>0>>0){qb(b+(g+1)|0,(c[a+5584>>2]|0)+(d*1080|0)+808|0,1);j=1;i=k;return j|0}else{c[j>>2]=d;c[j+4>>2]=h;Ub(e,1,14528,j)|0;j=0;i=k;return j|0}return 0}function he(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+12|0;c[f>>2]=d;if(!(Ee(a,0,b,f,e)|0)){Ub(e,1,14476,h)|0;g=0;i=h;return g|0}if(c[f>>2]|0){Ub(e,1,14476,h+8|0)|0;g=0;i=h;return g|0}if((c[a+8>>2]|0)==16)f=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else f=c[a+12>>2]|0;f=c[f+5584>>2]|0;d=a+80|0;if((c[(c[d>>2]|0)+16>>2]|0)>>>0<=1){g=1;i=h;return g|0}e=f+24|0;a=f+804|0;g=f+28|0;b=1;while(1){c[f+1104>>2]=c[e>>2];c[f+1884>>2]=c[a>>2];Ui(f+1108|0,g|0,776)|0;b=b+1|0;if(b>>>0>=(c[(c[d>>2]|0)+16>>2]|0)>>>0){f=1;break}else f=f+1080|0}i=h;return f|0}function ie(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+32|0;m=o+24|0;l=o+16|0;g=o+8|0;f=o;k=o+40|0;h=o+36|0;c[k>>2]=d;j=a+80|0;do{if((c[(c[j>>2]|0)+16>>2]|0)>>>0<257){if(d){qb(b,h,1);g=b+1|0;b=d+-1|0;break}Ub(e,1,14129,f)|0;n=0;i=o;return n|0}else{if(d>>>0>=2){qb(b,h,2);g=b+2|0;b=d+-2|0;break}Ub(e,1,14129,g)|0;n=0;i=o;return n|0}}while(0);c[k>>2]=b;f=c[h>>2]|0;b=c[(c[j>>2]|0)+16>>2]|0;if(f>>>0>=b>>>0){c[l>>2]=f;c[l+4>>2]=b;Ub(e,1,14155,l)|0;n=0;i=o;return n|0}if(!(Ee(a,f,g,k,e)|0)){Ub(e,1,14129,m)|0;n=0;i=o;return n|0}if(!(c[k>>2]|0)){n=1;i=o;return n|0}Ub(e,1,14129,n)|0;n=0;i=o;return n|0}function je(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var 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;t=i;i=i+16|0;h=t+8|0;s=t+12|0;r=c[(c[b+80>>2]|0)+16>>2]|0;q=r>>>0<257?1:2;p=(q<<1)+5|0;g=(e>>>0)/(p>>>0)|0;if((g|0)==0|((e>>>0)%(p>>>0)|0|0)!=0){Ub(f,1,14085,t)|0;s=0;i=t;return s|0}if((c[b+8>>2]|0)==16)p=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else p=c[b+12>>2]|0;e=p+5636|0;b=a[e>>0]|0;if(!(b&4))o=0;else o=(c[p+420>>2]|0)+1|0;n=o+g|0;if(n>>>0>31){c[h>>2]=n;Ub(f,1,14111,h)|0;s=0;i=t;return s|0}a[e>>0]=b|4;if(o>>>0>>0){f=q+1|0;m=p+8|0;h=q+3|0;j=q|4;k=j+q|0;l=k+1|0;b=d;g=o;e=p+424+(o*148|0)|0;while(1){qb(b,e,1);qb(b+1|0,e+4|0,q);d=e+8|0;qb(b+f|0,d,2);u=c[d>>2]|0;o=c[m>>2]|0;c[d>>2]=u>>>0>>0?u:o;qb(b+h|0,e+12|0,1);d=e+16|0;qb(b+j|0,d,q);qb(b+k|0,s,1);c[e+36>>2]=c[s>>2];o=c[d>>2]|0;c[d>>2]=o>>>0>>0?o:r;g=g+1|0;if(g>>>0>=n>>>0)break;else{b=b+l|0;e=e+148|0}}}c[p+420>>2]=n+-1;u=1;i=t;return u|0}function ke(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+144|0;L=M+128|0;H=M+120|0;G=M+112|0;F=M+104|0;E=M+96|0;D=M+88|0;A=M+72|0;t=M+64|0;r=M+56|0;q=M+48|0;p=M+40|0;s=M+32|0;l=M+24|0;j=M+16|0;h=M+136|0;w=M+132|0;J=c[d+80>>2]|0;K=d+88|0;if(f>>>0<36){Ub(g,1,13440,M)|0;g=0;i=M;return g|0}I=f+-36|0;o=(I>>>0)/3|0;if((I>>>0)%3|0){Ub(g,1,13440,M+8|0)|0;g=0;i=M;return g|0}qb(e,h,2);b[K>>1]=c[h>>2];x=J+8|0;qb(e+2|0,x,4);B=J+12|0;qb(e+6|0,B,4);qb(e+10|0,J,4);n=J+4|0;qb(e+14|0,n,4);v=d+100|0;qb(e+18|0,v,4);z=d+104|0;qb(e+22|0,z,4);u=d+92|0;qb(e+26|0,u,4);y=d+96|0;qb(e+30|0,y,4);qb(e+34|0,h,2);k=e+36|0;f=c[h>>2]|0;if(f>>>0>=16385){c[j>>2]=f;Ub(g,1,13468,j)|0;g=0;i=M;return g|0}f=f&65535;I=J+16|0;c[I>>2]=f;if((f|0)!=(o|0)){c[l>>2]=f;c[l+4>>2]=o;Ub(g,1,13529,l)|0;g=0;i=M;return g|0}l=c[J>>2]|0;m=c[x>>2]|0;if(m>>>0>l>>>0){f=c[n>>2]|0;e=c[B>>2]|0;if(f>>>0>>0){h=c[v>>2]|0;j=c[z>>2]|0;if(!(_(j,h)|0)){c[p>>2]=h;c[p+4>>2]=j;Ub(g,1,13705,p)|0;g=0;i=M;return g|0}s=Zi(e|0,0,m|0,0)|0;if(!((s|0)==(_(e,m)|0)&(C|0)==0)){c[q>>2]=m;c[q+4>>2]=e;Ub(g,1,13766,q)|0;g=0;i=M;return g|0}m=c[u>>2]|0;p=Si(m|0,0,h|0,0)|0;q=C;n=c[y>>2]|0;s=Si(n|0,0,j|0,0)|0;if(m>>>0<=l>>>0?n>>>0<=f>>>0&(p|0-q)>>>0>l>>>0&(s|0-C)>>>0>f>>>0:0){e=Qc(o,52)|0;o=J+24|0;c[o>>2]=e;if(!e){c[I>>2]=0;Ub(g,1,13852,t)|0;g=0;i=M;return g|0}a:do{if(c[I>>2]|0){l=d+168|0;f=0;j=e;while(1){qb(k,w,1);c[j+24>>2]=(c[w>>2]&127)+1;c[j+32>>2]=(c[w>>2]|0)>>>7;qb(k+1|0,w,1);c[j>>2]=c[w>>2];qb(k+2|0,w,1);h=c[w>>2]|0;c[j+4>>2]=h;e=c[j>>2]|0;if((h+-1|0)>>>0>254|(e+-1|0)>>>0>254)break;c[j+36>>2]=0;c[j+40>>2]=c[l>>2];f=f+1|0;if(f>>>0>=(c[I>>2]|0)>>>0)break a;else{k=k+3|0;j=j+52|0}}c[A>>2]=f;c[A+4>>2]=e;c[A+8>>2]=h;Ub(g,1,13900,A)|0;g=0;i=M;return g|0}}while(0);m=c[u>>2]|0;l=c[v>>2]|0;k=((c[x>>2]|0)+-1-m+l|0)/(l|0)|0;c[d+112>>2]=k;j=c[y>>2]|0;h=c[z>>2]|0;e=((c[B>>2]|0)+-1-j+h|0)/(h|0)|0;c[d+116>>2]=e;if(!((e|0)==0|(k|0)==0)?k>>>0<=(65535/(e>>>0)|0)>>>0:0){n=_(k,e)|0;f=d+28|0;if(!(a[d+76>>0]&2)){c[f>>2]=0;c[d+32>>2]=0;c[d+36>>2]=k;c[d+40>>2]=e}else{c[f>>2]=(((c[f>>2]|0)-m|0)>>>0)/(l>>>0)|0;D=d+32|0;c[D>>2]=(((c[D>>2]|0)-j|0)>>>0)/(h>>>0)|0;D=d+36|0;c[D>>2]=((c[D>>2]|0)+-1-m+l|0)/(l|0)|0;D=d+40|0;c[D>>2]=((c[D>>2]|0)+-1-j+h|0)/(h|0)|0}D=Qc(n,5640)|0;k=d+164|0;c[k>>2]=D;if(!D){Ub(g,1,13852,E)|0;g=0;i=M;return g|0}E=Qc(c[I>>2]|0,1080)|0;e=d+12|0;c[(c[e>>2]|0)+5584>>2]=E;if(!E){Ub(g,1,13852,F)|0;g=0;i=M;return g|0}F=Qc(10,20)|0;f=c[e>>2]|0;c[f+5612>>2]=F;if(!F){Ub(g,1,13852,G)|0;g=0;i=M;return g|0}c[f+5620>>2]=10;G=Qc(10,20)|0;f=c[e>>2]|0;c[f+5624>>2]=G;if(!G){Ub(g,1,13852,H)|0;g=0;i=M;return g|0}c[f+5632>>2]=10;j=c[I>>2]|0;if(j){h=c[o>>2]|0;f=f+5584|0;e=0;do{if(!(c[h+(e*52|0)+32>>2]|0))c[(c[f>>2]|0)+(e*1080|0)+1076>>2]=1<<(c[h+(e*52|0)+24>>2]|0)+-1;e=e+1|0}while(e>>>0>>0)}b:do{if(n){f=c[k>>2]|0;H=Qc(j,1080)|0;c[f+5584>>2]=H;if(H){e=0;while(1){e=e+1|0;if(e>>>0>=n>>>0)break b;H=Qc(c[I>>2]|0,1080)|0;c[f+11224>>2]=H;if(!H)break;else f=f+5640|0}}Ub(g,1,13852,L)|0;g=0;i=M;return g|0}}while(0);c[d+8>>2]=4;_b(J,K);g=1;i=M;return g|0}c[D>>2]=k;c[D+4>>2]=e;Ub(g,1,14002,D)|0;g=0;i=M;return g|0}Ub(g,1,13808,r)|0;g=0;i=M;return g|0}}else{e=c[B>>2]|0;f=c[n>>2]|0}c[s>>2]=m-l;c[s+4>>2]=e-f;Ub(g,1,13643,s)|0;g=0;i=M;return g|0}function le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+32|0;a=f+12|0;if(d>>>0<2){Ub(e,1,13414,f)|0;e=0;i=f;return e|0}qb(b,f+16|0,1);qb(b+1|0,a,1);b=c[a>>2]|0;if(!(((d+-2|0)>>>0)%(((b>>>5&2)+2+(b>>>4&3)|0)>>>0)|0)){e=1;i=f;return e|0}Ub(e,1,13414,f+8|0)|0;e=0;i=f;return e|0}function me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=i;i=i+16|0;if(!c){Ub(d,1,13388,a)|0;b=0}else b=1;i=a;return b|0}function ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+8|0;h=k+12|0;if(!d){Ub(e,1,13362,k)|0;e=0;i=k;return e|0}qb(b,k+16|0,1);f=d+-1|0;if(!f){e=1;i=k;return e|0}else{g=0;a=0}do{b=b+1|0;qb(b,h,1);d=c[h>>2]|0;if(!(d&128))a=0;else a=(d&127|a)<<7;g=g+1|0}while((g|0)!=(f|0));if(!a){e=1;i=k;return e|0}Ub(e,1,13362,j)|0;e=0;i=k;return e|0}function oe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;o=p+32|0;l=p+24|0;h=p+16|0;g=p+8|0;n=p+36|0;if(e>>>0<2){Ub(f,1,13276,p)|0;o=0;i=p;return o|0}m=b+184|0;a[m>>0]=a[m>>0]|1;qb(d,n,1);m=d+1|0;k=e+-1|0;j=b+124|0;e=c[j>>2]|0;do{if(e){g=b+120|0;d=c[n>>2]|0;if((c[g>>2]|0)>>>0<=d>>>0){b=d+1|0;d=Tc(e,b<<3)|0;if(d){c[j>>2]=d;e=c[g>>2]|0;Qi(d+(e<<3)|0,0,b-e<<3|0)|0;c[g>>2]=b;e=c[j>>2]|0;break}Ub(f,1,13302,h)|0;o=0;i=p;return o|0}}else{d=(c[n>>2]|0)+1|0;e=Qc(d,8)|0;c[j>>2]=e;if(e){c[b+120>>2]=d;break}Ub(f,1,13302,g)|0;o=0;i=p;return o|0}}while(0);d=c[n>>2]|0;if(c[e+(d<<3)>>2]|0){c[l>>2]=d;Ub(f,1,13340,l)|0;o=0;i=p;return o|0}l=Pc(k)|0;e=c[n>>2]|0;d=c[j>>2]|0;c[d+(e<<3)>>2]=l;if(!l){Ub(f,1,13302,o)|0;o=0;i=p;return o|0}else{c[d+(e<<3)+4>>2]=k;Ui(c[d+(c[n>>2]<<3)>>2]|0,m|0,k|0)|0;o=1;i=p;return o|0}return 0}function pe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;o=r+32|0;k=r+24|0;j=r+16|0;p=r+44|0;if(e>>>0<2){Ub(f,1,13127,r)|0;q=0;i=r;return q|0}if(a[b+184>>0]&1){Ub(f,1,13153,r+8|0)|0;q=0;i=r;return q|0}h=c[b+200>>2]|0;g=c[b+164>>2]|0;n=g+(h*5640|0)+5636|0;a[n>>0]=a[n>>0]|2;qb(d,p,1);n=d+1|0;m=e+-1|0;l=g+(h*5640|0)+5164|0;d=c[l>>2]|0;do{if(d){g=g+(h*5640|0)+5160|0;b=c[p>>2]|0;if((c[g>>2]|0)>>>0<=b>>>0){e=b+1|0;b=Tc(d,e<<3)|0;if(b){c[l>>2]=b;d=c[g>>2]|0;Qi(b+(d<<3)|0,0,e-d<<3|0)|0;c[g>>2]=e;d=c[l>>2]|0;break}Ub(f,1,8775,k)|0;q=0;i=r;return q|0}}else{b=(c[p>>2]|0)+1|0;d=Qc(b,8)|0;c[l>>2]=d;if(d){c[g+(h*5640|0)+5160>>2]=b;break}Ub(f,1,8775,j)|0;q=0;i=r;return q|0}}while(0);b=c[p>>2]|0;if(c[d+(b<<3)>>2]|0){c[o>>2]=b;Ub(f,1,13254,o)|0;q=0;i=r;return q|0}o=Pc(m)|0;d=c[p>>2]|0;b=c[l>>2]|0;c[b+(d<<3)>>2]=o;if(!o){Ub(f,1,8775,q)|0;q=0;i=r;return q|0}else{c[b+(d<<3)+4>>2]=m;Ui(c[b+(c[p>>2]<<3)>>2]|0,n|0,m|0)|0;q=1;i=r;return q|0}return 0}function qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=i;i=i+16|0;if((c[(c[a+80>>2]|0)+16>>2]<<2|0)==(d|0)){e=1;i=b;return e|0}Ub(e,1,13101,b)|0;e=0;i=b;return e|0}function re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 1}function se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;r=s+40|0;q=s+32|0;l=s+24|0;p=s+44|0;if((c[a+8>>2]|0)==16)j=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else j=c[a+12>>2]|0;if(d>>>0<2){Ub(e,1,12933,s)|0;r=0;i=s;return r|0}qb(b,p,2);if(c[p>>2]|0){Ub(e,2,12959,s+8|0)|0;r=1;i=s;return r|0}if(d>>>0<7){Ub(e,1,12933,s+16|0)|0;r=0;i=s;return r|0}qb(b+2|0,p,2);n=b+4|0;o=c[p>>2]&255;k=j+5612|0;f=c[k>>2]|0;m=j+5616|0;a=c[m>>2]|0;a:do{if(!a){g=0;h=f}else{g=0;h=f;do{if((c[h+8>>2]|0)==(o|0))break a;h=h+20|0;g=g+1|0}while(g>>>0>>0)}}while(0);if((g|0)==(a|0)){g=j+5620|0;do{if((a|0)==(c[g>>2]|0)){a=a+10|0;c[g>>2]=a;a=Tc(f,a*20|0)|0;if(a){c[k>>2]=a;f=c[m>>2]|0;Qi(a+(f*20|0)|0,0,((c[g>>2]|0)-f|0)*20|0)|0;f=c[k>>2]|0;a=c[m>>2]|0;break}Uc(c[k>>2]|0);c[k>>2]=0;c[g>>2]=0;c[m>>2]=0;Ub(e,1,13019,l)|0;r=0;i=s;return r|0}}while(0);c[m>>2]=a+1;h=f+(a*20|0)|0}g=h+12|0;a=c[g>>2]|0;if(a){Uc(a);c[g>>2]=0}c[h+8>>2]=o;o=c[p>>2]|0;c[h+4>>2]=o>>>8&3;c[h>>2]=o>>>10&3;qb(n,p,2);if(c[p>>2]|0){Ub(e,2,13057,q)|0;r=1;i=s;return r|0}a=d+-6|0;f=Pc(a)|0;c[g>>2]=f;if(!f){Ub(e,1,12933,r)|0;r=0;i=s;return r|0}else{Ui(f|0,b+6|0,a|0)|0;c[h+16>>2]=a;r=1;i=s;return r|0}return 0}function te(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;h=j+12|0;a=a+80|0;g=c[(c[a>>2]|0)+16>>2]|0;if((g+2|0)!=(d|0)){Ub(e,1,12907,j)|0;h=0;i=j;return h|0}qb(b,f,2);if((c[f>>2]|0)!=(g|0)){Ub(e,1,12907,j+8|0)|0;h=0;i=j;return h|0}if(!g){h=1;i=j;return h|0}f=b+2|0;b=0;a=c[(c[a>>2]|0)+24>>2]|0;while(1){qb(f,h,1);c[a+32>>2]=(c[h>>2]|0)>>>7&1;c[a+24>>2]=(c[h>>2]&127)+1;b=b+1|0;if((b|0)==(g|0)){a=1;break}else{f=f+1|0;a=a+52|0}}i=j;return a|0}function ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var 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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+144|0;I=J+120|0;H=J+112|0;G=J+104|0;F=J+96|0;E=J+88|0;D=J+80|0;C=J+72|0;B=J+64|0;A=J+56|0;z=J+48|0;p=J+40|0;o=J+32|0;m=J+24|0;x=J+136|0;u=J+132|0;v=J+128|0;w=J+124|0;if((c[b+8>>2]|0)==16)q=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else q=c[b+12>>2]|0;if(e>>>0<2){Ub(f,1,12567,J)|0;I=0;i=J;return I|0}qb(d,x,2);if(c[x>>2]|0){Ub(f,2,12593,J+8|0)|0;I=1;i=J;return I|0}if(e>>>0<7){Ub(f,1,12567,J+16|0)|0;I=0;i=J;return I|0}qb(d+2|0,u,1);n=d+3|0;l=q+5624|0;g=c[l>>2]|0;y=q+5628|0;b=c[y>>2]|0;a:do{if(!b){j=0;h=g}else{k=c[u>>2]|0;j=0;h=g;do{if((c[h>>2]|0)==(k|0))break a;h=h+20|0;j=j+1|0}while(j>>>0>>0)}}while(0);if((j|0)==(b|0)){h=q+5632|0;do{if((b|0)==(c[h>>2]|0)){b=b+10|0;c[h>>2]=b;b=Tc(g,b*20|0)|0;if(b){c[l>>2]=b;g=c[y>>2]|0;Qi(b+(g*20|0)|0,0,((c[h>>2]|0)-g|0)*20|0)|0;g=c[l>>2]|0;b=c[y>>2]|0;break}Uc(c[l>>2]|0);c[l>>2]=0;c[h>>2]=0;c[y>>2]=0;Ub(f,1,12639,m)|0;I=0;i=J;return I|0}}while(0);h=g+(b*20|0)|0}c[h>>2]=c[u>>2];qb(n,x,2);if(c[x>>2]|0){Ub(f,2,12593,o)|0;I=1;i=J;return I|0}qb(d+5|0,v,2);g=c[v>>2]|0;if(g>>>0>1){Ub(f,2,12677,p)|0;I=1;i=J;return I|0}b=e+-7|0;b:do{if(g){r=h+4|0;s=h+16|0;t=h+8|0;e=h+12|0;p=q+5612|0;o=q+5616|0;m=d+7|0;n=0;c:while(1){if(b>>>0<3){g=27;break}qb(m,x,1);if((c[x>>2]|0)!=1){g=29;break}qb(m+1|0,w,2);g=b+-3|0;j=c[w>>2]|0;k=(j>>>15)+1|0;j=j&32767;c[r>>2]=j;h=(_(k,j)|0)+2|0;if(g>>>0>>0){g=31;break}b=m+3|0;l=g-h|0;if(j){g=0;do{qb(b,x,k);if((c[x>>2]|0)!=(g|0)){g=34;break c}b=b+k|0;g=g+1|0}while(g>>>0<(c[r>>2]|0)>>>0)}qb(b,w,2);g=b+2|0;h=c[w>>2]|0;j=(h>>>15)+1|0;h=h&32767;c[w>>2]=h;if((h|0)!=(c[r>>2]|0)){g=37;break}b=(_(j,h)|0)+3|0;if(l>>>0>>0){g=39;break}b=l-b|0;if(h){h=0;do{qb(g,x,j);if((c[x>>2]|0)!=(h|0)){g=42;break c}g=g+j|0;h=h+1|0}while(h>>>0<(c[r>>2]|0)>>>0)}qb(g,x,3);m=g+3|0;a[s>>0]=((c[x>>2]|0)>>>16^1)&1|a[s>>0]&-2;c[t>>2]=0;c[e>>2]=0;l=c[x>>2]|0;h=l&255;c[u>>2]=h;if(h){j=c[o>>2]|0;if(!j){g=50;break}k=0;g=c[p>>2]|0;while(1){if((c[g+8>>2]|0)==(h|0))break;k=k+1|0;if(k>>>0>=j>>>0){g=50;break c}else g=g+20|0}c[t>>2]=g}h=l>>>8&255;c[u>>2]=h;if(h){j=c[o>>2]|0;if(!j){g=57;break}k=0;g=c[p>>2]|0;while(1){if((c[g+8>>2]|0)==(h|0))break;k=k+1|0;if(k>>>0>=j>>>0){g=57;break c}else g=g+20|0}c[e>>2]=g}n=n+1|0;if(n>>>0>=(c[v>>2]|0)>>>0)break b}if((g|0)==27){Ub(f,1,12567,z)|0;I=0;i=J;return I|0}else if((g|0)==29){Ub(f,2,12721,A)|0;I=1;i=J;return I|0}else if((g|0)==31){Ub(f,1,12567,B)|0;I=0;i=J;return I|0}else if((g|0)==34){Ub(f,2,12787,C)|0;I=1;i=J;return I|0}else if((g|0)==37){Ub(f,2,12841,D)|0;I=1;i=J;return I|0}else if((g|0)==39){Ub(f,1,12567,E)|0;I=0;i=J;return I|0}else if((g|0)==42){Ub(f,2,12787,F)|0;I=1;i=J;return I|0}else if((g|0)==50){Ub(f,1,12567,G)|0;I=0;i=J;return I|0}else if((g|0)==57){Ub(f,1,12567,H)|0;I=0;i=J;return I|0}}}while(0);if(!b){c[y>>2]=(c[y>>2]|0)+1;I=1;i=J;return I|0}else{Ub(f,1,12567,I)|0;I=0;i=J;return I|0}return 0}function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;r=s+24|0;q=s+20|0;n=a+80|0;f=c[n>>2]|0;if((c[a+8>>2]|0)==16)g=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else g=c[a+12>>2]|0;if(!d){Ub(e,1,12486,s)|0;r=0;i=s;return r|0}qb(b,q,1);a=c[q>>2]|0;if(a>>>0>1){Ub(e,2,12512,s+8|0)|0;r=1;i=s;return r|0}if((a+1|0)!=(d|0)){Ub(e,2,12486,s+16|0)|0;r=0;i=s;return r|0}m=g+5584|0;a=c[f+16>>2]|0;if(a){d=0;e=c[m>>2]|0;while(1){c[e+1076>>2]=0;d=d+1|0;if(d>>>0>=a>>>0)break;else e=e+1080|0}}l=g+5604|0;a=c[l>>2]|0;if(a){Uc(a);c[l>>2]=0}if(!(c[q>>2]|0)){r=1;i=s;return r|0}k=g+5624|0;h=g+5628|0;j=0;while(1){b=b+1|0;qb(b,r,1);a=c[n>>2]|0;f=c[k>>2]|0;g=c[h>>2]|0;if(((g|0)!=0?!((g|0)==0?1:(c[f>>2]|0)!=(c[r>>2]|0)):0)?(o=c[f+4>>2]|0,p=a+16|0,(o|0)==(c[p>>2]|0)):0){a=c[f+8>>2]|0;if(a){d=_(o,o)|0;g=_(c[1036+(c[a>>2]<<2)>>2]|0,d)|0;if((c[a+16>>2]|0)!=(g|0)){a=0;d=32;break}e=Pc(d<<2)|0;c[l>>2]=e;if(!e){a=0;d=32;break}Xa[c[1052+(c[a>>2]<<2)>>2]&15](c[a+12>>2]|0,e,d)}a=c[f+12>>2]|0;if(a){d=c[p>>2]|0;g=_(d,c[1036+(c[a>>2]<<2)>>2]|0)|0;if((c[a+16>>2]|0)!=(g|0)){a=0;d=32;break}g=Pc(d<<2)|0;if(!g){a=0;d=32;break}Xa[c[1068+(c[a>>2]<<2)>>2]&15](c[a+12>>2]|0,g,d);a=c[p>>2]|0;if(a){d=0;e=g;f=c[m>>2]|0;while(1){c[f+1076>>2]=c[e>>2];d=d+1|0;if((d|0)==(a|0))break;else{e=e+4|0;f=f+1080|0}}}Uc(g)}}j=j+1|0;if(j>>>0>=(c[q>>2]|0)>>>0){a=1;d=32;break}}if((d|0)==32){i=s;return a|0}return 0}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){qb(a,f,2);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+2|0}}i=g;return}function xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){qb(a,f,4);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=g;return}function ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){ub(a,f);c[b>>2]=~~+g[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=h;return}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){sb(a,f);c[b>>2]=~~+h[f>>3];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+8|0}}i=g;return}function Ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){qb(a,f,2);g[b>>2]=+((c[f>>2]|0)>>>0);e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+2|0}}i=h;return}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;h=i;i=i+16|0;f=h;if(!d){i=h;return}e=0;while(1){qb(a,f,4);g[b>>2]=+((c[f>>2]|0)>>>0);e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=h;return}function Ce(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;if(!d){i=g;return}e=0;while(1){ub(a,f);c[b>>2]=c[f>>2];e=e+1|0;if((e|0)==(d|0))break;else{b=b+4|0;a=a+4|0}}i=g;return}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;if(!c){i=f;return}d=0;while(1){sb(a,e);g[b>>2]=+h[e>>3];d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+8|0}}i=f;return}function Ee(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+8|0;k=n+20|0;if((c[a+8>>2]|0)==16)a=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else a=c[a+12>>2]|0;m=c[a+5584>>2]|0;a=c[e>>2]|0;if(!a){Ub(f,1,14224,n)|0;b=0;i=n;return b|0}c[e>>2]=a+-1;qb(d,k,1);d=d+1|0;g=c[k>>2]&31;j=m+(b*1080|0)+24|0;c[j>>2]=g;c[m+(b*1080|0)+804>>2]=(c[k>>2]|0)>>>5;do{if((g|0)==1){a=1;l=8}else{a=(c[e>>2]|0)>>>((g|0)!=0&1);if(a>>>0>97){c[h>>2]=a;c[h+4>>2]=97;c[h+8>>2]=97;Ub(f,2,14260,h)|0;g=c[j>>2]|0}f=(a|0)==0;if(g)if(f){a=0;l=20;break}else{l=8;break}if(!f){g=0;while(1){qb(d,k,1);if(g>>>0<97){c[m+(b*1080|0)+28+(g<<3)>>2]=(c[k>>2]|0)>>>3;c[m+(b*1080|0)+28+(g<<3)+4>>2]=0}g=g+1|0;if((g|0)==(a|0))break;else d=d+1|0}}a=(c[e>>2]|0)-a|0}}while(0);if((l|0)==8){g=0;while(1){qb(d,k,2);if(g>>>0<97){c[m+(b*1080|0)+28+(g<<3)>>2]=(c[k>>2]|0)>>>11;c[m+(b*1080|0)+28+(g<<3)+4>>2]=c[k>>2]&2047}g=g+1|0;if((g|0)==(a|0)){l=20;break}else d=d+2|0}}if((l|0)==20)a=(c[e>>2]|0)-(a<<1)|0;c[e>>2]=a;if((c[j>>2]|0)!=1){b=1;i=n;return b|0}a=m+(b*1080|0)+28|0;d=m+(b*1080|0)+32|0;g=1;do{e=(c[a>>2]|0)-(((g+-1|0)>>>0)/3|0)|0;c[m+(b*1080|0)+28+(g<<3)>>2]=(e|0)>0?e:0;c[m+(b*1080|0)+28+(g<<3)+4>>2]=c[d>>2];g=g+1|0}while((g|0)!=97);a=1;i=n;return a|0}function Fe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r+40|0;l=r+32|0;k=r+16|0;j=r+8|0;o=r+44|0;h=a+8|0;if((c[h>>2]|0)==16)g=(c[a+164>>2]|0)+((c[a+200>>2]|0)*5640|0)|0;else g=c[a+12>>2]|0;m=c[g+5584>>2]|0;if((c[e>>2]|0)>>>0<5){Ub(f,1,14664,r)|0;e=0;i=r;return e|0}n=m+(b*1080|0)+4|0;qb(d,n,1);g=(c[n>>2]|0)+1|0;c[n>>2]=g;if(g>>>0>33){c[j>>2]=g;c[j+4>>2]=33;Ub(f,1,14699,j)|0;e=0;i=r;return e|0}if((c[a+168>>2]|0)>>>0>=g>>>0){c[k>>2]=b;Ub(f,1,14776,k)|0;c[h>>2]=c[h>>2]|32768;e=0;i=r;return e|0}j=m+(b*1080|0)+8|0;qb(d+1|0,j,1);c[j>>2]=(c[j>>2]|0)+2;a=m+(b*1080|0)+12|0;qb(d+2|0,a,1);k=(c[a>>2]|0)+2|0;c[a>>2]=k;j=c[j>>2]|0;if(j>>>0>10|k>>>0>10|(j+k|0)>>>0>12){Ub(f,1,14934,r+24|0)|0;e=0;i=r;return e|0}qb(d+3|0,m+(b*1080|0)+16|0,1);qb(d+4|0,m+(b*1080|0)+20|0,1);h=(c[e>>2]|0)+-5|0;c[e>>2]=h;g=c[n>>2]|0;if(!(c[m+(b*1080|0)>>2]&1)){if(!g){e=1;i=r;return e|0}else g=0;do{c[m+(b*1080|0)+812+(g<<2)>>2]=15;c[m+(b*1080|0)+944+(g<<2)>>2]=15;g=g+1|0}while(g>>>0<(c[n>>2]|0)>>>0);g=1;i=r;return g|0}if(h>>>0>>0){Ub(f,1,14664,l)|0;e=0;i=r;return e|0}do{if(!g)g=0;else{a=0;h=d+5|0;while(1){qb(h,o,1);h=h+1|0;g=c[o>>2]|0;if((a|0)!=0?g>>>0<16|(g&15|0)==0:0)break;c[m+(b*1080|0)+812+(a<<2)>>2]=g&15;c[m+(b*1080|0)+944+(a<<2)>>2]=(c[o>>2]|0)>>>4;a=a+1|0;g=c[n>>2]|0;if(a>>>0>=g>>>0){q=22;break}}if((q|0)==22){h=c[e>>2]|0;break}Ub(f,1,15002,p)|0;e=0;i=r;return e|0}}while(0);c[e>>2]=h-g;e=1;i=r;return e|0}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){pb(b,~~+g[a>>2]>>>0,2);d=d+1|0;if((d|0)==(c|0))break;else{b=b+2|0;a=a+4|0}}return}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){pb(b,~~+g[a>>2]>>>0,4);d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+4|0}}return}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){tb(b,+g[a>>2]);d=d+1|0;if((d|0)==(c|0))break;else{b=b+4|0;a=a+4|0}}return}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!c)return;d=0;while(1){rb(b,+g[a>>2]);d=d+1|0;if((d|0)==(c|0))break;else{b=b+8|0;a=a+4|0}}return}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;if(!d){d=0;i=j;return d|0}if(!(ld(c[a>>2]|0,b,d,e)|0)){Ub(e,1,16303,j)|0;d=0;i=j;return d|0}if(c[a+128>>2]|0){d=1;i=j;return d|0}h=a+108|0;if(!(bf(d,h,e)|0)){d=0;i=j;return d|0}b=c[a+48>>2]|0;a:do{switch(b|0){case 16:{c[d+20>>2]=1;break}case 17:{c[d+20>>2]=2;break}case 18:{c[d+20>>2]=3;break}case 24:{c[d+20>>2]=4;break}default:{f=d+20|0;if((b|0)==12){c[f>>2]=5;break a}else{c[f>>2]=-1;break a}}}}while(0);g=a+120|0;b=c[g>>2]|0;do{if(b){if(c[b+12>>2]|0){cf(d,h);break}Uc(c[b+4>>2]|0);Uc(c[(c[g>>2]|0)+8>>2]|0);Uc(c[c[g>>2]>>2]|0);b=c[g>>2]|0;f=c[b+12>>2]|0;if(f){Uc(f);b=c[g>>2]|0}Uc(b);c[g>>2]=0}}while(0);if(c[a+116>>2]|0)df(d,h,e);b=c[h>>2]|0;if(!b){d=1;i=j;return d|0}c[d+28>>2]=b;c[d+32>>2]=c[a+112>>2];c[h>>2]=0;d=1;i=j;return d|0}function Le(b,d){b=b|0;d=d|0;Wc(c[b>>2]|0,d);a[b+124>>0]=0;c[b+128>>2]=c[d+8248>>2]&1;return}function Me(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var 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;w=i;i=i+80|0;v=w+64|0;s=w+56|0;o=w+48|0;r=w+40|0;q=w+32|0;p=w+24|0;if(!((a|0)!=0&(d|0)!=0&(e|0)!=0)){d=0;i=w;return d|0}t=e+16|0;if(((c[t>>2]|0)+-1|0)>>>0>16383){Ub(f,1,16352,w)|0;d=0;i=w;return d|0}if(!(Zc(c[a>>2]|0,d,e,f)|0)){d=0;i=w;return d|0}c[a+56>>2]=1785737760;c[a+60>>2]=0;c[a+64>>2]=1;g=Pc(4)|0;h=a+68|0;c[h>>2]=g;if(!g){c[h>>2]=0;Ub(f,1,16421,w+8|0)|0;d=0;i=w;return d|0}c[g>>2]=1785737760;l=c[t>>2]|0;c[a+20>>2]=l;l=Pc(l*12|0)|0;g=a+72|0;c[g>>2]=l;if(!l){c[g>>2]=0;Ub(f,1,16421,w+16|0)|0;d=0;i=w;return d|0}c[a+16>>2]=(c[e+12>>2]|0)-(c[e+4>>2]|0);c[a+12>>2]=(c[e+8>>2]|0)-(c[e>>2]|0);u=e+24|0;m=c[u>>2]|0;j=c[m+24>>2]|0;k=c[m+32>>2]|0;g=a+24|0;c[g>>2]=j+-1+(k<<7);n=c[t>>2]|0;if(n>>>0>1){h=1;do{if((j|0)!=(c[m+(h*52|0)+24>>2]|0))c[g>>2]=255;h=h+1|0}while(h>>>0>>0)}c[a+28>>2]=7;c[a+32>>2]=0;c[a+36>>2]=0;h=(n|0)==0;if(!h?(c[l+8>>2]=j+-1+(k<<7),n>>>0>1):0){g=1;do{c[l+(g*12|0)+8>>2]=(c[m+(g*52|0)+24>>2]|0)+-1+(c[m+(g*52|0)+32>>2]<<7);g=g+1|0}while(g>>>0>>0)}g=a+40|0;a:do{if(!(c[e+32>>2]|0)){c[g>>2]=1;switch(c[e+20>>2]|0){case 1:{c[a+48>>2]=16;break a}case 2:{c[a+48>>2]=17;break a}case 3:{c[a+48>>2]=18;break a}default:break a}}else{c[g>>2]=2;c[a+48>>2]=0}}while(0);b:do{if(!h){h=0;g=0;j=0;do{e=(b[m+(j*52|0)+48>>1]|0)==0;g=(e&1^1)+g|0;h=e?h:j;j=j+1|0}while(j>>>0>>0);j=h;if((g|0)!=1){if(g>>>0<=1)break;Ub(f,2,16717,o)|0;break}switch(c[a+48>>2]|0){case 18:case 16:{h=3;break}case 17:{h=1;break}default:{Ub(f,2,16467,p)|0;break b}}if(n>>>0<(h+1|0)>>>0){Ub(f,2,16541,q)|0;break}if(j>>>0>>0){Ub(f,2,16634,r)|0;break}r=Pc(8)|0;g=a+116|0;c[g>>2]=r;if(!r){Ub(f,1,16782,s)|0;d=0;i=w;return d|0}s=Pc((c[t>>2]|0)*6|0)|0;e=c[g>>2]|0;c[e>>2]=s;if(!s){Ub(f,1,16782,v)|0;d=0;i=w;return d|0}l=c[t>>2]|0;b[e+4>>1]=l;k=c[e>>2]|0;g=0;do{b[k+(g*6|0)>>1]=g;b[k+(g*6|0)+2>>1]=0;v=g;g=g+1|0;b[k+(v*6|0)+4>>1]=g}while((g|0)!=(h|0));if(h>>>0>>0){j=c[u>>2]|0;do{v=(b[j+(h*52|0)+48>>1]|0)==0;b[k+(h*6|0)>>1]=h;g=k+(h*6|0)+2|0;if(v){b[g>>1]=-1;b[k+(h*6|0)+4>>1]=-1}else{b[g>>1]=1;b[(c[e>>2]|0)+(h*6|0)+4>>1]=0}h=h+1|0}while(h>>>0>>0)}}}while(0);c[a+52>>2]=0;c[a+44>>2]=0;c[a+96>>2]=c[d+18692>>2];d=1;i=w;return d|0}function Ne(a,b,d){a=a|0;b=b|0;d=d|0;return od(c[a>>2]|0,b,d)|0}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+8|0;if(!(sg(c[e>>2]|0,52,d)|0)){d=0;return d|0}g=c[e>>2]|0;h=tg(g)|0;e=ug(g)|0;if(h){i=0;f=1;while(1){if(!f)f=0;else f=(Ra[c[e>>2]&63](a,b,d)|0)!=0;i=i+1|0;if((i|0)==(h|0))break;else{e=e+4|0;f=f&1}}vg(g);if(!f){d=0;return d|0}}else vg(g);d=$c(c[a>>2]|0,b,d)|0;return d|0}function Pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+8|0;if(!(sg(c[e>>2]|0,53,d)|0)){d=0;return d|0}if(!(pd(c[a>>2]|0,b,d)|0)){d=0;return d|0}i=c[e>>2]|0;g=tg(i)|0;e=ug(i)|0;if(!g)e=1;else{h=0;f=e;e=1;while(1){if(!e)e=0;else e=(Ra[c[f>>2]&63](a,b,d)|0)!=0;e=e&1;h=h+1|0;if((h|0)==(g|0))break;else f=f+4|0}}vg(i);d=e;return d|0}function Qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+4|0;if(!(sg(c[f>>2]|0,54,e)|0)){b=0;return b|0}h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){b=0;return b|0}}else vg(h);f=a+8|0;if(!(sg(c[f>>2]|0,55,e)|0)){b=0;return b|0}if(!(sg(c[f>>2]|0,56,e)|0)){b=0;return b|0}if(!(sg(c[f>>2]|0,57,e)|0)){b=0;return b|0}if((c[a+96>>2]|0)!=0?(sg(c[f>>2]|0,58,e)|0)==0:0){b=0;return b|0}if(!(sg(c[f>>2]|0,59,e)|0)){b=0;return b|0}h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){b=0;return b|0}}else vg(h);b=qd(c[a>>2]|0,b,d,e)|0;return b|0}function Re(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=b+8|0;if(!(sg(c[k>>2]|0,52,e)|0)){a=0;return a|0}h=c[b+4>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){a=0;return a|0}}else vg(h);h=c[k>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){a=0;return a|0}}else vg(h);a=ad(a,c[b>>2]|0,d,e)|0;return a|0}function Se(a,b,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;return cd(c[a>>2]|0,b,d,e,f,g,h,i,j,k,l)|0}function Te(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;return rd(c[a>>2]|0,b,d,e,f,g)|0}function Ue(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;return dd(c[a>>2]|0,b,d,e,f,g)|0}function Ve(a){a=a|0;var b=0,d=0,e=0;if(!a)return;Yc(c[a>>2]|0);c[a>>2]=0;b=a+72|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+68|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+108|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}e=a+116|0;b=c[e>>2]|0;if(b){d=c[b>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b>>2]=0}Uc(b);c[e>>2]=0}e=a+120|0;b=c[e>>2]|0;if(b){d=c[b+12>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+12>>2]=0}d=c[b+4>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+4>>2]=0}d=c[b+8>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b+8>>2]=0}d=c[b>>2]|0;if(d){Uc(d);b=c[e>>2]|0;c[b>>2]=0}Uc(b);c[e>>2]=0}b=a+4|0;d=c[b>>2]|0;if(d){rg(d);c[b>>2]=0}b=a+8|0;d=c[b>>2]|0;if(d){rg(d);c[b>>2]=0}Uc(a);return}function We(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ed(c[a>>2]|0,b,d,e,f,g,h)|0}function Xe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;if(!d){a=0;i=j;return a|0}Ub(e,2,16826,j)|0;if(!(md(c[a>>2]|0,b,d,e,f)|0)){Ub(e,1,16303,j+8|0)|0;a=0;i=j;return a|0}h=a+108|0;if(!(bf(d,h,e)|0)){a=0;i=j;return a|0}f=c[a+48>>2]|0;a:do{switch(f|0){case 16:{c[d+20>>2]=1;break}case 17:{c[d+20>>2]=2;break}case 18:{c[d+20>>2]=3;break}case 24:{c[d+20>>2]=4;break}default:{b=d+20|0;if((f|0)==12){c[b>>2]=5;break a}else{c[b>>2]=-1;break a}}}}while(0);g=a+120|0;b=c[g>>2]|0;do{if(b){if(c[b+12>>2]|0){cf(d,h);break}Uc(c[b+4>>2]|0);Uc(c[(c[g>>2]|0)+8>>2]|0);Uc(c[c[g>>2]>>2]|0);b=c[g>>2]|0;f=c[b+12>>2]|0;if(f){Uc(f);b=c[g>>2]|0}Uc(b);c[g>>2]=0}}while(0);if(c[a+116>>2]|0)df(d,h,e);b=c[h>>2]|0;if(!b){a=1;i=j;return a|0}c[d+28>>2]=b;c[d+32>>2]=c[a+112>>2];c[h>>2]=0;a=1;i=j;return a|0}function Ye(b){b=b|0;var d=0;d=Qc(1,136)|0;if(!d)return d|0;if(!b){b=Xc()|0;c[d>>2]=b}else{b=fd()|0;c[d>>2]=b}if(!b){Ve(d);d=0;return d|0}b=d+108|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=0;b=qg()|0;c[d+4>>2]=b;if(!b){Ve(d);d=0;return d|0}b=qg()|0;c[d+8>>2]=b;if(b)return d|0;Ve(d);d=0;return d|0}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;gd(c[a>>2]|0,b,d);return}function _e(a){a=a|0;return kd(c[a>>2]|0)|0}function $e(a){a=a|0;return jd(c[a>>2]|0)|0}function af(a,b,d){a=a|0;b=b|0;d=d|0;return nd(c[a>>2]|0,b,d)|0}function bf(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;A=B+72|0;z=B+64|0;y=B+56|0;x=B+48|0;w=B+40|0;v=B+32|0;u=B+24|0;s=B+16|0;o=B+8|0;n=B;j=c[g+8>>2]|0;a:do{if(j){r=c[j>>2]|0;q=b[j+4>>1]|0;j=c[f+16>>2]|0;p=c[g+12>>2]|0;if((p|0)!=0?(c[p+12>>2]|0)!=0:0)g=d[p+18>>0]|0;else g=j;m=q<<16>>16==0;b:do{if(!m){l=0;c:while(1){k=l&65535;j=e[r+(k*6|0)>>1]|0;if(j>>>0>=g>>>0){k=15;break}j=b[r+(k*6|0)+4>>1]|0;switch(j<<16>>16){case 0:case-1:break;default:{j=(j&65535)+-1|0;if(j>>>0>=g>>>0){k=18;break c}}}l=l+1<<16>>16;if((l&65535)>=(q&65535))break b}if((k|0)==15){c[n>>2]=j;c[n+4>>2]=g;Ub(h,1,19343,n)|0;h=0;i=B;return h|0}else if((k|0)==18){c[o>>2]=j;c[o+4>>2]=g;Ub(h,1,19343,o)|0;h=0;i=B;return h|0}}}while(0);if(!g)j=p;else{d:do{if(!m)while(1){g=g+-1|0;j=0;do{if((e[r+((j&65535)*6|0)>>1]|0)==(g|0))break;j=j+1<<16>>16}while((j&65535)<(q&65535));if(j<<16>>16==q<<16>>16)break d;if(!g){j=p;break a}}}while(0);Ub(h,1,19380,s)|0;h=0;i=B;return h|0}}else j=c[g+12>>2]|0}while(0);if(!j){h=1;i=B;return h|0}t=c[j+12>>2]|0;if(!t){h=1;i=B;return h|0}p=a[j+18>>0]|0;s=p&255;r=p<<24>>24==0;if(r)j=1;else{l=f+16|0;g=0;m=0;j=1;do{g=e[t+(g<<2)>>1]|0;k=c[l>>2]|0;if(g>>>0>=k>>>0){c[u>>2]=g;c[u+4>>2]=k;Ub(h,1,19343,u)|0;j=0}m=m+1<<16>>16;g=m&65535}while(g>>>0>>0)}q=Qc(s,4)|0;if(!q){Ub(h,1,19413,v)|0;h=0;i=B;return h|0}if(!r){n=0;o=0;do{k=a[t+(n<<2)+3>>0]|0;l=k&255;do{if((k&255)<(p&255)){m=q+(l<<2)|0;g=a[t+(n<<2)+2>>0]|0;if((c[m>>2]|0)!=0&g<<24>>24==1){c[x>>2]=l;Ub(h,1,19486,x)|0;j=0;break}if(g<<24>>24!=0|k<<24>>24==0){c[m>>2]=1;break}else{c[y>>2]=n;c[y+4>>2]=l;Ub(h,1,19517,y)|0;j=0;break}}else{c[w>>2]=l;Ub(h,1,19430,w)|0;j=0}}while(0);o=o+1<<16>>16;n=o&65535}while(n>>>0>>0);if(!r){g=0;k=0;do{if((c[q+(g<<2)>>2]|0)==0?(a[t+(g<<2)+2>>0]|0)!=0:0){c[z>>2]=g;Ub(h,1,19553,z)|0;j=0}k=k+1<<16>>16;g=k&65535}while(g>>>0>>0)}}if(!j){Uc(q);h=0;i=B;return h|0}e:do{if(!((c[f+16>>2]|0)!=1|r)){j=0;g=0;while(1){g=g+1<<16>>16;if(!(c[q+(j<<2)>>2]|0))break;j=g&65535;if(j>>>0>=s>>>0)break e}c[A>>2]=j;Ub(h,2,19591,A)|0;if(!r){j=0;g=0;do{a[t+(j<<2)+2>>0]=1;a[t+(j<<2)+3>>0]=g;g=g+1<<16>>16;j=g&65535}while(j>>>0>>0)}}}while(0);Uc(q);h=1;i=B;return h|0}function cf(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=g+12|0;g=c[w>>2]|0;m=c[g+8>>2]|0;o=c[g+4>>2]|0;q=c[g>>2]|0;r=c[g+12>>2]|0;g=a[g+18>>0]|0;s=f+24|0;t=c[s>>2]|0;u=g&255;v=Pc(u*52|0)|0;if(!v)return;n=g<<24>>24==0;if(!n){k=0;l=0;do{g=b[r+(k<<2)>>1]|0;if(!(a[r+(k<<2)+2>>0]|0)){g=g&65535;h=v+(k*52|0)|0;i=t+(g*52|0)|0;j=h+52|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0))}else{g=g&65535;h=v+((d[r+(k<<2)+3>>0]|0)*52|0)|0;i=t+(g*52|0)|0;j=h+52|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0))}j=Pc(_(c[t+(g*52|0)+8>>2]<<2,c[t+(g*52|0)+12>>2]|0)|0)|0;c[v+(k*52|0)+44>>2]=j;if(!j){p=7;break}c[v+(k*52|0)+24>>2]=d[m+k>>0];c[v+(k*52|0)+32>>2]=d[o+k>>0];l=l+1<<16>>16;k=l&65535}while(k>>>0>>0);if((p|0)==7){Uc(v);return}m=(e[(c[w>>2]|0)+16>>1]|0)+-1|0;if(!n){g=0;l=0;do{j=c[t+((e[r+(g<<2)>>1]|0)*52|0)+44>>2]|0;i=d[r+(g<<2)+3>>0]|0;k=_(c[v+(i*52|0)+12>>2]|0,c[v+(i*52|0)+8>>2]|0)|0;if(!(a[r+(g<<2)+2>>0]|0)){g=c[v+(g*52|0)+44>>2]|0;if(k){h=0;do{c[g+(h<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}}else{g=c[v+(i*52|0)+44>>2]|0;if(k){h=0;do{p=c[j+(h<<2)>>2]|0;c[g+(h<<2)>>2]=c[q+((_((p|0)<0?0:(p|0)>(m|0)?m:p,u)|0)+i<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}}l=l+1<<16>>16;g=l&65535}while(g>>>0>>0)}}h=f+16|0;i=c[h>>2]|0;if(i){g=0;j=0;do{g=c[t+(g*52|0)+44>>2]|0;if(g)Uc(g);j=j+1<<16>>16;g=j&65535}while(g>>>0>>0)}Uc(t);c[s>>2]=v;c[h>>2]=u;Uc(c[(c[w>>2]|0)+4>>2]|0);Uc(c[(c[w>>2]|0)+8>>2]|0);Uc(c[c[w>>2]>>2]|0);g=c[w>>2]|0;h=c[g+12>>2]|0;if(h){Uc(h);g=c[w>>2]|0}Uc(g);c[w>>2]=0;return}function df(a,d,e){a=a|0;d=d|0;e=e|0;var f=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;y=i;i=i+80|0;w=y+8|0;v=y;u=y+16|0;x=d+8|0;f=c[x>>2]|0;d=c[f>>2]|0;t=b[f+4>>1]|0;if(t<<16>>16){s=a+16|0;o=a+24|0;q=1;r=0;while(1){p=b[d+(r*6|0)>>1]|0;n=p&65535;a=c[s>>2]|0;a:do{if(n>>>0>>0){f=b[d+(r*6|0)+4>>1]|0;switch(f<<16>>16){case-1:case 0:{b[(c[o>>2]|0)+(n*52|0)+48>>1]=b[d+(r*6|0)+2>>1]|0;break a}default:{}}k=(f&65535)+65535|0;m=k&65535;k=k&65535;if(k>>>0>=a>>>0){c[w>>2]=k;c[w+4>>2]=a;Ub(e,2,19302,w)|0;break}l=d+(r*6|0)+2|0;if((n|0)!=(k|0)?(b[l>>1]|0)==0:0){f=c[o>>2]|0;a=f+(n*52|0)|0;g=u;h=a;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));g=a;h=f+(k*52|0)|0;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));g=(c[o>>2]|0)+(k*52|0)|0;h=u;j=g+52|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));if((r+1&65535)<(t&65535)){g=q;do{f=d+(g*6|0)|0;a=b[f>>1]|0;if(a<<16>>16!=p<<16>>16){if(a<<16>>16==m<<16>>16)b[f>>1]=p}else b[f>>1]=m;g=g+1|0}while((g&65535)<<16>>16!=t<<16>>16)}}b[(c[o>>2]|0)+(n*52|0)+48>>1]=b[l>>1]|0}else{c[v>>2]=n;c[v+4>>2]=a;Ub(e,2,19262,v)|0}}while(0);r=r+1|0;if((r&65535)<<16>>16==t<<16>>16)break;else q=q+1|0}d=c[x>>2]|0;f=d;d=c[d>>2]|0}if(!d){w=f;Uc(w);c[x>>2]=0;i=y;return}else{Uc(d);w=c[x>>2]|0;Uc(w);c[x>>2]=0;i=y;return}}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;y=I+152|0;x=I+144|0;w=I+136|0;v=I+128|0;u=I+120|0;E=I+88|0;s=I+80|0;q=I+64|0;p=I+48|0;G=I+40|0;z=I+32|0;F=I+24|0;t=I+16|0;r=I+8|0;n=I+176|0;o=I+168|0;D=I+156|0;e=Qc(1,1024)|0;if(!e){Ub(d,1,17098,I)|0;H=0;i=I;return H|0}m=n+4|0;A=D+4|0;B=a+100|0;l=1024;a:while(1){if((Mb(b,n,8,d)|0)!=8)break;while(1){qb(n,D,4);qb(m,A,4);switch(c[D>>2]|0){case 0:{f=Qb(b)|0;k=C;if((k|0)>0|(k|0)==0&f>>>0>4294967287){H=6;break a}c[D>>2]=f+8;j=8;break}case 1:{if((Mb(b,n,8,d)|0)!=8)break a;qb(n,o,4);if(c[o>>2]|0){H=10;break a}qb(m,D,4);j=16;break}default:j=8}g=c[A>>2]|0;if((g|0)==1785737827){H=13;break a}f=c[D>>2]|0;if(!f){H=17;break a}if(f>>>0>>0){H=19;break a}if((g|0)==1783636e3){h=1084;g=j;H=22;break}if((g|0)==1718909296){h=1092;g=j;H=22;break}k=(g|0)==1785737832;b:do{if((g|0)!=1768449138)if((g|0)!=1668246642)if((g|0)!=1651532643)if((g|0)!=1885564018)if((g|0)!=1668112752){h=(g|0)==1667523942?1148:0;f=f-j|0;if((g|0)<1785737832)switch(g|0){case 1667523942:{H=30;break b}default:{}}else switch(g|0){case 1785737832:{H=30;break b}default:{}}g=c[B>>2]|0;if(!(g&1)){H=45;break a}if(!(g&2)){H=47;break a}c[B>>2]=g|2147483647;k=Rb(b,f,0,d)|0;if(!((k|0)==(f|0)&(C|0)==0)){H=50;break a}}else{h=1140;H=28}else{h=1132;H=28}else{h=1124;H=28}else{h=1116;H=28}else{h=1108;H=28}}while(0);if((H|0)==28){f=f-j|0;H=30}if((H|0)==30){H=0;if(k){h=1100;break}c[p>>2]=g>>>24;c[p+4>>2]=g>>>16&255;c[p+8>>2]=g>>>8&255;c[p+12>>2]=g&255;Ub(d,2,17282,p)|0;if(c[B>>2]&4)break;k=c[A>>2]|0;c[q>>2]=k>>>24;c[q+4>>2]=k>>>16&255;c[q+8>>2]=k>>>8&255;c[q+12>>2]=k&255;Ub(d,2,17333,q)|0;c[B>>2]=c[B>>2]|2147483647;k=Rb(b,f,0,d)|0;if(!((k|0)==(f|0)&(C|0)==0)){H=33;break a}}if((Mb(b,n,8,d)|0)!=8)break a}if((H|0)==22){H=0;f=f-g|0}k=Qb(b)|0;j=C;if(0>(j|0)|0==(j|0)&f>>>0>k>>>0){H=35;break}if(f>>>0>l>>>0){g=Tc(e,f)|0;if(!g){H=38;break}else{e=g;g=f}}else g=l;if((Mb(b,e,f,d)|0)!=(f|0)){H=40;break}if(!(Za[c[h+4>>2]&63](a,e,f,d)|0)){H=43;break}else l=g}switch(H|0){case 6:{Ub(d,1,17148,r)|0;break}case 10:{Ub(d,1,17148,t)|0;break}case 13:{f=c[B>>2]|0;if(!(f&4)){Ub(d,1,17190,F)|0;Uc(e);H=0;i=I;return H|0}else{c[B>>2]=f|8;Uc(e);H=1;i=I;return H|0}}case 17:{Ub(d,1,17218,z)|0;Uc(e);H=0;i=I;return H|0}case 19:{c[G>>2]=f;c[G+4>>2]=g;Ub(d,1,17256,G)|0;Uc(e);H=0;i=I;return H|0}case 33:{Ub(d,1,17399,s)|0;Uc(e);H=0;i=I;return H|0}case 35:{F=c[D>>2]|0;G=c[A>>2]|0;H=Qb(b)|0;c[E>>2]=F;c[E+4>>2]=G>>>24;c[E+8>>2]=G>>>16&255;c[E+12>>2]=G>>>8&255;c[E+16>>2]=G&255;c[E+20>>2]=f;c[E+24>>2]=H;Ub(d,1,17449,E)|0;Uc(e);H=0;i=I;return H|0}case 38:{Uc(e);Ub(d,1,17525,u)|0;H=0;i=I;return H|0}case 40:{Ub(d,1,17567,v)|0;Uc(e);H=0;i=I;return H|0}case 43:{Uc(e);H=0;i=I;return H|0}case 45:{Ub(d,1,17616,w)|0;Uc(e);H=0;i=I;return H|0}case 47:{Ub(d,1,17686,x)|0;Uc(e);H=0;i=I;return H|0}case 50:{Ub(d,1,17399,y)|0;Uc(e);H=0;i=I;return H|0}}Uc(e);H=1;i=I;return H|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+24|0;e=Pb(b)|0;f=C;a=a+80|0;j=a;j=Oi(e|0,f|0,c[j>>2]|0,c[j+4>>2]|0)|0;pb(g,j,4);pb(g+4|0,1785737827,4);if(!(Sb(b,c[a>>2]|0,c[a+4>>2]|0,d)|0)){Ub(d,1,17067,h)|0;j=0;i=h;return j|0}if((Nb(b,g,8,d)|0)!=8){Ub(d,1,17067,h+8|0)|0;j=0;i=h;return j|0}if(Sb(b,e,f,d)|0){j=1;i=h;return j|0}Ub(d,1,17067,h+16|0)|0;j=0;i=h;return j|0}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;d=((c[a>>2]|0)!=0?(c[a+104>>2]|c[a+100>>2]|0)==0:0)&(c[a+8>>2]|0)!=0&(c[a+4>>2]|0)!=0&(c[a+64>>2]|0)!=0&(c[a+16>>2]|0)!=0&(c[a+12>>2]|0)!=0&1;e=c[a+20>>2]|0;if(!e){g=d;a=a+40|0;a=c[a>>2]|0;a=a+-1|0;a=a>>>0<2;a=a&1;b=Tb(b)|0;b=b&g;a=b&a;return a|0}f=c[a+72>>2]|0;g=0;do{d=(c[f+(g*12|0)+8>>2]&126)>>>0<38&d;g=g+1|0}while(g>>>0>>0);a=a+40|0;a=c[a>>2]|0;a=a+-1|0;a=a>>>0<2;a=a&1;b=Tb(b)|0;b=b&d;a=b&a;return a|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=i;i=i+16|0;d=a;pb(d,12,4);pb(d+4|0,1783636e3,4);pb(d+8|0,218793738,4);c=(Nb(b,d,12,c)|0)==12&1;i=a;return c|0}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+8|0;f=a+64|0;h=(c[f>>2]<<2)+16|0;j=Qc(1,h)|0;if(!j){Ub(d,1,16987,l)|0;k=0;i=l;return k|0}pb(j,h,4);pb(j+4|0,1718909296,4);pb(j+8|0,c[a+56>>2]|0,4);pb(j+12|0,c[a+60>>2]|0,4);g=j+16|0;if(c[f>>2]|0){a=a+68|0;e=0;do{pb(g,c[(c[a>>2]|0)+(e<<2)>>2]|0,4);e=e+1|0}while(e>>>0<(c[f>>2]|0)>>>0)}a=(Nb(b,j,h,d)|0)==(h|0);if(!a)Ub(d,1,17026,k)|0;Uc(j);k=a&1;i=l;return k|0}function kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;o=q+16|0;m=q+8|0;k=q;f=q+24|0;l=q+72|0;e=f;g=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));p=(c[a+24>>2]|0)==255;c[f>>2]=2;e=f+12|0;if(p){c[e>>2]=3;c[f+24>>2]=4;e=3}else{c[e>>2]=4;e=2}if(!(c[a+116>>2]|0))p=e;else{c[f+(e*12|0)>>2]=5;p=e+1|0}pb(l+4|0,1785737832,4);h=0;j=f;e=8;while(1){g=j+8|0;r=_a[c[j>>2]&7](a,g)|0;c[j+4>>2]=r;if(!r){n=8;break}e=(c[g>>2]|0)+e|0;h=h+1|0;if((h|0)>=(p|0))break;else j=j+12|0}if((n|0)==8){Ub(d,1,16901,k)|0;g=0;while(1){e=c[f+4>>2]|0;if(e)Uc(e);g=g+1|0;if((g|0)>=(p|0)){e=0;break}else f=f+12|0}i=q;return e|0}pb(l,e,4);a:do{if((Nb(b,l,8,d)|0)==8){e=0;g=f;while(1){r=g+8|0;n=Nb(b,c[g+4>>2]|0,c[r>>2]|0,d)|0;if((n|0)!=(c[r>>2]|0))break;e=e+1|0;if((e|0)>=(p|0)){e=1;break a}else g=g+12|0}Ub(d,1,16944,o)|0;e=0}else{Ub(d,1,16944,m)|0;e=0}}while(0);h=0;while(1){g=c[f+4>>2]|0;if(g)Uc(g);h=h+1|0;if((h|0)>=(p|0))break;else f=f+12|0}i=q;return e|0}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Pb(b)|0;a=a+88|0;c[a>>2]=e;c[a+4>>2]=C;b=Rb(b,24,0,d)|0;return(b|0)==24&(C|0)==0&1|0}function mf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Pb(b)|0;a=a+80|0;c[a>>2]=e;c[a+4>>2]=C;b=Rb(b,8,0,d)|0;return(b|0)==8&(C|0)==0&1|0}function nf(a,b){a=a|0;b=b|0;var d=0;d=Qc(1,22)|0;if(!d){b=0;return b|0}pb(d,22,4);pb(d+4|0,1768449138,4);pb(d+8|0,c[a+16>>2]|0,4);pb(d+12|0,c[a+12>>2]|0,4);pb(d+16|0,c[a+20>>2]|0,2);pb(d+18|0,c[a+24>>2]|0,1);pb(d+19|0,c[a+28>>2]|0,1);pb(d+20|0,c[a+32>>2]|0,1);pb(d+21|0,c[a+36>>2]|0,1);c[b>>2]=22;b=d;return b|0}function of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=(c[f>>2]|0)+8|0;h=Qc(1,g)|0;if(!h){b=0;return b|0}pb(h,g,4);pb(h+4|0,1651532643,4);if(c[f>>2]|0){a=a+72|0;d=0;e=h+8|0;while(1){pb(e,c[(c[a>>2]|0)+(d*12|0)+8>>2]|0,1);d=d+1|0;if(d>>>0>=(c[f>>2]|0)>>>0)break;else e=e+1|0}}c[b>>2]=g;b=h;return b|0}function pf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=a+40|0;switch(c[e>>2]|0){case 1:{j=15;break}case 2:{j=(c[a+112>>2]|0)+11|0;break}default:{b=0;return b|0}}i=Qc(1,j)|0;if(!i){b=0;return b|0}pb(i,j,4);pb(i+4|0,1668246642,4);pb(i+8|0,c[e>>2]|0,1);pb(i+9|0,c[a+52>>2]|0,1);pb(i+10|0,c[a+44>>2]|0,1);g=i+11|0;switch(c[e>>2]|0){case 1:{pb(g,c[a+48>>2]|0,4);break}case 2:{h=a+112|0;if(c[h>>2]|0){a=a+108|0;f=0;e=g;while(1){pb(e,d[(c[a>>2]|0)+f>>0]|0,1);f=f+1|0;if(f>>>0>=(c[h>>2]|0)>>>0)break;else e=e+1|0}}break}default:{}}c[b>>2]=j;b=i;return b|0}function qf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=a+116|0;j=((e[(c[i>>2]|0)+4>>1]|0)*6|0)+10|0;k=Pc(j)|0;if(!k){d=0;return d|0}pb(k,j,4);pb(k+4|0,1667523942,4);pb(k+8|0,e[(c[i>>2]|0)+4>>1]|0,2);a=c[i>>2]|0;if(b[a+4>>1]|0){g=0;f=0;h=k+10|0;while(1){pb(h,e[(c[a>>2]|0)+(g*6|0)>>1]|0,2);pb(h+2|0,e[(c[c[i>>2]>>2]|0)+(g*6|0)+2>>1]|0,2);pb(h+4|0,e[(c[c[i>>2]>>2]|0)+(g*6|0)+4>>1]|0,2);f=f+1<<16>>16;a=c[i>>2]|0;if((f&65535)>=(e[a+4>>1]|0))break;else{g=f&65535;h=h+6|0}}}c[d>>2]=j;d=k;return d|0}function rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;f=g+16|0;if((d|0)!=14){Ub(e,1,18507,g)|0;f=0;i=g;return f|0}qb(b,a+16|0,4);qb(b+4|0,a+12|0,4);d=a+20|0;qb(b+8|0,d,2);d=Qc(c[d>>2]|0,12)|0;c[a+72>>2]=d;if(!d){Ub(e,1,18540,g+8|0)|0;f=0;i=g;return f|0}qb(b+10|0,a+24|0,1);d=a+28|0;qb(b+11|0,d,1);d=c[d>>2]|0;if((d|0)!=7){c[f>>2]=d;Ub(e,4,18589,f)|0}qb(b+12|0,a+32|0,1);qb(b+13|0,a+36|0,1);f=1;i=g;return f|0}function sf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var 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;x=i;i=i+80|0;j=x+40|0;t=x+32|0;l=x+24|0;k=x+16|0;u=x+72|0;s=x+68|0;p=x+64|0;q=x+60|0;n=x+56|0;r=x+52|0;o=x+48|0;m=x+44|0;if(e>>>0<3){Ub(f,1,18180,x)|0;w=0;i=x;return w|0}v=b+108|0;w=b+124|0;if(a[w>>0]|0){Ub(f,4,18212,x+8|0)|0;w=1;i=x;return w|0}h=b+40|0;qb(d,h,1);qb(d+1|0,b+52|0,1);qb(d+2|0,b+44|0,1);g=d+3|0;h=c[h>>2]|0;switch(h|0){case 1:{if(e>>>0<7){c[k>>2]=e;Ub(f,1,18321,k)|0;w=0;i=x;return w|0}h=b+48|0;if(e>>>0>7?(c[h>>2]|0)!=14:0){c[l>>2]=e;Ub(f,2,18321,l)|0}qb(g,h,4);if((c[h>>2]|0)==14){g=Pc(36)|0;c[g>>2]=14;c[o>>2]=0;c[n>>2]=0;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=0;c[m>>2]=4470064;h=g+4|0;c[h>>2]=1145390592;switch(e|0){case 35:{qb(d+7|0,s,4);qb(d+11|0,p,4);qb(d+15|0,q,4);qb(d+19|0,n,4);qb(d+23|0,r,4);qb(d+27|0,o,4);qb(d+31|0,m,4);c[h>>2]=0;break}case 7:break;default:{c[t>>2]=e;Ub(f,2,18357,t)|0}}c[g+8>>2]=c[s>>2];c[g+16>>2]=c[q>>2];c[g+24>>2]=c[r>>2];c[g+12>>2]=c[p>>2];c[g+20>>2]=c[n>>2];c[g+28>>2]=c[o>>2];c[g+32>>2]=c[m>>2];c[v>>2]=g;c[b+112>>2]=0}a[w>>0]=1;w=1;i=x;return w|0}case 2:{j=e+-3|0;h=b+112|0;c[h>>2]=j;b=Qc(1,j)|0;c[v>>2]=b;if(!b){c[h>>2]=0;w=0;i=x;return w|0}if((e|0)>3){h=0;while(1){qb(g,u,1);a[(c[v>>2]|0)+h>>0]=c[u>>2];h=h+1|0;if((h|0)==(j|0))break;else g=g+1|0}}a[w>>0]=1;w=1;i=x;return w|0}default:{if(h>>>0<=2){w=1;i=x;return w|0}c[j>>2]=h;Ub(f,4,18401,j)|0;w=1;i=x;return w|0}}return 0}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j;f=c[a+24>>2]|0;if((f|0)!=255){c[g>>2]=f;Ub(e,2,18034,g)|0}h=a+20|0;if((c[h>>2]|0)!=(d|0)){Ub(e,1,18148,j+8|0)|0;h=0;i=j;return h|0}if(!d){h=1;i=j;return h|0}g=a+72|0;f=0;while(1){qb(b,(c[g>>2]|0)+(f*12|0)+8|0,1);f=f+1|0;if(f>>>0>=(c[h>>2]|0)>>>0){b=1;break}else b=b+1|0}i=j;return b|0}function uf(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+16|0;j=r;q=r+12|0;k=e+120|0;if(g>>>0<3|(c[k>>2]|0)!=0){g=0;i=r;return g|0}qb(f,q,2);l=c[q>>2]|0;p=l&65535;if((p+-1|0)>>>0>1023){c[j>>2]=p;Ub(h,1,17951,j)|0;g=0;i=r;return g|0}qb(f+2|0,q,1);o=c[q>>2]&65535;if(!o){Ub(h,1,17989,r+8|0)|0;g=0;i=r;return g|0}if((o+3|0)>>>0>g>>>0){g=0;i=r;return g|0}j=Pc(_(p<<2,o)|0)|0;if(!j){g=0;i=r;return g|0}n=Pc(o)|0;if(!n){Uc(j);g=0;i=r;return g|0}m=Pc(o)|0;if(!m){Uc(j);Uc(n);g=0;i=r;return g|0}e=Pc(20)|0;if(!e){Uc(j);Uc(n);Uc(m);g=0;i=r;return g|0}c[e+4>>2]=m;c[e+8>>2]=n;c[e>>2]=j;b[e+16>>1]=l;a[e+18>>0]=c[q>>2];c[e+12>>2]=0;c[k>>2]=e;e=f+3|0;h=0;k=0;do{qb(e,q,1);e=e+1|0;a[n+h>>0]=(c[q>>2]&127)+1;a[m+h>>0]=(c[q>>2]|0)>>>7&1;k=k+1<<16>>16;h=k&65535}while(h>>>0>>0);if(!p){g=1;i=r;return g|0}h=0;a:while(1){l=0;k=j;m=0;while(1){j=((d[n+l>>0]|0)+7|0)>>>3;j=j>>>0>4?4:j;if((e-f+j|0)>(g|0)){e=0;j=22;break a}qb(e,q,j);e=e+j|0;c[k>>2]=c[q>>2];j=k+4|0;m=m+1<<16>>16;l=m&65535;if(l>>>0>=o>>>0)break;else k=j}h=h+1<<16>>16;if((h&65535)>>>0>=p>>>0){e=1;j=22;break}}if((j|0)==22){i=r;return e|0}return 0}function vf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+20|0;j=d+120|0;d=c[j>>2]|0;if(!d){Ub(g,1,17841,l)|0;k=0;i=l;return k|0}if(c[d+12>>2]|0){Ub(g,1,17887,l+8|0)|0;k=0;i=l;return k|0}h=a[d+18>>0]|0;d=(h&255)<<2;if(d>>>0>f>>>0){Ub(g,1,17918,l+16|0)|0;k=0;i=l;return k|0}g=Pc(d)|0;if(!g){k=0;i=l;return k|0}if(h<<24>>24){d=e;f=0;while(1){qb(d,k,2);b[g+(f<<2)>>1]=c[k>>2];qb(d+2|0,k,1);a[g+(f<<2)+2>>0]=c[k>>2];qb(d+3|0,k,1);a[g+(f<<2)+3>>0]=c[k>>2];f=f+1|0;if((f&255)<<24>>24==h<<24>>24)break;else d=d+4|0}}c[(c[j>>2]|0)+12>>2]=g;k=1;i=l;return k|0}function wf(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+20|0;j=a+116|0;if(c[j>>2]|0){k=0;i=l;return k|0}if(f>>>0<2){Ub(g,1,17747,l)|0;k=0;i=l;return k|0}qb(d,k,2);a=c[k>>2]|0;h=a&65535;if(!h){Ub(g,1,17780,l+8|0)|0;k=0;i=l;return k|0}if(((h*6|0)+2|0)>>>0>f>>>0){Ub(g,1,17747,l+16|0)|0;k=0;i=l;return k|0}f=Pc(a*6|0)|0;if(!f){k=0;i=l;return k|0}a=Pc(8)|0;c[j>>2]=a;if(!a){Uc(f);k=0;i=l;return k|0}c[a>>2]=f;g=c[k>>2]&65535;b[a+4>>1]=g;if(!(g<<16>>16)){k=1;i=l;return k|0}else{h=0;a=d}do{d=h&65535;qb(a+2|0,k,2);b[f+(d*6|0)>>1]=c[k>>2];qb(a+4|0,k,2);a=a+6|0;b[f+(d*6|0)+2>>1]=c[k>>2];qb(a,k,2);b[f+(d*6|0)+4>>1]=c[k>>2];h=h+1<<16>>16}while((h&65535)<(e[(c[j>>2]|0)+4>>1]|0));a=1;i=l;return a|0}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+32|0;f=g+20|0;a=a+100|0;if(c[a>>2]|0){Ub(e,1,19130,g)|0;e=0;i=g;return e|0}if((d|0)!=4){Ub(e,1,19184,g+8|0)|0;e=0;i=g;return e|0}qb(b,f,4);if((c[f>>2]|0)==218793738){c[a>>2]=c[a>>2]|1;e=1;i=g;return e|0}else{Ub(e,1,19218,g+16|0)|0;e=0;i=g;return e|0}return 0}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;g=j+24|0;h=a+100|0;if((c[h>>2]|0)!=1){Ub(e,1,19011,j)|0;h=0;i=j;return h|0}if(d>>>0<8){Ub(e,1,19061,j+8|0)|0;h=0;i=j;return h|0}qb(b,a+56|0,4);qb(b+4|0,a+60|0,4);b=b+8|0;d=d+-8|0;if(d&3){Ub(e,1,19061,j+16|0)|0;h=0;i=j;return h|0}d=d>>>2;f=a+64|0;c[f>>2]=d;if(d){d=Qc(d,4)|0;c[a+68>>2]=d;if(!d){Ub(e,1,19097,g)|0;h=0;i=j;return h|0}if(c[f>>2]|0){a=a+68|0;d=0;while(1){qb(b,(c[a>>2]|0)+(d<<2)|0,4);d=d+1|0;if(d>>>0>=(c[f>>2]|0)>>>0)break;else b=b+4|0}}}c[h>>2]=c[h>>2]|2;h=1;i=j;return h|0}function zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+96|0;y=A+72|0;s=A+64|0;r=A+56|0;q=A+48|0;w=A+40|0;v=A+32|0;u=A+24|0;t=A+16|0;p=A+8|0;n=A+80|0;o=A+76|0;x=a+100|0;if(!(c[x>>2]&2)){Ub(e,1,18679,A)|0;z=0;i=A;return z|0}m=a+104|0;c[m>>2]=0;do{if(d){k=b;b=0;a:while(1){if(d>>>0<8){z=6;break}qb(k,n,4);f=c[n>>2]|0;qb(k+4|0,n,4);j=c[n>>2]|0;switch(f|0){case 0:{z=14;break a}case 1:{if(d>>>0<16){z=9;break a}qb(k+8|0,o,4);if(c[o>>2]|0){z=11;break a}qb(k+12|0,n,4);f=c[n>>2]|0;if(!f){z=13;break a}else g=16;break}default:g=8}if(f>>>0>>0){z=16;break}if(d>>>0>>0){z=19;break}h=(j|0)==1768449138;if(!h)if((j|0)!=1668246642)if((j|0)!=1651532643)if((j|0)!=1885564018)if((j|0)!=1668112752)if((j|0)==1667523942){l=1148;z=26}else c[m>>2]=c[m>>2]|2147483647;else{l=1140;z=26}else{l=1132;z=26}else{l=1124;z=26}else{l=1116;z=26}else{l=1108;z=26}if((z|0)==26?(z=0,(Za[c[l+4>>2]&63](a,k+g|0,f-g|0,e)|0)==0):0){b=0;z=32;break}b=h?1:b;if((d|0)==(f|0)){z=29;break}else{k=k+f|0;d=d-f|0}}if((z|0)==6)Ub(e,1,18724,p)|0;else if((z|0)==9)Ub(e,1,18764,t)|0;else if((z|0)==11)Ub(e,1,17148,u)|0;else if((z|0)==13)Ub(e,1,17218,v)|0;else if((z|0)==14)Ub(e,1,17218,w)|0;else if((z|0)==16)Ub(e,1,18808,q)|0;else if((z|0)==19){Ub(e,1,18880,s)|0;z=0;i=A;return z|0}else if((z|0)==29){if(!b)break;c[x>>2]=c[x>>2]|4;z=1;i=A;return z|0}else if((z|0)==32){i=A;return b|0}Ub(e,1,18837,r)|0;z=0;i=A;return z|0}}while(0);Ub(e,1,18952,y)|0;z=0;i=A;return z|0}function Af(){return 8}function Bf(){return 32}function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!e)return;else f=0;do{l=a+(f<<2)|0;i=c[l>>2]|0;j=b+(f<<2)|0;h=c[j>>2]|0;g=d+(f<<2)|0;k=c[g>>2]|0;c[l>>2]=(h<<1)+i+k>>2;c[j>>2]=k-h;c[g>>2]=i-h;f=f+1|0}while((f|0)!=(e|0));return}function Df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!e)return;else f=0;do{k=a+(f<<2)|0;j=b+(f<<2)|0;h=c[j>>2]|0;g=d+(f<<2)|0;l=c[g>>2]|0;i=(c[k>>2]|0)-(l+h>>2)|0;c[k>>2]=i+l;c[j>>2]=i;c[g>>2]=i+h;f=f+1|0}while((f|0)!=(e|0));return}function Ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!e)return;else f=0;do{o=a+(f<<2)|0;u=c[o>>2]|0;k=b+(f<<2)|0;t=c[k>>2]|0;g=d+(f<<2)|0;s=c[g>>2]|0;j=((u|0)<0)<<31>>31;q=Zi(u|0,j|0,2449,0)|0;q=Si(q|0,C|0,4096,0)|0;q=Ti(q|0,C|0,13)|0;i=((t|0)<0)<<31>>31;r=Zi(t|0,i|0,4809,0)|0;r=Si(r|0,C|0,4096,0)|0;r=Ti(r|0,C|0,13)|0;h=((s|0)<0)<<31>>31;p=Zi(s|0,h|0,934,0)|0;p=Si(p|0,C|0,4096,0)|0;p=Ti(p|0,C|0,13)|0;l=Zi(u|0,j|0,1382,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=Zi(t|0,i|0,2714,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;n=Ri(s|0,h|0,12)|0;n=Si(n|0,C|0,4096,0)|0;n=Ti(n|0,C|0,13)|0;j=Ri(u|0,j|0,12)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;i=Zi(t|0,i|0,3430,0)|0;i=Si(i|0,C|0,4096,0)|0;i=Ti(i|0,C|0,13)|0;h=Zi(s|0,h|0,666,0)|0;h=Si(h|0,C|0,4096,0)|0;h=Ti(h|0,C|0,13)|0;c[o>>2]=r+q+p;c[k>>2]=n-(m+l);c[g>>2]=j-i-h;f=f+1|0}while((f|0)!=(e|0));return}function Ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,i=0.0,j=0,k=0.0,l=0;if(!d)return;else e=0;do{l=a+(e<<2)|0;i=+g[l>>2];j=b+(e<<2)|0;h=+g[j>>2];f=c+(e<<2)|0;k=+g[f>>2];g[l>>2]=i+k*1.4019999504089355;g[j>>2]=i-h*.3441300094127655-k*.714139997959137;g[f>>2]=i+h*1.7719999551773071;e=e+1|0}while((e|0)!=(d|0));return}function Gf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=_(e,e)|0;o=Pc(h+e<<2)|0;if(!o){e=0;return e|0}if(h){i=0;f=a;while(1){c[o+(i+e<<2)>>2]=~~(+g[f>>2]*8192.0);i=i+1|0;if((i|0)==(h|0))break;else f=f+4|0}}if(b){m=(e|0)==0;n=0;do{if(!m){f=0;do{c[o+(f<<2)>>2]=c[c[d+(f<<2)>>2]>>2];f=f+1|0}while((f|0)!=(e|0));if(!m){a=0;k=o;do{k=k+(e<<2)|0;h=d+(a<<2)|0;f=c[h>>2]|0;c[f>>2]=0;i=0;j=0;l=k;while(1){p=c[l>>2]|0;q=c[o+(j<<2)>>2]|0;p=Zi(q|0,((q|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=Si(p|0,C|0,4096,0)|0;p=Ti(p|0,C|0,13)|0;i=p+i|0;c[f>>2]=i;j=j+1|0;if((j|0)==(e|0))break;else l=l+4|0}c[h>>2]=f+4;a=a+1|0}while((a|0)!=(e|0))}}n=n+1|0}while((n|0)!=(b|0))}Uc(o);q=1;return q|0}function Hf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Pc(e<<3)|0;if(!m){e=0;return e|0}if(b){n=(e|0)==0;o=0;do{if(!n){f=0;do{c[m+(f<<2)>>2]=c[c[d+(f<<2)>>2]>>2];f=f+1|0}while((f|0)!=(e|0));if(!n){k=0;l=a;while(1){f=m+(k+e<<2)|0;g[f>>2]=0.0;h=0.0;i=0;j=l;while(1){h=h+ +g[j>>2]*+g[m+(i<<2)>>2];g[f>>2]=h;i=i+1|0;if((i|0)==(e|0))break;else j=j+4|0}i=d+(k<<2)|0;j=c[i>>2]|0;c[i>>2]=j+4;g[j>>2]=h;k=k+1|0;if((k|0)==(e|0))break;else l=l+(e<<2)|0}}}o=o+1|0}while((o|0)!=(b|0))}Uc(m);e=1;return e|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,i=0,j=0,k=0.0;if(!b)return;else j=0;do{i=a+(j<<3)|0;h[i>>3]=0.0;d=0.0;e=0;f=j;while(1){k=+g[c+(f<<2)>>2];d=d+k*k;e=e+1|0;if((e|0)==(b|0))break;else f=f+b|0}h[i>>3]=+O(+d);j=j+1|0}while((j|0)!=(b|0));return}function Jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=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,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+32|0;B=F+28|0;w=F+24|0;x=F+20|0;y=F+16|0;z=F+12|0;A=F+8|0;k=F+4|0;l=F;f=d+76|0;D=c[f>>2]|0;C=D+(e*5640|0)+420|0;E=(c[C>>2]|0)+1|0;m=b+16|0;v=Pc((c[m>>2]|0)*528|0)|0;if(!v){E=0;i=F;return E|0}u=Pc(c[m>>2]<<2)|0;if(!u){Uc(v);E=0;i=F;return E|0}f=Pf(b,c[f>>2]|0,e)|0;if(!f){Uc(v);Uc(u);E=0;i=F;return E|0}g=c[m>>2]|0;if(g){h=0;j=v;while(1){c[u+(h<<2)>>2]=j;h=h+1|0;if(h>>>0>=g>>>0)break;else j=j+528|0}}Qf(b,d,e,x,y,z,A,k,l,w,B,u);s=c[w>>2]|0;q=_(c[m>>2]|0,s)|0;r=_(c[B>>2]|0,q)|0;t=D+(e*5640|0)+8|0;p=Qc(_((c[t>>2]|0)+1|0,r)|0,2)|0;h=f+4|0;c[h>>2]=p;if(!p){Uc(v);Uc(u);g=c[h>>2]|0;if(g){Uc(g);c[h>>2]=0}if(E){b=f;n=0;while(1){m=b+196|0;g=c[m>>2]|0;if(g){d=b+192|0;h=c[d>>2]|0;if(h){l=0;while(1){j=g+12|0;k=c[j>>2]|0;if(k){Uc(k);c[j>>2]=0;h=c[d>>2]|0}l=l+1|0;if(l>>>0>=h>>>0)break;else g=g+16|0}g=c[m>>2]|0}Uc(g);c[m>>2]=0}n=n+1|0;if((n|0)==(E|0))break;else b=b+232|0}}Uc(f);E=0;i=F;return E|0}g=c[f+196>>2]|0;p=c[b+24>>2]|0;c[f+200>>2]=c[x>>2];c[f+204>>2]=c[z>>2];c[f+208>>2]=c[y>>2];c[f+212>>2]=c[A>>2];c[f+20>>2]=1;c[f+16>>2]=s;c[f+12>>2]=q;c[f+8>>2]=r;m=c[f+192>>2]|0;if(m){b=0;d=p;while(1){j=c[g+12>>2]|0;h=c[u+(b<<2)>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];l=c[g+8>>2]|0;if(l){k=0;while(1){c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];k=k+1|0;if(k>>>0>=l>>>0)break;else{h=h+16|0;j=j+16|0}}}b=b+1|0;if(b>>>0>=m>>>0)break;else{g=g+16|0;d=d+52|0}}}if(E>>>0>1){m=f;o=1;do{g=c[m+428>>2]|0;c[m+432>>2]=c[x>>2];c[m+436>>2]=c[z>>2];c[m+440>>2]=c[y>>2];c[m+444>>2]=c[A>>2];c[m+252>>2]=1;c[m+248>>2]=s;c[m+244>>2]=q;c[m+240>>2]=r;b=c[m+424>>2]|0;if(b){n=0;d=p;while(1){j=c[g+12>>2]|0;h=c[u+(n<<2)>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];l=c[g+8>>2]|0;if(l){k=0;while(1){c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];k=k+1|0;if(k>>>0>=l>>>0)break;else{h=h+16|0;j=j+16|0}}}n=n+1|0;if(n>>>0>=b>>>0)break;else{g=g+16|0;d=d+52|0}}}c[m+236>>2]=c[m+4>>2];m=m+232|0;o=o+1|0}while((o|0)!=(E|0))}Uc(v);Uc(u);m=c[w>>2]|0;if(!(a[D+(e*5640|0)+5636>>0]&4)){d=c[B>>2]|0;l=(c[C>>2]|0)+1|0;if(!l){E=f;i=F;return E|0}k=c[D+(e*5640|0)+4>>2]|0;g=c[t>>2]|0;h=f;j=0;while(1){c[h+80>>2]=k;c[h+40>>2]=1;c[h+44>>2]=0;c[h+48>>2]=0;c[h+64>>2]=0;c[h+68>>2]=0;c[h+56>>2]=d;c[h+60>>2]=c[h+192>>2];c[h+52>>2]=g;c[h+72>>2]=m;j=j+1|0;if((j|0)==(l|0))break;else h=h+232|0}i=F;return f|0}else{j=(c[C>>2]|0)+1|0;if(!j){E=f;i=F;return E|0}k=f;g=D+(e*5640|0)+424|0;h=0;while(1){c[k+80>>2]=c[g+36>>2];c[k+40>>2]=1;c[k+44>>2]=c[g>>2];c[k+48>>2]=c[g+4>>2];c[k+64>>2]=0;c[k+68>>2]=0;c[k+56>>2]=c[g+12>>2];c[k+60>>2]=c[g+16>>2];c[k+52>>2]=c[g+8>>2];c[k+72>>2]=m;h=h+1|0;if((h|0)==(j|0))break;else{k=k+232|0;g=g+148|0}}i=F;return f|0}return 0}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!a)return;d=a+4|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0}if(b){k=a;l=0;while(1){j=k+196|0;d=c[j>>2]|0;if(d){i=k+192|0;e=c[i>>2]|0;if(e){h=0;while(1){f=d+12|0;g=c[f>>2]|0;if(g){Uc(g);c[f>>2]=0;e=c[i>>2]|0}h=h+1|0;if(h>>>0>=e>>>0)break;else d=d+16|0}d=c[j>>2]|0}Uc(d);c[j>>2]=0}l=l+1|0;if((l|0)==(b|0))break;else k=k+232|0}}Uc(a);return}function Lf(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+32|0;G=L+28|0;F=L+24|0;B=L+20|0;C=L+16|0;D=L+12|0;E=L+8|0;H=L+4|0;I=L;J=f+76|0;x=c[J>>2]|0;K=(c[x+(g*5640|0)+420>>2]|0)+1|0;A=e+16|0;z=Pc((c[A>>2]|0)*528|0)|0;if(!z){g=0;i=L;return g|0}y=Pc(c[A>>2]<<2)|0;if(!y){Uc(z);g=0;i=L;return g|0}j=Pf(e,c[J>>2]|0,g)|0;if(!j){Uc(z);Uc(y);g=0;i=L;return g|0}k=c[A>>2]|0;if(k){l=0;m=z;while(1){c[y+(l<<2)>>2]=m;l=l+1|0;if(l>>>0>=k>>>0)break;else m=m+528|0}}Qf(e,f,g,B,C,D,E,H,I,F,G,y);u=c[F>>2]|0;v=_(c[A>>2]|0,u)|0;w=_(c[G>>2]|0,v)|0;a[j>>0]=(d[f+93>>0]|0)>>>3&1;t=Qc(_(c[x+(g*5640|0)+8>>2]|0,w)|0,2)|0;l=j+4|0;c[l>>2]=t;if(!t){Uc(z);Uc(y);k=c[l>>2]|0;if(k){Uc(k);c[l>>2]=0}if(K){q=j;r=0;while(1){p=q+196|0;k=c[p>>2]|0;if(k){o=q+192|0;l=c[o>>2]|0;if(l){n=0;while(1){m=k+12|0;e=c[m>>2]|0;if(e){Uc(e);c[m>>2]=0;l=c[o>>2]|0}n=n+1|0;if(n>>>0>=l>>>0)break;else k=k+16|0}k=c[p>>2]|0}Uc(k);c[p>>2]=0}r=r+1|0;if((r|0)==(K|0))break;else q=q+232|0}}Uc(j);g=0;i=L;return g|0}k=c[j+196>>2]|0;t=c[e+24>>2]|0;c[j+200>>2]=c[B>>2];c[j+204>>2]=c[D>>2];c[j+208>>2]=c[C>>2];c[j+212>>2]=c[E>>2];c[j+224>>2]=c[H>>2];c[j+228>>2]=c[I>>2];c[j+20>>2]=1;c[j+16>>2]=u;c[j+12>>2]=v;c[j+8>>2]=w;p=c[j+192>>2]|0;if(p){q=0;o=t;while(1){m=c[k+12>>2]|0;l=c[y+(q<<2)>>2]|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];n=c[k+8>>2]|0;if(n){e=0;while(1){c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];e=e+1|0;if(e>>>0>=n>>>0)break;else{l=l+16|0;m=m+16|0}}}q=q+1|0;if(q>>>0>=p>>>0)break;else{k=k+16|0;o=o+52|0}}}if(K>>>0>1){p=j;s=1;do{k=c[p+428>>2]|0;c[p+432>>2]=c[B>>2];c[p+436>>2]=c[D>>2];c[p+440>>2]=c[C>>2];c[p+444>>2]=c[E>>2];c[p+456>>2]=c[H>>2];c[p+460>>2]=c[I>>2];c[p+252>>2]=1;c[p+248>>2]=u;c[p+244>>2]=v;c[p+240>>2]=w;q=c[p+424>>2]|0;if(q){r=0;o=t;while(1){m=c[k+12>>2]|0;l=c[y+(r<<2)>>2]|0;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];n=c[k+8>>2]|0;if(n){e=0;while(1){c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];e=e+1|0;if(e>>>0>=n>>>0)break;else{l=l+16|0;m=m+16|0}}}r=r+1|0;if(r>>>0>=q>>>0)break;else{k=k+16|0;o=o+52|0}}}c[p+236>>2]=c[p+4>>2];p=p+232|0;s=s+1|0}while((s|0)!=(K|0))}Uc(z);Uc(y);do{if(a[x+(g*5640|0)+5636>>0]&4){k=b[f>>1]|0;if((k&65535)>2){if(!((h|0)==1|(k&65535)<7))break}else if((h|0)!=1)break;Rf(c[J>>2]|0,g,c[B>>2]|0,c[C>>2]|0,c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,c[H>>2]|0,c[I>>2]|0);g=j;i=L;return g|0}}while(0);w=c[A>>2]|0;v=c[B>>2]|0;u=c[C>>2]|0;t=c[D>>2]|0;s=c[E>>2]|0;r=c[F>>2]|0;q=c[G>>2]|0;p=c[H>>2]|0;o=c[I>>2]|0;k=c[J>>2]|0;m=(c[k+(g*5640|0)+420>>2]|0)+1|0;if(!m){g=j;i=L;return g|0}e=c[k+(g*5640|0)+8>>2]|0;n=c[k+(g*5640|0)+4>>2]|0;k=k+(g*5640|0)+424|0;l=0;while(1){c[k+76>>2]=0;c[k+92>>2]=w;c[k+72>>2]=0;c[k+88>>2]=q;c[k+68>>2]=0;c[k+84>>2]=e;c[k+36>>2]=n;c[k+80>>2]=0;c[k+96>>2]=r;c[k+100>>2]=v;c[k+104>>2]=u;c[k+108>>2]=t;c[k+112>>2]=s;c[k+116>>2]=p;c[k+120>>2]=o;l=l+1|0;if((l|0)==(m|0))break;else k=k+148|0}i=L;return j|0}function Mf(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;Q=c[e+76>>2]|0;R=Q+(f*5640|0)+424+(g*148|0)+36|0;S=Vc(c[R>>2]|0)|0;c[d+(g*232|0)+40>>2]=1;T=d+(g*232|0)+44|0;c[d+(g*232|0)+80>>2]=c[R>>2];do{if(a[e+93>>0]&8){k=b[e>>1]|0;if((k&65535)>2){if(!((j|0)==1&(k&65535)>6|(k+-3&65535)<4))break}else if(!((j|0)==1|(k+-3&65535)<4))break;k=i+1|0;a:do{if((k|0)<4){j=Q+(f*5640|0)+424+(g*148|0)+72|0;l=Q+(f*5640|0)+424+(g*148|0)+88|0;m=d+(g*232|0)+56|0;n=Q+(f*5640|0)+424+(g*148|0)+76|0;o=d+(g*232|0)+48|0;p=Q+(f*5640|0)+424+(g*148|0)+92|0;q=d+(g*232|0)+60|0;r=Q+(f*5640|0)+424+(g*148|0)+68|0;s=d+(g*232|0)+64|0;t=Q+(f*5640|0)+424+(g*148|0)+84|0;u=d+(g*232|0)+52|0;v=Q+(f*5640|0)+424+(g*148|0)+80|0;w=d+(g*232|0)+68|0;x=Q+(f*5640|0)+424+(g*148|0)+96|0;y=d+(g*232|0)+72|0;z=Q+(f*5640|0)+424+(g*148|0)+100|0;A=d+(g*232|0)+96|0;B=Q+(f*5640|0)+424+(g*148|0)+108|0;C=d+(g*232|0)+104|0;D=Q+(f*5640|0)+424+(g*148|0)+104|0;E=d+(g*232|0)+100|0;F=Q+(f*5640|0)+424+(g*148|0)+112|0;G=d+(g*232|0)+108|0;while(1){b:do{switch(a[S+k>>0]|0){case 82:{c[T>>2]=c[j>>2];c[m>>2]=c[l>>2];break}case 67:{c[o>>2]=c[n>>2];c[q>>2]=c[p>>2];break}case 76:{c[s>>2]=c[r>>2];c[u>>2]=c[t>>2];break}case 80:if((c[R>>2]|0)>>>0<2){c[w>>2]=c[v>>2];c[y>>2]=c[x>>2];break b}else{c[A>>2]=c[z>>2];c[C>>2]=c[B>>2];c[E>>2]=c[D>>2];c[G>>2]=c[F>>2];break b}default:{}}}while(0);k=k+1|0;if((k|0)==4)break a}}}while(0);k=(i|0)>-1;if(!h){if(!k)return;m=Q+(f*5640|0)+424+(g*148|0)+76|0;n=Q+(f*5640|0)+424+(g*148|0)+132|0;o=d+(g*232|0)+48|0;p=d+(g*232|0)+60|0;q=Q+(f*5640|0)+424+(g*148|0)+72|0;r=Q+(f*5640|0)+424+(g*148|0)+128|0;s=d+(g*232|0)+56|0;t=Q+(f*5640|0)+424+(g*148|0)+68|0;u=Q+(f*5640|0)+424+(g*148|0)+124|0;v=d+(g*232|0)+64|0;w=d+(g*232|0)+52|0;x=Q+(f*5640|0)+424+(g*148|0)+80|0;y=Q+(f*5640|0)+424+(g*148|0)+136|0;z=d+(g*232|0)+68|0;A=d+(g*232|0)+72|0;B=Q+(f*5640|0)+424+(g*148|0)+100|0;C=Q+(f*5640|0)+424+(g*148|0)+140|0;D=Q+(f*5640|0)+424+(g*148|0)+108|0;E=Q+(f*5640|0)+424+(g*148|0)+144|0;F=d+(g*232|0)+96|0;G=Q+(f*5640|0)+424+(g*148|0)+116|0;h=d+(g*232|0)+100|0;H=d+(g*232|0)+104|0;l=Q+(f*5640|0)+424+(g*148|0)+120|0;j=d+(g*232|0)+108|0;k=i;while(1){c:do{switch(a[S+k>>0]|0){case 67:{g=c[m>>2]|0;c[o>>2]=g;g=g+1|0;c[p>>2]=g;c[n>>2]=g;break}case 82:{g=c[q>>2]|0;c[T>>2]=g;g=g+1|0;c[s>>2]=g;c[r>>2]=g;break}case 76:{g=c[t>>2]|0;c[v>>2]=g;g=g+1|0;c[w>>2]=g;c[u>>2]=g;break}case 80:if((c[R>>2]|0)>>>0<2){g=c[x>>2]|0;c[z>>2]=g;g=g+1|0;c[A>>2]=g;c[y>>2]=g;break c}else{g=c[B>>2]|0;i=c[D>>2]|0;c[F>>2]=g;f=c[G>>2]|0;f=f+g-((g>>>0)%(f>>>0)|0)|0;c[h>>2]=f;c[H>>2]=i;g=c[l>>2]|0;g=g+i-((i>>>0)%(g>>>0)|0)|0;c[j>>2]=g;c[C>>2]=f;c[E>>2]=g;break c}default:{}}}while(0);if((k|0)>0)k=k+-1|0;else break}return}if(!k)return;L=Q+(f*5640|0)+424+(g*148|0)+128|0;M=Q+(f*5640|0)+424+(g*148|0)+88|0;N=Q+(f*5640|0)+424+(g*148|0)+72|0;O=d+(g*232|0)+56|0;P=Q+(f*5640|0)+424+(g*148|0)+132|0;p=Q+(f*5640|0)+424+(g*148|0)+92|0;q=Q+(f*5640|0)+424+(g*148|0)+76|0;r=d+(g*232|0)+48|0;s=d+(g*232|0)+60|0;t=Q+(f*5640|0)+424+(g*148|0)+124|0;u=Q+(f*5640|0)+424+(g*148|0)+84|0;v=Q+(f*5640|0)+424+(g*148|0)+68|0;w=d+(g*232|0)+64|0;x=d+(g*232|0)+52|0;y=Q+(f*5640|0)+424+(g*148|0)+136|0;z=Q+(f*5640|0)+424+(g*148|0)+96|0;A=Q+(f*5640|0)+424+(g*148|0)+80|0;B=d+(g*232|0)+68|0;C=d+(g*232|0)+72|0;D=Q+(f*5640|0)+424+(g*148|0)+140|0;E=Q+(f*5640|0)+424+(g*148|0)+104|0;F=d+(g*232|0)+96|0;G=Q+(f*5640|0)+424+(g*148|0)+116|0;h=d+(g*232|0)+100|0;H=Q+(f*5640|0)+424+(g*148|0)+144|0;I=Q+(f*5640|0)+424+(g*148|0)+112|0;J=d+(g*232|0)+104|0;K=Q+(f*5640|0)+424+(g*148|0)+120|0;n=d+(g*232|0)+108|0;o=Q+(f*5640|0)+424+(g*148|0)+100|0;m=Q+(f*5640|0)+424+(g*148|0)+108|0;l=i;k=1;while(1){j=S+l|0;d:do{switch(a[j>>0]|0){case 67:{i=c[P>>2]|0;c[r>>2]=i+-1;c[s>>2]=i;break}case 82:{i=c[L>>2]|0;c[T>>2]=i+-1;c[O>>2]=i;break}case 76:{i=c[t>>2]|0;c[w>>2]=i+-1;c[x>>2]=i;break}case 80:if((c[R>>2]|0)>>>0<2){i=c[y>>2]|0;c[B>>2]=i+-1;c[C>>2]=i;break d}else{i=c[D>>2]|0;Q=c[G>>2]|0;c[F>>2]=i-Q-((i>>>0)%(Q>>>0)|0);c[h>>2]=i;i=c[H>>2]|0;Q=c[K>>2]|0;c[J>>2]=i-Q-((i>>>0)%(Q>>>0)|0);c[n>>2]=i;break d}default:{}}}while(0);e:do{if((k|0)==1)switch(a[j>>0]|0){case 82:{k=c[L>>2]|0;if((k|0)!=(c[M>>2]|0)){c[T>>2]=k;k=k+1|0;c[O>>2]=k;c[L>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[N>>2]|0;c[T>>2]=k;k=k+1|0;c[O>>2]=k;c[L>>2]=k;k=1;break e}case 67:{k=c[P>>2]|0;if((k|0)!=(c[p>>2]|0)){c[r>>2]=k;k=k+1|0;c[s>>2]=k;c[P>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[q>>2]|0;c[r>>2]=k;k=k+1|0;c[s>>2]=k;c[P>>2]=k;k=1;break e}case 76:{k=c[t>>2]|0;if((k|0)!=(c[u>>2]|0)){c[w>>2]=k;k=k+1|0;c[x>>2]=k;c[t>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[v>>2]|0;c[w>>2]=k;k=k+1|0;c[x>>2]=k;c[t>>2]=k;k=1;break e}case 80:{if((c[R>>2]|0)>>>0<2){k=c[y>>2]|0;if((k|0)!=(c[z>>2]|0)){c[B>>2]=k;k=k+1|0;c[C>>2]=k;c[y>>2]=k;k=0;break e}if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}k=c[A>>2]|0;c[B>>2]=k;k=k+1|0;c[C>>2]=k;c[y>>2]=k;k=1;break e}k=c[D>>2]|0;if(k>>>0<(c[E>>2]|0)>>>0){c[F>>2]=k;i=c[G>>2]|0;k=i+k-((k>>>0)%(i>>>0)|0)|0;c[h>>2]=k;c[D>>2]=k;k=0;break e}j=c[H>>2]|0;if(j>>>0<(c[I>>2]|0)>>>0){c[J>>2]=j;i=c[K>>2]|0;k=0;j=i+j-((j>>>0)%(i>>>0)|0)|0}else{if(!(Sf(l+-1|0,e,f,g,S)|0)){k=0;break e}i=c[m>>2]|0;c[H>>2]=i;c[J>>2]=i;j=c[K>>2]|0;k=1;j=j+i-((i>>>0)%(j>>>0)|0)|0}c[n>>2]=j;c[H>>2]=j;Q=c[o>>2]|0;c[F>>2]=Q;i=c[G>>2]|0;i=i+Q-((Q>>>0)%(i>>>0)|0)|0;c[h>>2]=i;c[D>>2]=i;break e}default:{k=1;break e}}}while(0);if((l|0)>0)l=l+-1|0;else break}return}}while(0);c[T>>2]=c[Q+(f*5640|0)+424+(g*148|0)+72>>2];c[d+(g*232|0)+56>>2]=c[Q+(f*5640|0)+424+(g*148|0)+88>>2];c[d+(g*232|0)+48>>2]=c[Q+(f*5640|0)+424+(g*148|0)+76>>2];c[d+(g*232|0)+60>>2]=c[Q+(f*5640|0)+424+(g*148|0)+92>>2];c[d+(g*232|0)+64>>2]=c[Q+(f*5640|0)+424+(g*148|0)+68>>2];c[d+(g*232|0)+52>>2]=c[Q+(f*5640|0)+424+(g*148|0)+84>>2];c[d+(g*232|0)+68>>2]=c[Q+(f*5640|0)+424+(g*148|0)+80>>2];c[d+(g*232|0)+72>>2]=c[Q+(f*5640|0)+424+(g*148|0)+96>>2];c[d+(g*232|0)+96>>2]=c[Q+(f*5640|0)+424+(g*148|0)+100>>2];c[d+(g*232|0)+104>>2]=c[Q+(f*5640|0)+424+(g*148|0)+108>>2];c[d+(g*232|0)+100>>2]=c[Q+(f*5640|0)+424+(g*148|0)+104>>2];c[d+(g*232|0)+108>>2]=c[Q+(f*5640|0)+424+(g*148|0)+112>>2];return}function Nf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;I=c[d+76>>2]|0;K=c[d+24>>2]|0;N=(e>>>0)%(K>>>0)|0;K=(e>>>0)/(K>>>0)|0;L=c[d+4>>2]|0;H=c[d+12>>2]|0;G=(_(H,N)|0)+L|0;M=c[b>>2]|0;M=(G|0)>(M|0)?G:M;L=(_(H,N+1|0)|0)+L|0;N=c[b+8>>2]|0;N=(L|0)<(N|0)?L:N;L=c[d+8>>2]|0;H=c[d+16>>2]|0;G=(_(H,K)|0)+L|0;J=c[b+4>>2]|0;J=(G|0)>(J|0)?G:J;L=(_(H,K+1|0)|0)+L|0;K=c[b+12>>2]|0;K=(L|0)<(K|0)?L:K;L=c[b+16>>2]|0;if(!L){l=0;k=2147483647;j=2147483647;i=0}else{D=K+-1|0;E=N+-1|0;F=J+-1|0;G=M+-1|0;l=0;k=2147483647;j=2147483647;i=0;H=0;A=c[b+24>>2]|0;B=c[I+(e*5640|0)+5584>>2]|0;while(1){x=c[A>>2]|0;y=c[A+4>>2]|0;z=c[B+4>>2]|0;i=z>>>0>i>>>0?z:i;if(z){v=(D+y|0)/(y|0)|0;t=(E+x|0)/(x|0)|0;r=(F+y|0)/(y|0)|0;p=(G+x|0)/(x|0)|0;p=Si(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;q=C;r=Si(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;s=C;t=Si(t|0,((t|0)<0)<<31>>31|0,-1,-1)|0;u=C;v=Si(v|0,((v|0)<0)<<31>>31|0,-1,-1)|0;w=C;d=0;o=0;while(1){m=c[B+812+(o<<2)>>2]|0;n=c[B+944+(o<<2)>>2]|0;g=d+-1+z|0;h=x<>>0>>0?k:h;j=j>>>0>>0?j:O;O=Ri(1,0,g|0)|0;h=C;d=Si(p|0,q|0,O|0,h|0)|0;d=Pi(d|0,C|0,g|0)|0;f=Si(r|0,s|0,O|0,h|0)|0;f=Pi(f|0,C|0,g|0)|0;b=Si(t|0,u|0,O|0,h|0)|0;b=Pi(b|0,C|0,g|0)|0;h=Si(v|0,w|0,O|0,h|0)|0;g=Pi(h|0,C|0,g|0)|0;h=Ri(1,0,n|0)|0;h=Si(h|0,C|0,-1,-1)|0;h=Si(h|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;h=Pi(h|0,C|0,n|0)|0;if((d|0)==(b|0))d=0;else{O=Ri(1,0,m|0)|0;O=Si(O|0,C|0,-1,-1)|0;O=Si(O|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;O=Pi(O|0,C|0,m|0)|0;d=(O<>m<>m}b=_(d,(f|0)==(g|0)?0:(h<>n<>n)|0;l=b>>>0>l>>>0?b:l;b=o+1|0;if(b>>>0>>0){d=~o;o=b}else break}}H=H+1|0;if(H>>>0>=L>>>0)break;else{A=A+52|0;B=B+1080|0}}}if(a[I+(e*5640|0)+5636>>0]&4){Rf(I,e,M,N,J,K,l,k,j);return}f=(c[I+(e*5640|0)+420>>2]|0)+1|0;if(!f)return;g=c[I+(e*5640|0)+8>>2]|0;h=c[I+(e*5640|0)+4>>2]|0;d=I+(e*5640|0)+424|0;b=0;while(1){c[d+76>>2]=0;c[d+92>>2]=L;c[d+72>>2]=0;c[d+88>>2]=i;c[d+68>>2]=0;c[d+84>>2]=g;c[d+36>>2]=h;c[d+80>>2]=0;c[d+96>>2]=l;c[d+100>>2]=M;c[d+104>>2]=N;c[d+108>>2]=J;c[d+112>>2]=K;c[d+116>>2]=k;c[d+120>>2]=j;b=b+1|0;if((b|0)==(f|0))break;else d=d+148|0}return}function Of(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0;switch(c[d+80>>2]|0){case 0:{e=d+40|0;if(!(c[e>>2]|0)){E=d+32|0;l=E;E=c[E>>2]|0;f=18}else{c[e>>2]=0;t=c[d+64>>2]|0;c[d+36>>2]=t;f=5}while(1){if((f|0)==5){if(t>>>0>=(c[d+52>>2]|0)>>>0){nb=0;f=153;break}z=c[d+44>>2]|0;c[d+28>>2]=z;f=7}else if((f|0)==18){j=E+1|0;c[l>>2]=j;h=l;f=14}while(1){if((f|0)==7){f=0;if(z>>>0>=(c[d+56>>2]|0)>>>0){f=21;break}A=c[d+48>>2]|0;p=d+24|0;c[p>>2]=A}else if((f|0)==14){if(j>>>0<(c[d+72>>2]|0)>>>0){f=16;break}F=d+24|0;n=F;F=c[F>>2]|0;f=19}while(1){if((f|0)==19){f=0;A=F+1|0;c[n>>2]=A;p=n}if(A>>>0>=(c[d+60>>2]|0)>>>0){f=20;break}B=c[d+196>>2]|0;C=c[d+28>>2]|0;if(C>>>0<(c[B+(A<<4)+8>>2]|0)>>>0)break;else{n=p;F=A;f=19}}if((f|0)==20){f=d+28|0;z=(c[f>>2]|0)+1|0;c[f>>2]=z;f=7;continue}e=c[B+(A<<4)+12>>2]|0;if(!(a[d>>0]|0))c[d+72>>2]=_(c[e+(C<<4)+12>>2]|0,c[e+(C<<4)+8>>2]|0)|0;j=c[d+68>>2]|0;h=d+32|0;c[h>>2]=j;f=14}if((f|0)==16){f=0;D=_(c[d+8>>2]|0,c[d+36>>2]|0)|0;D=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+D|0;D=D+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;D=D+(_(c[d+20>>2]|0,j)|0)|0;D=(c[d+4>>2]|0)+(D<<1)|0;if(!(b[D>>1]|0))break;else{l=h;E=j;f=18;continue}}else if((f|0)==21){f=d+36|0;t=(c[f>>2]|0)+1|0;c[f>>2]=t;f=5;continue}}if((f|0)==153)return nb|0;b[D>>1]=1;d=1;return d|0}case 1:{e=d+40|0;if(!(c[e>>2]|0)){x=d+32|0;k=x;x=c[x>>2]|0;f=38}else{c[e>>2]=0;G=c[d+44>>2]|0;c[d+28>>2]=G;f=25}while(1){if((f|0)==25){if(G>>>0>=(c[d+56>>2]|0)>>>0){nb=0;f=153;break}r=c[d+64>>2]|0;c[d+36>>2]=r;f=27}else if((f|0)==38){i=x+1|0;c[k>>2]=i;g=k;f=34}while(1){if((f|0)==27){f=0;if(r>>>0>=(c[d+52>>2]|0)>>>0){f=41;break}s=c[d+48>>2]|0;o=d+24|0;c[o>>2]=s}else if((f|0)==34){if(i>>>0<(c[d+72>>2]|0)>>>0){f=36;break}y=d+24|0;m=y;y=c[y>>2]|0;f=39}while(1){if((f|0)==39){f=0;s=y+1|0;c[m>>2]=s;o=m}if(s>>>0>=(c[d+60>>2]|0)>>>0){f=40;break}u=c[d+196>>2]|0;v=c[d+28>>2]|0;if(v>>>0<(c[u+(s<<4)+8>>2]|0)>>>0)break;else{m=o;y=s;f=39}}if((f|0)==40){f=d+36|0;r=(c[f>>2]|0)+1|0;c[f>>2]=r;f=27;continue}e=c[u+(s<<4)+12>>2]|0;if(!(a[d>>0]|0))c[d+72>>2]=_(c[e+(v<<4)+12>>2]|0,c[e+(v<<4)+8>>2]|0)|0;i=c[d+68>>2]|0;g=d+32|0;c[g>>2]=i;f=34}if((f|0)==36){f=0;w=_(c[d+8>>2]|0,c[d+36>>2]|0)|0;w=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+w|0;w=w+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;w=w+(_(c[d+20>>2]|0,i)|0)|0;w=(c[d+4>>2]|0)+(w<<1)|0;if(!(b[w>>1]|0))break;else{k=g;x=i;f=38;continue}}else if((f|0)==41){f=d+28|0;G=(c[f>>2]|0)+1|0;c[f>>2]=G;f=25;continue}}if((f|0)==153)return nb|0;b[w>>1]=1;d=1;return d|0}case 2:{e=d+40|0;if(!(c[e>>2]|0)){lb=d+36|0;Ta=lb;lb=c[lb>>2]|0;f=75}else{c[e>>2]=0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;q=c[d+192>>2]|0;if(q){r=c[d+196>>2]|0;e=0;f=0;s=0;do{j=c[r+(s<<4)+8>>2]|0;if(j){k=c[r+(s<<4)+12>>2]|0;l=c[r+(s<<4)>>2]|0;m=c[r+(s<<4)+4>>2]|0;n=j+-1|0;g=0;i=0;while(1){h=n+g|0;Sa=l<>2]|0);h=m<<(c[k+(i<<4)+4>>2]|0)+h;e=(e|0)==0?Sa:e>>>0>>0?e:Sa;f=(f|0)==0?h:f>>>0>>0?f:h;h=i+1|0;if((h|0)==(j|0))break;else{g=~i;i=h}}c[o>>2]=e;c[p>>2]=f}s=s+1|0}while((s|0)!=(q|0))}if(!(a[d>>0]|0)){c[d+104>>2]=c[d+204>>2];c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}J=c[d+44>>2]|0;c[d+28>>2]=J;f=54}while(1){if((f|0)==54){if(J>>>0>=(c[d+56>>2]|0)>>>0){nb=0;f=153;break}Xa=c[d+104>>2]|0;c[d+220>>2]=Xa;f=56}else if((f|0)==75){jb=lb+1|0;c[Ta>>2]=jb;Ua=Ta;f=71}while(1){if((f|0)==56){if((Xa|0)>=(c[d+108>>2]|0)){f=79;break}Ya=c[d+96>>2]|0;c[d+216>>2]=Ya;f=58}else if((f|0)==71){if(jb>>>0<(c[d+52>>2]|0)>>>0){f=73;break}mb=d+24|0;Va=mb;mb=c[mb>>2]|0;f=76}while(1){if((f|0)==58){if((Ya|0)>=(c[d+100>>2]|0)){f=78;break}Za=c[d+48>>2]|0;Wa=d+24|0;c[Wa>>2]=Za}else if((f|0)==76){Za=mb+1|0;c[Va>>2]=Za;Wa=Va}if(Za>>>0>=(c[d+60>>2]|0)>>>0){Ya=c[d+224>>2]|0;f=d+216|0;Sa=c[f>>2]|0;Ya=Sa+Ya-((Sa|0)%(Ya|0)|0)|0;c[f>>2]=Ya;f=58;continue}f=c[d+196>>2]|0;m=c[d+28>>2]|0;e=c[f+(Za<<4)+8>>2]|0;if(m>>>0>=e>>>0){Va=Wa;mb=Za;f=76;continue}n=c[f+(Za<<4)+12>>2]|0;i=e+~m|0;j=c[d+200>>2]|0;k=c[f+(Za<<4)>>2]|0;_a=k<>2]|0;Sa=c[f+(Za<<4)+4>>2]|0;ab=Sa<>2]|0)|0)/(_a|0)|0;db=ab+-1|0;f=(db+(c[d+212>>2]|0)|0)/(ab|0)|0;eb=c[n+(m<<4)>>2]|0;g=eb+i|0;fb=c[n+(m<<4)+4>>2]|0;h=fb+i|0;gb=c[d+220>>2]|0;if((gb|0)%(Sa<>2]|0;if((hb|0)%(k<>2]|0;if(!ib){Va=Wa;mb=Za;f=76;continue}if((bb|0)==(f|0)|(($a|0)==(e|0)?1:(c[n+(m<<4)+12>>2]|0)==0)){Va=Wa;mb=Za;f=76}else{f=70;break}}if((f|0)==70){c[d+32>>2]=(((cb+hb|0)/(_a|0)|0)>>eb)-($a>>eb)+(_((((db+gb|0)/(ab|0)|0)>>fb)-(bb>>fb)|0,ib)|0);jb=c[d+64>>2]|0;Ua=d+36|0;c[Ua>>2]=jb;f=71;continue}else if((f|0)==78){Xa=c[d+228>>2]|0;f=d+220|0;Sa=c[f>>2]|0;Xa=Sa+Xa-((Sa|0)%(Xa|0)|0)|0;c[f>>2]=Xa;f=56;continue}}if((f|0)==73){f=0;kb=_(c[d+8>>2]|0,jb)|0;kb=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+kb|0;kb=kb+(_(c[d+16>>2]|0,c[d+24>>2]|0)|0)|0;kb=kb+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;kb=(c[d+4>>2]|0)+(kb<<1)|0;if(!(b[kb>>1]|0))break;else{Ta=Ua;lb=jb;f=75;continue}}else if((f|0)==79){f=d+28|0;J=(c[f>>2]|0)+1|0;c[f>>2]=J;f=54;continue}}if((f|0)==153)return nb|0;b[kb>>1]=1;d=1;return d|0}case 3:{f=d+40|0;if(!(c[f>>2]|0)){Ra=c[d+24>>2]|0;Ka=d+36|0;pa=Ka;Ka=c[Ka>>2]|0;Na=Ra;Ra=(c[d+196>>2]|0)+(Ra<<4)|0;f=113}else{c[f>>2]=0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;q=c[d+192>>2]|0;if(q){r=c[d+196>>2]|0;e=0;f=0;s=0;do{j=c[r+(s<<4)+8>>2]|0;if(j){k=c[r+(s<<4)+12>>2]|0;l=c[r+(s<<4)>>2]|0;m=c[r+(s<<4)+4>>2]|0;n=j+-1|0;g=0;i=0;while(1){h=n+g|0;mb=l<>2]|0);h=m<<(c[k+(i<<4)+4>>2]|0)+h;e=(e|0)==0?mb:e>>>0>>0?e:mb;f=(f|0)==0?h:f>>>0>>0?f:h;h=i+1|0;if((h|0)==(j|0))break;else{g=~i;i=h}}c[o>>2]=e;c[p>>2]=f}s=s+1|0}while((s|0)!=(q|0))}if(!(a[d>>0]|0)){e=c[d+204>>2]|0;c[d+104>>2]=e;c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}else e=c[d+104>>2]|0;c[d+220>>2]=e;f=93}while(1){if((f|0)==93){if((e|0)>=(c[d+108>>2]|0)){nb=0;f=153;break}ta=c[d+96>>2]|0;c[d+216>>2]=ta;f=95}else if((f|0)==113){Ha=Ka+1|0;c[pa>>2]=Ha;qa=pa;Ia=Na;Qa=Ra;f=109}while(1){if((f|0)==95){if((ta|0)>=(c[d+100>>2]|0)){f=117;break}ua=c[d+48>>2]|0;c[d+24>>2]=ua;f=97}else if((f|0)==109){if(Ha>>>0<(c[d+52>>2]|0)>>>0){f=111;break}La=d+28|0;ra=La;La=c[La>>2]|0;Oa=Ia;Sa=Qa;f=114}while(1){if((f|0)==97){if(ua>>>0>=(c[d+60>>2]|0)>>>0){f=116;break}Pa=(c[d+196>>2]|0)+(ua<<4)|0;va=c[d+44>>2]|0;sa=d+28|0;c[sa>>2]=va;Ma=ua}else if((f|0)==114){va=La+1|0;c[ra>>2]=va;sa=ra;Ma=Oa;Pa=Sa}mb=c[d+56>>2]|0;f=c[Pa+8>>2]|0;if(va>>>0>=(mb>>>0>>0?mb:f)>>>0){ua=Ma+1|0;c[d+24>>2]=ua;f=97;continue}n=c[Pa+12>>2]|0;f=f+~va|0;g=c[d+200>>2]|0;h=c[Pa>>2]|0;wa=h<>2]|0;mb=c[Pa+4>>2]|0;ya=mb<>2]|0)|0)/(wa|0)|0;Ba=ya+-1|0;k=(Ba+(c[d+212>>2]|0)|0)/(ya|0)|0;Ca=c[n+(va<<4)>>2]|0;l=Ca+f|0;Da=c[n+(va<<4)+4>>2]|0;m=Da+f|0;Ea=c[d+220>>2]|0;if((Ea|0)%(mb<>2]|0;if((Fa|0)%(h<>2]|0;if(!Ga){ra=sa;La=va;Oa=Ma;Sa=Pa;f=114;continue}if((za|0)==(k|0)|((xa|0)==(j|0)?1:(c[n+(va<<4)+12>>2]|0)==0)){ra=sa;La=va;Oa=Ma;Sa=Pa;f=114}else{f=108;break}}if((f|0)==108){c[d+32>>2]=(((Aa+Fa|0)/(wa|0)|0)>>Ca)-(xa>>Ca)+(_((((Ba+Ea|0)/(ya|0)|0)>>Da)-(za>>Da)|0,Ga)|0);Ha=c[d+64>>2]|0;qa=d+36|0;c[qa>>2]=Ha;Ia=Ma;Qa=Pa;f=109;continue}else if((f|0)==116){ta=c[d+224>>2]|0;f=d+216|0;mb=c[f>>2]|0;ta=mb+ta-((mb|0)%(ta|0)|0)|0;c[f>>2]=ta;f=95;continue}}if((f|0)==111){f=0;Ja=_(c[d+8>>2]|0,Ha)|0;Ja=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+Ja|0;Ja=Ja+(_(c[d+16>>2]|0,Ia)|0)|0;Ja=Ja+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;Ja=(c[d+4>>2]|0)+(Ja<<1)|0;if(!(b[Ja>>1]|0))break;else{pa=qa;Ka=Ha;Na=Ia;Ra=Qa;f=113;continue}}else if((f|0)==117){e=c[d+228>>2]|0;f=d+220|0;mb=c[f>>2]|0;e=mb+e-((mb|0)%(e|0)|0)|0;c[f>>2]=e;f=93;continue}}if((f|0)==153)return nb|0;b[Ja>>1]=1;d=1;return d|0}case 4:{e=d+40|0;if(!(c[e>>2]|0)){na=c[d+24>>2]|0;ea=d+36|0;K=ea;ea=c[ea>>2]|0;ga=na;na=(c[d+196>>2]|0)+(na<<4)|0;f=148}else{c[e>>2]=0;O=c[d+48>>2]|0;c[d+24>>2]=O;f=121}while(1){if((f|0)==121){if(O>>>0>=(c[d+60>>2]|0)>>>0){nb=0;f=153;break}e=c[d+196>>2]|0;q=e+(O<<4)|0;o=d+224|0;c[o>>2]=0;p=d+228|0;c[p>>2]=0;l=c[e+(O<<4)+8>>2]|0;if(l){m=c[e+(O<<4)+12>>2]|0;n=c[q>>2]|0;h=c[e+(O<<4)+4>>2]|0;i=l+-1|0;f=0;e=0;g=0;k=0;while(1){j=i+g|0;mb=n<>2]|0);j=h<<(c[m+(k<<4)+4>>2]|0)+j;f=(f|0)==0?mb:f>>>0>>0?f:mb;e=(e|0)==0?j:e>>>0>>0?e:j;j=k+1|0;if((j|0)==(l|0))break;else{g=~k;k=j}}c[o>>2]=f;c[p>>2]=e}if(!(a[d>>0]|0)){e=c[d+204>>2]|0;c[d+104>>2]=e;c[d+96>>2]=c[d+200>>2];c[d+108>>2]=c[d+212>>2];c[d+100>>2]=c[d+208>>2]}else e=c[d+104>>2]|0;c[d+220>>2]=e;H=e;I=O;f=130}else if((f|0)==148){ba=ea+1|0;c[K>>2]=ba;L=K;ca=ga;ma=na;f=144}while(1){if((f|0)==130){if((H|0)>=(c[d+108>>2]|0)){f=152;break}P=c[d+96>>2]|0;c[d+216>>2]=P;ha=I;ka=q;f=132}else if((f|0)==144){if(ba>>>0<(c[d+52>>2]|0)>>>0){f=146;break}fa=d+28|0;M=fa;fa=c[fa>>2]|0;ja=ca;oa=ma;f=149}while(1){if((f|0)==132){if((P|0)>=(c[d+100>>2]|0)){f=151;break}Q=c[d+44>>2]|0;N=d+28|0;c[N>>2]=Q;ia=ha;la=ka}else if((f|0)==149){Q=fa+1|0;c[M>>2]=Q;N=M;ia=ja;la=oa}mb=c[d+56>>2]|0;e=c[la+8>>2]|0;if(Q>>>0>=(mb>>>0>>0?mb:e)>>>0){P=c[d+224>>2]|0;ha=d+216|0;ka=c[ha>>2]|0;P=ka+P-((ka|0)%(P|0)|0)|0;c[ha>>2]=P;ha=ia;ka=la;f=132;continue}m=c[la+12>>2]|0;e=e+~Q|0;f=c[d+200>>2]|0;g=c[la>>2]|0;R=g<>2]|0;mb=c[la+4>>2]|0;T=mb<>2]|0)|0)/(R|0)|0;W=T+-1|0;j=(W+(c[d+212>>2]|0)|0)/(T|0)|0;X=c[m+(Q<<4)>>2]|0;k=X+e|0;Y=c[m+(Q<<4)+4>>2]|0;l=Y+e|0;Z=c[d+220>>2]|0;if((Z|0)%(mb<>2]|0;if(($|0)%(g<>2]|0;if(!aa){M=N;fa=Q;ja=ia;oa=la;f=149;continue}if((U|0)==(j|0)|((S|0)==(i|0)?1:(c[m+(Q<<4)+12>>2]|0)==0)){M=N;fa=Q;ja=ia;oa=la;f=149}else{f=143;break}}if((f|0)==143){c[d+32>>2]=(((V+$|0)/(R|0)|0)>>X)-(S>>X)+(_((((W+Z|0)/(T|0)|0)>>Y)-(U>>Y)|0,aa)|0);ba=c[d+64>>2]|0;L=d+36|0;c[L>>2]=ba;ca=ia;ma=la;f=144;continue}else if((f|0)==151){H=c[d+228>>2]|0;I=d+220|0;q=c[I>>2]|0;H=q+H-((q|0)%(H|0)|0)|0;c[I>>2]=H;I=ha;q=ka;f=130;continue}}if((f|0)==146){f=0;da=_(c[d+8>>2]|0,ba)|0;da=(_(c[d+12>>2]|0,c[d+28>>2]|0)|0)+da|0;da=da+(_(c[d+16>>2]|0,ca)|0)|0;da=da+(_(c[d+20>>2]|0,c[d+32>>2]|0)|0)|0;da=(c[d+4>>2]|0)+(da<<1)|0;if(!(b[da>>1]|0))break;else{K=L;ea=ba;ga=ca;na=ma;f=148;continue}}else if((f|0)==152){O=I+1|0;c[d+24>>2]=O;f=121;continue}}if((f|0)==153)return nb|0;b[da>>1]=1;d=1;return d|0}default:{d=0;return d|0}}return 0}function Pf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=(c[b+(d*5640|0)+420>>2]|0)+1|0;e=Qc(l,232)|0;if(!e){l=0;return l|0}if(!l){l=e;return l|0}j=a+16|0;g=b+(d*5640|0)+5584|0;a=c[j>>2]|0;h=e;i=0;a:while(1){b=Qc(a,16)|0;f=h+196|0;c[f>>2]=b;if(!b){a=5;break}k=c[j>>2]|0;c[h+192>>2]=k;b:do{if(!k)a=0;else{a=(c[g>>2]|0)+4|0;k=Qc(c[a>>2]|0,16)|0;c[b+12>>2]=k;if(!k){a=18;break a}else d=0;while(1){c[b+(d<<4)+8>>2]=c[a>>2];d=d+1|0;a=c[j>>2]|0;if(d>>>0>=a>>>0)break b;b=c[f>>2]|0;a=(c[g>>2]|0)+(d*1080|0)+4|0;k=Qc(c[a>>2]|0,16)|0;c[b+(d<<4)+12>>2]=k;if(!k){a=18;break a}}}}while(0);i=i+1|0;if(i>>>0>=l>>>0){a=32;break}else h=h+232|0}if((a|0)==5){a=e+4|0;b=c[a>>2]|0;if(!b){j=e;k=0}else{Uc(b);c[a>>2]=0;j=e;k=0}while(1){i=j+196|0;a=c[i>>2]|0;if(a){h=j+192|0;b=c[h>>2]|0;if(b){g=0;while(1){d=a+12|0;f=c[d>>2]|0;if(f){Uc(f);c[d>>2]=0;b=c[h>>2]|0}g=g+1|0;if(g>>>0>=b>>>0)break;else a=a+16|0}a=c[i>>2]|0}Uc(a);c[i>>2]=0}k=k+1|0;if((k|0)==(l|0))break;else j=j+232|0}Uc(e);l=0;return l|0}else if((a|0)==18){a=e+4|0;b=c[a>>2]|0;if(!b){j=e;k=0}else{Uc(b);c[a>>2]=0;j=e;k=0}while(1){i=j+196|0;a=c[i>>2]|0;if(a){h=j+192|0;b=c[h>>2]|0;if(b){g=0;while(1){d=a+12|0;f=c[d>>2]|0;if(f){Uc(f);c[d>>2]=0;b=c[h>>2]|0}g=g+1|0;if(g>>>0>=b>>>0)break;else a=a+16|0}a=c[i>>2]|0}Uc(a);c[i>>2]=0}k=k+1|0;if((k|0)==(l|0))break;else j=j+232|0}Uc(e);l=0;return l|0}else if((a|0)==32)return e|0;return 0}function Qf(a,b,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;o=c[(c[b+76>>2]|0)+(d*5640|0)+5584>>2]|0;n=c[a+24>>2]|0;I=c[b+24>>2]|0;H=b+12|0;G=(_(c[H>>2]|0,(d>>>0)%(I>>>0)|0)|0)+(c[b+4>>2]|0)|0;F=c[a>>2]|0;c[e>>2]=G>>>0>F>>>0?G:F;G=Si(c[H>>2]|0,0,G|0,0)|0;G=G|0-C;H=c[a+8>>2]|0;c[f>>2]=G>>>0>>0?G:H;H=b+16|0;I=(_(c[H>>2]|0,(d>>>0)/(I>>>0)|0)|0)+(c[b+8>>2]|0)|0;G=c[a+4>>2]|0;c[g>>2]=I>>>0>G>>>0?I:G;I=Si(c[H>>2]|0,0,I|0,0)|0;I=I|0-C;H=c[a+12>>2]|0;c[h>>2]=I>>>0>>0?I:H;c[k>>2]=0;c[l>>2]=0;c[i>>2]=2147483647;c[j>>2]=2147483647;H=a+16|0;if(!(c[H>>2]|0))return;else I=0;while(1){r=c[m+(I<<2)>>2]|0;p=c[n>>2]|0;a=((c[e>>2]|0)+-1+p|0)/(p|0)|0;F=n+4|0;q=c[F>>2]|0;d=((c[g>>2]|0)+-1+q|0)/(q|0)|0;p=(p+-1+(c[f>>2]|0)|0)/(p|0)|0;q=(q+-1+(c[h>>2]|0)|0)/(q|0)|0;G=o+4|0;b=c[G>>2]|0;if(b>>>0>(c[l>>2]|0)>>>0){c[l>>2]=b;b=c[G>>2]|0}if(b){D=Si(a|0,((a|0)<0)<<31>>31|0,-1,-1)|0;E=C;A=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;B=C;y=Si(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;z=C;w=Si(q|0,((q|0)<0)<<31>>31|0,-1,-1)|0;x=C;v=0;while(1){b=b+-1|0;p=c[o+812+(v<<2)>>2]|0;u=c[o+944+(v<<2)>>2]|0;c[r>>2]=p;c[r+4>>2]=u;s=c[n>>2]<>2]<>2]|0;c[i>>2]=(a|0)<(s|0)?a:s;s=c[j>>2]|0;c[j>>2]=(s|0)<(J|0)?s:J;J=Ri(1,0,b|0)|0;s=C;a=Si(D|0,E|0,J|0,s|0)|0;a=Pi(a|0,C|0,b|0)|0;q=Si(A|0,B|0,J|0,s|0)|0;q=Pi(q|0,C|0,b|0)|0;d=Si(y|0,z|0,J|0,s|0)|0;d=Pi(d|0,C|0,b|0)|0;s=Si(w|0,x|0,J|0,s|0)|0;s=Pi(s|0,C|0,b|0)|0;J=Ri(1,0,u|0)|0;t=C;K=Si(s|0,((s|0)<0)<<31>>31|0,-1,-1)|0;t=Si(K|0,C|0,J|0,t|0)|0;t=Pi(t|0,C|0,u|0)|0;if((a|0)==(d|0))a=0;else{d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;J=C;K=Ri(1,0,p|0)|0;K=Si(d|0,J|0,K|0,C|0)|0;K=Pi(K|0,C|0,p|0)|0;a=(K<>p<>p}K=(q|0)==(s|0)?0:(t<>u<>u;c[r+8>>2]=a;c[r+12>>2]=K;a=_(a,K)|0;if(a>>>0>(c[k>>2]|0)>>>0)c[k>>2]=a;v=v+1|0;if(v>>>0>=(c[G>>2]|0)>>>0)break;else r=r+16|0}}I=I+1|0;if(I>>>0>=(c[H>>2]|0)>>>0)break;else{n=n+52|0;o=o+1080|0}}return}function Rf(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;k=(c[a+(b*5640|0)+420>>2]|0)+1|0;c[a+(b*5640|0)+500>>2]=c[a+(b*5640|0)+428>>2];c[a+(b*5640|0)+516>>2]=c[a+(b*5640|0)+440>>2];c[a+(b*5640|0)+496>>2]=c[a+(b*5640|0)+424>>2];c[a+(b*5640|0)+512>>2]=c[a+(b*5640|0)+436>>2];c[a+(b*5640|0)+508>>2]=c[a+(b*5640|0)+432>>2];c[a+(b*5640|0)+492>>2]=0;c[a+(b*5640|0)+460>>2]=c[a+(b*5640|0)+456>>2];c[a+(b*5640|0)+504>>2]=0;c[a+(b*5640|0)+520>>2]=h;c[a+(b*5640|0)+524>>2]=d;c[a+(b*5640|0)+528>>2]=e;c[a+(b*5640|0)+532>>2]=f;c[a+(b*5640|0)+536>>2]=g;c[a+(b*5640|0)+540>>2]=i;c[a+(b*5640|0)+544>>2]=j;if(k>>>0<=1)return;a=a+(b*5640|0)+572|0;b=1;while(1){c[a+76>>2]=c[a+4>>2];c[a+92>>2]=c[a+16>>2];c[a+72>>2]=c[a>>2];c[a+88>>2]=c[a+12>>2];l=c[a+8>>2]|0;c[a+84>>2]=l;c[a+36>>2]=c[a+32>>2];c[a+80>>2]=0;c[a+68>>2]=l>>>0>(c[a+-64>>2]|0)>>>0?l:0;c[a+96>>2]=h;c[a+100>>2]=d;c[a+104>>2]=e;c[a+108>>2]=f;c[a+112>>2]=g;c[a+116>>2]=i;c[a+120>>2]=j;b=b+1|0;if((b|0)==(k|0))break;else a=a+148|0}return}function Sf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=c[d+76>>2]|0;if((b|0)>-1)h=b;else{e=0;return e|0}a:while(1){switch(a[g+h>>0]|0){case 82:{i=3;break a}case 67:{i=5;break a}case 76:{i=7;break a}case 80:{i=9;break a}default:{}}h=h+-1|0}if((i|0)==3)if((c[j+(e*5640|0)+424+(f*148|0)+128>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+88>>2]|0))return(Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==5)if((c[j+(e*5640|0)+424+(f*148|0)+132>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+92>>2]|0))return(Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==7)if((c[j+(e*5640|0)+424+(f*148|0)+124>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+84>>2]|0))return(Sf(b+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}else if((i|0)==9){if((c[j+(e*5640|0)+424+(f*148|0)+36>>2]|0)>>>0<2)if((c[j+(e*5640|0)+424+(f*148|0)+136>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+96>>2]|0))return(Sf(h+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}if((c[j+(e*5640|0)+424+(f*148|0)+140>>2]|0)!=(c[j+(e*5640|0)+424+(f*148|0)+104>>2]|0)){e=1;return e|0}if((c[j+(e*5640|0)+424+(f*148|0)+144>>2]|0)==(c[j+(e*5640|0)+424+(f*148|0)+112>>2]|0))return(Sf(h+-1|0,d,e,f,g)|0)!=0|0;else{e=1;return e|0}}return 0}function Tf(b){b=b|0;var d=0,e=0;d=Qc(1,44)|0;if(!d){b=0;return b|0}e=d+40|0;a[e>>0]=a[e>>0]&-2|(b|0)!=0;b=Qc(1,4)|0;c[d+20>>2]=b;if(b){e=d;return e|0}Uc(d);e=0;return e|0}function Uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+1200|0;N=O;e=c[c[a+20>>2]>>2]|0;M=e+16|0;f=c[M>>2]|0;if(!f){i=O;return}J=e+20|0;K=(c[a+32>>2]|0)+8|0;L=(c[a+28>>2]|0)+88|0;H=a+24|0;I=(b|0)==0;F=(d|0)==0;G=b+-1|0;e=f;E=0;do{j=c[J>>2]|0;k=c[K>>2]|0;C=c[j+(E*52|0)+16>>2]|0;if(k){if(C){a=c[L>>2]|0;g=+((c[(c[(c[H>>2]|0)+24>>2]|0)+(E*52|0)+24>>2]|0)>>>0)*.0625;f=0;do{d=_(C,f)|0;h=0;do{D=(d+h|0)*3|0;c[N+(f*120|0)+(h*12|0)>>2]=~~(+(c[a+(D<<2)>>2]|0)*g);c[N+(f*120|0)+(h*12|0)+4>>2]=~~(+(c[a+(D+1<<2)>>2]|0)*g);c[N+(f*120|0)+(h*12|0)+8>>2]=~~(+(c[a+(D+2<<2)>>2]|0)*g);h=h+1|0}while(h>>>0>>0);f=f+1|0}while(f>>>0>>0);D=9}}else D=9;if((D|0)==9){D=0;if(C){w=j+(E*52|0)+24|0;B=0;do{x=c[w>>2]|0;y=x+(B*136|0)+24|0;e=c[y>>2]|0;if(e){z=x+(B*136|0)+16|0;A=x+(B*136|0)+20|0;a=c[A>>2]|0;d=c[z>>2]|0;v=0;do{if(_(a,d)|0){s=x+(B*136|0)+28+(v*36|0)+20|0;t=N+(b*120|0)+(B*12|0)+(v<<2)|0;u=N+(G*120|0)+(B*12|0)+(v<<2)|0;r=0;do{e=c[s>>2]|0;q=_(c[e+(r*40|0)+20>>2]|0,c[e+(r*40|0)+16>>2]|0)|0;if(q){m=e+(r*40|0)+24|0;n=c[t>>2]|0;p=0;do{k=c[m>>2]|0;l=k+(p*52|0)|0;o=c[k+(p*52|0)+4>>2]|0;e=(c[(c[(c[H>>2]|0)+24>>2]|0)+(E*52|0)+24>>2]|0)-(c[k+(p*52|0)+28>>2]|0)|0;if(!I){a=c[u>>2]|0;d=n-a|0;if((a|0)<=(e|0)){d=d+(a-e)|0;d=(d|0)<0?0:d}}else{c[k+(p*52|0)+44>>2]=0;d=(n|0)>(e|0)?n-e|0:0}j=k+(p*52|0)+44|0;f=c[j>>2]|0;h=(f|0)==0;if(h)if(!d)d=0;else d=(d*3|0)+-2|0;else d=(d*3|0)+f|0;c[o+(b*24|0)>>2]=d-f;do{if((d|0)!=(f|0)){a=c[k+(p*52|0)+8>>2]|0;e=c[a+((d+-1|0)*24|0)>>2]|0;if(h)c[o+(b*24|0)+16>>2]=c[l>>2];else{k=c[a+((f+-1|0)*24|0)>>2]|0;c[o+(b*24|0)+16>>2]=(c[l>>2]|0)+k;e=e-k|0}c[o+(b*24|0)+4>>2]=e;if(F)break;c[j>>2]=d}}while(0);p=p+1|0}while(p>>>0>>0);a=c[A>>2]|0;d=c[z>>2]|0}r=r+1|0}while(r>>>0<(_(a,d)|0)>>>0);e=c[y>>2]|0}v=v+1|0}while(v>>>0>>0)}B=B+1|0}while(B>>>0>>0);e=c[M>>2]|0}}E=E+1|0}while(E>>>0>>0);i=O;return}function Vf(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;a=c[c[a+20>>2]>>2]|0;G=a+40+(b<<3)|0;h[G>>3]=0.0;H=a+16|0;f=c[H>>2]|0;if(!f)return;E=a+20|0;F=(b|0)==0;D=(e|0)==0;a=f;C=0;do{f=c[E>>2]|0;B=c[f+(C*52|0)+16>>2]|0;if(B){v=f+(C*52|0)+24|0;A=0;do{w=c[v>>2]|0;x=w+(A*136|0)+24|0;a=c[x>>2]|0;if(a){y=w+(A*136|0)+16|0;z=w+(A*136|0)+20|0;f=c[z>>2]|0;e=c[y>>2]|0;u=0;do{if(_(f,e)|0){t=w+(A*136|0)+28+(u*36|0)+20|0;s=0;do{a=c[t>>2]|0;r=_(c[a+(s*40|0)+20>>2]|0,c[a+(s*40|0)+16>>2]|0)|0;if(r){n=a+(s*40|0)+24|0;q=0;do{k=c[n>>2]|0;l=k+(q*52|0)|0;o=c[k+(q*52|0)+4>>2]|0;p=k+(q*52|0)+44|0;if(F){c[p>>2]=0;m=0}else m=c[p>>2]|0;e=c[k+(q*52|0)+48>>2]|0;if(m>>>0>>0){i=c[k+(q*52|0)+8>>2]|0;a=m;j=m;do{f=c[i+(j*24|0)>>2]|0;g=+h[i+(j*24|0)+8>>3];if(a){J=a+-1|0;g=g-+h[i+(J*24|0)+8>>3];f=f-(c[i+(J*24|0)>>2]|0)|0}do{if(!f){if(!(g!=0.0))break;a=j+1|0}else{if(!(d-g/+(f>>>0)<2.220446049250313e-16))break;a=j+1|0}}while(0);j=j+1|0}while(j>>>0>>0);i=a;c[o+(b*24|0)>>2]=i-m;if((i|0)!=(m|0)){e=i+-1|0;f=c[k+(q*52|0)+8>>2]|0;a=c[f+(e*24|0)>>2]|0;if(!m){c[o+(b*24|0)+16>>2]=c[l>>2];g=+h[f+(e*24|0)+8>>3]}else{m=m+-1|0;J=c[f+(m*24|0)>>2]|0;c[o+(b*24|0)+16>>2]=(c[l>>2]|0)+J;g=+h[f+(e*24|0)+8>>3]-+h[f+(m*24|0)+8>>3];a=a-J|0}c[o+(b*24|0)+4>>2]=a;h[o+(b*24|0)+8>>3]=g;h[G>>3]=g+ +h[G>>3];if(!D)c[p>>2]=i}else I=26}else{c[o+(b*24|0)>>2]=0;I=26}if((I|0)==26){I=0;h[o+(b*24|0)+8>>3]=0.0}q=q+1|0}while(q>>>0>>0);f=c[z>>2]|0;e=c[y>>2]|0}s=s+1|0}while(s>>>0<(_(f,e)|0)>>>0);a=c[x>>2]|0}u=u+1|0}while(u>>>0>>0)}A=A+1|0}while(A>>>0>>0);a=c[H>>2]|0}C=C+1|0}while(C>>>0>>0);return}function Wf(d,e,f,j,k){d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=i;i=i+800|0;V=W;S=c[d+28>>2]|0;T=c[c[d+20>>2]>>2]|0;U=c[d+32>>2]|0;O=T+24|0;c[O>>2]=0;Q=c[T+16>>2]|0;if(!Q){l=0;J=0.0;n=0.0;p=1797693134862315708145274.0e284}else{M=c[T+20>>2]|0;N=c[(c[d+24>>2]|0)+24>>2]|0;l=0;R=0;o=0.0;n=0.0;p=1797693134862315708145274.0e284;do{I=M+(R*52|0)+48|0;c[I>>2]=0;K=c[M+(R*52|0)+16>>2]|0;if(!K)m=0;else{L=c[M+(R*52|0)+24>>2]|0;m=0;H=0;do{E=c[L+(H*136|0)+24>>2]|0;if(E){F=_(c[L+(H*136|0)+20>>2]|0,c[L+(H*136|0)+16>>2]|0)|0;G=(F|0)==0;D=0;do{if(!G){C=c[L+(H*136|0)+28+(D*36|0)+20>>2]|0;B=0;do{z=_(c[C+(B*40|0)+20>>2]|0,c[C+(B*40|0)+16>>2]|0)|0;if(z){A=c[C+(B*40|0)+24>>2]|0;y=0;do{v=c[A+(y*52|0)+48>>2]|0;if(v){w=c[A+(y*52|0)+8>>2]|0;u=0;do{t=c[w+(u*24|0)>>2]|0;q=+h[w+(u*24|0)+8>>3];if(u){X=u+-1|0;q=q-+h[w+(X*24|0)+8>>3];t=t-(c[w+(X*24|0)>>2]|0)|0}do{if(t){q=q/+(t|0);p=qo))break;o=q}}while(0);u=u+1|0}while(u>>>0>>0)}X=_((c[A+(y*52|0)+24>>2]|0)-(c[A+(y*52|0)+16>>2]|0)|0,(c[A+(y*52|0)+20>>2]|0)-(c[A+(y*52|0)+12>>2]|0)|0)|0;l=X+l|0;m=X+m|0;y=y+1|0}while(y>>>0>>0);c[O>>2]=l;c[I>>2]=m}B=B+1|0}while(B>>>0>>0)}D=D+1|0}while(D>>>0>>0)}H=H+1|0}while(H>>>0>>0)}J=+(1<>2]|0)+-1.0;n=n+ +(m|0)*(J*J);R=R+1|0}while(R>>>0>>0);J=o}I=(k|0)!=0;if(I){R=c[d+36>>2]|0;Q=c[k+88>>2]|0;c[Q+(R*592|0)+552>>2]=l;h[Q+(R*592|0)+560>>3]=+h[T+32>>3];l=U+8|0;X=Pc(c[l>>2]<<3)|0;c[Q+(R*592|0)>>2]=X;if(!X){X=0;i=W;return X|0}}else l=U+8|0;if(!(c[l>>2]|0)){X=1;i=W;return X|0}z=T+32|0;A=S+93|0;B=d+36|0;C=k+88|0;D=T+40|0;E=d+24|0;F=d+8|0;G=d+16|0;H=0;while(1){o=+g[U+20+(H<<2)>>2];if(o!=0.0){w=~~+Z(+o)>>>0;w=w>>>0>>0?w:j}else w=j;s=+g[U+5184+(H<<2)>>2];x=+h[z>>3]-n/+P(10.0,+(s/10.0));X=a[A>>0]|0;if(!((X&1)!=0&o>0.0)?!((X&4)!=0&s>0.0):0)o=p;else{y=dh(c[E>>2]|0,S)|0;if(!y){l=0;m=57;break}v=H+1|0;m=V+(H+-1<<3)|0;t=T+40+(H<<3)|0;if(!H){r=J;m=0;s=p;q=0.0;do{o=(s+r)*.5;Vf(d,0,o,0);do{if(a[A>>0]&4){if(((b[S>>1]|0)+-3&65535)>=4){X=+h[D>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0))s=o;else{X=+h[D>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0)==0;r=X?r:o;s=X?o:s;q=X?q:o}}while(0);m=m+1|0}while((m|0)!=128)}else{r=J;u=0;s=p;q=0.0;do{o=(s+r)*.5;Vf(d,H,o,0);do{if(a[A>>0]&4){if(((b[S>>1]|0)+-3&65535)>=4){X=+h[m>>3]+ +h[t>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0))s=o;else{X=+h[m>>3]+ +h[t>>3]>2]|0,T,v,e,f,w,k,c[F>>2]|0,c[d>>2]|0,c[G>>2]|0,0)|0)==0;r=X?r:o;s=X?o:s;q=X?q:o}}while(0);u=u+1|0}while((u|0)!=128)}eh(y);o=q==0.0?o:q}if(I)h[(c[(c[C>>2]|0)+((c[B>>2]|0)*592|0)>>2]|0)+(H<<3)>>3]=o;Vf(d,H,o,1);if(!H)o=+h[D>>3];else o=+h[V+(H+-1<<3)>>3]+ +h[T+40+(H<<3)>>3];h[V+(H<<3)>>3]=o;H=H+1|0;if(H>>>0>=(c[l>>2]|0)>>>0){l=1;m=57;break}}if((m|0)==57){i=W;return l|0}return 0}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a+24>>2]=b;c[a+28>>2]=d;f=Qc(1,848)|0;e=a+20|0;c[c[e>>2]>>2]=f;if(!f){a=0;return a|0}f=b+16|0;g=Qc(c[f>>2]|0,52)|0;b=c[c[e>>2]>>2]|0;c[b+20>>2]=g;if(!g){g=0;return g|0}c[b+16>>2]=c[f>>2];c[a>>2]=c[d+84>>2];g=1;return g|0}function Yf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(!b)return;s=b+20|0;d=c[s>>2]|0;do{if(d){r=(a[b+40>>0]&1)==0?3:4;e=c[d>>2]|0;if(e){o=e+20|0;k=e+16|0;if(c[k>>2]|0){m=0;n=c[o>>2]|0;while(1){l=n+24|0;d=c[l>>2]|0;if(d){i=c[n+28>>2]|0;j=(i>>>0)/136|0;if(i>>>0>135){i=0;while(1){h=d+48|0;e=c[h>>2]|0;if(e){f=c[d+52>>2]|0;g=(f>>>0)/40|0;if(f>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=d+84|0;e=c[h>>2]|0;if(e){t=c[d+88>>2]|0;g=(t>>>0)/40|0;if(t>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=d+120|0;e=c[h>>2]|0;if(e){t=c[d+124>>2]|0;g=(t>>>0)/40|0;if(t>>>0>39){f=0;while(1){t=e+32|0;mg(c[t>>2]|0);c[t>>2]=0;t=e+36|0;mg(c[t>>2]|0);c[t>>2]=0;Ta[r&7](e);f=f+1|0;if(f>>>0>=g>>>0)break;else e=e+40|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}i=i+1|0;if(i>>>0>=j>>>0)break;else d=d+136|0}d=c[l>>2]|0}Uc(d);c[l>>2]=0}if((c[n+36>>2]|0)!=0?(p=n+32|0,q=c[p>>2]|0,(q|0)!=0):0){Sc(q);c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}m=m+1|0;if(m>>>0>=(c[k>>2]|0)>>>0)break;else n=n+52|0}}Uc(c[o>>2]|0);c[o>>2]=0;Uc(c[c[s>>2]>>2]|0);d=c[s>>2]|0;c[d>>2]=0;if(!d)break}Uc(d);c[s>>2]=0}}while(0);Uc(b);return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+32|0;f=c[e>>2]|0;b=a+40|0;d=c[b>>2]|0;if(f){g=a+44|0;if(d>>>0<=(c[g>>2]|0)>>>0){a=1;return a|0}if(c[a+36>>2]|0){Sc(f);f=Rc(c[b>>2]|0)|0;c[e>>2]=f;if(!f){c[g>>2]=0;c[b>>2]=0;c[a+36>>2]=0;a=0;return a|0}else{c[g>>2]=c[b>>2];c[a+36>>2]=1;a=1;return a|0}}}g=Rc(d)|0;c[e>>2]=g;if(!g){a=0;return a|0}c[a+44>>2]=c[b>>2];c[a+36>>2]=1;a=1;return a|0}function _f(a,b,c){a=a|0;b=b|0;c=c|0;return ig(a,b,1,1.0,52,c)|0}function $f(a,b,c){a=a|0;b=b|0;c=c|0;return ig(a,b,0,.5,56,c)|0}function ag(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;d=c[a+24>>2]|0;f=c[d+16>>2]|0;if(!f){g=0;return g|0}g=0;b=0;e=c[d+24>>2]|0;d=c[(c[c[a+20>>2]>>2]|0)+20>>2]|0;while(1){i=c[e+24>>2]|0;i=((i&7|0)!=0&1)+(i>>>3)|0;h=c[d+24>>2]|0;a=(c[d+20>>2]|0)+-1|0;b=(_(_((i|0)==3?4:i,(c[h+(a*136|0)+8>>2]|0)-(c[h+(a*136|0)>>2]|0)|0)|0,(c[h+(a*136|0)+12>>2]|0)-(c[h+(a*136|0)+4>>2]|0)|0)|0)+b|0;g=g+1|0;if(g>>>0>=f>>>0)break;else{e=e+52|0;d=d+52|0}}return b|0}function bg(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+16|0;w=y;if(!(c[b+8>>2]|0)){c[b+36>>2]=d;u=b+28|0;j=c[(c[u>>2]|0)+76>>2]|0;x=b+32|0;c[x>>2]=j+(d*5640|0);v=(h|0)==0;t=b+20|0;if(!v){k=c[(c[c[t>>2]>>2]|0)+20>>2]|0;o=c[j+(d*5640|0)+5584>>2]|0;p=k+16|0;if(!(c[p>>2]|0)){k=h+88|0;j=0}else{l=c[k+24>>2]|0;k=h+88|0;m=c[k>>2]|0;n=0;j=0;do{s=l+(n*136|0)+16|0;c[m+(d*592|0)+20+(n<<2)>>2]=c[s>>2];r=l+(n*136|0)+20|0;c[m+(d*592|0)+152+(n<<2)>>2]=c[r>>2];j=(_(c[r>>2]|0,c[s>>2]|0)|0)+j|0;c[m+(d*592|0)+284+(n<<2)>>2]=c[o+812+(n<<2)>>2];c[m+(d*592|0)+416+(n<<2)>>2]=c[o+944+(n<<2)>>2];n=n+1|0}while(n>>>0<(c[p>>2]|0)>>>0)}s=Qc(_(_(c[h+52>>2]|0,j)|0,c[h+56>>2]|0)|0,32)|0;c[(c[k>>2]|0)+(d*592|0)+548>>2]=s;if(!s){b=0;i=y;return b|0}}j=c[c[t>>2]>>2]|0;s=j+16|0;if(!(c[s>>2]|0)){n=c[x>>2]|0;l=0;k=c[j+20>>2]|0}else{n=c[x>>2]|0;k=c[j+20>>2]|0;d=0;q=c[n+5584>>2]|0;r=k;while(1){o=c[r+32>>2]|0;p=_((c[r+12>>2]|0)-(c[r+4>>2]|0)|0,(c[r+8>>2]|0)-(c[r>>2]|0)|0)|0;j=(p|0)==0;if((c[q+20>>2]|0)==1){if(!j){l=q+1076|0;m=0;j=o;while(1){c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0);m=m+1|0;if((m|0)==(p|0))break;else j=j+4|0}}}else if(!j){l=q+1076|0;m=0;j=o;while(1){c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0)<<11;m=m+1|0;if((m|0)==(p|0))break;else j=j+4|0}}d=d+1|0;l=c[s>>2]|0;if(d>>>0>=l>>>0)break;else{q=q+1080|0;r=r+52|0}}}o=_((c[k+12>>2]|0)-(c[k+4>>2]|0)|0,(c[k+8>>2]|0)-(c[k>>2]|0)|0)|0;a:do{switch(c[n+16>>2]|0){case 0:break;case 2:{if(c[n+5608>>2]|0){m=Pc(l<<2)|0;if(!m){b=0;i=y;return b|0}j=c[s>>2]|0;if(!j)j=0;else{l=0;while(1){c[m+(l<<2)>>2]=c[k+32>>2];l=l+1|0;if((l|0)==(j|0))break;else k=k+52|0}}s=(Gf(c[(c[x>>2]|0)+5608>>2]|0,o,m,j,c[(c[(c[b+24>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Uc(m);if(s){b=0;i=y;return b|0}}break}default:{l=c[k+32>>2]|0;m=c[k+84>>2]|0;j=c[k+136>>2]|0;if(!(c[(c[n+5584>>2]|0)+20>>2]|0)){Ef(l,m,j,o);break a}else{Cf(l,m,j,o);break a}}}}while(0);j=c[c[t>>2]>>2]|0;k=j+16|0;b:do{if(c[k>>2]|0){l=0;m=c[(c[x>>2]|0)+5584>>2]|0;j=c[j+20>>2]|0;c:while(1){switch(c[m+20>>2]|0){case 1:{if(!(Fg(j)|0)){j=0;k=54;break c}break}case 0:{if(!(Jg(j)|0)){j=0;k=54;break c}break}default:{}}l=l+1|0;if(l>>>0>=(c[k>>2]|0)>>>0)break b;else{m=m+1080|0;j=j+52|0}}if((k|0)==54){i=y;return j|0}}}while(0);j=c[x>>2]|0;k=Wg(1)|0;if(!k){b=0;i=y;return b|0}do{if((c[j+16>>2]|0)==1)if(!(c[(c[j+5584>>2]|0)+20>>2]|0)){l=Bf()|0;m=3;break}else{l=Af()|0;m=3;break}else{l=c[j+5600>>2]|0;m=c[(c[b+24>>2]|0)+16>>2]|0}}while(0);t=Zg(k,c[c[t>>2]>>2]|0,j,l,m)|0;Xg(k);if(!t){b=0;i=y;return b|0}j=c[u>>2]|0;c[w>>2]=0;if(!v)c[h+12>>2]=0;if(!(a[j+93>>0]&5)){if(c[(c[x>>2]|0)+8>>2]|0){j=0;do{Uf(b,j,1);j=j+1|0}while(j>>>0<(c[(c[x>>2]|0)+8>>2]|0)>>>0)}}else if(!(Wf(b,e,w,g,h)|0)){b=0;i=y;return b|0}}if(h)c[h+12>>2]=1;j=dh(c[b+24>>2]|0,c[b+28>>2]|0)|0;if(!j)j=1;else{b=bh(j,c[b+36>>2]|0,c[c[b+20>>2]>>2]|0,c[(c[b+32>>2]|0)+8>>2]|0,e,f,g,h,c[b+4>>2]|0,c[b>>2]|0,c[b+16>>2]|0,1)|0;eh(j);j=(b|0)==0}b=j&1^1;i=y;return b|0}function cg(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+16|0;m=u+8|0;l=u;k=u+12|0;j=a+36|0;c[j>>2]=e;t=c[a+28>>2]|0;p=a+32|0;c[p>>2]=(c[t+76>>2]|0)+(e*5640|0);c[k>>2]=0;o=a+24|0;e=dh(c[o>>2]|0,t)|0;if(!e){t=0;i=u;return t|0}n=a+20|0;t=ch(e,c[j>>2]|0,c[c[n>>2]>>2]|0,b,k,d,f,h)|0;eh(e);if(!t){t=0;i=u;return t|0}e=c[c[n>>2]>>2]|0;a=c[(c[p>>2]|0)+5584>>2]|0;j=c[e+20>>2]|0;d=Wg(0)|0;if(!d){t=0;i=u;return t|0}k=e+16|0;a:do{if(c[k>>2]|0){f=0;e=j;while(1){if(!(Yg(d,e,a)|0))break;f=f+1|0;if(f>>>0>=(c[k>>2]|0)>>>0)break a;else{a=a+1080|0;e=e+52|0}}Xg(d);t=0;i=u;return t|0}}while(0);Xg(d);e=c[c[n>>2]>>2]|0;j=e+16|0;do{if(c[j>>2]|0){k=0;f=c[(c[o>>2]|0)+24>>2]|0;d=c[(c[p>>2]|0)+5584>>2]|0;a=c[e+20>>2]|0;while(1){e=(c[f+36>>2]|0)+1|0;if((c[d+20>>2]|0)==1){if(!(Gg(a,e)|0)){e=0;a=49;break}}else if(!(Ng(a,e)|0)){e=0;a=49;break}k=k+1|0;if(k>>>0>=(c[j>>2]|0)>>>0){a=14;break}else{f=f+52|0;d=d+1080|0;a=a+52|0}}if((a|0)==14){e=c[c[n>>2]>>2]|0;break}else if((a|0)==49){i=u;return e|0}}}while(0);k=c[p>>2]|0;a=c[e+20>>2]|0;j=c[k+16>>2]|0;do{if(j){b=_((c[a+12>>2]|0)-(c[a+4>>2]|0)|0,(c[a+8>>2]|0)-(c[a>>2]|0)|0)|0;d=e+16|0;e=c[d>>2]|0;if(e>>>0<=2){c[m>>2]=e;Ub(h,1,19703,m)|0;break}if((_((c[a+64>>2]|0)-(c[a+56>>2]|0)|0,(c[a+60>>2]|0)-(c[a+52>>2]|0)|0)|0)>=(b|0)?(_((c[a+116>>2]|0)-(c[a+108>>2]|0)|0,(c[a+112>>2]|0)-(c[a+104>>2]|0)|0)|0)>=(b|0):0){if((j|0)!=2){e=c[a+32>>2]|0;if((c[(c[k+5584>>2]|0)+20>>2]|0)==1){Df(e,c[a+84>>2]|0,c[a+136>>2]|0,b);break}else{Ff(e,c[a+84>>2]|0,c[a+136>>2]|0,b);break}}f=k+5604|0;if(!(c[f>>2]|0))break;k=Pc(e<<2)|0;if(!k){t=0;i=u;return t|0}e=c[d>>2]|0;if(!e)e=0;else{j=0;while(1){c[k+(j<<2)>>2]=c[a+32>>2];j=j+1|0;if((j|0)==(e|0))break;else a=a+52|0}}t=(Hf(c[f>>2]|0,b,k,e,c[(c[(c[o>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Uc(k);if(t)e=0;else break;i=u;return e|0}Ub(h,1,19642,l)|0;t=0;i=u;return t|0}}while(0);e=c[c[n>>2]>>2]|0;s=e+16|0;if(!(c[s>>2]|0)){t=1;i=u;return t|0}t=0;r=c[(c[o>>2]|0)+24>>2]|0;q=c[(c[p>>2]|0)+5584>>2]|0;p=c[e+20>>2]|0;while(1){o=c[p+24>>2]|0;h=c[r+36>>2]|0;j=c[o+(h*136|0)+8>>2]|0;k=c[o+(h*136|0)>>2]|0;n=j-k|0;f=c[o+(h*136|0)+12>>2]|0;h=c[o+(h*136|0)+4>>2]|0;o=(c[p+8>>2]|0)-(c[p>>2]|0)-n|0;e=c[r+24>>2]|0;if(!(c[r+32>>2]|0)){e=1<>2]|0;a=(f|0)==(h|0);if((c[q+20>>2]|0)==1){if(!a){d=(j|0)==(k|0);b=q+1076|0;k=f-h|0;f=0;while(1){if(!d){a=0;j=e;while(1){h=(c[b>>2]|0)+(c[j>>2]|0)|0;c[j>>2]=(h|0)<(m|0)?m:(h|0)>(l|0)?l:h;a=a+1|0;if((a|0)==(n|0))break;else j=j+4|0}e=e+(n<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else e=e+(o<<2)|0}}}else if(!a){d=(j|0)==(k|0);b=q+1076|0;k=f-h|0;f=0;while(1){if(!d){a=0;j=e;while(1){h=Hh(+g[j>>2])|0;h=(c[b>>2]|0)+h|0;c[j>>2]=(h|0)<(m|0)?m:(h|0)>(l|0)?l:h;a=a+1|0;if((a|0)==(n|0))break;else j=j+4|0}e=e+(n<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else e=e+(o<<2)|0}}t=t+1|0;if(t>>>0>=(c[s>>2]|0)>>>0){e=1;break}else{r=r+52|0;q=q+1080|0;p=p+52|0}}i=u;return e|0}function dg(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=d+24|0;m=c[q>>2]|0;h=c[m+16>>2]|0;l=(h|0)==0;if(l){q=1;return q|0}i=0;g=0;j=c[m+24>>2]|0;k=c[(c[c[d+20>>2]>>2]|0)+20>>2]|0;while(1){n=c[j+24>>2]|0;n=((n&7|0)!=0&1)+(n>>>3)|0;o=c[k+24>>2]|0;p=(c[k+20>>2]|0)+-1|0;g=(_(_((n|0)==3?4:n,(c[o+(p*136|0)+8>>2]|0)-(c[o+(p*136|0)>>2]|0)|0)|0,(c[o+(p*136|0)+12>>2]|0)-(c[o+(p*136|0)+4>>2]|0)|0)|0)+g|0;i=i+1|0;if((i|0)==(h|0))break;else{j=j+52|0;k=k+52|0}}g=g>>>0>f>>>0;if(g|l){q=g&1^1;return q|0}p=0;o=c[m+24>>2]|0;n=c[(c[c[d+20>>2]>>2]|0)+20>>2]|0;while(1){l=c[o+24>>2]|0;d=c[n+24>>2]|0;f=c[o+36>>2]|0;i=c[d+(f*136|0)+8>>2]|0;j=c[d+(f*136|0)>>2]|0;m=i-j|0;k=c[d+(f*136|0)+12>>2]|0;f=c[d+(f*136|0)+4>>2]|0;d=(c[n+8>>2]|0)-(c[n>>2]|0)-m|0;l=((l&7|0)!=0&1)+(l>>>3)|0;a:do{switch(((l|0)==3?4:l)|0){case 1:{g=c[n+32>>2]|0;h=(k|0)==(f|0);if(!(c[o+32>>2]|0)){if(h)break a;l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+m|0;i=0;h=g;while(1){a[e>>0]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+1|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}else{if(h)break a;l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+m|0;i=0;h=g;while(1){a[e>>0]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+1|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}case 2:{g=c[n+32>>2]|0;h=(k|0)==(f|0);if(!(c[o+32>>2]|0)){if(!h){l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+(m<<1)|0;i=0;h=g;while(1){b[e>>1]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+2|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}}else if(!h){l=(i|0)==(j|0);k=k-f|0;f=0;while(1){if(!l){j=e+(m<<1)|0;i=0;h=g;while(1){b[e>>1]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+2|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}case 4:{if((k|0)!=(f|0)){l=(i|0)==(j|0);k=k-f|0;f=0;g=c[n+32>>2]|0;while(1){if(!l){j=e+(m<<2)|0;i=0;h=g;while(1){c[e>>2]=c[h>>2];i=i+1|0;if((i|0)==(m|0))break;else{e=e+4|0;h=h+4|0}}e=j;g=g+(m<<2)|0}f=f+1|0;if((f|0)==(k|0))break;else g=g+(d<<2)|0}}break}default:{}}}while(0);p=p+1|0;if(p>>>0>=(c[(c[q>>2]|0)+16>>2]|0)>>>0){e=1;break}else{o=o+52|0;n=n+52|0}}return e|0}function eg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a+24>>2]|0;f=c[d+16>>2]|0;if(!f){g=0;return g|0}g=0;b=0;e=c[d+24>>2]|0;d=c[(c[c[a+20>>2]>>2]|0)+20>>2]|0;while(1){a=c[e+24>>2]|0;a=((a&7|0)!=0&1)+(a>>>3)|0;b=(_(_((c[d+12>>2]|0)-(c[d+4>>2]|0)|0,(c[d+8>>2]|0)-(c[d>>2]|0)|0)|0,(a|0)==3?4:a)|0)+b|0;g=g+1|0;if(g>>>0>=f>>>0)break;else{e=e+52|0;d=d+52|0}}return b|0}function fg(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[f+24>>2]|0;q=o+16|0;j=c[q>>2]|0;n=(j|0)==0;if(n)i=0;else{k=0;i=0;l=c[o+24>>2]|0;m=c[(c[c[f+20>>2]>>2]|0)+20>>2]|0;while(1){p=c[l+24>>2]|0;p=((p&7|0)!=0&1)+(p>>>3)|0;i=(_(_((c[m+12>>2]|0)-(c[m+4>>2]|0)|0,(c[m+8>>2]|0)-(c[m>>2]|0)|0)|0,(p|0)==3?4:p)|0)+i|0;k=k+1|0;if((k|0)==(j|0))break;else{l=l+52|0;m=m+52|0}}}i=(i|0)!=(h|0);if(i|n){q=i&1^1;return q|0}p=0;n=c[o+24>>2]|0;h=c[(c[c[f+20>>2]>>2]|0)+20>>2]|0;while(1){f=c[n+24>>2]|0;i=(c[h+8>>2]|0)-(c[h>>2]|0)|0;j=(c[h+12>>2]|0)-(c[h+4>>2]|0)|0;m=_(j,i)|0;f=((f&7|0)!=0&1)+(f>>>3)|0;a:do{switch(((f|0)==3?4:f)|0){case 1:{j=c[h+32>>2]|0;i=(m|0)==0;if(!(c[n+32>>2]|0)){if(i)break a;else{k=0;i=j;j=g}while(1){c[i>>2]=d[j>>0];k=k+1|0;if((k|0)==(m|0))break;else{i=i+4|0;j=j+1|0}}g=g+m|0;break a}else{if(i)break a;else{k=0;i=j;j=g}while(1){c[i>>2]=a[j>>0];k=k+1|0;if((k|0)==(m|0))break;else{i=i+4|0;j=j+1|0}}g=g+m|0;break a}}case 2:{l=c[h+32>>2]|0;k=(m|0)==0;if(!(c[n+32>>2]|0)){if(!k){k=g+(_(j<<1,i)|0)|0;j=0;i=l;while(1){c[i>>2]=e[g>>1];j=j+1|0;if((j|0)==(m|0))break;else{i=i+4|0;g=g+2|0}}g=k}}else if(!k){k=g+(_(j<<1,i)|0)|0;j=0;i=l;while(1){c[i>>2]=b[g>>1];j=j+1|0;if((j|0)==(m|0))break;else{i=i+4|0;g=g+2|0}}g=k}break}case 4:{if(m){k=g+(_(j<<2,i)|0)|0;i=0;j=c[h+32>>2]|0;while(1){c[j>>2]=c[g>>2];i=i+1|0;if((i|0)==(m|0))break;else{j=j+4|0;g=g+4|0}}g=k}break}default:{}}}while(0);p=p+1|0;if(p>>>0>=(c[q>>2]|0)>>>0){g=1;break}else{n=n+52|0;h=h+52|0}}return g|0}function gg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+24|0;b=c[g>>2]|0;if(!b)return;f=c[a+28>>2]|0;e=(f>>>0)/52|0;if(f>>>0>51){f=0;while(1){a=c[b>>2]|0;if(a){Uc(a+-1|0);c[b>>2]=0}a=b+4|0;d=c[a>>2]|0;if(d){Uc(d);c[a>>2]=0}a=b+8|0;d=c[a>>2]|0;if(d){Uc(d);c[a>>2]=0}f=f+1|0;if(f>>>0>=e>>>0)break;else b=b+52|0}b=c[g>>2]|0}Uc(b);c[g>>2]=0;return}function hg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+24|0;b=c[g>>2]|0;if(!b)return;f=c[a+28>>2]|0;e=(f>>>0)/56|0;if(f>>>0>55){f=0;while(1){a=c[b>>2]|0;if(a){Uc(a);c[b>>2]=0}d=b+4|0;a=c[d>>2]|0;if(a){Uc(a);c[d>>2]=0}f=f+1|0;if(f>>>0>=e>>>0)break;else b=b+56|0}b=c[g>>2]|0}Uc(b);c[g>>2]=0;return}function ig(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=+f;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=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.0;Sa=i;i=i+80|0;La=Sa+64|0;Ka=Sa+56|0;Na=Sa+48|0;Pa=Sa+40|0;Oa=Sa+32|0;Qa=Sa+24|0;Ma=Sa+16|0;Ja=Sa+8|0;k=c[b+28>>2]|0;Ia=c[c[b+20>>2]>>2]|0;p=c[(c[k+76>>2]|0)+(d*5640|0)+5584>>2]|0;q=c[Ia+20>>2]|0;n=c[b+24>>2]|0;o=c[n+24>>2]|0;Fa=c[k+24>>2]|0;m=c[k+12>>2]|0;Ha=(_(m,(d>>>0)%(Fa>>>0)|0)|0)+(c[k+4>>2]|0)|0;l=c[n>>2]|0;l=Ha>>>0>l>>>0?Ha:l;c[Ia>>2]=l;Ha=Si(m|0,0,Ha|0,0)|0;Ha=Ha|0-C;m=c[n+8>>2]|0;m=Ha>>>0>>0?Ha:m;Ha=Ia+8|0;c[Ha>>2]=m;Ga=c[k+16>>2]|0;Fa=(_(Ga,(d>>>0)/(Fa>>>0)|0)|0)+(c[k+8>>2]|0)|0;d=c[n+4>>2]|0;d=Fa>>>0>d>>>0?Fa:d;Ea=Ia+4|0;c[Ea>>2]=d;Fa=Si(Ga|0,0,Fa|0,0)|0;Fa=Fa|0-C;n=c[n+12>>2]|0;n=Fa>>>0>>0?Fa:n;Fa=Ia+12|0;c[Fa>>2]=n;if(!(c[p+4>>2]|0)){Ub(j,1,19777,Sa)|0;Ra=0;i=Sa;return Ra|0}Ga=Ia+16|0;if(!(c[Ga>>2]|0)){Ra=1;i=Sa;return Ra|0}Da=k+80|0;Ca=b+40|0;Ba=(e|0)==0;k=d;Aa=0;a:while(1){c[o+36>>2]=0;va=c[o>>2]|0;d=(l+-1+va|0)/(va|0)|0;c[q>>2]=d;wa=c[o+4>>2]|0;k=(k+-1+wa|0)/(wa|0)|0;za=q+4|0;c[za>>2]=k;va=(m+-1+va|0)/(va|0)|0;ya=q+8|0;c[ya>>2]=va;wa=(n+-1+wa|0)/(wa|0)|0;xa=q+12|0;c[xa>>2]=wa;d=va-d|0;k=wa-k|0;if((4294967295/(d>>>0)|0)>>>0>>0){Ra=6;break}d=_(k,d)|0;if(d>>>0>1073741823){Ra=8;break}m=d<<2;va=c[p+4>>2]|0;wa=q+16|0;c[wa>>2]=va;b=c[Da>>2]|0;c[q+20>>2]=va>>>0>>0?1:va-b|0;b=q+40|0;c[b>>2]=m;do{if(a[Ca>>0]&1){e=q+32|0;l=c[e>>2]|0;if(l){k=q+44|0;if(m>>>0<=(c[k>>2]|0)>>>0)break;d=q+36|0;if(c[d>>2]|0){Sc(l);va=Rc(c[b>>2]|0)|0;c[e>>2]=va;if(!va){Ra=16;break a}c[k>>2]=c[b>>2];c[d>>2]=1;break}}va=Rc(m)|0;c[e>>2]=va;if(!va)break a;c[q+44>>2]=c[b>>2];c[q+36>>2]=1}}while(0);e=(c[wa>>2]|0)*136|0;k=q+24|0;b=c[k>>2]|0;if(b){d=q+28|0;if(e>>>0>(c[d>>2]|0)>>>0){b=Tc(b,e)|0;if(!b){Ra=24;break}c[k>>2]=b;va=c[d>>2]|0;Qi(b+va|0,0,e-va|0)|0;c[d>>2]=e}}else{d=Pc(e)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break}c[q+28>>2]=e;Qi(d|0,0,e|0)|0}d=c[wa>>2]|0;va=(c[p+20>>2]|0)==0?7:8;if(d){ra=p+8|0;sa=p+12|0;ta=o+24|0;ua=p+804|0;qa=c[k>>2]|0;k=p+28|0;b=0;while(1){oa=d;pa=d+-1|0;la=c[q>>2]|0;ma=Ri(1,0,pa|0)|0;ma=Si(ma|0,C|0,-1,-1)|0;na=C;la=Si(ma|0,na|0,la|0,((la|0)<0)<<31>>31|0)|0;la=Pi(la|0,C|0,pa|0)|0;c[qa>>2]=la;e=c[za>>2]|0;e=Si(ma|0,na|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,pa|0)|0;c[qa+4>>2]=e;d=c[ya>>2]|0;d=Si(ma|0,na|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,pa|0)|0;c[qa+8>>2]=d;l=c[xa>>2]|0;l=Si(ma|0,na|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Pi(l|0,C|0,pa|0)|0;c[qa+12>>2]=l;r=c[p+812+(b<<2)>>2]|0;n=c[p+944+(b<<2)>>2]|0;s=la>>r<>n<>31|0)|0;m=Pi(m|0,C|0,n|0)|0;if((la|0)==(d|0))d=0;else{la=Ri(1,0,r|0)|0;la=Si(la|0,C|0,-1,-1)|0;d=Si(la|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,r|0)|0;d=(d<>r}la=qa+16|0;c[la>>2]=d;ia=(e|0)==(l|0)?0:(m<>n;c[qa+20>>2]=ia;ia=_(ia,d)|0;ja=ia*40|0;ka=(b|0)==0;if(ka)d=1;else{s=Si(s|0,((s|0)<0)<<31>>31|0,1,0)|0;s=Ti(s|0,C|0,1)|0;t=Si(t|0,((t|0)<0)<<31>>31|0,1,0)|0;t=Ti(t|0,C|0,1)|0;d=3;n=n+-1|0;r=r+-1|0}ha=qa+24|0;c[ha>>2]=d;S=c[ra>>2]|0;S=S>>>0>>0?S:r;T=c[sa>>2]|0;T=T>>>0>>0?T:n;U=(ia|0)!=0;V=(ia|0)==0;W=1<>2]|0;d=Si(ma|0,na|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,pa|0)|0;k=c[za>>2]|0;k=Si(ma|0,na|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Pi(k|0,C|0,pa|0)|0;e=c[ya>>2]|0;e=Si(ma|0,na|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,pa|0)|0;m=c[xa>>2]|0;m=Si(ma|0,na|0,m|0,((m|0)<0)<<31>>31|0)|0;m=Pi(m|0,C|0,pa|0)|0;l=0}else{l=fa+1|0;d=c[q>>2]|0;O=Ri(l&1|0,0,pa|0)|0;O=Oi(da|0,ea|0,O|0,C|0)|0;m=C;d=Si(O|0,m|0,d|0,((d|0)<0)<<31>>31|0)|0;d=Pi(d|0,C|0,oa|0)|0;k=c[za>>2]|0;P=Ri(l>>>1|0,0,pa|0)|0;P=Oi(da|0,ea|0,P|0,C|0)|0;Q=C;k=Si(P|0,Q|0,k|0,((k|0)<0)<<31>>31|0)|0;k=Pi(k|0,C|0,oa|0)|0;e=c[ya>>2]|0;e=Si(O|0,m|0,e|0,((e|0)<0)<<31>>31|0)|0;e=Pi(e|0,C|0,oa|0)|0;m=c[xa>>2]|0;m=Si(P|0,Q|0,m|0,((m|0)<0)<<31>>31|0)|0;m=Pi(m|0,C|0,oa|0)|0}c[ga+16>>2]=l;c[ga>>2]=d;Q=ga+4|0;c[Q>>2]=k;P=ga+8|0;c[P>>2]=e;O=ga+12|0;c[O>>2]=m;k=Wa[va&15](l)|0;Ta=+(c[R+4>>2]|0)*.00048828125+1.0;g[ga+32>>2]=+Gh(1.0,(c[ta>>2]|0)+k-(c[R>>2]|0)|0)*Ta*f;c[ga+28>>2]=(c[R>>2]|0)+-1+(c[ua>>2]|0);k=ga+20|0;e=c[k>>2]|0;if(!(U&(e|0)==0)){d=ga+24|0;if((c[d>>2]|0)>>>0>>0){e=Tc(e,ja)|0;if(!e){Ra=41;break a}c[k>>2]=e;N=c[d>>2]|0;Qi(e+N|0,0,ja-N|0)|0;c[d>>2]=ja}}else{d=Pc(ja)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break a}Qi(d|0,0,ja|0)|0;c[ga+24>>2]=ja}if(!V){M=c[k>>2]|0;N=0;while(1){F=c[la>>2]|0;J=(((N>>>0)%(F>>>0)|0)<>>0)/(F>>>0)|0)<>2]|0;I=(J|0)>(I|0)?J:I;c[M>>2]=I;J=c[Q>>2]|0;J=(F|0)>(J|0)?F:J;F=M+4|0;c[F>>2]=J;L=c[P>>2]|0;L=(G|0)<(L|0)?G:L;G=M+8|0;c[G>>2]=L;l=c[O>>2]|0;l=(H|0)<(l|0)?H:l;H=M+12|0;c[H>>2]=l;I=I>>S<>T<>31|0)|0;L=Pi(L|0,C|0,S|0)|0;l=Si($|0,aa|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Pi(l|0,C|0,T|0)|0;L=(L<>S;K=M+16|0;c[K>>2]=L;l=(l<>T;u=M+20|0;c[u>>2]=l;L=_(l,L)|0;l=_(L,h)|0;k=M+24|0;e=c[k>>2]|0;do{if((e|0)==0&(L|0)!=0){d=Pc(l)|0;c[k>>2]=d;if(!d){d=0;Ra=87;break a}Qi(d|0,0,l|0)|0;c[M+28>>2]=l}else{d=M+28|0;if(l>>>0<=(c[d>>2]|0)>>>0)break;e=Tc(e,l)|0;if(!e){Ra=50;break a}c[k>>2]=e;E=c[d>>2]|0;Qi(e+E|0,0,l-E|0)|0;c[d>>2]=l}}while(0);m=M+32|0;d=c[m>>2]|0;e=c[K>>2]|0;l=c[u>>2]|0;if(!d)d=jg(e,l,j)|0;else d=lg(d,e,l,j)|0;c[m>>2]=d;if(!d)Ub(j,2,19990,Ka)|0;m=M+36|0;e=c[m>>2]|0;l=c[K>>2]|0;d=c[u>>2]|0;if(!e)d=jg(l,d,j)|0;else d=lg(e,l,d,j)|0;c[m>>2]=d;if(!d)Ub(j,2,20012,La)|0;if(L){E=0;do{A=c[K>>2]|0;z=(((E>>>0)%(A>>>0)|0)<>>0)/(A>>>0)|0)<>2]|0;e=d+(E*56|0)|0;l=c[e>>2]|0;if(!l){y=Pc(8192)|0;c[e>>2]=y;if(!y){d=0;Ra=87;break a}c[d+(E*56|0)+32>>2]=8192;y=Qc(10,32)|0;c[d+(E*56|0)+4>>2]=y;if(!y){d=0;Ra=87;break a}c[d+(E*56|0)+52>>2]=10}else{m=d+(E*56|0)+32|0;u=c[m>>2]|0;v=d+(E*56|0)+4|0;w=c[v>>2]|0;x=e;y=x+52|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));c[e>>2]=l;c[m>>2]=u;c[v>>2]=w}y=c[M>>2]|0;c[d+(E*56|0)+8>>2]=(z|0)>(y|0)?z:y;z=c[F>>2]|0;c[d+(E*56|0)+12>>2]=(A|0)>(z|0)?A:z;A=c[G>>2]|0;c[d+(E*56|0)+16>>2]=(B|0)<(A|0)?B:A;B=c[H>>2]|0;c[d+(E*56|0)+20>>2]=(D|0)<(B|0)?D:B}else{e=c[k>>2]|0;d=e+(E*52|0)+4|0;if((c[d>>2]|0)==0?(y=Qc(100,24)|0,c[d>>2]=y,(y|0)==0):0){d=0;Ra=87;break a}d=e+(E*52|0)+8|0;if((c[d>>2]|0)==0?(y=Qc(100,24)|0,c[d>>2]=y,(y|0)==0):0){d=0;Ra=87;break a}m=c[M>>2]|0;m=(z|0)>(m|0)?z:m;c[e+(E*52|0)+12>>2]=m;d=c[F>>2]|0;A=(A|0)>(d|0)?A:d;c[e+(E*52|0)+16>>2]=A;d=c[G>>2]|0;d=(B|0)<(d|0)?B:d;c[e+(E*52|0)+20>>2]=d;B=c[H>>2]|0;D=(D|0)<(B|0)?D:B;c[e+(E*52|0)+24>>2]=D;m=_(D-A|0,d-m<<2)|0;d=e+(E*52|0)+36|0;if(m>>>0<=(c[d>>2]|0)>>>0)break;l=e+(E*52|0)|0;e=c[l>>2]|0;if(e)Uc(e+-1|0);e=Pc(m|1)|0;c[l>>2]=e;if(!e){Ra=74;break a}c[d>>2]=m;a[e>>0]=0;c[l>>2]=(c[l>>2]|0)+1}}while(0);E=E+1|0}while(E>>>0>>0)}N=N+1|0;if(N>>>0>=ia>>>0)break;else M=M+40|0}}k=R+8|0;fa=fa+1|0;if(fa>>>0>=(c[ha>>2]|0)>>>0)break;else{ga=ga+36|0;R=k}}b=b+1|0;if(b>>>0<(c[wa>>2]|0)>>>0){d=pa;qa=qa+136|0}else break}}d=Aa+1|0;if(d>>>0>=(c[Ga>>2]|0)>>>0){d=1;Ra=87;break}l=c[Ia>>2]|0;k=c[Ea>>2]|0;m=c[Ha>>2]|0;n=c[Fa>>2]|0;Aa=d;o=o+52|0;p=p+1080|0;q=q+52|0}if((Ra|0)==6){Ub(j,1,19816,Ja)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==8){Ub(j,1,19816,Ma)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==16){c[k>>2]=0;c[b>>2]=0;c[d>>2]=0}else if((Ra|0)==24){Ub(j,1,19849,Oa)|0;Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==41){Ub(j,1,19889,Pa)|0;Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==50){Uc(c[k>>2]|0);c[k>>2]=0;c[d>>2]=0;Ub(j,1,19932,Na)|0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==74){c[d>>2]=0;Ra=0;i=Sa;return Ra|0}else if((Ra|0)==87){i=Sa;return d|0}Ub(j,1,19816,Qa)|0;Ra=0;i=Sa;return Ra|0}function jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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;v=i;i=i+288|0;l=v+16|0;j=v+8|0;t=v+152|0;u=v+24|0;e=Qc(1,20)|0;if(!e){Ub(d,1,20034,v)|0;u=0;i=v;return u|0}c[e>>2]=a;m=e+4|0;c[m>>2]=b;c[t>>2]=a;c[u>>2]=b;k=e+8|0;c[k>>2]=0;f=0;h=0;while(1){s=_(b,a)|0;a=(a+1|0)/2|0;g=h+1|0;c[t+(g<<2)>>2]=a;b=(b+1|0)/2|0;c[u+(g<<2)>>2]=b;f=f+s|0;if(s>>>0<=1)break;else h=g}c[k>>2]=f;if(!f){Uc(e);Ub(d,2,20072,j)|0;u=0;i=v;return u|0}f=Qc(f,16)|0;c[e+12>>2]=f;if(!f){Ub(d,1,20122,l)|0;Uc(e);u=0;i=v;return u|0}s=c[k>>2]|0;c[e+16>>2]=s<<4;b=f+((_(c[m>>2]|0,c[e>>2]|0)|0)<<4)|0;if(!h)b=f;else{r=0;g=b;a=b;b=f;do{p=c[u+(r<<2)>>2]|0;a:do{if((p|0)>0){q=c[t+(r<<2)>>2]|0;if((q|0)<=0){k=p+-1|0;d=0;while(1){o=(d&1|0)!=0|(d|0)==(k|0);j=o?g:a;a=o?g:a+(q<<4)|0;d=d+1|0;if((d|0)>=(p|0)){g=j;break a}else g=j}}o=((q+2+((q|0)<2?~q:-3)|0)>>>1)+1|0;m=p+-1|0;n=0;do{d=q;l=g;while(1){c[b>>2]=l;j=b+16|0;k=d;d=d+-2|0;if((d|0)>-1){c[j>>2]=l;b=b+32|0}else b=j;if((k|0)<=2)break;else l=l+16|0}l=g+(o<<4)|0;d=(n&1|0)!=0|(n|0)==(m|0);g=d?l:a;a=d?l:a+(q<<4)|0;n=n+1|0}while((n|0)<(p|0))}}while(0);r=r+1|0}while((r|0)!=(h|0))}c[b>>2]=0;if(!s){u=e;i=v;return u|0}else b=0;while(1){c[f+4>>2]=999;c[f+8>>2]=0;c[f+12>>2]=0;b=b+1|0;if((b|0)==(s|0))break;else f=f+16|0}i=v;return e|0}function kg(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a+8>>2]|0;if(!b)return;d=0;a=c[a+12>>2]|0;while(1){c[a+4>>2]=999;c[a+8>>2]=0;c[a+12>>2]=0;d=d+1|0;if(d>>>0>=b>>>0)break;else a=a+16|0}return}function bb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function cb(){return i|0}function db(a){a=a|0;i=a}function eb(a,b){a=a|0;b=b|0;i=a;j=b}function fb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function gb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function hb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ib(a){a=a|0;C=a}function jb(){return C|0}function kb(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+8272|0;k=o+16|0;m=o+12|0;j=o;c[m>>2]=0;if((c[a>>2]|0)==1375686655)n=gc(0)|0;else n=gc(2)|0;bc(n,1,0)|0;cc(n,2,0)|0;dc(n,3,0)|0;hc(k);c[j>>2]=a;c[j+4>>2]=a;c[j+8>>2]=b;l=ec(j,1)|0;if(!(ic(n,k)|0)){mi(4476)|0;Fb(l);zc(n);g=1;i=o;return g|0}if(!(jc(l,n,m)|0)){mi(4528)|0;Fb(l);zc(n);Zb(c[m>>2]|0);g=1;i=o;return g|0}if(!(oc(n,l,c[m>>2]|0,c[k+8228>>2]|0)|0)){mi(4578)|0;zc(n);Fb(l);Zb(c[m>>2]|0);g=1;i=o;return g|0}j=c[m>>2]|0;c[f>>2]=c[j+8>>2];c[g>>2]=c[j+12>>2];a=c[j+16>>2]|0;c[h>>2]=a;a=_(_(a<<2,c[f>>2]|0)|0,c[g>>2]|0)|0;c[e>>2]=a;e=Fi(a)|0;c[d>>2]=e;switch(c[h>>2]|0){case 1:{Ui(e|0,c[(c[j+24>>2]|0)+44>>2]|0,a|0)|0;break}case 3:{if((_(c[g>>2]|0,c[f>>2]|0)|0)>0){b=c[j+24>>2]|0;j=c[b+44>>2]|0;a=c[b+96>>2]|0;b=c[b+148>>2]|0;k=0;do{h=k*3|0;c[e+(h<<2)>>2]=c[j+(k<<2)>>2];c[e+(h+1<<2)>>2]=c[a+(k<<2)>>2];c[e+(h+2<<2)>>2]=c[b+(k<<2)>>2];k=k+1|0}while((k|0)<(_(c[g>>2]|0,c[f>>2]|0)|0))}break}default:{}}Fb(l);zc(n);Zb(c[m>>2]|0);g=0;i=o;return g|0}function lb(){return fc()|0}function mb(a,b){a=a|0;b=b|0;return}function nb(a,b){a=a|0;b=b|0;return}function ob(a,b){a=a|0;b=b|0;var d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;li(4625,d)|0;i=b;return}function pb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;g=h;c[g>>2]=d;if(!e){i=h;return}d=b;f=0;b=g+(e+-1)|0;while(1){a[d>>0]=a[b>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else{d=d+1|0;b=b+-1|0}}i=h;return}function qb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;c[d>>2]=0;if(!e)return;f=0;d=d+(e+-1)|0;while(1){a[d>>0]=a[b>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else{b=b+1|0;d=d+-1|0}}return}function rb(b,d){b=b|0;d=+d;var e=0,f=0,g=0,j=0,l=0;e=i;i=i+16|0;j=e;h[j>>3]=d;j=j+8|0;h[k>>3]=d;f=c[k>>2]|0;g=c[k+4>>2]|0;l=Ti(f|0,g|0,56)|0;a[b>>0]=l;l=Ti(f|0,g|0,48)|0;a[b+1>>0]=l;l=Ti(f|0,g|0,40)|0;a[b+2>>0]=l;a[b+3>>0]=g;a[b+4>>0]=a[j+-5>>0]|0;a[b+5>>0]=a[j+-6>>0]|0;g=Ti(f|0,g|0,8)|0;a[b+6>>0]=g;a[b+7>>0]=f;i=e;return}function sb(b,c){b=b|0;c=c|0;var d=0;d=c+8|0;a[d+-1>>0]=a[b>>0]|0;a[d+-2>>0]=a[b+1>>0]|0;a[d+-3>>0]=a[b+2>>0]|0;a[d+-4>>0]=a[b+3>>0]|0;a[d+-5>>0]=a[b+4>>0]|0;a[d+-6>>0]=a[b+5>>0]|0;a[d+-7>>0]=a[b+6>>0]|0;a[c>>0]=a[b+7>>0]|0;return}function tb(b,d){b=b|0;d=+d;var e=0;e=(g[k>>2]=d,c[k>>2]|0);a[b>>0]=e>>>24;a[b+1>>0]=e>>>16;a[b+2>>0]=e>>>8;a[b+3>>0]=e;return}function ub(b,c){b=b|0;c=c|0;var d=0;d=c+4|0;a[d+-1>>0]=a[b>>0]|0;a[d+-2>>0]=a[b+1>>0]|0;a[d+-3>>0]=a[b+2>>0]|0;a[c>>0]=a[b+3>>0]|0;return}function vb(a,b){a=a|0;b=b|0;var d=0,e=0;e=Qc(1,72)|0;if(!e){b=0;return b|0}c[e+64>>2]=a;a=Pc(a)|0;c[e+32>>2]=a;if(!a){Uc(e);b=0;return b|0}c[e+36>>2]=a;a=e+68|0;d=c[a>>2]|0;if(!b){c[a>>2]=d|1;c[e+40>>2]=31;c[e+44>>2]=32}else{c[a>>2]=d|2;c[e+40>>2]=29;c[e+44>>2]=30}c[e+16>>2]=4;c[e+20>>2]=5;c[e+24>>2]=6;c[e+28>>2]=7;b=e;return b|0}function wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;m=n;f=a+48|0;g=c[f>>2]|0;if(g>>>0>=b>>>0){m=a+36|0;c[m>>2]=(c[m>>2]|0)+b;c[f>>2]=g-b;m=a+56|0;a=m;a=Si(c[a>>2]|0,c[a+4>>2]|0,b|0,d|0)|0;c[m>>2]=a;c[m+4>>2]=C;m=d;a=b;C=m;i=n;return a|0}l=a+68|0;if(c[l>>2]&4){m=a+36|0;c[m>>2]=(c[m>>2]|0)+g;c[f>>2]=0;a=a+56|0;m=a;m=Si(c[m>>2]|0,c[m+4>>2]|0,g|0,0)|0;c[a>>2]=m;c[a+4>>2]=C;a=(g|0)!=0;m=a?0:-1;a=a?g:-1;C=m;i=n;return a|0}if(!g){g=0;f=0}else{c[a+36>>2]=c[a+32>>2];b=Oi(b|0,d|0,g|0,0)|0;c[f>>2]=0;f=0;d=C}a:do{if((d|0)>0|(d|0)==0&b>>>0>0){k=a+24|0;while(1){h=Ra[c[k>>2]&63](b,d,c[a>>2]|0)|0;j=C;if((h|0)==-1&(j|0)==-1)break;b=Oi(b|0,d|0,h|0,j|0)|0;d=C;g=Si(h|0,j|0,g|0,f|0)|0;f=C;if(!((d|0)>0|(d|0)==0&b>>>0>0))break a}Ub(e,4,4636,m)|0;c[l>>2]=c[l>>2]|4;a=a+56|0;m=a;m=Si(c[m>>2]|0,c[m+4>>2]|0,g|0,f|0)|0;c[a>>2]=m;c[a+4>>2]=C;a=(g|0)!=0|(f|0)!=0;m=a?f:-1;a=a?g:-1;C=m;i=n;return a|0}}while(0);m=a+56|0;a=m;a=Si(c[a>>2]|0,c[a+4>>2]|0,g|0,f|0)|0;c[m>>2]=a;c[m+4>>2]=C;m=f;a=g;C=m;i=n;return a|0}function xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[a+36>>2]=c[a+32>>2];c[a+48>>2]=0;g=(Ra[c[a+28>>2]&63](b,d,c[a>>2]|0)|0)==0;e=a+68|0;f=c[e>>2]|0;if(g){c[e>>2]=f|4;g=0;return g|0}else{c[e>>2]=f&-5;g=a+56|0;c[g>>2]=b;c[g+4>>2]=d;g=1;return g|0}return 0}function yb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+16|0;q=r+8|0;m=r;p=a+68|0;if(c[p>>2]&8){q=-1;a=-1;C=q;i=r;return a|0}k=a+32|0;f=c[k>>2]|0;o=a+36|0;c[o>>2]=f;l=a+48|0;g=c[l>>2]|0;do{if(g){j=a+20|0;while(1){h=Ra[c[j>>2]&63](f,g,c[a>>2]|0)|0;if((h|0)==-1)break;f=(c[o>>2]|0)+h|0;c[o>>2]=f;s=c[l>>2]|0;g=s-h|0;c[l>>2]=g;if((s|0)==(h|0)){n=6;break}}if((n|0)==6){f=c[k>>2]|0;break}c[p>>2]=c[p>>2]|8;Ub(e,4,4662,m)|0;c[p>>2]=c[p>>2]|8;c[l>>2]=0;a=-1;s=-1;C=a;i=r;return s|0}}while(0);c[o>>2]=f;a:do{if((d|0)>0|(d|0)==0&b>>>0>0){k=a+24|0;g=0;f=0;while(1){h=Ra[c[k>>2]&63](b,d,c[a>>2]|0)|0;j=C;if((h|0)==-1&(j|0)==-1)break;b=Oi(b|0,d|0,h|0,j|0)|0;d=C;g=Si(h|0,j|0,g|0,f|0)|0;f=C;if(!((d|0)>0|(d|0)==0&b>>>0>0))break a}Ub(e,4,4688,q)|0;c[p>>2]=c[p>>2]|8;s=a+56|0;a=s;a=Si(c[a>>2]|0,c[a+4>>2]|0,g|0,f|0)|0;c[s>>2]=a;c[s+4>>2]=C;s=(g|0)!=0|(f|0)!=0;a=s?f:-1;s=s?g:-1;C=a;i=r;return s|0}else{g=0;f=0}}while(0);a=a+56|0;s=a;s=Si(c[s>>2]|0,c[s+4>>2]|0,g|0,f|0)|0;c[a>>2]=s;c[a+4>>2]=C;a=f;s=g;C=a;i=r;return s|0}function zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+16|0;k=p;m=a+32|0;f=c[m>>2]|0;n=a+36|0;c[n>>2]=f;o=a+48|0;g=c[o>>2]|0;do{if(!g)g=a;else{j=a+20|0;while(1){h=Ra[c[j>>2]&63](f,g,c[a>>2]|0)|0;if((h|0)==-1)break;f=(c[n>>2]|0)+h|0;c[n>>2]=f;q=c[o>>2]|0;g=q-h|0;c[o>>2]=g;if((q|0)==(h|0)){l=6;break}}if((l|0)==6){g=a;f=c[m>>2]|0;break}q=a+68|0;c[q>>2]=c[q>>2]|8;Ub(e,4,4662,k)|0;c[q>>2]=c[q>>2]|8;q=0;i=p;return q|0}}while(0);c[n>>2]=f;c[o>>2]=0;if(!(Ra[c[a+28>>2]&63](b,d,c[g>>2]|0)|0)){q=a+68|0;c[q>>2]=c[q>>2]|8;q=0;i=p;return q|0}else{q=a+56|0;c[q>>2]=b;c[q+4>>2]=d;q=1;i=p;return q|0}return 0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;return-1}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;C=-1;return-1}function Db(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function Eb(a){a=a|0;var b=0,d=0,e=0;e=Qc(1,72)|0;if(!e){a=0;return a|0}c[e+64>>2]=1048576;b=Pc(1048576)|0;c[e+32>>2]=b;if(!b){Uc(e);a=0;return a|0}c[e+36>>2]=b;b=e+68|0;d=c[b>>2]|0;if(!a){c[b>>2]=d|1;c[e+40>>2]=31;c[e+44>>2]=32}else{c[b>>2]=d|2;c[e+40>>2]=29;c[e+44>>2]=30}c[e+16>>2]=4;c[e+20>>2]=5;c[e+24>>2]=6;c[e+28>>2]=7;a=e;return a|0}function Fb(a){a=a|0;var b=0;if(!a)return;b=c[a+4>>2]|0;if(b)Ta[b&7](c[a>>2]|0);b=a+32|0;Uc(c[b>>2]|0);c[b>>2]=0;Uc(a);return}function Gb(a,b){a=a|0;b=b|0;if(!a)return;if(!(c[a+68>>2]&2))return;c[a+16>>2]=b;return}function Hb(a,b){a=a|0;b=b|0;if(!a)return;c[a+28>>2]=b;return}function Ib(a,b){a=a|0;b=b|0;if(!a)return;if(!(c[a+68>>2]&1))return;c[a+20>>2]=b;return}function Jb(a,b){a=a|0;b=b|0;if(!a)return;c[a+24>>2]=b;return}function Kb(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;c[a>>2]=b;c[a+4>>2]=d;return}function Lb(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;a=a+8|0;c[a>>2]=b;c[a+4>>2]=d;return}function Mb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+16|0;s=w+8|0;r=w;v=a+48|0;f=c[v>>2]|0;if(f>>>0>=d>>>0){u=a+36|0;Ui(b|0,c[u>>2]|0,d|0)|0;c[u>>2]=(c[u>>2]|0)+d;c[v>>2]=(c[v>>2]|0)-d;v=a+56|0;u=v;u=Si(c[u>>2]|0,c[u+4>>2]|0,d|0,0)|0;c[v>>2]=u;c[v+4>>2]=C;v=d;i=w;return v|0}t=a+68|0;if(c[t>>2]&4){u=a+36|0;Ui(b|0,c[u>>2]|0,f|0)|0;e=c[v>>2]|0;c[u>>2]=(c[u>>2]|0)+e;u=a+56|0;t=u;e=Si(c[t>>2]|0,c[t+4>>2]|0,e|0,0)|0;c[u>>2]=e;c[u+4>>2]=C;c[v>>2]=0;v=(f|0)!=0?f:-1;i=w;return v|0}if(!f){o=a+32|0;g=c[o>>2]|0;p=a+36|0;c[p>>2]=g;q=p;u=a+56|0;f=0}else{p=a+36|0;Ui(b|0,c[p>>2]|0,f|0)|0;o=a+32|0;g=c[o>>2]|0;c[p>>2]=g;q=c[v>>2]|0;u=a+56|0;m=u;m=Si(c[m>>2]|0,c[m+4>>2]|0,q|0,0)|0;n=u;c[n>>2]=m;c[n+4>>2]=C;c[v>>2]=0;d=d-q|0;b=b+q|0;q=p}m=a+64|0;n=a+16|0;l=b;h=g;while(1){b=c[m>>2]|0;g=c[n>>2]|0;if(d>>>0>>0){g=Ra[g&63](h,b,c[a>>2]|0)|0;c[v>>2]=g;if((g|0)==-1){g=11;break}if(g>>>0>=d>>>0){b=l;g=14;break}Ui(l|0,c[q>>2]|0,g|0)|0;h=c[o>>2]|0;c[p>>2]=h;b=c[v>>2]|0;j=u;j=Si(c[j>>2]|0,c[j+4>>2]|0,b|0,0)|0;k=C;f=g+f|0}else{b=Ra[g&63](l,d,c[a>>2]|0)|0;c[v>>2]=b;if((b|0)==-1){g=16;break}f=b+f|0;if(b>>>0>=d>>>0){g=20;break}h=c[o>>2]|0;c[p>>2]=h;j=u;j=Si(c[j>>2]|0,c[j+4>>2]|0,b|0,0)|0;k=C}g=u;c[g>>2]=j;c[g+4>>2]=k;c[v>>2]=0;d=d-b|0;l=l+b|0}if((g|0)==11){Ub(e,4,4636,r)|0;c[v>>2]=0;c[t>>2]=c[t>>2]|4;v=(f|0)!=0?f:-1;i=w;return v|0}else if((g|0)==14){Ui(b|0,c[q>>2]|0,d|0)|0;c[q>>2]=(c[q>>2]|0)+d;c[v>>2]=(c[v>>2]|0)-d;e=u;e=Si(c[e>>2]|0,c[e+4>>2]|0,d|0,0)|0;v=u;c[v>>2]=e;c[v+4>>2]=C;v=f+d|0;i=w;return v|0}else if((g|0)==16){Ub(e,4,4636,s)|0;c[v>>2]=0;c[t>>2]=c[t>>2]|4;v=(f|0)!=0?f:-1;i=w;return v|0}else if((g|0)==20){e=u;e=Si(c[e>>2]|0,c[e+4>>2]|0,b|0,0)|0;c[u>>2]=e;c[u+4>>2]=C;c[p>>2]=c[o>>2];c[v>>2]=0;v=f;i=w;return v|0}return 0}function Nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+16|0;r=u;n=a+68|0;if(c[n>>2]&8){t=-1;i=u;return t|0}q=a+64|0;f=c[q>>2]|0;t=a+48|0;k=c[t>>2]|0;g=f-k|0;do{if(g>>>0>>0){o=a+32|0;h=a+36|0;p=a+20|0;j=a+56|0;l=f;m=g;f=0;a:while(1){if((l|0)==(k|0))g=c[o>>2]|0;else{Ui(c[h>>2]|0,b|0,m|0)|0;g=c[o>>2]|0;c[h>>2]=g;k=(c[t>>2]|0)+m|0;c[t>>2]=k;v=j;v=Si(c[v>>2]|0,c[v+4>>2]|0,m|0,0)|0;l=j;c[l>>2]=v;c[l+4>>2]=C;d=d-m|0;b=b+m|0;f=m+f|0}c[h>>2]=g;if(!k)k=0;else{do{l=Ra[c[p>>2]&63](g,k,c[a>>2]|0)|0;if((l|0)==-1)break a;g=(c[h>>2]|0)+l|0;c[h>>2]=g;v=c[t>>2]|0;k=v-l|0;c[t>>2]=k}while((v|0)!=(l|0));g=c[o>>2]|0}c[h>>2]=g;l=c[q>>2]|0;m=l-k|0;if(d>>>0<=m>>>0){s=5;break}}if((s|0)==5)break;c[n>>2]=c[n>>2]|8;Ub(e,4,4662,r)|0;v=-1;i=u;return v|0}else{g=a+36|0;j=a+56|0;h=g;g=c[g>>2]|0;f=0}}while(0);Ui(g|0,b|0,d|0)|0;c[h>>2]=(c[h>>2]|0)+d;c[t>>2]=(c[t>>2]|0)+d;t=j;t=Si(c[t>>2]|0,c[t+4>>2]|0,d|0,0)|0;v=j;c[v>>2]=t;c[v+4>>2]=C;v=f+d|0;i=u;return v|0}function Ob(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+16|0;k=n;g=a+32|0;d=c[g>>2]|0;m=a+36|0;c[m>>2]=d;h=a+48|0;e=c[h>>2]|0;do{if(e){j=a+20|0;while(1){f=Ra[c[j>>2]&63](d,e,c[a>>2]|0)|0;if((f|0)==-1)break;d=(c[m>>2]|0)+f|0;c[m>>2]=d;o=c[h>>2]|0;e=o-f|0;c[h>>2]=e;if((o|0)==(f|0)){l=6;break}}if((l|0)==6){d=c[g>>2]|0;break}o=a+68|0;c[o>>2]=c[o>>2]|8;Ub(b,4,4662,k)|0;o=0;i=n;return o|0}}while(0);c[m>>2]=d;o=1;i=n;return o|0}function Pb(a){a=a|0;a=a+56|0;C=c[a+4>>2]|0;return c[a>>2]|0}function Qb(a){a=a|0;var b=0,d=0;d=a+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if((b|0)==0&(d|0)==0){d=0;a=0;C=d;return a|0}a=a+56|0;a=Oi(b|0,d|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=C;C=d;return a|0}function Rb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Za[c[a+40>>2]&63](a,b,d,e)|0;return a|0}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return Za[c[a+44>>2]&63](a,b,d,e)|0}function Tb(a){a=a|0;return(c[a+28>>2]|0)!=7|0}function Ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+528|0;g=j;h=j+16|0;a:do{if(a){switch(b|0){case 1:{b=a;f=a+12|0;break}case 2:{b=a+4|0;f=a+16|0;break}case 4:{b=a+8|0;f=a+20|0;break}default:{b=0;break a}}a=c[b>>2]|0;b=c[f>>2]|0;if(b)if(!d)b=1;else{Qi(h|0,0,512)|0;c[g>>2]=e;pi(h,512,d,g)|0;Ua[b&7](h,a);b=1}else b=0}else b=0}while(0);i=j;return b|0}function Vb(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=4;c[a+20>>2]=4;c[a+16>>2]=4;return}function Wb(a,b){a=a|0;b=b|0;return}function Xb(){return Qc(1,36)|0}function Yb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Qc(1,36)|0;if(!e){i=e;return i|0}c[e+20>>2]=d;h=e+16|0;c[h>>2]=a;d=Qc(1,a*52|0)|0;i=e+24|0;c[i>>2]=d;if(!d){d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);i=0;return i|0}if(!a){i=e;return i|0}f=0;while(1){c[d+(f*52|0)>>2]=c[b+(f*36|0)>>2];c[d+(f*52|0)+4>>2]=c[b+(f*36|0)+4>>2];j=c[b+(f*36|0)+8>>2]|0;c[d+(f*52|0)+8>>2]=j;k=c[b+(f*36|0)+12>>2]|0;c[d+(f*52|0)+12>>2]=k;c[d+(f*52|0)+16>>2]=c[b+(f*36|0)+16>>2];c[d+(f*52|0)+20>>2]=c[b+(f*36|0)+20>>2];c[d+(f*52|0)+24>>2]=c[b+(f*36|0)+24>>2];c[d+(f*52|0)+28>>2]=c[b+(f*36|0)+28>>2];c[d+(f*52|0)+32>>2]=c[b+(f*36|0)+32>>2];j=Qc(_(k,j)|0,4)|0;c[d+(f*52|0)+44>>2]=j;f=f+1|0;if(!j)break;if(f>>>0>=a>>>0){g=22;break}d=c[i>>2]|0}if((g|0)==22)return e|0;d=c[i>>2]|0;if(d){f=c[h>>2]|0;if(f){b=0;while(1){d=c[d+(b*52|0)+44>>2]|0;if(d){Uc(d);f=c[h>>2]|0}b=b+1|0;if(b>>>0>=f>>>0)break;d=c[i>>2]|0}d=c[i>>2]|0}Uc(d)}d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);k=0;return k|0}function Zb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)return;f=a+24|0;b=c[f>>2]|0;if(b){g=a+16|0;d=c[g>>2]|0;if(d){e=0;while(1){b=c[b+(e*52|0)+44>>2]|0;if(b){Uc(b);d=c[g>>2]|0}e=e+1|0;if(e>>>0>=d>>>0)break;b=c[f>>2]|0}b=c[f>>2]|0}Uc(b)}b=c[a+28>>2]|0;if(b)Uc(b);Uc(a);return}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c[b+4>>2]|0;e=c[a>>2]|0;g=c[b+8>>2]|0;h=c[a+4>>2]|0;f=c[b+12>>2]|0;l=(_((c[b+24>>2]|0)+-1|0,f)|0)+d|0;i=c[b+16>>2]|0;j=(_((c[b+28>>2]|0)+-1|0,i)|0)+g|0;b=Si(l|0,0,f|0,0)|0;b=b|0-C;f=c[a+8>>2]|0;i=Si(j|0,0,i|0,0)|0;i=i|0-C;j=c[a+12>>2]|0;l=c[a+16>>2]|0;if(!l)return;k=(d>>>0>e>>>0?d:e)+-1|0;g=(g>>>0>h>>>0?g:h)+-1|0;f=(b>>>0>>0?b:f)+-1|0;d=(i>>>0>>0?i:j)+-1|0;e=0;b=c[a+24>>2]|0;while(1){h=c[b>>2]|0;j=((k+h|0)>>>0)/(h>>>0)|0;o=c[b+4>>2]|0;a=((g+o|0)>>>0)/(o>>>0)|0;i=c[b+40>>2]|0;n=Ri(1,0,i|0)|0;m=C;h=Si((((f+h|0)>>>0)/(h>>>0)|0)-j|0,0,-1,-1)|0;h=Si(h|0,C|0,n|0,m|0)|0;h=Ti(h|0,C|0,i|0)|0;o=Si((((d+o|0)>>>0)/(o>>>0)|0)-a|0,0,-1,-1)|0;m=Si(o|0,C|0,n|0,m|0)|0;i=Ti(m|0,C|0,i|0)|0;c[b+8>>2]=h;c[b+12>>2]=i;c[b+16>>2]=j;c[b+20>>2]=a;e=e+1|0;if(e>>>0>=l>>>0)break;else b=b+52|0}return}function $b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];j=b+24|0;e=c[j>>2]|0;i=b+16|0;if(!e)d=j;else{d=c[i>>2]|0;if(!d)d=j;else{f=0;while(1){e=c[e+(f*52|0)+44>>2]|0;if(e){Uc(e);d=c[i>>2]|0}f=f+1|0;if(f>>>0>=d>>>0)break;e=c[j>>2]|0}d=j;e=c[j>>2]|0}Uc(e);c[j>>2]=0}e=c[a+16>>2]|0;c[i>>2]=e;e=Pc(e*52|0)|0;c[d>>2]=e;if(!e){c[j>>2]=0;c[i>>2]=0;return}if(c[i>>2]|0){h=a+24|0;g=0;do{d=e+(g*52|0)|0;e=(c[h>>2]|0)+(g*52|0)|0;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[j>>2]|0;c[e+(g*52|0)+44>>2]=0;g=g+1|0}while(g>>>0<(c[i>>2]|0)>>>0)}c[b+20>>2]=c[a+20>>2];f=a+32|0;d=c[f>>2]|0;g=b+32|0;c[g>>2]=d;if(!d){c[b+28>>2]=0;return}e=Pc(d)|0;d=b+28|0;c[d>>2]=e;if(!e){c[d>>2]=0;c[g>>2]=0;return}else{Ui(e|0,c[a+28>>2]|0,c[f>>2]|0)|0;return}}function ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Qc(1,36)|0;if(!e){a=e;return a|0}c[e+20>>2]=d;c[e+16>>2]=a;d=Qc(a,52)|0;c[e+24>>2]=d;if(!d){d=c[e+28>>2]|0;if(d)Uc(d);Uc(e);a=0;return a|0}else{if(!a){a=e;return a|0}else f=0;do{c[d+(f*52|0)>>2]=c[b+(f*36|0)>>2];c[d+(f*52|0)+4>>2]=c[b+(f*36|0)+4>>2];c[d+(f*52|0)+8>>2]=c[b+(f*36|0)+8>>2];c[d+(f*52|0)+12>>2]=c[b+(f*36|0)+12>>2];c[d+(f*52|0)+16>>2]=c[b+(f*36|0)+16>>2];c[d+(f*52|0)+20>>2]=c[b+(f*36|0)+20>>2];c[d+(f*52|0)+24>>2]=c[b+(f*36|0)+24>>2];c[d+(f*52|0)+32>>2]=c[b+(f*36|0)+32>>2];c[d+(f*52|0)+44>>2]=0;f=f+1|0}while((f|0)!=(a|0));return e|0}return 0}function bc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+64>>2]=b;c[a+52>>2]=d;d=1;return d|0}function cc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+60>>2]=b;c[a+48>>2]=d;d=1;return d|0}function dc(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){d=0;return d|0}c[a+56>>2]=b;c[a+44>>2]=d;d=1;return d|0}function ec(a,b){a=a|0;b=b|0;var d=0;if(!a){a=0;return a|0}d=Eb(b)|0;if(!d){a=0;return a|0}Kb(d,a,0);Lb(d,c[a+8>>2]|0,0);if(!b)Ib(d,9);else Gb(d,8);Jb(d,1);Hb(d,10);a=d;return a|0}function fc(){return 4703}function gc(a){a=a|0;var b=0;b=Qc(1,84)|0;if(!b){a=0;return a|0}c[b+68>>2]=1;switch(a|0){case 0:{c[b+72>>2]=13;c[b+76>>2]=2;c[b+80>>2]=3;c[b+4>>2]=33;c[b+16>>2]=11;c[b>>2]=34;c[b+20>>2]=1;c[b+24>>2]=5;c[b+8>>2]=1;c[b+12>>2]=1;c[b+28>>2]=1;c[b+32>>2]=1;c[b+36>>2]=12;a=fd()|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}case 2:{c[b+72>>2]=14;c[b+76>>2]=4;c[b+80>>2]=5;c[b+4>>2]=35;c[b+16>>2]=13;c[b>>2]=36;c[b+8>>2]=2;c[b+12>>2]=2;c[b+20>>2]=2;c[b+24>>2]=6;c[b+28>>2]=2;c[b+32>>2]=2;c[b+36>>2]=14;a=Ye(1)|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}default:{Uc(b);a=0;return a|0}}Vb(b+44|0);a=b;return a|0}function hc(a){a=a|0;if(!a)return;Qi(a|0,0,8248)|0;c[a+8200>>2]=-1;c[a+8204>>2]=-1;c[a+8248>>2]=0;return}function ic(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;if(!((a|0)!=0&(b|0)!=0)){b=0;i=d;return b|0}if(!(c[a+68>>2]|0)){Ub(a+44|0,1,4709,d)|0;b=0;i=d;return b|0}else{Ua[c[a+24>>2]&7](c[a+40>>2]|0,b);b=1;i=d;return b|0}return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;if(!((a|0)!=0&(b|0)!=0)){a=0;i=e;return a|0}if(!(c[b+68>>2]|0)){Ub(b+44|0,1,4790,e)|0;a=0;i=e;return a|0}else{a=Za[c[b>>2]&63](a,c[b+40>>2]|0,d,b+44|0)|0;i=e;return a|0}return 0}function kc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Za[c[a+4>>2]&63](c[a+40>>2]|0,b,d,a+44|0)|0;return b|0}function lc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(!a){e=0;return e|0}if(!(c[a+68>>2]|0)){e=0;return e|0}e=Qa[c[a+28>>2]&3](c[a+40>>2]|0,b,d,e,f,g,a+44|0)|0;return e|0}function mc(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;if(!((d|0)!=0&((a|0)!=0&(b|0)!=0&(e|0)!=0))){i=0;return i|0}if(!(c[a+68>>2]|0)){i=0;return i|0}i=Ya[c[a+8>>2]&3](c[a+40>>2]|0,d,e,f,g,h,i,j,k,b,a+44|0)|0;return i|0}function nc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!((a|0)!=0&(d|0)!=0&(f|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Va[c[a+12>>2]&7](c[a+40>>2]|0,b,d,e,f,a+44|0)|0;return b|0}function oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(!((a|0)!=0&(b|0)!=0)){e=0;return e|0}if(!(c[a+68>>2]|0)){e=0;return e|0}e=$a[c[a+32>>2]&3](c[a+40>>2]|0,b,d,a+44|0,e)|0;return e|0}function pc(a,b){a=a|0;b=b|0;if(!a){b=0;return b|0}b=Ra[c[a+36>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function qc(a){a=a|0;var b=0;b=Qc(1,84)|0;if(!b){a=0;return a|0}c[b+68>>2]=0;switch(a|0){case 0:{c[b+4>>2]=15;c[b+12>>2]=16;c[b>>2]=37;c[b+8>>2]=3;c[b+16>>2]=1;c[b+20>>2]=38;a=Xc()|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}case 2:{c[b+4>>2]=17;c[b+12>>2]=18;c[b>>2]=39;c[b+8>>2]=4;c[b+16>>2]=2;c[b+20>>2]=40;a=Ye(0)|0;c[b+40>>2]=a;if(!a){Uc(b);a=0;return a|0}break}default:{Uc(b);a=0;return a|0}}Vb(b+44|0);a=b;return a|0}function rc(b){b=b|0;if(!b)return;Qi(b|0,0,18708)|0;c[b+5592>>2]=6;c[b+18684>>2]=0;c[b+5596>>2]=64;c[b+5600>>2]=64;c[b+44>>2]=0;c[b+5612>>2]=-1;c[b+18188>>2]=1;c[b+18192>>2]=1;a[b+18688>>0]=0;c[b+18196>>2]=-1;c[b+18200>>2]=-1;g[b+4792>>2]=0.0;c[b+4788>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+18692>>2]=0;return}function sc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(b|0)!=0&(d|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Za[c[a+20>>2]&63](c[a+40>>2]|0,b,d,a+44|0)|0;return b|0}function tc(a,b,d){a=a|0;b=b|0;d=d|0;if(!((a|0)!=0&(d|0)!=0)){d=0;return d|0}if(c[a+68>>2]|0){d=0;return d|0}d=Za[c[a>>2]&63](c[a+40>>2]|0,d,b,a+44|0)|0;return d|0}function uc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Ra[c[a+4>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function vc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Ra[c[a+12>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function wc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0)){b=0;return b|0}if(!(c[a+68>>2]|0)){b=0;return b|0}b=Ra[c[a+16>>2]&63](c[a+40>>2]|0,b,a+44|0)|0;return b|0}function xc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=h<<2;i=_(k,h)|0;j=d+18704|0;h=e[j>>1]|0;b[j>>1]=(h&32768|0)==0?-32512:(h|256)&65535;c[d+5608>>2]=1;a[d+18690>>0]=2;j=Pc(i+k|0)|0;h=d+18696|0;c[h>>2]=j;if(!j){g=0;return g|0}Ui(j|0,f|0,i|0)|0;Ui((c[h>>2]|0)+i|0,g|0,k|0)|0;g=1;return g|0}function yc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!((d|0)!=0&((a|0)!=0&(f|0)!=0))){b=0;return b|0}if(c[a+68>>2]|0){b=0;return b|0}b=Va[c[a+8>>2]&7](c[a+40>>2]|0,b,d,e,f,a+44|0)|0;return b|0}function zc(a){a=a|0;var b=0,d=0;if(!a)return;b=a+40|0;d=c[b>>2]|0;if(!(c[a+68>>2]|0))Ta[c[a+16>>2]&7](d);else Ta[c[a+20>>2]&7](d);c[b>>2]=0;Uc(a);return}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)return;Xa[c[a+72>>2]&15](c[a+40>>2]|0,b,d);return}function Bc(a){a=a|0;if(!a){a=0;return a|0}a=Wa[c[a+76>>2]&15](c[a+40>>2]|0)|0;return a|0}function Cc(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a>>2]|0;d=c[b+48>>2]|0;if(d){Uc(d);b=c[a>>2]|0}Uc(b);c[a>>2]=0;return}function Dc(a){a=a|0;if(!a){a=0;return a|0}a=Wa[c[a+80>>2]&15](c[a+40>>2]|0)|0;return a|0}function Ec(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;bd(b);c[a>>2]=0;return}function Fc(a,b){a=a|0;b=b|0;return Gc(a,1048576,b)|0}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(!a){b=0;return b|0}d=_h(a,(c|0)==0?4869:4872)|0;if(!d){b=0;return b|0}a=vb(b,c)|0;if(!a){Yh(d)|0;b=0;return b|0}else{Kb(a,d,6);fi(d,0,2)|0;b=ii(d)|0;fi(d,0,0)|0;Lb(a,b,((b|0)<0)<<31>>31);Gb(a,19);Ib(a,20);Jb(a,21);Hb(a,22);b=a;return b|0}return 0}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[d>>2]|0)+(c[d+8>>2]|0)|0;d=d+4|0;e=c[d>>2]|0;f=g-e|0;if((g|0)==(e|0)){g=-1;return g|0}g=f>>>0>b>>>0?b:f;Ui(a|0,e|0,g|0)|0;c[d>>2]=(c[d>>2]|0)+g;return g|0}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+4|0;e=c[k>>2]|0;i=d+8|0;g=c[i>>2]|0;j=e-(c[d>>2]|0)|0;f=(g|0)==0?1:g;while(1)if((f-j|0)>>>0>>0)f=f<<1;else{h=f;break}if((h|0)!=(g|0)){e=Pc(h)|0;if(!e){b=-1;return b|0}f=c[d>>2]|0;if(f){Ui(e|0,f|0,j|0)|0;Uc(c[d>>2]|0)}c[d>>2]=e;e=e+j|0;c[k>>2]=e;c[i>>2]=h}Ui(e|0,a|0,b|0)|0;c[k>>2]=(c[k>>2]|0)+b;return b|0}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=(c[b>>2]|0)+(c[b+8>>2]|0)|0;b=b+4|0;d=c[b>>2]|0;e=f-d|0;if((f|0)==(d|0)){f=-1;return f|0}c[b>>2]=d+a;f=e>>>0>a>>>0?a:e;return f|0}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d+8>>2]|0;c[d+4>>2]=(c[d>>2]|0)+(0>(b|0)|0==(b|0)&e>>>0>a>>>0?a:e);return 1}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;b=ci(a,1,b,c)|0;return((b|0)!=0?b:-1)|0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;return ki(a,1,b,c)|0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;c=(fi(c,a,1)|0)==0;C=c?b:-1;return(c?a:-1)|0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;return(fi(c,a,0)|0)==0|0}function Pc(a){a=a|0;if(!a)a=0;else a=Fi(a)|0;return a|0}function Qc(a,b){a=a|0;b=b|0;if(!b)a=0;else a=Hi(a,b)|0;return a|0}function Rc(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;do{if(a)if(!(Ji(b,16,a)|0)){b=c[b>>2]|0;break}else{c[b>>2]=0;b=0;break}else b=0}while(0);i=d;return b|0}function Sc(a){a=a|0;Gi(a);return}function Tc(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Ii(a,b)|0;return b|0}function Uc(a){a=a|0;Gi(a);return}function Vc(a){a=a|0;var b=0,d=0;b=696;while(1){d=c[b>>2]|0;if((d|0)==-1|(d|0)==(a|0))break;else b=b+12|0}return b+4|0}function Wc(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0))return;c[a+172>>2]=c[b+4>>2];c[a+168>>2]=c[b>>2];return}function Xc(){var b=0,d=0;b=Qc(1,208)|0;if(!b){b=0;return b|0}c[b>>2]=0;d=b+184|0;a[d>>0]=a[d>>0]&-3;d=Pc(1e3)|0;c[b+44>>2]=d;if(!d){Yc(b);d=0;return d|0}c[b+48>>2]=1e3;d=qg()|0;c[b+192>>2]=d;if(!d){Yc(b);d=0;return d|0}d=qg()|0;c[b+188>>2]=d;if(d){d=b;return d|0}Yc(b);d=0;return d|0}function Yc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!b)return;if(!(c[b>>2]|0)){d=b+36|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0}d=b+24|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+28>>2]=0}d=b+44|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+48>>2]=0}}else{d=b+12|0;e=c[d>>2]|0;if(e){sd(e);Uc(c[d>>2]|0);c[d>>2]=0}d=b+16|0;e=c[d>>2]|0;if(e){Uc(e);c[d>>2]=0;c[b+20>>2]=0}}Yf(c[b+204>>2]|0);d=b+88|0;h=b+164|0;e=c[h>>2]|0;if(e){f=_(c[b+112>>2]|0,c[b+116>>2]|0)|0;if(f){g=0;while(1){sd(e);g=g+1|0;if((g|0)==(f|0))break;else e=e+5640|0}e=c[h>>2]|0}Uc(e);c[h>>2]=0}h=b+124|0;e=c[h>>2]|0;if(e){i=b+120|0;f=c[i>>2]|0;if(f){g=0;while(1){e=c[e+(g<<3)>>2]|0;if(e){Uc(e);f=c[i>>2]|0}g=g+1|0;if(g>>>0>=f>>>0)break;e=c[h>>2]|0}e=c[h>>2]|0}c[i>>2]=0;Uc(e);c[h>>2]=0}i=b+144|0;Uc(c[i>>2]|0);c[i>>2]=0;c[b+128>>2]=0;i=b+108|0;Uc(c[i>>2]|0);c[i>>2]=0;if(!(a[b+184>>0]&2)){i=b+176|0;Uc(c[i>>2]|0);c[i>>2]=0}e=d+100|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=b+188|0;rg(c[i>>2]|0);c[i>>2]=0;rg(c[b+192>>2]|0);c[i>>2]=0;i=b+196|0;bd(c[i>>2]|0);c[i>>2]=0;i=b+80|0;Zb(c[i>>2]|0);c[i>>2]=0;i=b+84|0;Zb(c[i>>2]|0);c[i>>2]=0;Uc(b);return}function Zc(d,e,f,j){d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0;ka=i;i=i+320|0;fa=ka+296|0;ea=ka+288|0;ja=ka+280|0;ia=ka+272|0;ha=ka+264|0;ga=ka+256|0;da=ka+248|0;ca=ka+240|0;W=ka+232|0;U=ka+224|0;T=ka+216|0;S=ka+208|0;R=ka+200|0;Q=ka+192|0;P=ka+184|0;v=ka+176|0;u=ka+168|0;t=ka+160|0;s=ka+152|0;q=ka+144|0;I=ka+136|0;H=ka+128|0;N=ka+112|0;G=ka+104|0;F=ka+96|0;E=ka+88|0;C=ka+80|0;B=ka+72|0;A=ka+64|0;z=ka+56|0;y=ka+48|0;x=ka+32|0;w=ka+24|0;p=ka+16|0;m=ka+8|0;l=ka;K=ka+309|0;L=ka+300|0;if(!((d|0)!=0&(e|0)!=0&(f|0)!=0)){j=0;i=ka;return j|0}ba=e+5592|0;k=c[ba>>2]|0;if((k+-1|0)>>>0>32){c[l>>2]=k;c[l+4>>2]=33;Ub(j,1,4875,l)|0;j=0;i=ka;return j|0}$=d+112|0;c[$>>2]=1;aa=d+116|0;c[aa>>2]=1;J=e+18704|0;do{if(!(b[J>>1]|0)){switch(c[e+18676>>2]|0){case 1:{b[J>>1]=3;c[e+18700>>2]=1302083;c[e+18680>>2]=1041666;l=1;break}case 2:{b[J>>1]=3;c[e+18700>>2]=651041;c[e+18680>>2]=520833;l=1;break}case 3:{b[J>>1]=4;c[e+18700>>2]=1302083;c[e+18680>>2]=1041666;l=1;break}default:l=0}k=c[e+18684>>2]|0;a:do{if((k|0)>=4)if((k|0)<33024){switch(k|0){case 4:break;default:{Z=13;break a}}b[J>>1]=4;break}else{switch(k|0){case 33024:break;default:{Z=13;break a}}b[J>>1]=-32512;break}else{switch(k|0){case 3:break;default:{Z=13;break a}}b[J>>1]=3}}while(0);if((Z|0)==13?(l|0)==0:0)break;Ub(j,2,4931,m)|0}}while(0);D=e+18700|0;k=c[D>>2]|0;do{if((k|0)<1){r=+g[e+4792+((c[e+4788>>2]|0)+-1<<2)>>2];if(r>0.0){X=c[f+24>>2]|0;p=_(c[X+8>>2]|0,c[f+16>>2]|0)|0;p=_(p,c[X+12>>2]|0)|0;la=+((_(p,c[X+24>>2]|0)|0)>>>0);c[D>>2]=~~+M(+(la/(r*8.0*+((c[X>>2]|0)>>>0)*+((c[X+4>>2]|0)>>>0))));break}else{c[D>>2]=0;break}}else{o=c[f+24>>2]|0;X=_(c[o+8>>2]|0,c[f+16>>2]|0)|0;X=_(X,c[o+12>>2]|0)|0;r=+((_(X,c[o+24>>2]|0)|0)>>>0);k=_(k<<3,c[o>>2]|0)|0;r=r/+((_(k,c[o+4>>2]|0)|0)>>>0);o=e+4788|0;k=c[o>>2]|0;if(k){m=k;k=0;n=0;while(1){l=e+4792+(n<<2)|0;if(+g[l>>2]>2]=r;l=c[o>>2]|0;k=1}else l=m;n=n+1|0;if(n>>>0>=l>>>0)break;else m=l}if(k)Ub(j,2,5068,p)|0}}}while(0);k=b[J>>1]|0;b:do{if((k+-3&65535)>=4){if(k<<16>>16==7){Ub(j,2,7228,q)|0;b[J>>1]=0;k=0;break}if((k+-256&65535)<524){Ub(j,2,7283,s)|0;b[J>>1]=0;k=0;break}if((k+-1024&65535)<1180){Ub(j,2,7331,t)|0;b[J>>1]=0;k=0;break}if(k<<16>>16<=-1)switch(k<<16>>16){case-32512:{k=-32512;break b}case-32768:{Ub(j,2,7373,u)|0;b[J>>1]=0;k=0;break b}default:{Ub(j,2,7461,v)|0;b[J>>1]=0;k=0;break b}}}else{if((k+-5&65535)<2){Ub(j,2,5160,w)|0;b[J>>1]=0;k=0;break}c[e>>2]=0;c[e+12>>2]=1;c[e+16>>2]=1;a[e+18689>>0]=67;a[e+18688>>0]=1;c[e+4>>2]=0;c[e+8>>2]=0;c[e+18180>>2]=0;c[e+18184>>2]=0;c[e+5596>>2]=32;c[e+5600>>2]=32;c[e+5604>>2]=0;c[e+5612>>2]=-1;c[e+18188>>2]=1;c[e+18192>>2]=1;c[e+5608>>2]=1;l=e+4788|0;m=c[l>>2]|0;if((m|0)>1){la=+g[e+4792+(m+-1<<2)>>2];c[x>>2]=m;h[x+8>>3]=la;Ub(j,2,5222,x)|0;c[e+4792>>2]=c[e+4792+((c[l>>2]|0)+-1<<2)>>2];c[l>>2]=1;k=b[J>>1]|0}c:do{switch(k&65535|0){case 3:{k=c[ba>>2]|0;if((k|0)>6){c[y>>2]=k+1;Ub(j,2,5395,y)|0;c[ba>>2]=6;k=6}break}case 4:{k=c[ba>>2]|0;if((k|0)<2){c[z>>2]=k+1;Ub(j,2,5541,z)|0;c[ba>>2]=1;k=1;break c}if((k|0)>7){c[A>>2]=k+1;Ub(j,2,5695,A)|0;c[ba>>2]=7;k=7}break}default:k=c[ba>>2]|0}}while(0);l=e+40|0;c[l>>2]=c[l>>2]|1;l=e+5620|0;c[l>>2]=k+-1;if((k|0)>1){k=0;do{c[e+5624+(k<<2)>>2]=256;c[e+5756+(k<<2)>>2]=256;k=k+1|0}while((k|0)<(c[l>>2]|0))}c[e+44>>2]=4;if((b[J>>1]|0)==4){k=c[ba>>2]|0;c[e+96>>2]=1;c[e+48>>2]=0;c[e+52>>2]=0;c[e+56>>2]=1;X=k+-1|0;c[e+60>>2]=X;c[e+64>>2]=3;c[e+80>>2]=4;c[e+244>>2]=1;c[e+196>>2]=X;c[e+200>>2]=0;c[e+204>>2]=1;c[e+208>>2]=k;c[e+212>>2]=3;c[e+228>>2]=4;k=2}else k=0;c[e+4784>>2]=k;c[e+20>>2]=1;k=c[D>>2]|0;if((k|0)>=1){if((k|0)>1302083){Ub(j,2,5998,C)|0;c[D>>2]=1302083}}else{c[D>>2]=1302083;Ub(j,2,5849,B)|0}k=e+18680|0;l=c[k>>2]|0;if((l|0)>=1){if((l|0)>1041666){Ub(j,2,6320,F)|0;c[k>>2]=1041666}}else{c[k>>2]=1041666;Ub(j,2,6171,E)|0}l=c[f+16>>2]|0;n=c[f+24>>2]|0;o=c[n+8>>2]|0;k=_(o,l)|0;p=c[n+12>>2]|0;k=_(k,p)|0;la=+((_(k,c[n+24>>2]|0)|0)>>>0);k=_(c[D>>2]<<3,c[n>>2]|0)|0;g[e+4792>>2]=la/+((_(k,c[n+4>>2]|0)|0)>>>0);k=b[J>>1]|0;d:do{if((l|0)==3){l=n+28|0;m=n+32|0;if(!((c[l>>2]|0)!=12|c[m>>2])){l=n+80|0;m=n+84|0;if(!((c[l>>2]|0)!=12|c[m>>2])){l=n+132|0;m=n+136|0;if(!((c[l>>2]|0)!=12|c[m>>2])){switch(k&65535|0){case 3:{if(p>>>0>1080|o>>>0>2048){c[H>>2]=o;c[H+4>>2]=p;Ub(j,2,6892,H)|0;break d}break}case 4:{if(p>>>0>2160|o>>>0>4096){c[I>>2]=o;c[I+4>>2]=p;Ub(j,2,7063,I)|0;break d}break}default:{}}break b}else{p=l;k=m;l=2}}else{p=l;k=m;l=1}}else{p=l;k=m;l=0}a[K>>0]=a[6659]|0;a[K+1>>0]=a[6660]|0;a[K+2>>0]=a[6661]|0;a[K+3>>0]=a[6662]|0;a[K+4>>0]=a[6663]|0;a[K+5>>0]=a[6664]|0;a[K+6>>0]=a[6665]|0;m=L;n=6666;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));X=(c[k>>2]|0)!=0?K:L;L=c[p>>2]|0;c[N>>2]=l;c[N+4>>2]=L;c[N+8>>2]=X;Ub(j,2,6675,N)|0}else{c[G>>2]=l;Ub(j,2,6493,G)|0}}while(0);b[J>>1]=0;k=0}}while(0);c[d+168>>2]=c[e+18680>>2];X=d+88|0;b[X>>1]=k;N=d+181|0;K=a[N>>0]&-2|c[e+20>>2]&1;a[N>>0]=K;L=e+24|0;K=(c[L>>2]&255)<<1&2|K&-3;a[N>>0]=K;a[N>>0]=K&-5|(c[e+28>>2]&255)<<2&4;do{if((c[L>>2]|0)!=0?(O=e+32|0,(c[O>>2]|0)!=0):0){k=_((c[e+4788>>2]|0)*12|0,c[ba>>2]|0)|0;l=Pc(k)|0;c[d+176>>2]=l;if(l){Ui(l|0,c[O>>2]|0,k|0)|0;break}Ub(j,1,7520,P)|0;j=0;i=ka;return j|0}}while(0);n=d+100|0;c[n>>2]=c[e+12>>2];o=d+104|0;c[o>>2]=c[e+16>>2];m=d+92|0;c[m>>2]=c[e+4>>2];p=d+96|0;c[p>>2]=c[e+8>>2];l=e+36|0;k=c[l>>2]|0;do{if(!k){k=fc()|0;l=Pc((wi(k)|0)+29|0)|0;c[d+108>>2]=l;if(l){c[S>>2]=7697;c[S+4>>2]=k;ni(l,7692,S)|0;break}Ub(j,1,7646,R)|0;j=0;i=ka;return j|0}else{k=Pc((wi(k)|0)+1|0)|0;c[d+108>>2]=k;if(k){vi(k,c[l>>2]|0)|0;break}Ub(j,1,7592,Q)|0;j=0;i=ka;return j|0}}while(0);k=(c[f+8>>2]|0)-(c[m>>2]|0)|0;l=c[f+12>>2]|0;if(!(c[e>>2]|0)){c[n>>2]=k;c[o>>2]=l-(c[p>>2]|0)}else{S=c[n>>2]|0;c[$>>2]=(k+-1+S|0)/(S|0)|0;S=c[o>>2]|0;c[aa>>2]=(l+-1-(c[p>>2]|0)+S|0)/(S|0)|0}if(a[e+18688>>0]|0){a[d+180>>0]=a[e+18689>>0]|0;a[N>>0]=a[N>>0]|8}S=Qc(_(c[aa>>2]|0,c[$>>2]|0)|0,5640)|0;L=d+164|0;c[L>>2]=S;if(!S){Ub(j,1,7726,T)|0;j=0;i=ka;return j|0}K=e+4784|0;A=c[K>>2]|0;do{if(A){w=e+48|0;B=c[ba>>2]|0;C=c[f+16>>2]|0;D=c[e+4788>>2]|0;E=_(C,B)|0;F=Qc(_(E,D)|0,4)|0;if(!F){Ub(j,1,7780,U)|0;break}m=c[w>>2]|0;s=e+60|0;k=c[s>>2]|0;if(m>>>0>>0){q=_(m,C)|0;t=e+52|0;u=e+64|0;v=e+56|0;l=c[u>>2]|0;while(1){n=c[t>>2]|0;if(n>>>0>>0){k=c[v>>2]|0;p=n;o=n+q|0;while(1){if(!k)k=0;else{l=o;n=0;while(1){c[F+(l<<2)>>2]=1;n=n+1|0;k=c[v>>2]|0;if(n>>>0>=k>>>0)break;else l=l+E|0}l=c[u>>2]|0}p=p+1|0;if(p>>>0>=l>>>0)break;else o=o+1|0}k=c[s>>2]|0}m=m+1|0;if(m>>>0>=k>>>0)break;else q=q+C|0}}if(A>>>0>1){z=1;do{k=w;w=w+148|0;v=c[k+8>>2]|0;u=k+156|0;n=c[u>>2]|0;v=n>>>0>v>>>0?v:0;o=c[w>>2]|0;x=k+160|0;l=c[x>>2]|0;if(o>>>0>>0){q=_(o,C)|0;y=k+152|0;s=k+164|0;t=_(v,E)|0;m=c[s>>2]|0;k=n;while(1){n=c[y>>2]|0;if(n>>>0>>0){p=n;n=n+q|0;while(1){if(v>>>0>>0){l=n+t|0;m=v;while(1){c[F+(l<<2)>>2]=1;m=m+1|0;k=c[u>>2]|0;if(m>>>0>=k>>>0)break;else l=l+E|0}m=c[s>>2]|0}p=p+1|0;if(p>>>0>=m>>>0)break;else n=n+1|0}l=c[x>>2]|0}o=o+1|0;if(o>>>0>=l>>>0)break;else q=q+C|0}}z=z+1|0}while((z|0)!=(A|0))}if((D|0)!=0?(V=(C|0)==0,(B|0)!=0):0){l=0;q=0;k=0;do{if(!V){p=l;o=0;while(1){m=0;n=p;while(1){k=(c[F+(n<<2)>>2]|0)!=1|k;m=m+1|0;if((m|0)==(C|0))break;else n=n+1|0}o=o+1|0;if((o|0)==(B|0))break;else p=p+C|0}l=E+l|0}q=q+1|0}while((q|0)!=(D|0));if(k)Ub(j,1,7828,W)|0}Uc(F)}}while(0);e:do{if(_(c[aa>>2]|0,c[$>>2]|0)|0){w=e+4788|0;x=e+40|0;y=e+44|0;z=e+18690|0;A=f+16|0;l=e+18696|0;B=f+24|0;C=e+5596|0;D=e+5600|0;E=e+5604|0;F=e+5608|0;G=e+5612|0;H=e+5616|0;I=e+5620|0;J=0;f:while(1){q=c[L>>2]|0;s=q+(J*5640|0)|0;W=c[w>>2]|0;k=q+(J*5640|0)+8|0;c[k>>2]=W;if(W){m=((b[X>>1]|0)+-3&65535)<4;o=0;do{n=(a[N>>0]&4)==0;do{if(!m)if(n){c[q+(J*5640|0)+20+(o<<2)>>2]=c[e+4792+(o<<2)>>2];break}else{c[q+(J*5640|0)+5184+(o<<2)>>2]=c[e+5192+(o<<2)>>2];break}else{if(!n)c[q+(J*5640|0)+5184+(o<<2)>>2]=c[e+5192+(o<<2)>>2];c[q+(J*5640|0)+20+(o<<2)>>2]=c[e+4792+(o<<2)>>2]}}while(0);o=o+1|0}while(o>>>0<(c[k>>2]|0)>>>0)}c[s>>2]=c[x>>2];c[q+(J*5640|0)+4>>2]=c[y>>2];p=q+(J*5640|0)+16|0;c[p>>2]=a[z>>0];k=q+(J*5640|0)+5636|0;m=a[k>>0]|0;a[k>>0]=m&-5;if(!(c[K>>2]|0))c[q+(J*5640|0)+420>>2]=0;else{a[k>>0]=m|4;m=c[K>>2]|0;if(!m)k=0;else{n=J+1|0;o=0;k=0;do{if((n|0)==(c[e+48+(o*148|0)+48>>2]|0)){c[q+(J*5640|0)+424+(k*148|0)>>2]=c[e+48+(k*148|0)>>2];c[q+(J*5640|0)+424+(k*148|0)+4>>2]=c[e+48+(k*148|0)+4>>2];c[q+(J*5640|0)+424+(k*148|0)+8>>2]=c[e+48+(k*148|0)+8>>2];c[q+(J*5640|0)+424+(k*148|0)+12>>2]=c[e+48+(k*148|0)+12>>2];c[q+(J*5640|0)+424+(k*148|0)+16>>2]=c[e+48+(k*148|0)+16>>2];c[q+(J*5640|0)+424+(k*148|0)+32>>2]=c[e+48+(k*148|0)+32>>2];c[q+(J*5640|0)+424+(k*148|0)+48>>2]=c[e+48+(k*148|0)+48>>2];k=k+1|0}o=o+1|0}while(o>>>0>>0)}c[q+(J*5640|0)+420>>2]=k+-1}W=Qc(c[A>>2]|0,1080)|0;v=q+(J*5640|0)+5584|0;c[v>>2]=W;if(!W){Z=149;break}do{if(!(c[l>>2]|0)){g:do{if((c[p>>2]|0)==1){k=c[A>>2]|0;if(k>>>0<=2){n=k;break}m=c[B>>2]|0;k=c[m>>2]|0;do{if((k|0)==(c[m+52>>2]|0)){if((k|0)!=(c[m+104>>2]|0))break;k=c[m+4>>2]|0;if((k|0)!=(c[m+56>>2]|0))break;if((k|0)==(c[m+108>>2]|0)){Z=175;break g}}}while(0);Ub(j,2,8224,fa)|0;c[p>>2]=0;Z=175}else Z=175}while(0);if((Z|0)==175){Z=0;n=c[A>>2]|0}if(!n)break;k=c[B>>2]|0;m=0;do{if(!(c[k+(m*52|0)+32>>2]|0))c[(c[v>>2]|0)+(m*1080|0)+1076>>2]=1<<(c[k+(m*52|0)+24>>2]|0)+-1;m=m+1|0}while(m>>>0>>0);Y=n;Z=166}else{n=c[A>>2]|0;n=_(n<<2,n)|0;k=Pc(n)|0;o=(c[l>>2]|0)+n|0;if(!k){Z=152;break f}c[p>>2]=2;m=Pc(n)|0;c[q+(J*5640|0)+5608>>2]=m;if(!m){Z=154;break f}Ui(m|0,c[l>>2]|0,n|0)|0;Ui(k|0,c[l>>2]|0,n|0)|0;m=Pc(n)|0;n=q+(J*5640|0)+5604|0;c[n>>2]=m;if(!m){Z=156;break f}if(!(Vg(k,m,c[A>>2]|0)|0)){Z=158;break f}m=Pc(c[A>>2]<<3)|0;c[q+(J*5640|0)+5600>>2]=m;if(!m){Z=160;break f}If(m,c[A>>2]|0,c[n>>2]|0);Uc(k);k=c[A>>2]|0;if(k){m=c[v>>2]|0;n=0;do{c[m+(n*1080|0)+1076>>2]=c[o+(n<<2)>>2];n=n+1|0}while(n>>>0>>0)}if(!(_c(s,f)|0)){Z=167;break f}Y=c[A>>2]|0;Z=166}}while(0);if((Z|0)==166?(Z=0,(Y|0)!=0):0){u=0;do{s=c[v>>2]|0;t=s+(u*1080|0)|0;c[t>>2]=c[x>>2]&1;n=c[ba>>2]|0;o=s+(u*1080|0)+4|0;c[o>>2]=n;k=c[C>>2]|0;if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+8>>2]=k;k=c[D>>2]|0;if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+12>>2]=k;c[s+(u*1080|0)+16>>2]=c[E>>2];W=c[F>>2]|0;c[s+(u*1080|0)+20>>2]=(W|0)==0&1;c[s+(u*1080|0)+24>>2]=(W|0)!=0?2:0;c[s+(u*1080|0)+804>>2]=2;if((u|0)==(c[G>>2]|0))k=c[H>>2]|0;else k=0;c[s+(u*1080|0)+808>>2]=k;do{if(!(c[x>>2]&1)){if(!n)break;else k=0;do{c[s+(u*1080|0)+812+(k<<2)>>2]=15;c[s+(u*1080|0)+944+(k<<2)>>2]=15;k=k+1|0}while(k>>>0<(c[o>>2]|0)>>>0)}else{if((n|0)>0){o=n;q=0}else break;while(1){p=o;o=o+-1|0;k=c[I>>2]|0;do{if((q|0)<(k|0)){k=c[e+5624+(q<<2)>>2]|0;if((k|0)<1)c[s+(u*1080|0)+812+(o<<2)>>2]=1;else{if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+812+(o<<2)>>2]=k}k=c[e+5756+(q<<2)>>2]|0;if((k|0)<1){c[s+(u*1080|0)+944+(o<<2)>>2]=1;break}if((k|0)>1){m=0;do{k=k>>1;m=m+1|0}while((k|0)>1);k=m}else k=0;c[s+(u*1080|0)+944+(o<<2)>>2]=k}else{W=k+-1|0;m=q-W|0;k=c[e+5624+(W<<2)>>2]>>m;m=c[e+5756+(W<<2)>>2]>>m;if((k|0)<1)c[s+(u*1080|0)+812+(o<<2)>>2]=1;else{if((k|0)>1){n=0;do{k=k>>1;n=n+1|0}while((k|0)>1);k=n}else k=0;c[s+(u*1080|0)+812+(o<<2)>>2]=k}if((m|0)<1){c[s+(u*1080|0)+944+(o<<2)>>2]=1;break}if((m|0)>1){k=0;do{m=m>>1;k=k+1|0}while((m|0)>1)}else k=0;c[s+(u*1080|0)+944+(o<<2)>>2]=k}}while(0);if((p|0)<=1)break;else q=q+1|0}}}while(0);Mg(t,c[(c[B>>2]|0)+(u*52|0)+24>>2]|0);u=u+1|0}while(u>>>0<(c[A>>2]|0)>>>0)}J=J+1|0;if(J>>>0>=(_(c[aa>>2]|0,c[$>>2]|0)|0)>>>0)break e}if((Z|0)==149){Ub(j,1,7867,ca)|0;j=0;i=ka;return j|0}else if((Z|0)==152){Ub(j,1,7931,da)|0;j=0;i=ka;return j|0}else if((Z|0)==154){Uc(k);Ub(j,1,7974,ga)|0;j=0;i=ka;return j|0}else if((Z|0)==156){Uc(k);Ub(j,1,8032,ha)|0;j=0;i=ka;return j|0}else if((Z|0)==158){Uc(k);Ub(j,1,8092,ia)|0;j=0;i=ka;return j|0}else if((Z|0)==160){Uc(k);Ub(j,1,8140,ja)|0;j=0;i=ka;return j|0}else if((Z|0)==167){Ub(j,1,8190,ea)|0;j=0;i=ka;return j|0}}else l=e+18696|0}while(0);k=c[l>>2]|0;if(!k){j=1;i=ka;return j|0}Uc(k);c[l>>2]=0;j=1;i=ka;return j|0}function _c(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[b+16>>2]|0)!=2){b=1;return b|0}m=b+5604|0;r=b+5616|0;e=c[r>>2]|0;n=b+5620|0;do{if(c[m>>2]|0){do{if((e|0)==(c[n>>2]|0)){e=e+10|0;c[n>>2]=e;f=b+5612|0;e=Tc(c[f>>2]|0,e*20|0)|0;if(e){c[f>>2]=e;q=c[r>>2]|0;Qi(e+(q*20|0)|0,0,((c[n>>2]|0)-q|0)*20|0)|0;e=c[r>>2]|0;break}Uc(c[f>>2]|0);c[f>>2]=0;c[n>>2]=0;c[r>>2]=0;b=0;return b|0}else f=b+5612|0}while(0);k=c[f>>2]|0;i=k+(e*20|0)|0;l=k+(e*20|0)+12|0;f=c[l>>2]|0;if(f){Uc(f);c[l>>2]=0}c[k+(e*20|0)+8>>2]=1;c[k+(e*20|0)+4>>2]=1;c[i>>2]=2;f=c[d+16>>2]|0;f=_(f,f)|0;h=f<<2;j=Pc(h)|0;c[l>>2]=j;if(!j){b=0;return b|0}else{Xa[c[768+(c[i>>2]<<2)>>2]&15](c[m>>2]|0,j,f);c[k+(e*20|0)+16>>2]=h;e=(c[r>>2]|0)+1|0;c[r>>2]=e;j=2;break}}else{j=1;i=0}}while(0);do{if((e|0)==(c[n>>2]|0)){f=e+10|0;c[n>>2]=f;e=b+5612|0;f=Tc(c[e>>2]|0,f*20|0)|0;if(!f){Uc(c[e>>2]|0);c[e>>2]=0;c[n>>2]=0;c[r>>2]=0;b=0;return b|0}else{c[e>>2]=f;h=c[r>>2]|0;Qi(f+(h*20|0)|0,0,((c[n>>2]|0)-h|0)*20|0)|0;if(!i){i=0;break}i=f+((h+-1|0)*20|0)|0;break}}else e=b+5612|0}while(0);m=c[e>>2]|0;n=c[r>>2]|0;q=m+(n*20|0)|0;o=m+(n*20|0)+12|0;e=c[o>>2]|0;if(e){Uc(e);c[o>>2]=0}p=j+1|0;c[m+(n*20|0)+8>>2]=j;c[m+(n*20|0)+4>>2]=2;c[q>>2]=2;d=d+16|0;e=c[d>>2]|0;f=e<<2;l=Pc(f)|0;c[o>>2]=l;if(!l){b=0;return b|0}h=Pc(f)|0;if(!h){Uc(c[o>>2]|0);c[o>>2]=0;b=0;return b|0}if(e){j=0;k=h;l=c[b+5584>>2]|0;while(1){g[k>>2]=+(c[l+1076>>2]|0);j=j+1|0;if((j|0)==(e|0))break;else{k=k+4|0;l=l+1080|0}}}Xa[c[768+(c[q>>2]<<2)>>2]&15](h,c[o>>2]|0,e);Uc(h);c[m+(n*20|0)+16>>2]=f;c[r>>2]=(c[r>>2]|0)+1;j=b+5628|0;e=c[j>>2]|0;h=b+5632|0;do{if((e|0)==(c[h>>2]|0)){e=e+10|0;c[h>>2]=e;f=b+5624|0;e=Tc(c[f>>2]|0,e*20|0)|0;if(e){c[f>>2]=e;b=c[j>>2]|0;Qi(e+(b*20|0)|0,0,((c[h>>2]|0)-b|0)*20|0)|0;e=c[j>>2]|0;break}Uc(c[f>>2]|0);c[f>>2]=0;c[h>>2]=0;c[j>>2]=0;b=0;return b|0}else f=b+5624|0}while(0);b=c[f>>2]|0;c[b+(e*20|0)+8>>2]=i;r=b+(e*20|0)+16|0;a[r>>0]=a[r>>0]|1;c[b+(e*20|0)+4>>2]=c[d>>2];c[b+(e*20|0)>>2]=p;c[b+(e*20|0)+12>>2]=q;c[j>>2]=(c[j>>2]|0)+1;b=1;return b|0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ad(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=Xb()|0;k=b+80|0;c[k>>2]=j;if(!j){k=0;return k|0}f=b+192|0;if((sg(c[f>>2]|0,23,e)|0)!=0?(sg(c[f>>2]|0,24,e)|0)!=0:0){h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}}else vg(h);f=b+188|0;if((sg(c[f>>2]|0,25,e)|0)!=0?(sg(c[f>>2]|0,26,e)|0)!=0:0){h=c[f>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](b,a,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}}else vg(h);f=Xb()|0;c[d>>2]=f;if(!f){k=0;return k|0}$b(c[k>>2]|0,f);f=_(c[b+116>>2]|0,c[b+112>>2]|0)|0;i=b+196|0;c[(c[i>>2]|0)+36>>2]=f;f=Qc(f,40)|0;g=c[i>>2]|0;c[g+40>>2]=f;if(!f){k=0;return k|0}if(!(c[g+36>>2]|0)){k=1;return k|0}h=0;while(1){c[f+(h*40|0)+28>>2]=100;c[f+(h*40|0)+20>>2]=0;k=Qc(100,24)|0;g=c[i>>2]|0;f=c[g+40>>2]|0;c[f+(h*40|0)+24>>2]=k;h=h+1|0;if(!k){f=0;g=30;break}if(h>>>0>=(c[g+36>>2]|0)>>>0){f=1;g=30;break}}if((g|0)==30)return f|0}Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}Zb(c[k>>2]|0);c[k>>2]=0;k=0;return k|0}function bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!a)return;b=a+28|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}h=a+40|0;b=c[h>>2]|0;if(b){g=a+36|0;if(c[g>>2]|0){d=b;f=0;do{e=c[d+(f*40|0)+36>>2]|0;if(e){Uc(e);b=c[h>>2]|0;c[b+(f*40|0)+36>>2]=0;d=b}e=c[d+(f*40|0)+16>>2]|0;if(e){Uc(e);b=c[h>>2]|0;c[b+(f*40|0)+16>>2]=0;d=b}e=c[d+(f*40|0)+24>>2]|0;if(e){Uc(e);d=c[h>>2]|0;c[d+(f*40|0)+24>>2]=0;b=d}f=f+1|0}while(f>>>0<(c[g>>2]|0)>>>0)}Uc(b);c[h>>2]=0}Uc(a);return}function cd(d,e,f,g,h,j,k,l,m,n,o){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,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;Da=i;i=i+256|0;Ca=Da+200|0;Ba=Da+192|0;za=Da+184|0;ya=Da+176|0;pa=Da+168|0;oa=Da+160|0;na=Da+152|0;ma=Da+144|0;la=Da+136|0;ka=Da+128|0;ia=Da+120|0;ha=Da+112|0;wa=Da+104|0;ua=Da+96|0;ga=Da+88|0;fa=Da+80|0;ea=Da+72|0;va=Da+64|0;da=Da+56|0;ca=Da+48|0;sa=Da+40|0;ra=Da+32|0;qa=Da+24|0;ja=Da+16|0;ba=Da+8|0;aa=Da;V=Da+240|0;T=Da+236|0;X=Da+232|0;Z=Da+228|0;$=Da+224|0;U=Da+220|0;Y=Da+216|0;S=Da+212|0;W=Da+208|0;c[S>>2]=65424;Aa=d+8|0;a:do{switch(c[Aa>>2]|0){case 256:{c[S>>2]=65497;p=d+76|0;xa=117;break}case 8:{ta=d+76|0;if(!(a[ta>>0]&1)){O=d+200|0;P=d+164|0;Q=d+72|0;R=d+24|0;B=d+196|0;D=d+112|0;E=d+116|0;G=V+2|0;H=V+6|0;I=V+7|0;J=d+16|0;K=d+20|0;L=d+64|0;p=65424;b:while(1){c:do{if((p|0)!=65427){while(1){A=Qb(n)|0;if((A|0)==0&(C|0)==0){xa=7;break}if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=9;break b}qb(c[J>>2]|0,W,2);if((c[W>>2]|0)>>>0<2){xa=11;break b}if((c[S>>2]|0)==32896?(A=Qb(n)|0,(A|0)==0&(C|0)==0):0){xa=14;break}s=c[Aa>>2]|0;p=c[W>>2]|0;if(s&16)c[R>>2]=-2-p+(c[R>>2]|0);q=p+-2|0;c[W>>2]=q;p=c[S>>2]|0;r=784;while(1){A=c[r>>2]|0;if((A|0)==0|(A|0)==(p|0)){y=r;break}else r=r+12|0}if(!(c[r+4>>2]&s)){xa=20;break b}if(q>>>0>(c[K>>2]|0)>>>0){A=Qb(n)|0;z=C;if(0>(z|0)|0==(z|0)&q>>>0>A>>>0){xa=24;break b}p=Tc(c[J>>2]|0,c[W>>2]|0)|0;if(!p){xa=26;break b}c[J>>2]=p;q=c[W>>2]|0;c[K>>2]=q}else p=c[J>>2]|0;q=Mb(n,p,q,o)|0;if((q|0)!=(c[W>>2]|0)){xa=29;break b}p=c[r+8>>2]|0;if(!p){xa=31;break b}if(!(Za[p&63](d,c[J>>2]|0,q,o)|0)){xa=33;break b}r=c[O>>2]|0;q=c[B>>2]|0;v=c[y>>2]|0;w=Pb(n)|0;x=c[W>>2]|0;w=w-x+-4|0;x=x+4|0;q=q+40|0;u=c[q>>2]|0;p=c[u+(r*40|0)+20>>2]|0;s=u+(r*40|0)+28|0;t=c[s>>2]|0;if((p+1|0)>>>0>t>>>0){t=~~(+(t>>>0)+100.0)>>>0;c[s>>2]=t;s=Tc(c[u+(r*40|0)+24>>2]|0,t*24|0)|0;t=c[q>>2]|0;p=t+(r*40|0)+24|0;if(!s){xa=41;break b}c[p>>2]=s;q=t;p=c[t+(r*40|0)+20>>2]|0}else{q=u;s=c[u+(r*40|0)+24>>2]|0}b[s+(p*24|0)>>1]=v;A=s+(p*24|0)+8|0;c[A>>2]=w;c[A+4>>2]=((w|0)<0)<<31>>31;c[s+(p*24|0)+16>>2]=x;c[q+(r*40|0)+20>>2]=p+1;if((v|0)==65424?(F=c[q+(r*40|0)+16>>2]|0,(F|0)!=0):0){A=F+((c[q+(r*40|0)+12>>2]|0)*24|0)|0;c[A>>2]=w;c[A+4>>2]=0}do{if((c[y>>2]|0)==65424){p=Pb(n)|0;p=-4-(c[W>>2]|0)+p|0;A=L;z=c[A+4>>2]|0;if(!(0>(z|0)|(0==(z|0)?p>>>0>(c[A>>2]|0)>>>0:0)))break;A=L;c[A>>2]=p;c[A+4>>2]=0}}while(0);if(a[ta>>0]&4){xa=46;break}if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=50;break b}qb(c[J>>2]|0,S,2);if((c[S>>2]|0)==65427)break c}if((xa|0)==7){xa=0;c[Aa>>2]=64;break}else if((xa|0)==14){xa=0;c[Aa>>2]=64;break}else if((xa|0)==46){xa=0;A=Rb(n,c[R>>2]|0,0,o)|0;if(!((C|0)==0?(A|0)==(c[R>>2]|0):0)){xa=47;break b}c[S>>2]=65427;break}}}while(0);A=Qb(n)|0;if((A|0)==0&(C|0)==0?(c[Aa>>2]|0)==64:0){xa=115;break}p=a[ta>>0]|0;if(!(p&4)){q=c[O>>2]|0;r=c[P>>2]|0;if(!(c[Q>>2]|0)){p=c[R>>2]|0;if(p>>>0>1){s=p+-2|0;c[R>>2]=s}else s=p}else{s=Qb(n)|0;s=Si(s|0,C|0,-2,0)|0;c[R>>2]=s}p=r+(q*5640|0)+5592|0;A=r+(q*5640|0)+5596|0;do{if(!s)z=1;else{z=Qb(n)|0;y=C;if(0>(y|0)|0==(y|0)&s>>>0>z>>>0)Ub(o,2,8573,ga)|0;q=c[p>>2]|0;if(!q){z=Pc(c[R>>2]|0)|0;c[p>>2]=z;if(!z)break b;else{z=0;break}}q=Tc(q,(c[R>>2]|0)+(c[A>>2]|0)|0)|0;if(!q){xa=65;break b}c[p>>2]=q;z=0}}while(0);q=c[B>>2]|0;if(q){w=Pb(n)|0;s=C;y=Si(w|0,s|0,-2,-1)|0;r=c[O>>2]|0;q=q+40|0;u=c[q>>2]|0;v=c[u+(r*40|0)+12>>2]|0;t=c[u+(r*40|0)+16>>2]|0;x=t+(v*24|0)+8|0;c[x>>2]=y;c[x+4>>2]=C;x=c[R>>2]|0;s=Si(x|0,0,w|0,s|0)|0;v=t+(v*24|0)+16|0;c[v>>2]=s;c[v+4>>2]=C;x=x+2|0;v=c[u+(r*40|0)+20>>2]|0;s=u+(r*40|0)+28|0;t=c[s>>2]|0;if((v+1|0)>>>0>t>>>0){t=~~(+(t>>>0)+100.0)>>>0;c[s>>2]=t;s=Tc(c[u+(r*40|0)+24>>2]|0,t*24|0)|0;t=c[q>>2]|0;u=t+(r*40|0)+24|0;if(!s){p=u;xa=74;break}c[u>>2]=s;w=t;q=c[t+(r*40|0)+20>>2]|0}else{w=u;s=c[u+(r*40|0)+24>>2]|0;q=v}b[s+(q*24|0)>>1]=-109;v=Pi(0,y|0,32)|0;y=s+(q*24|0)+8|0;c[y>>2]=v;c[y+4>>2]=C;c[s+(q*24|0)+16>>2]=x;c[w+(r*40|0)+20>>2]=q+1}if(!z)p=Mb(n,(c[p>>2]|0)+(c[A>>2]|0)|0,c[R>>2]|0,o)|0;else p=0;c[Aa>>2]=(p|0)==(c[R>>2]|0)?8:64;c[A>>2]=(c[A>>2]|0)+p;p=a[ta>>0]|0;if((p&9)==1){a[ta>>0]=p|8;q=c[O>>2]|0;do{if((Tb(n)|0)!=0?(M=Pb(n)|0,N=C,!((M|0)==-1&(N|0)==-1)):0){while(1){if((Mb(n,V,2,o)|0)!=2){xa=81;break}qb(V,T,2);if((c[T>>2]|0)!=65424){xa=83;break}if((Mb(n,V,2,o)|0)!=2){xa=85;break}qb(V,X,2);if((c[X>>2]|0)!=10){xa=87;break}c[X>>2]=8;p=Mb(n,V,8,o)|0;if((p|0)!=(c[X>>2]|0)){xa=89;break}if((p|0)!=8){xa=91;break}qb(V,Z,2);qb(G,$,4);qb(H,U,1);qb(I,Y,1);if((c[Z>>2]|0)==(q|0)){xa=97;break}p=c[$>>2]|0;if(p>>>0<14){xa=94;break}xa=p+-12|0;c[$>>2]=xa;xa=Rb(n,xa,0,o)|0;if(!((C|0)==0?(xa|0)==(c[$>>2]|0):0)){xa=96;break}}if((xa|0)==81){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==83){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==85){xa=0;Ub(o,1,8295,ha)|0;p=0;q=0;break}else if((xa|0)==87){xa=0;Ub(o,1,8313,ia)|0;p=0;q=0;break}else if((xa|0)==89){xa=0;Ub(o,1,8295,ka)|0;p=0;q=0;break}else if((xa|0)==91){xa=0;Ub(o,1,8662,la)|0;p=0;q=0;break}else if((xa|0)==94){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==96){xa=0;p=(Sb(n,M,N,o)|0)!=0&1;q=0;break}else if((xa|0)==97){xa=0;q=(c[U>>2]|0)==(c[Y>>2]|0)&1;p=(Sb(n,M,N,o)|0)!=0&1;break}}else{p=1;q=0}}while(0);if(!p){xa=99;break}if(q){p=_(c[E>>2]|0,c[D>>2]|0)|0;a[ta>>0]=a[ta>>0]&-18|16;if(p){q=c[P>>2]|0;t=0;do{r=q+(t*5640|0)+5588|0;s=c[r>>2]|0;if(s)c[r>>2]=s+1;t=t+1|0}while((t|0)!=(p|0))}Ub(o,2,8734,na)|0}}if(!(a[ta>>0]&1)){if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=109;break}qb(c[J>>2]|0,S,2)}}else{a[ta>>0]=p&-6;c[Aa>>2]=8;if((Mb(n,c[J>>2]|0,2,o)|0)!=2){xa=113;break}qb(c[J>>2]|0,S,2)}p=c[S>>2]|0;if(!((p|0)!=65497&(a[ta>>0]&1)==0)){xa=116;break}}switch(xa|0){case 9:{Ub(o,1,8295,aa)|0;o=0;i=Da;return o|0}case 11:{Ub(o,1,8313,ba)|0;o=0;i=Da;return o|0}case 20:{Ub(o,1,8339,ja)|0;o=0;i=Da;return o|0}case 24:{Ub(o,1,8382,qa)|0;o=0;i=Da;return o|0}case 26:{Uc(c[J>>2]|0);c[J>>2]=0;c[K>>2]=0;Ub(o,1,8427,ra)|0;o=0;i=Da;return o|0}case 29:{Ub(o,1,8295,sa)|0;o=0;i=Da;return o|0}case 31:{Ub(o,1,8461,ca)|0;o=0;i=Da;return o|0}case 33:{c[da>>2]=c[S>>2];Ub(o,1,8490,da)|0;o=0;i=Da;return o|0}case 41:{Uc(c[p>>2]|0);Ca=c[q>>2]|0;c[Ca+(r*40|0)+24>>2]=0;c[Ca+(r*40|0)+28>>2]=0;c[Ca+(r*40|0)+20>>2]=0;Ub(o,1,8537,va)|0;o=0;i=Da;return o|0}case 47:{Ub(o,1,8295,ea)|0;o=0;i=Da;return o|0}case 50:{Ub(o,1,8295,fa)|0;o=0;i=Da;return o|0}case 65:{Uc(c[p>>2]|0);c[p>>2]=0;break}case 74:{Uc(c[p>>2]|0);Ca=c[q>>2]|0;c[Ca+(r*40|0)+24>>2]=0;c[Ca+(r*40|0)+28>>2]=0;c[Ca+(r*40|0)+20>>2]=0;Ub(o,1,8537,wa)|0;o=0;i=Da;return o|0}case 99:{Ub(o,1,8688,ma)|0;o=0;i=Da;return o|0}case 109:{Ub(o,1,8295,oa)|0;o=0;i=Da;return o|0}case 113:{Ub(o,1,8295,pa)|0;o=0;i=Da;return o|0}case 115:{p=c[S>>2]|0;xa=116;break}}if((xa|0)==116)if((p|0)==65497){p=ta;xa=117;break a}else{p=ta;break a}Ub(o,1,8628,ua)|0;o=0;i=Da;return o|0}else p=ta;break}default:{o=0;i=Da;return o|0}}}while(0);if((xa|0)==117)if((c[Aa>>2]|0)!=256){c[d+200>>2]=0;c[Aa>>2]=256}if(!(a[p>>0]&1)){s=_(c[d+112>>2]|0,c[d+116>>2]|0)|0;t=d+200|0;q=c[t>>2]|0;d:do{if(q>>>0>>0){p=q;r=(c[d+164>>2]|0)+(q*5640|0)|0;while(1){if(c[r+5592>>2]|0){q=p;break d}q=p+1|0;c[t>>2]=q;if(q>>>0>>0){p=q;r=r+5640|0}else break}}}while(0);if((q|0)==(s|0)){c[m>>2]=0;o=1;i=Da;return o|0}}else{q=d+200|0;t=q;q=c[q>>2]|0}A=c[d+164>>2]|0;if(a[A+(q*5640|0)+5636>>0]&2){B=A+(q*5640|0)+5160|0;r=c[B>>2]|0;if(!r)p=0;else{s=c[A+(q*5640|0)+5164>>2]|0;u=0;p=0;do{p=(c[s+(u<<3)+4>>2]|0)+p|0;u=u+1|0}while((u|0)!=(r|0))}xa=Pc(p)|0;z=A+(q*5640|0)+5172|0;c[z>>2]=xa;if(!xa){Ub(o,1,8775,ya)|0;Ub(o,1,8813,za)|0;o=0;i=Da;return o|0}y=A+(q*5640|0)+5180|0;c[y>>2]=p;r=c[B>>2]|0;x=A+(q*5640|0)+5164|0;if(!r)p=c[x>>2]|0;else{p=c[x>>2]|0;v=p;w=0;u=0;while(1){s=c[v+(w<<3)>>2]|0;if(!s)s=v;else{Ui((c[z>>2]|0)+u|0,s|0,c[v+(w<<3)+4>>2]|0)|0;s=c[x>>2]|0;u=(c[s+(w<<3)+4>>2]|0)+u|0;Uc(c[s+(w<<3)>>2]|0);s=c[x>>2]|0;c[s+(w<<3)>>2]=0;c[s+(w<<3)+4>>2]=0;r=c[B>>2]|0;p=s}w=w+1|0;if(w>>>0>=r>>>0)break;else v=s}}c[B>>2]=0;Uc(p);c[x>>2]=0;c[A+(q*5640|0)+5168>>2]=c[z>>2];c[A+(q*5640|0)+5176>>2]=c[y>>2];q=c[t>>2]|0}p=d+204|0;if(!($f(c[p>>2]|0,q,o)|0)){Ub(o,1,8839,Ba)|0;o=0;i=Da;return o|0}else{Ba=_(c[d+112>>2]|0,c[d+116>>2]|0)|0;c[Ca>>2]=(c[t>>2]|0)+1;c[Ca+4>>2]=Ba;Ub(o,4,8873,Ca)|0;c[e>>2]=c[t>>2];c[m>>2]=1;c[f>>2]=ag(c[p>>2]|0)|0;o=c[c[(c[p>>2]|0)+20>>2]>>2]|0;c[g>>2]=c[o>>2];c[h>>2]=c[o+4>>2];c[j>>2]=c[o+8>>2];c[k>>2]=c[o+12>>2];c[l>>2]=c[o+16>>2];c[Aa>>2]=c[Aa>>2]|128;o=1;i=Da;return o|0}return 0}function dd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+28|0;s=t+32|0;o=b+8|0;if(!(c[o>>2]&128)){g=0;i=t;return g|0}q=b+200|0;if((c[q>>2]|0)!=(d|0)){g=0;i=t;return g|0}j=c[b+164>>2]|0;n=j+(d*5640|0)|0;p=j+(d*5640|0)+5592|0;k=c[p>>2]|0;if(!k){sd(n);g=0;i=t;return g|0}l=b+204|0;m=j+(d*5640|0)+5596|0;if(!(cg(c[l>>2]|0,k,c[m>>2]|0,d,c[b+196>>2]|0,h)|0)){sd(n);c[o>>2]=c[o>>2]|32768;Ub(h,1,8912,t)|0;g=0;i=t;return g|0}if(!(dg(c[l>>2]|0,e,f)|0)){g=0;i=t;return g|0}j=c[p>>2]|0;if(j){Uc(j);c[p>>2]=0;c[m>>2]=0}p=b+76|0;a[p>>0]=a[p>>0]&-2;c[o>>2]=c[o>>2]&-129;p=Qb(g)|0;b=c[o>>2]|0;if((b|0)==256|(p|0)==0&(C|0)==0&(b|0)==64){g=1;i=t;return g|0}if((Mb(g,s,2,h)|0)!=2){Ub(h,2,8931,t+8|0)|0;g=1;i=t;return g|0}qb(s,r,2);switch(c[r>>2]|0){case 65497:{c[q>>2]=0;c[o>>2]=256;g=1;i=t;return g|0}case 65424:{g=1;i=t;return g|0}default:if((Qb(g)|0)==0&(C|0)==0){c[o>>2]=64;Ub(h,2,8975,t+16|0)|0;g=1;i=t;return g|0}else{Ub(h,1,9005,t+24|0)|0;g=0;i=t;return g|0}}return 0}function ed(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;y=z+96|0;x=z+88|0;w=z+80|0;v=z+72|0;u=z+64|0;s=z+56|0;r=z+48|0;o=z+40|0;n=z+32|0;m=z+24|0;l=z+16|0;p=c[b+80>>2]|0;if((c[b+8>>2]|0)!=8){Ub(j,1,9037,z)|0;j=0;i=z;return j|0}if(!(f|e|g|h)){Ub(j,4,9116,z+8|0)|0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+36>>2]=c[b+112>>2];c[b+40>>2]=c[b+116>>2];j=1;i=z;return j|0}t=p+8|0;k=c[t>>2]|0;if(k>>>0>>0){c[l>>2]=e;c[l+4>>2]=k;Ub(j,1,9185,l)|0;j=0;i=z;return j|0}k=c[p>>2]|0;if(k>>>0>e>>>0){c[m>>2]=e;c[m+4>>2]=k;Ub(j,2,9272,m)|0;k=0;e=c[p>>2]|0}else k=((e-(c[b+92>>2]|0)|0)>>>0)/((c[b+100>>2]|0)>>>0)|0;c[b+28>>2]=k;c[d>>2]=e;q=p+12|0;e=c[q>>2]|0;if(e>>>0>>0){c[n>>2]=f;c[n+4>>2]=e;Ub(j,1,9360,n)|0;j=0;i=z;return j|0}l=p+4|0;e=c[l>>2]|0;if(e>>>0>f>>>0){c[o>>2]=f;c[o+4>>2]=e;Ub(j,2,9445,o)|0;e=0;f=c[l>>2]|0}else e=((f-(c[b+96>>2]|0)|0)>>>0)/((c[b+104>>2]|0)>>>0)|0;c[b+32>>2]=e;m=d+4|0;c[m>>2]=f;e=c[p>>2]|0;if(e>>>0>g>>>0){c[r>>2]=g;c[r+4>>2]=e;Ub(j,1,9531,r)|0;j=0;i=z;return j|0}e=c[t>>2]|0;if(e>>>0>>0){c[s>>2]=g;c[s+4>>2]=e;Ub(j,2,9620,s)|0;e=c[b+112>>2]|0;g=c[t>>2]|0}else{e=c[b+100>>2]|0;e=(g+-1-(c[b+92>>2]|0)+e|0)/(e|0)|0}c[b+36>>2]=e;k=d+8|0;c[k>>2]=g;g=c[l>>2]|0;if(g>>>0>h>>>0){c[u>>2]=h;c[u+4>>2]=g;Ub(j,1,9708,u)|0;j=0;i=z;return j|0}g=c[q>>2]|0;if(g>>>0>>0){c[v>>2]=h;c[v+4>>2]=g;Ub(j,2,9798,v)|0;e=c[q>>2]|0;g=c[b+116>>2]|0}else{g=c[b+104>>2]|0;e=h;g=(h+-1-(c[b+96>>2]|0)+g|0)/(g|0)|0}c[b+40>>2]=g;h=d+12|0;c[h>>2]=e;v=b+76|0;a[v>>0]=a[v>>0]|2;v=c[d+16>>2]|0;b=c[d>>2]|0;a:do{if(v){f=c[m>>2]|0;t=f+-1|0;u=c[k>>2]|0;q=u+-1|0;r=b+-1|0;g=0;p=c[d+24>>2]|0;while(1){d=c[p>>2]|0;e=(r+d|0)/(d|0)|0;c[p+16>>2]=e;o=c[p+4>>2]|0;k=(t+o|0)/(o|0)|0;c[p+20>>2]=k;d=(q+d|0)/(d|0)|0;l=c[p+40>>2]|0;m=Ri(1,0,l|0)|0;n=C;d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;d=Si(d|0,C|0,m|0,n|0)|0;d=Pi(d|0,C|0,l|0)|0;e=Si(e|0,((e|0)<0)<<31>>31|0,-1,-1)|0;e=Si(e|0,C|0,m|0,n|0)|0;e=Pi(e|0,C|0,l|0)|0;e=d-e|0;if((e|0)<0){k=29;break}s=c[h>>2]|0;d=(o+-1+s|0)/(o|0)|0;c[p+8>>2]=e;d=Si(d|0,((d|0)<0)<<31>>31|0,-1,-1)|0;d=Si(d|0,C|0,m|0,n|0)|0;d=Pi(d|0,C|0,l|0)|0;e=Si(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;e=Si(e|0,C|0,m|0,n|0)|0;e=Pi(e|0,C|0,l|0)|0;e=d-e|0;if((e|0)<0){k=31;break}c[p+12>>2]=e;g=g+1|0;if(g>>>0>=v>>>0){e=u;g=s;break a}else p=p+52|0}if((k|0)==29){c[w>>2]=g;c[w+4>>2]=e;Ub(j,1,9887,w)|0;j=0;i=z;return j|0}else if((k|0)==31){c[x>>2]=g;c[x+4>>2]=e;Ub(j,1,9956,x)|0;j=0;i=z;return j|0}}else{f=c[m>>2]|0;e=c[k>>2]|0;g=c[h>>2]|0}}while(0);c[y>>2]=b;c[y+4>>2]=f;c[y+8>>2]=e;c[y+12>>2]=g;Ub(j,4,10025,y)|0;j=1;i=z;return j|0}function fd(){var b=0,d=0,e=0;b=Qc(1,208)|0;if(!b){d=0;return d|0}c[b>>2]=1;d=b+184|0;a[d>>0]=a[d>>0]|2;d=Qc(1,5640)|0;c[b+12>>2]=d;if(!d){Yc(b);d=0;return d|0}d=Qc(1,1e3)|0;c[b+16>>2]=d;if(!d){Yc(b);d=0;return d|0}c[b+20>>2]=1e3;c[b+60>>2]=-1;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;d=Qc(1,48)|0;do{if(d){c[d+32>>2]=100;c[d+24>>2]=0;e=Qc(100,24)|0;c[d+28>>2]=e;if(!e){Uc(d);break}c[d+40>>2]=0;c[b+196>>2]=d;e=qg()|0;c[b+192>>2]=e;if(!e){Yc(b);e=0;return e|0}e=qg()|0;c[b+188>>2]=e;if(e){e=b;return e|0}Yc(b);e=0;return e|0}}while(0);c[b+196>>2]=0;Yc(b);e=0;return e|0}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var f=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;t=i;i=i+128|0;s=t+104|0;r=t+72|0;q=t+64|0;n=t+40|0;l=t+24|0;j=t+16|0;h=t+8|0;g=t;if(b&384){ki(10063,11,1,d)|0;i=t;return}if((b&1|0)!=0?(f=c[a+80>>2]|0,(f|0)!=0):0)hd(f,0,d);if(b&2){ki(10075,36,1,d)|0;f=c[a+96>>2]|0;c[g>>2]=c[a+92>>2];c[g+4>>2]=f;$h(d,10112,g)|0;g=c[a+104>>2]|0;c[h>>2]=c[a+100>>2];c[h+4>>2]=g;$h(d,10130,h)|0;h=c[a+116>>2]|0;c[j>>2]=c[a+112>>2];c[j+4>>2]=h;$h(d,10148,j)|0;xd(c[a+12>>2]|0,c[(c[a+80>>2]|0)+16>>2]|0,d);ki(10164,2,1,d)|0}if((b&8|0)!=0?(k=_(c[a+112>>2]|0,c[a+116>>2]|0)|0,(k|0)!=0):0){f=a+80|0;g=0;h=c[a+164>>2]|0;while(1){xd(h,c[(c[f>>2]|0)+16>>2]|0,d);g=g+1|0;if((g|0)==(k|0))break;else h=h+5640|0}}if(!(b&16)){i=t;return}j=c[a+196>>2]|0;ki(10167,37,1,d)|0;k=j;b=c[k+4>>2]|0;f=j+8|0;a=c[f>>2]|0;f=c[f+4>>2]|0;h=l;c[h>>2]=c[k>>2];c[h+4>>2]=b;h=l+8|0;c[h>>2]=a;c[h+4>>2]=f;$h(d,10205,l)|0;ki(10272,17,1,d)|0;h=j+28|0;f=c[h>>2]|0;a:do{if((f|0)!=0?(m=j+24|0,(c[m>>2]|0)!=0):0){g=0;while(1){b=f+(g*24|0)+8|0;k=c[b>>2]|0;b=c[b+4>>2]|0;l=c[f+(g*24|0)+16>>2]|0;c[n>>2]=e[f+(g*24|0)>>1];a=n+8|0;c[a>>2]=k;c[a+4>>2]=b;c[n+16>>2]=l;$h(d,10290,n)|0;g=g+1|0;if(g>>>0>=(c[m>>2]|0)>>>0)break a;f=c[h>>2]|0}}}while(0);ki(10321,4,1,d)|0;b=j+40|0;h=c[b>>2]|0;if((h|0)!=0?(p=j+36|0,o=c[p>>2]|0,(o|0)!=0):0){g=0;f=0;do{f=(c[h+(g*40|0)+4>>2]|0)+f|0;g=g+1|0}while((g|0)!=(o|0));if(f){ki(10326,16,1,d)|0;if(c[p>>2]|0){f=c[b>>2]|0;k=0;do{j=c[f+(k*40|0)+4>>2]|0;c[q>>2]=k;c[q+4>>2]=j;$h(d,10343,q)|0;f=c[b>>2]|0;g=c[f+(k*40|0)+16>>2]|0;b:do{if(!((j|0)==0|(g|0)==0)){f=0;while(1){a=g+(f*24|0)|0;u=c[a>>2]|0;a=c[a+4>>2]|0;m=g+(f*24|0)+8|0;l=c[m>>2]|0;m=c[m+4>>2]|0;o=g+(f*24|0)+16|0;n=c[o>>2]|0;o=c[o+4>>2]|0;c[r>>2]=f;h=r+8|0;c[h>>2]=u;c[h+4>>2]=a;h=r+16|0;c[h>>2]=l;c[h+4>>2]=m;h=r+24|0;c[h>>2]=n;c[h+4>>2]=o;$h(d,10379,r)|0;h=f+1|0;f=c[b>>2]|0;if((h|0)==(j|0))break b;g=c[f+(k*40|0)+16>>2]|0;f=h}}}while(0);g=c[f+(k*40|0)+24>>2]|0;c:do{if((g|0)!=0?(c[f+(k*40|0)+20>>2]|0)!=0:0){f=0;while(1){o=g+(f*24|0)+8|0;n=c[o>>2]|0;o=c[o+4>>2]|0;h=c[g+(f*24|0)+16>>2]|0;c[s>>2]=e[g+(f*24|0)>>1];u=s+8|0;c[u>>2]=n;c[u+4>>2]=o;c[s+16>>2]=h;$h(d,10290,s)|0;h=f+1|0;f=c[b>>2]|0;if(h>>>0>=(c[f+(k*40|0)+20>>2]|0)>>>0)break c;g=c[f+(k*40|0)+24>>2]|0;f=h}}}while(0);k=k+1|0}while(k>>>0<(c[p>>2]|0)>>>0)}ki(10321,4,1,d)|0}}ki(10164,2,1,d)|0;i=t;return}function hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;m=n+48|0;l=n+40|0;j=n+32|0;h=n+16|0;g=n;k=n+52|0;if(!d){ki(10482,13,1,e)|0;a[k+1>>0]=0;f=9}else{ki(10445,36,1,c[676]|0)|0;f=0}a[k>>0]=f;o=c[b>>2]|0;f=c[b+4>>2]|0;c[g>>2]=k;c[g+4>>2]=o;c[g+8>>2]=f;$h(e,10496,g)|0;g=c[b+8>>2]|0;f=c[b+12>>2]|0;c[h>>2]=k;c[h+4>>2]=g;c[h+8>>2]=f;$h(e,10513,h)|0;h=b+16|0;f=c[h>>2]|0;c[j>>2]=k;c[j+4>>2]=f;$h(e,10530,j)|0;f=b+24|0;if(!(c[f>>2]|0)){ki(10164,2,1,e)|0;i=n;return}if(!(c[h>>2]|0)){ki(10164,2,1,e)|0;i=n;return}else g=0;do{c[l>>2]=k;c[l+4>>2]=g;$h(e,10546,l)|0;id((c[f>>2]|0)+(g*52|0)|0,d,e);c[m>>2]=k;$h(e,10566,m)|0;g=g+1|0}while(g>>>0<(c[h>>2]|0)>>>0);ki(10164,2,1,e)|0;i=n;return}function id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;k=l+24|0;j=l+16|0;h=l;g=l+32|0;f=(d|0)!=0;if(f){ki(10571,41,1,c[676]|0)|0;d=0}else{a[g+1>>0]=9;a[g+2>>0]=0;d=9}a[g>>0]=d;m=c[b>>2]|0;d=c[b+4>>2]|0;c[h>>2]=g;c[h+4>>2]=m;c[h+8>>2]=d;$h(e,10613,h)|0;h=c[b+24>>2]|0;c[j>>2]=g;c[j+4>>2]=h;$h(e,10630,j)|0;j=c[b+32>>2]|0;c[k>>2]=g;c[k+4>>2]=j;$h(e,10642,k)|0;if(!f){i=l;return}ki(10164,2,1,e)|0;i=l;return}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;e=m;b=a+80|0;k=c[(c[b>>2]|0)+16>>2]|0;d=Qc(1,56)|0;c[e>>2]=d;if(!d){l=0;i=m;return l|0}c[d+24>>2]=c[(c[b>>2]|0)+16>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+112>>2];c[d+20>>2]=c[a+116>>2];c[d+52>>2]=0;d=c[a+12>>2]|0;b=c[e>>2]|0;c[b+32>>2]=c[d>>2];c[b+36>>2]=c[d+4>>2];c[b+40>>2]=c[d+8>>2];c[b+44>>2]=c[d+16>>2];c[b+48>>2]=Qc(c[b+24>>2]|0,1080)|0;b=c[e>>2]|0;j=b+48|0;a=c[j>>2]|0;if(!a){Cc(e);l=0;i=m;return l|0}if(!k){l=b;i=m;return l|0}h=d+5584|0;d=0;while(1){g=c[h>>2]|0;c[a+(d*1080|0)+4>>2]=c[g+(d*1080|0)>>2];e=g+(d*1080|0)+4|0;f=c[e>>2]|0;c[a+(d*1080|0)+8>>2]=f;c[a+(d*1080|0)+12>>2]=c[g+(d*1080|0)+8>>2];c[a+(d*1080|0)+16>>2]=c[g+(d*1080|0)+12>>2];c[a+(d*1080|0)+20>>2]=c[g+(d*1080|0)+16>>2];c[a+(d*1080|0)+24>>2]=c[g+(d*1080|0)+20>>2];if(f>>>0<33){Ui(a+(d*1080|0)+948|0,g+(d*1080|0)+944|0,f|0)|0;Ui(a+(d*1080|0)+816|0,g+(d*1080|0)+812|0,c[e>>2]|0)|0}f=c[g+(d*1080|0)+24>>2]|0;c[a+(d*1080|0)+28>>2]=f;c[a+(d*1080|0)+808>>2]=c[g+(d*1080|0)+804>>2];if((f|0)!=1){f=(c[e>>2]|0)*3|0;e=f+-2|0;if((e|0)<97&(f|0)>2)l=10}else{e=1;l=10}if((l|0)==10){l=0;f=0;do{c[a+(d*1080|0)+32+(f<<2)>>2]=c[g+(d*1080|0)+28+(f<<3)+4>>2];c[a+(d*1080|0)+420+(f<<2)>>2]=c[g+(d*1080|0)+28+(f<<3)>>2];f=f+1|0}while((f|0)!=(e|0))}c[a+(d*1080|0)+812>>2]=c[g+(d*1080|0)+808>>2];d=d+1|0;if((d|0)==(k|0))break;a=c[j>>2]|0}i=m;return b|0}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Qc(1,48)|0;if(!b){k=0;return k|0}h=a+196|0;d=c[h>>2]|0;i=d;k=c[i+4>>2]|0;a=b;c[a>>2]=c[i>>2];c[a+4>>2]=k;a=d+8|0;k=c[a+4>>2]|0;i=b+8|0;c[i>>2]=c[a>>2];c[i+4>>2]=k;i=d+16|0;k=c[i+4>>2]|0;a=b+16|0;c[a>>2]=c[i>>2];c[a+4>>2]=k;d=c[d+24>>2]|0;a=b+24|0;c[a>>2]=d;d=Pc(d*24|0)|0;k=b+28|0;c[k>>2]=d;if(!d){Uc(b);k=0;return k|0}e=c[(c[h>>2]|0)+28>>2]|0;if(!e){Uc(d);c[k>>2]=0}else Ui(d|0,e|0,(c[a>>2]|0)*24|0)|0;a=c[(c[h>>2]|0)+36>>2]|0;g=b+36|0;c[g>>2]=a;a=Qc(a,40)|0;i=b+40|0;c[i>>2]=a;if(!a){Uc(c[k>>2]|0);Uc(b);k=0;return k|0}d=c[(c[h>>2]|0)+40>>2]|0;if(!d){Uc(a);c[i>>2]=0;k=b;return k|0}if(!(c[g>>2]|0)){k=b;return k|0}d=c[d+20>>2]|0;c[a+20>>2]=d;d=Pc(d*24|0)|0;a=c[i>>2]|0;c[a+24>>2]=d;a:do{if(!d)d=0;else{f=d;d=0;while(1){e=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+24>>2]|0;if(!e){Uc(f);a=c[i>>2]|0;c[a+(d*40|0)+24>>2]=0}else{Ui(f|0,e|0,(c[a+(d*40|0)+20>>2]|0)*24|0)|0;a=c[i>>2]|0}e=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+4>>2]|0;c[a+(d*40|0)+4>>2]=e;e=Pc(e*24|0)|0;a=c[i>>2]|0;c[a+(d*40|0)+16>>2]=e;if(!e)break;f=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+16>>2]|0;if(!f){Uc(e);a=c[i>>2]|0;c[a+(d*40|0)+16>>2]=0}else{Ui(e|0,f|0,(c[a+(d*40|0)+4>>2]|0)*24|0)|0;a=c[i>>2]|0}c[a+(d*40|0)+32>>2]=0;c[a+(d*40|0)+36>>2]=0;d=d+1|0;if(d>>>0>=(c[g>>2]|0)>>>0){j=32;break}f=c[(c[(c[h>>2]|0)+40>>2]|0)+(d*40|0)+20>>2]|0;c[a+(d*40|0)+20>>2]=f;f=Pc(f*24|0)|0;a=c[i>>2]|0;c[a+(d*40|0)+24>>2]=f;if(!f)break a}if((j|0)==32)return b|0;if(d){Uc(c[a+24>>2]|0);Uc(c[(c[i>>2]|0)+16>>2]|0);if((d|0)!=1){a=1;do{Uc(c[(c[i>>2]|0)+(a*40|0)+24>>2]|0);Uc(c[(c[i>>2]|0)+(a*40|0)+16>>2]|0);a=a+1|0}while((a|0)!=(d|0))}a=c[i>>2]|0}Uc(a);Uc(c[k>>2]|0);Uc(b);k=0;return k|0}}while(0);if(d){Uc(c[a+24>>2]|0);if((d|0)!=1){a=1;do{Uc(c[(c[i>>2]|0)+(a*40|0)+24>>2]|0);a=a+1|0}while((a|0)!=(d|0))}a=c[i>>2]|0}Uc(a);Uc(c[k>>2]|0);Uc(b);k=0;return k|0}function ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(!d){d=0;return d|0}f=Xb()|0;k=a+84|0;c[k>>2]=f;if(!f){d=0;return d|0}$b(d,f);h=a+188|0;sg(c[h>>2]|0,27,e)|0;h=c[h>>2]|0;i=tg(h)|0;f=ug(h)|0;if(i){j=0;g=1;while(1){if(!g)g=0;else g=(Ra[c[f>>2]&63](a,b,e)|0)!=0;j=j+1|0;if((j|0)==(i|0))break;else{f=f+4|0;g=g&1}}vg(h);if(!g){d=a+80|0;Zb(c[d>>2]|0);c[d>>2]=0;d=0;return d|0}}else vg(h);i=c[d+16>>2]|0;if(!i){d=1;return d|0}h=c[(c[k>>2]|0)+24>>2]|0;f=c[d+24>>2]|0;g=0;do{c[f+(g*52|0)+36>>2]=c[h+(g*52|0)+36>>2];d=h+(g*52|0)+44|0;c[f+(g*52|0)+44>>2]=c[d>>2];c[d>>2]=0;g=g+1|0}while(g>>>0>>0);f=1;return f|0}function md(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,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;t=i;i=i+16|0;j=t+8|0;if(!d){Ub(e,1,10654,t)|0;s=0;i=t;return s|0}g=c[a+112>>2]|0;h=_(c[a+116>>2]|0,g)|0;if(h>>>0<=f>>>0){c[j>>2]=f;c[j+4>>2]=h+-1;Ub(e,1,10692,j)|0;s=0;i=t;return s|0}s=(f>>>0)%(g>>>0)|0;r=(f>>>0)/(g>>>0)|0;j=c[a+100>>2]|0;h=_(j,s)|0;k=c[a+92>>2]|0;h=h+k|0;c[d>>2]=h;q=a+80|0;g=c[q>>2]|0;l=c[g>>2]|0;h=h>>>0>>0?l:h;c[d>>2]=h;k=(_(j,s+1|0)|0)+k|0;s=d+8|0;c[s>>2]=k;j=c[g+8>>2]|0;k=k>>>0>j>>>0?j:k;c[s>>2]=k;s=c[a+104>>2]|0;j=_(s,r)|0;l=c[a+96>>2]|0;j=j+l|0;p=d+4|0;c[p>>2]=j;o=c[g+4>>2]|0;j=j>>>0>>0?o:j;c[p>>2]=j;l=(_(s,r+1|0)|0)+l|0;r=d+12|0;c[r>>2]=l;s=c[g+12>>2]|0;l=l>>>0>s>>>0?s:l;c[r>>2]=l;r=d+24|0;s=d+16|0;p=c[s>>2]|0;if(p){o=c[g+24>>2]|0;n=h+-1|0;m=j+-1|0;k=k+-1|0;g=l+-1|0;h=0;j=c[r>>2]|0;while(1){l=c[o+(h*52|0)+40>>2]|0;c[j+40>>2]=l;z=c[j>>2]|0;y=(n+z|0)/(z|0)|0;c[j+16>>2]=y;u=c[j+4>>2]|0;x=(m+u|0)/(u|0)|0;c[j+20>>2]=x;z=(k+z|0)/(z|0)|0;u=(g+u|0)/(u|0)|0;w=Ri(1,0,l|0)|0;v=C;z=Si(z|0,((z|0)<0)<<31>>31|0,-1,-1)|0;z=Si(z|0,C|0,w|0,v|0)|0;z=Pi(z|0,C|0,l|0)|0;y=Si(y|0,((y|0)<0)<<31>>31|0,-1,-1)|0;y=Si(y|0,C|0,w|0,v|0)|0;y=Pi(y|0,C|0,l|0)|0;c[j+8>>2]=z-y;u=Si(u|0,((u|0)<0)<<31>>31|0,-1,-1)|0;u=Si(u|0,C|0,w|0,v|0)|0;u=Pi(u|0,C|0,l|0)|0;x=Si(x|0,((x|0)<0)<<31>>31|0,-1,-1)|0;v=Si(x|0,C|0,w|0,v|0)|0;l=Pi(v|0,C|0,l|0)|0;c[j+12>>2]=u-l;h=h+1|0;if(h>>>0>=p>>>0)break;else j=j+52|0}}m=a+84|0;g=c[m>>2]|0;if(g)Zb(g);g=Xb()|0;c[m>>2]=g;if(!g){z=0;i=t;return z|0}$b(d,g);c[a+60>>2]=f;j=a+188|0;sg(c[j>>2]|0,28,e)|0;j=c[j>>2]|0;k=tg(j)|0;g=ug(j)|0;if(k){l=0;h=1;while(1){if(!h)h=0;else h=(Ra[c[g>>2]&63](a,b,e)|0)!=0;l=l+1|0;if((l|0)==(k|0))break;else{g=g+4|0;h=h&1}}vg(j);if(!h){Zb(c[q>>2]|0);c[q>>2]=0;z=0;i=t;return z|0}}else vg(j);g=c[s>>2]|0;if(!g){z=1;i=t;return z|0}k=c[(c[m>>2]|0)+24>>2]|0;j=c[r>>2]|0;l=0;while(1){c[j+(l*52|0)+36>>2]=c[k+(l*52|0)+36>>2];h=c[j+(l*52|0)+44>>2]|0;if(!h)h=k;else{Uc(h);h=c[(c[m>>2]|0)+24>>2]|0;j=c[r>>2]|0;g=c[s>>2]|0}z=h+(l*52|0)+44|0;c[j+(l*52|0)+44>>2]=c[z>>2];c[z>>2]=0;l=l+1|0;if(l>>>0>=g>>>0){g=1;break}else k=h}i=t;return g|0}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;c[a+168>>2]=b;e=c[a+80>>2]|0;a:do{if((((e|0)!=0?(h=c[e+24>>2]|0,(h|0)!=0):0)?(f=c[a+12>>2]|0,(f|0)!=0):0)?(g=c[f+5584>>2]|0,(g|0)!=0):0){e=c[e+16>>2]|0;if(!e)e=1;else{f=0;while(1){if((c[g+(f*1080|0)+4>>2]|0)>>>0<=b>>>0)break;c[h+(f*52|0)+40>>2]=b;f=f+1|0;if(f>>>0>=e>>>0){e=1;break a}}Ub(d,1,10753,j)|0;e=0}}else e=0}while(0);i=k;return e|0}function od(d,e,f){d=d|0;e=e|0;f=f|0;var 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,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;Q=i;i=i+48|0;O=Q+32|0;N=Q+24|0;M=Q+16|0;K=Q+8|0;L=Q;A=d+204|0;g=c[A>>2]|0;F=d+116|0;G=d+112|0;H=_(c[G>>2]|0,c[F>>2]|0)|0;I=(H|0)==1;if(!H){P=1;i=Q;return P|0}J=d+200|0;B=d+12|0;C=d+164|0;D=d+8|0;E=g+20|0;y=g+24|0;z=0;g=0;l=0;a:while(1){if((c[J>>2]|0)!=(z|0)){P=5;break}w=z;z=z+1|0;x=_(c[F>>2]|0,c[G>>2]|0)|0;c[K>>2]=z;c[K+4>>2]=x;Ub(f,4,10866,K)|0;c[B>>2]=0;x=c[A>>2]|0;c[x+12>>2]=c[(c[C>>2]|0)+(w*5640|0)+5588>>2];c[D>>2]=0;if(!(_f(x,c[J>>2]|0,f)|0))break;h=c[A>>2]|0;if(c[(c[h+24>>2]|0)+16>>2]|0){k=0;do{j=c[(c[c[E>>2]>>2]|0)+20>>2]|0;if(I){c[j+(k*52|0)+32>>2]=c[(c[(c[y>>2]|0)+24>>2]|0)+(k*52|0)+44>>2];c[j+(k*52|0)+36>>2]=0}else{if(!(Zf(j+(k*52|0)|0)|0)){P=14;break a}h=c[A>>2]|0}k=k+1|0}while(k>>>0<(c[(c[h+24>>2]|0)+16>>2]|0)>>>0)}x=eg(h)|0;if(!I){if(x>>>0>l>>>0){h=Tc(g,x)|0;if(!h){P=20;break}else{g=h;h=x}}else h=l;j=c[A>>2]|0;w=j+24|0;k=c[w>>2]|0;if(c[k+16>>2]|0){v=j+20|0;j=g;u=0;do{r=c[(c[c[v>>2]>>2]|0)+20>>2]|0;m=c[k+24>>2]|0;q=c[m+(u*52|0)+24>>2]|0;q=((q&7|0)!=0&1)+(q>>>3)|0;n=c[r+(u*52|0)+8>>2]|0;o=c[r+(u*52|0)>>2]|0;t=n-o|0;p=c[r+(u*52|0)+12>>2]|0;r=c[r+(u*52|0)+4>>2]|0;T=c[k>>2]|0;S=c[m+(u*52|0)>>2]|0;l=c[m+(u*52|0)+4>>2]|0;R=(S+~T+(c[k+8>>2]|0)|0)/(S|0)|0;s=R-t|0;k=o-((T+-1+S|0)/(S|0)|0)+(_(R,r-(((c[k+4>>2]|0)+-1+l|0)/(l|0)|0)|0)|0)|0;k=(c[m+(u*52|0)+44>>2]|0)+(k<<2)|0;b:do{switch(((q|0)==3?4:q)|0){case 1:{l=(p|0)==(r|0);if(!(c[m+(u*52|0)+32>>2]|0)){if(l)break b;q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){a[m>>0]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+1|0;n=n+4|0}}j=j+t|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}else{if(l)break b;q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){a[m>>0]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+1|0;n=n+4|0}}j=j+t|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}case 2:{l=(p|0)==(r|0);if(!(c[m+(u*52|0)+32>>2]|0)){if(!l){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){b[m>>1]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+2|0;n=n+4|0}}j=j+(t<<1)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}}else if(!l){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){b[m>>1]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+2|0;n=n+4|0}}j=j+(t<<1)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}case 4:{if((p|0)!=(r|0)){q=(n|0)==(o|0);o=p-r|0;p=0;while(1){if(!q){l=0;m=j;n=k;while(1){c[m>>2]=c[n>>2];l=l+1|0;if((l|0)==(t|0))break;else{m=m+4|0;n=n+4|0}}j=j+(t<<2)|0;k=k+(t<<2)|0}p=p+1|0;if((p|0)==(o|0))break;else k=k+(s<<2)|0}}break}default:{}}}while(0);u=u+1|0;k=c[w>>2]|0}while(u>>>0<(c[k+16>>2]|0)>>>0);j=c[A>>2]|0}if(!(fg(j,g,x)|0)){P=63;break}}else h=l;if(!(Ad(d,e,f)|0)){P=65;break}if(z>>>0>=H>>>0){P=67;break}else l=h}if((P|0)==5)Ub(f,1,10829,L)|0;else if((P|0)==14){Ub(f,1,10887,M)|0;if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}else if((P|0)==20){if(g)Uc(g);Ub(f,1,10925,N)|0;T=0;i=Q;return T|0}else if((P|0)==63){Ub(f,1,10964,O)|0;Uc(g);T=0;i=Q;return T|0}else if((P|0)==65){if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}else if((P|0)==67){if(!g){T=1;i=Q;return T|0}Uc(g);T=1;i=Q;return T|0}if(!g){T=0;i=Q;return T|0}Uc(g);T=0;i=Q;return T|0}function pd(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+188|0;if(!(sg(c[f>>2]|0,29,e)|0)){d=0;return d|0}if(((b[a+88>>1]|0)+-3&65535)<4?(sg(c[f>>2]|0,30,e)|0)==0:0){d=0;return d|0}if(!(sg(c[f>>2]|0,31,e)|0)){d=0;return d|0}if(!(sg(c[f>>2]|0,32,e)|0)){d=0;return d|0}if(!(sg(c[f>>2]|0,33,e)|0)){d=0;return d|0}j=c[f>>2]|0;h=tg(j)|0;f=ug(j)|0;if(!h)f=1;else{i=0;g=f;f=1;while(1){if(!f)f=0;else f=(Ra[c[g>>2]&63](a,d,e)|0)!=0;f=f&1;i=i+1|0;if((i|0)==(h|0))break;else g=g+4|0}}vg(j);d=f;return d|0}function qd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=Xb()|0;k=a+80|0;c[k>>2]=g;if(!g){Ub(f,1,11011,m)|0;d=0;i=m;return d|0}$b(e,g);j=c[e+24>>2]|0;if((j|0)!=0?(l=c[e+16>>2]|0,(l|0)!=0):0){h=0;do{e=j+(h*52|0)+44|0;g=c[e>>2]|0;if(g){c[(c[(c[k>>2]|0)+24>>2]|0)+(h*52|0)+44>>2]=g;c[e>>2]=0}h=h+1|0}while(h>>>0>>0)}g=a+192|0;if(!(sg(c[g>>2]|0,34,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,35,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,36,f)|0)){d=0;i=m;return d|0}h=c[g>>2]|0;j=tg(h)|0;g=ug(h)|0;if(j){k=0;e=1;while(1){if(!e)e=0;else e=(Ra[c[g>>2]&63](a,d,f)|0)!=0;k=k+1|0;if((k|0)==(j|0))break;else{g=g+4|0;e=e&1}}vg(h);if(!e){d=0;i=m;return d|0}}else vg(h);g=a+188|0;if(!(sg(c[g>>2]|0,37,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,38,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,39,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,40,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,41,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,42,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,43,f)|0)){d=0;i=m;return d|0}e=a+88|0;if(((b[e>>1]|0)+-3&65535)<4){if(!(sg(c[g>>2]|0,44,f)|0)){d=0;i=m;return d|0}if((b[e>>1]|0)==4?(sg(c[g>>2]|0,45,f)|0)==0:0){d=0;i=m;return d|0}}if(!(sg(c[g>>2]|0,46,f)|0)){d=0;i=m;return d|0}if((c[a+108>>2]|0)!=0?(sg(c[g>>2]|0,47,f)|0)==0:0){d=0;i=m;return d|0}if((b[e>>1]&256)!=0?(sg(c[g>>2]|0,48,f)|0)==0:0){d=0;i=m;return d|0}if((c[a+196>>2]|0)!=0?(sg(c[g>>2]|0,49,f)|0)==0:0){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,50,f)|0)){d=0;i=m;return d|0}if(!(sg(c[g>>2]|0,51,f)|0)){d=0;i=m;return d|0}k=c[g>>2]|0;h=tg(k)|0;g=ug(k)|0;if(!h)g=1;else{j=0;e=g;g=1;while(1){if(!g)g=0;else g=(Ra[c[e>>2]&63](a,d,f)|0)!=0;g=g&1;j=j+1|0;if((j|0)==(h|0))break;else e=e+4|0}}vg(k);d=g;i=m;return d|0}function rd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q+40|0;p=q+32|0;n=q+24|0;l=q+16|0;j=q+8|0;h=q;k=a+200|0;if((c[k>>2]|0)==(b|0)){m=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[j>>2]=b+1;c[j+4>>2]=m;Ub(g,4,10866,j)|0;c[a+12>>2]=0;m=a+204|0;j=c[m>>2]|0;c[j+12>>2]=c[(c[a+164>>2]|0)+(b*5640|0)+5588>>2];c[a+8>>2]=0;if(_f(j,c[k>>2]|0,g)|0){h=c[m>>2]|0;a:do{if(c[(c[h+24>>2]|0)+16>>2]|0){j=0;while(1){if(!(Zf((c[(c[c[h+20>>2]>>2]|0)+20>>2]|0)+(j*52|0)|0)|0))break;j=j+1|0;h=c[m>>2]|0;if(j>>>0>=(c[(c[h+24>>2]|0)+16>>2]|0)>>>0)break a}Ub(g,1,10887,n)|0;p=0;i=q;return p|0}}while(0);if(!(fg(h,d,e)|0)){Ub(g,1,10964,p)|0;p=0;i=q;return p|0}if(Ad(a,f,g)|0){p=1;i=q;return p|0}c[o>>2]=b;Ub(g,1,11101,o)|0;p=0;i=q;return p|0}}else Ub(g,1,10829,h)|0;c[l>>2]=b;Ub(g,1,11044,l)|0;p=0;i=q;return p|0}function sd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;f=a+5164|0;b=c[f>>2]|0;if(b){g=a+5160|0;d=c[g>>2]|0;if(d){e=0;while(1){b=c[b+(e<<3)>>2]|0;if(b){Uc(b);d=c[g>>2]|0}e=e+1|0;if(e>>>0>=d>>>0)break;b=c[f>>2]|0}b=c[f>>2]|0}c[g>>2]=0;Uc(b);c[f>>2]=0}b=a+5172|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5584|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5608|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5604|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5624|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0;c[a+5632>>2]=0;c[a+5628>>2]=0}i=a+5612|0;b=c[i>>2]|0;if(b){h=a+5616|0;d=c[h>>2]|0;if(d){g=0;while(1){e=b+12|0;f=c[e>>2]|0;if(f){Uc(f);c[e>>2]=0;d=c[h>>2]|0}g=g+1|0;if(g>>>0>=d>>>0)break;else b=b+20|0}b=c[i>>2]|0}Uc(b);c[i>>2]=0}b=a+5600|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}b=a+5592|0;d=c[b>>2]|0;if(!d)return;Uc(d);c[b>>2]=0;c[a+5596>>2]=0;return}function td(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ud(a,b,d){a=a|0;b=b|0;d=d|0;return(c[a+8>>2]|0)==0&(c[a+188>>2]|0)!=0&(c[a+192>>2]|0)!=0&1|0}function vd(d,e,f){d=d|0;e=e|0;f=f|0;var 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,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+224|0;X=Y+200|0;U=Y+192|0;T=Y+184|0;Q=Y+176|0;P=Y+168|0;O=Y+160|0;M=Y+152|0;L=Y+144|0;K=Y+136|0;E=Y+128|0;J=Y+120|0;D=Y+112|0;B=Y+104|0;A=Y+96|0;z=Y+88|0;y=Y+80|0;I=Y+72|0;H=Y+64|0;x=Y+56|0;w=Y+48|0;v=Y+40|0;F=Y+32|0;p=Y+24|0;m=Y+16|0;l=Y+8|0;N=Y;S=Y+216|0;g=Y+204|0;G=Y+212|0;u=Y+208|0;W=d+8|0;c[W>>2]=1;a:do{if((Mb(e,S,2,f)|0)==2?(qb(S,g,2),(c[g>>2]|0)==65359):0){c[W>>2]=2;o=Pb(e)|0;o=Si(o|0,C|0,-2,-1)|0;n=C;V=d+196|0;h=c[V>>2]|0;c[h>>2]=o;c[h+4>>2]=n;h=N;c[h>>2]=o;c[h+4>>2]=n;Ub(f,4,15766,N)|0;h=c[V>>2]|0;n=c[h>>2]|0;o=h+24|0;g=c[o>>2]|0;k=h+32|0;j=c[k>>2]|0;do{if((g+1|0)>>>0>j>>>0){t=~~(+(j>>>0)+100.0)>>>0;c[k>>2]=t;g=h+28|0;h=Tc(c[g>>2]|0,t*24|0)|0;if(!h){Uc(c[g>>2]|0);c[g>>2]=0;c[k>>2]=0;c[o>>2]=0;Ub(f,1,15803,l)|0;break a}else{c[g>>2]=h;g=c[o>>2]|0;break}}else h=c[h+28>>2]|0}while(0);b[h+(g*24|0)>>1]=-177;s=Pi(0,n|0,32)|0;t=h+(g*24|0)+8|0;c[t>>2]=s;c[t+4>>2]=C;c[h+(g*24|0)+16>>2]=2;c[o>>2]=g+1;t=d+16|0;if((Mb(e,c[t>>2]|0,2,f)|0)!=2){Ub(f,1,8295,p)|0;f=0;i=Y;return f|0}qb(c[t>>2]|0,G,2);g=c[G>>2]|0;if((g|0)!=65424){s=d+20|0;q=0;j=0;r=0;b:while(1){if(g>>>0<65280){R=14;break}else l=784;while(1){h=c[l>>2]|0;k=(h|0)==0;if(k|(h|0)==(g|0))break;else l=l+12|0}if(k){Ub(f,2,15914,v)|0;m=2;c:while(1){do{if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=20;break b}qb(c[t>>2]|0,N,2);g=c[N>>2]|0}while(g>>>0<65280);l=784;while(1){h=c[l>>2]|0;if((h|0)==0|(h|0)==(g|0)){k=l;g=l;break}else l=l+12|0}if(!(c[g+4>>2]&c[W>>2])){R=25;break b}if((h|0)>=65424){R=100;break}switch(h|0){case 0:break;default:{p=k;o=m;break c}}m=m+2|0}if((R|0)==100){R=0;switch(h|0){case 65424:{h=q;g=r;R=27;break b}default:{p=k;o=m}}}l=c[V>>2]|0;n=Pb(e)|0;n=n-o|0;k=l+24|0;g=c[k>>2]|0;h=l+32|0;m=c[h>>2]|0;if((g+1|0)>>>0>m>>>0){g=~~(+(m>>>0)+100.0)>>>0;c[h>>2]=g;l=l+28|0;g=Tc(c[l>>2]|0,g*24|0)|0;if(!g){j=l;g=l;R=32;break}c[l>>2]=g;h=g;g=c[k>>2]|0}else h=c[l+28>>2]|0;b[h+(g*24|0)>>1]=0;m=h+(g*24|0)+8|0;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;c[h+(g*24|0)+16>>2]=o;c[k>>2]=g+1;g=c[p>>2]|0;c[G>>2]=g;if((g|0)==65424){h=q;g=r;break}else k=784;while(1){h=c[k>>2]|0;if((h|0)==0|(h|0)==(g|0))break;else k=k+12|0}}else k=l;r=(h|0)==65361?1:r;q=(h|0)==65362?1:q;j=(h|0)==65372?1:j;if(!(c[k+4>>2]&c[W>>2])){R=38;break}if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=40;break}qb(c[t>>2]|0,u,2);h=(c[u>>2]|0)+-2|0;c[u>>2]=h;g=c[t>>2]|0;if(h>>>0>(c[s>>2]|0)>>>0){g=Tc(g,h)|0;if(!g){R=43;break}c[t>>2]=g;h=c[u>>2]|0;c[s>>2]=h}g=Mb(e,g,h,f)|0;if((g|0)!=(c[u>>2]|0)){R=46;break}if(!(Za[c[k+8>>2]&63](d,c[t>>2]|0,g,f)|0)){R=48;break}m=c[V>>2]|0;n=c[k>>2]|0;o=Pb(e)|0;p=c[u>>2]|0;o=-4-p+o|0;p=p+4|0;k=m+24|0;g=c[k>>2]|0;h=m+32|0;l=c[h>>2]|0;if((g+1|0)>>>0>l>>>0){g=~~(+(l>>>0)+100.0)>>>0;c[h>>2]=g;l=m+28|0;g=Tc(c[l>>2]|0,g*24|0)|0;if(!g){j=l;g=l;R=53;break}c[l>>2]=g;h=g;g=c[k>>2]|0}else h=c[m+28>>2]|0;b[h+(g*24|0)>>1]=n;n=h+(g*24|0)+8|0;c[n>>2]=o;c[n+4>>2]=((o|0)<0)<<31>>31;c[h+(g*24|0)+16>>2]=p;c[k>>2]=g+1;if((Mb(e,c[t>>2]|0,2,f)|0)!=2){R=55;break}qb(c[t>>2]|0,G,2);g=c[G>>2]|0;if((g|0)==65424){h=q;g=r;break}}switch(R|0){case 14:{c[F>>2]=g;Ub(f,1,15863,F)|0;f=0;i=Y;return f|0}case 20:{Ub(f,1,8295,w)|0;R=34;break}case 25:{Ub(f,1,8339,x)|0;R=34;break}case 27:{c[G>>2]=65424;break}case 32:{Uc(c[g>>2]|0);c[j>>2]=0;c[h>>2]=0;c[k>>2]=0;Ub(f,1,15803,H)|0;R=34;break}case 38:{Ub(f,1,8339,y)|0;f=0;i=Y;return f|0}case 40:{Ub(f,1,8295,z)|0;f=0;i=Y;return f|0}case 43:{Uc(c[t>>2]|0);c[t>>2]=0;c[s>>2]=0;Ub(f,1,8427,A)|0;f=0;i=Y;return f|0}case 46:{Ub(f,1,8295,B)|0;f=0;i=Y;return f|0}case 48:{Ub(f,1,15985,D)|0;f=0;i=Y;return f|0}case 53:{Uc(c[g>>2]|0);c[j>>2]=0;c[h>>2]=0;c[k>>2]=0;Ub(f,1,15803,J)|0;f=0;i=Y;return f|0}case 55:{Ub(f,1,8295,E)|0;f=0;i=Y;return f|0}}if((R|0)==34){Ub(f,1,15930,I)|0;f=0;i=Y;return f|0}if(g){if(!h){Ub(f,1,16090,L)|0;f=0;i=Y;return f|0}if(!j){Ub(f,1,16136,M)|0;f=0;i=Y;return f|0}d:do{if(a[d+184>>0]&1){s=d+120|0;do{if(c[s>>2]|0){n=d+124|0;o=0;g=0;h=0;e:do{j=c[n>>2]|0;k=c[j+(o<<3)>>2]|0;f:do{if(k){l=c[j+(o<<3)+4>>2]|0;j=g>>>0>>0;m=j?0:g-l|0;if((l|0)==(g|0)|j^1)g=m;else{k=j?k+g|0:k;g=l-g|0;while(1){if(g>>>0<4){R=70;break e}qb(k,N,4);j=g+-4|0;g=c[N>>2]|0;h=g+h|0;if(j>>>0>>0)break;if((j|0)==(g|0)){g=m;break f}else{k=k+(g+4)|0;g=j-g|0}}g=g-j|0}}}while(0);o=o+1|0}while(o>>>0<(c[s>>2]|0)>>>0);if((R|0)==70){Ub(f,1,16182,O)|0;break}if(!g)R=77;else Ub(f,1,16213,P)|0}else{h=0;R=77}}while(0);g:do{if((R|0)==77){j=Pc(h)|0;p=d+144|0;c[p>>2]=j;if(!j){Ub(f,1,13302,Q)|0;break}q=d+132|0;c[q>>2]=h;k=c[s>>2]|0;r=d+124|0;do{if(k){g=c[r>>2]|0;j=g;o=0;n=0;h=0;h:while(1){l=c[j+(o<<3)>>2]|0;if(!l)l=n;else{j=c[j+(o<<3)+4>>2]|0;g=(c[p>>2]|0)+h|0;i:do{if(n>>>0>>0){Ui(g|0,l|0,n|0)|0;h=h+n|0;if((j|0)==(n|0)){l=0;break}m=l+n|0;g=j-n|0;while(1){if(g>>>0<4){R=88;break h}qb(m,S,4);l=m+4|0;k=g+-4|0;j=c[S>>2]|0;g=(c[p>>2]|0)+h|0;if(k>>>0>>0){j=l;break}Ui(g|0,l|0,j|0)|0;g=c[S>>2]|0;h=g+h|0;if((k|0)==(g|0)){l=0;break i}else{m=m+(g+4)|0;g=k-g|0}}Ui(g|0,j|0,k|0)|0;l=(c[S>>2]|0)-k|0;h=k+h|0}else{Ui(g|0,l|0,j|0)|0;l=n-j|0;h=j+h|0}}while(0);Uc(c[(c[r>>2]|0)+(o<<3)>>2]|0);j=c[r>>2]|0;c[j+(o<<3)>>2]=0;c[j+(o<<3)+4>>2]=0;k=c[s>>2]|0;g=j}o=o+1|0;if(o>>>0>=k>>>0){R=94;break}else n=l}if((R|0)==88){Ub(f,1,16182,T)|0;break g}else if((R|0)==94){j=c[p>>2]|0;h=c[q>>2]|0;break}}else g=c[r>>2]|0}while(0);c[d+128>>2]=j;c[d+152>>2]=h;c[s>>2]=0;Uc(g);c[r>>2]=0;break d}}while(0);Ub(f,1,16236,U)|0;f=0;i=Y;return f|0}}while(0);Ub(f,4,16262,X)|0;X=Pb(e)|0;f=(c[V>>2]|0)+8|0;c[f>>2]=X+-2;c[f+4>>2]=0;c[W>>2]=8;f=1;i=Y;return f|0}}Ub(f,1,16044,K)|0;f=0;i=Y;return f|0}}while(0);Ub(f,1,15839,m)|0;f=0;i=Y;return f|0}function wd(b,d,e){b=b|0;d=d|0;e=e|0;var f=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+16|0;F=G;D=c[b+80>>2]|0;E=b+88|0;A=_(c[b+112>>2]|0,c[b+116>>2]|0)|0;q=c[D+16>>2]|0;o=q*1080|0;p=c[b+12>>2]|0;q=_(q<<2,q)|0;a:do{if(A){r=p+5604|0;s=p+5620|0;t=p+5612|0;u=p+5616|0;v=p+5632|0;w=p+5624|0;x=p+5584|0;B=0;C=c[b+164>>2]|0;b:while(1){k=C+5584|0;y=c[k>>2]|0;Ui(C|0,p|0,5640)|0;d=C+5636|0;a[d>>0]=a[d>>0]&-4;c[C+5168>>2]=0;d=C+5604|0;c[d>>2]=0;l=C+5620|0;c[l>>2]=0;z=C+5612|0;c[z>>2]=0;m=C+5632|0;c[m>>2]=0;n=C+5624|0;c[n>>2]=0;c[k>>2]=y;if(c[r>>2]|0){f=Pc(q)|0;c[d>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[r>>2]|0,q|0)|0}d=(c[s>>2]|0)*20|0;f=Pc(d)|0;c[z>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[t>>2]|0,d|0)|0;d=c[u>>2]|0;if(d){h=0;j=c[z>>2]|0;k=c[t>>2]|0;while(1){g=k+12|0;if(c[g>>2]|0){d=k+16|0;f=Pc(c[d>>2]|0)|0;c[j+12>>2]=f;if(!f){d=0;f=25;break b}Ui(f|0,c[g>>2]|0,c[d>>2]|0)|0;d=c[u>>2]|0}c[l>>2]=(c[l>>2]|0)+1;h=h+1|0;if(h>>>0>=d>>>0)break;else{j=j+20|0;k=k+20|0}}}d=(c[v>>2]|0)*20|0;f=Pc(d)|0;c[n>>2]=f;if(!f){d=0;f=25;break}Ui(f|0,c[w>>2]|0,d|0)|0;c[m>>2]=c[v>>2];h=c[v>>2]|0;if(h){j=0;f=c[n>>2]|0;g=c[w>>2]|0;while(1){d=c[g+8>>2]|0;if(d)c[f+8>>2]=(c[z>>2]|0)+(((d-(c[t>>2]|0)|0)/20|0)*20|0);d=c[g+12>>2]|0;if(d)c[f+12>>2]=(c[z>>2]|0)+(((d-(c[t>>2]|0)|0)/20|0)*20|0);j=j+1|0;if(j>>>0>=h>>>0)break;else{f=f+20|0;g=g+20|0}}}Ui(y|0,c[x>>2]|0,o|0)|0;B=B+1|0;if(B>>>0>=A>>>0)break a;else C=C+5640|0}if((f|0)==25){i=G;return d|0}}}while(0);f=Tf(1)|0;d=b+204|0;c[d>>2]=f;if(!f){e=0;i=G;return e|0}if(Xf(f,D,E)|0){e=1;i=G;return e|0}Yf(c[d>>2]|0);c[d>>2]=0;Ub(e,1,8839,F)|0;e=0;i=G;return e|0}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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;w=i;i=i+128|0;u=w+120|0;t=w+112|0;s=w+104|0;r=w+96|0;q=w+88|0;p=w+80|0;o=w+72|0;n=w+64|0;m=w+56|0;l=w+48|0;k=w+40|0;j=w+32|0;h=w+24|0;g=w+16|0;f=w+8|0;e=w;if(!a){i=w;return}ki(12191,17,1,d)|0;c[e>>2]=c[a>>2];$h(d,12209,e)|0;c[f>>2]=c[a+4>>2];$h(d,12222,f)|0;c[g>>2]=c[a+8>>2];$h(d,12234,g)|0;c[h>>2]=c[a+16>>2];$h(d,12251,h)|0;if((b|0)>0){g=a+5584|0;h=0;do{f=c[g>>2]|0;c[j>>2]=h;$h(d,12262,j)|0;c[k>>2]=c[f+(h*1080|0)>>2];$h(d,12276,k)|0;a=f+(h*1080|0)+4|0;c[l>>2]=c[a>>2];$h(d,12290,l)|0;c[m>>2]=c[f+(h*1080|0)+8>>2];$h(d,12313,m)|0;c[n>>2]=c[f+(h*1080|0)+12>>2];$h(d,12329,n)|0;c[o>>2]=c[f+(h*1080|0)+16>>2];$h(d,12345,o)|0;c[p>>2]=c[f+(h*1080|0)+20>>2];$h(d,12362,p)|0;ki(12377,23,1,d)|0;if(c[a>>2]|0){e=0;do{x=c[f+(h*1080|0)+944+(e<<2)>>2]|0;c[q>>2]=c[f+(h*1080|0)+812+(e<<2)>>2];c[q+4>>2]=x;$h(d,12401,q)|0;e=e+1|0}while(e>>>0<(c[a>>2]|0)>>>0)}ai(10,d)|0;x=f+(h*1080|0)+24|0;c[r>>2]=c[x>>2];$h(d,12410,r)|0;c[s>>2]=c[f+(h*1080|0)+804>>2];$h(d,12425,s)|0;ki(12442,20,1,d)|0;if((c[x>>2]|0)!=1){a=(c[a>>2]|0)*3|0;if((a|0)>2){a=a+-2|0;v=8}}else{a=1;v=8}if((v|0)==8){v=0;e=0;do{x=c[f+(h*1080|0)+28+(e<<3)>>2]|0;c[t>>2]=c[f+(h*1080|0)+28+(e<<3)+4>>2];c[t+4>>2]=x;$h(d,12401,t)|0;e=e+1|0}while((e|0)!=(a|0))}ai(10,d)|0;c[u>>2]=c[f+(h*1080|0)+808>>2];$h(d,12463,u)|0;ki(12480,5,1,d)|0;h=h+1|0}while((h|0)!=(b|0))}ki(10321,4,1,d)|0;i=w;return}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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,A=0,B=0;B=i;i=i+80|0;u=B+32|0;v=B+24|0;y=B+16|0;x=B+8|0;o=B+64|0;w=B+60|0;n=B+56|0;q=B+52|0;s=B+48|0;r=B+44|0;t=B+40|0;p=B+36|0;c[o>>2]=1;e=Pc(1e3)|0;if(!e){Ub(d,1,12127,B)|0;d=0;i=B;return d|0}z=a+116|0;A=a+112|0;k=a+204|0;l=a+84|0;m=a+8|0;f=1e3;j=0;while(1){if(!(cd(a,w,n,q,s,r,t,p,o,b,d)|0)){g=5;break}if(!(c[o>>2]|0)){g=17;break}h=c[n>>2]|0;if(h>>>0>f>>>0){f=Tc(e,h)|0;if(!f){g=9;break}else{e=f;g=h}}else g=f;f=c[w>>2]|0;if(!(dd(a,f,e,h,b,d)|0)){g=11;break}f=f+1|0;h=_(c[A>>2]|0,c[z>>2]|0)|0;c[v>>2]=f;c[v+4>>2]=h;Ub(d,4,11986,v)|0;h=c[k>>2]|0;if(!(ce(c[(c[c[h+20>>2]>>2]|0)+20>>2]|0,c[h+24>>2]|0,e,c[(c[l>>2]|0)+24>>2]|0)|0)){g=13;break}c[u>>2]=f;Ub(d,4,12016,u)|0;h=Qb(b)|0;if((h|0)==0&(C|0)==0?(c[m>>2]|0)==64:0){g=17;break}j=j+1|0;if((j|0)==(_(c[A>>2]|0,c[z>>2]|0)|0)){g=17;break}else f=g}if((g|0)==5){Uc(e);d=0;i=B;return d|0}else if((g|0)==9){Uc(e);A=_(c[A>>2]|0,c[z>>2]|0)|0;c[x>>2]=(c[w>>2]|0)+1;c[x+4>>2]=A;Ub(d,1,11946,x)|0;d=0;i=B;return d|0}else if((g|0)==11){Uc(e);A=_(c[A>>2]|0,c[z>>2]|0)|0;c[y>>2]=f+1;c[y+4>>2]=A;Ub(d,1,12162,y)|0;d=0;i=B;return d|0}else if((g|0)==13){Uc(e);d=0;i=B;return d|0}else if((g|0)==17){Uc(e);d=1;i=B;return d|0}return 0}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;y=G+56|0;D=G+48|0;x=G+40|0;z=G+32|0;E=G+24|0;k=G+16|0;j=G+8|0;r=G+92|0;B=G+88|0;q=G+84|0;t=G+80|0;v=G+76|0;u=G+72|0;w=G+68|0;s=G+64|0;c[r>>2]=1;e=Pc(1e3)|0;if(!e){Ub(d,1,11880,G)|0;F=0;i=G;return F|0}A=a+196|0;g=c[A>>2]|0;f=c[g+40>>2]|0;a:do{if(!f){f=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[g+36>>2]=f;f=Qc(f,40)|0;g=c[A>>2]|0;c[g+40>>2]=f;b:do{if(f){if(c[g+36>>2]|0){h=0;do{c[f+(h*40|0)+28>>2]=100;c[f+(h*40|0)+20>>2]=0;p=Qc(100,24)|0;g=c[A>>2]|0;f=c[g+40>>2]|0;c[f+(h*40|0)+24>>2]=p;h=h+1|0;if(!p)break b}while(h>>>0<(c[g+36>>2]|0)>>>0)}g=c[a+60>>2]|0;if(!f)break a;else{F=12;break a}}}while(0);Uc(e);F=0;i=G;return F|0}else{g=c[a+60>>2]|0;F=12}}while(0);if((F|0)==12)if(c[f+16>>2]|0){if(!(c[f+(g*40|0)+4>>2]|0)){p=a+64|0;p=Si(c[p>>2]|0,c[p+4>>2]|0,2,0)|0;if(!(xb(b,p,C,d)|0)){Ub(d,1,11918,j)|0;Uc(e);F=0;i=G;return F|0}}else{p=c[f+(g*40|0)+16>>2]|0;p=Si(c[p>>2]|0,c[p+4>>2]|0,2,0)|0;if(!(xb(b,p,C,d)|0)){Ub(d,1,11918,k)|0;Uc(e);F=0;i=G;return F|0}}f=a+8|0;if((c[f>>2]|0)==256)c[f>>2]=8}c:do{if(cd(a,B,q,t,v,u,w,s,r,b,d)|0){o=a+116|0;p=a+112|0;l=a+204|0;m=a+84|0;n=g+1|0;f=1e3;while(1){if(!(c[r>>2]|0))break;k=c[q>>2]|0;if(k>>>0>f>>>0){f=Tc(e,k)|0;if(!f){F=26;break}else{e=f;j=k}}else j=f;h=c[B>>2]|0;if(!(dd(a,h,e,k,b,d)|0)){F=28;break}f=h+1|0;k=_(c[p>>2]|0,c[o>>2]|0)|0;c[z>>2]=f;c[z+4>>2]=k;Ub(d,4,11986,z)|0;k=c[l>>2]|0;if(!(ce(c[(c[c[k+20>>2]>>2]|0)+20>>2]|0,c[k+24>>2]|0,e,c[(c[m>>2]|0)+24>>2]|0)|0)){F=30;break}c[x>>2]=f;Ub(d,4,12016,x)|0;if((h|0)==(g|0)){F=32;break}c[y>>2]=f;c[y+4>>2]=n;Ub(d,2,12060,y)|0;if(!(cd(a,B,q,t,v,u,w,s,r,b,d)|0))break c;else f=j}if((F|0)==26){Uc(e);F=_(c[p>>2]|0,c[o>>2]|0)|0;c[E>>2]=(c[B>>2]|0)+1;c[E+4>>2]=F;Ub(d,1,11946,E)|0;F=0;i=G;return F|0}else if((F|0)==28){Uc(e);F=0;i=G;return F|0}else if((F|0)==30){Uc(e);F=0;i=G;return F|0}else if((F|0)==32){F=(c[A>>2]|0)+8|0;F=Si(c[F>>2]|0,c[F+4>>2]|0,2,0)|0;if(!(xb(b,F,C,d)|0)){Ub(d,1,11918,D)|0;Uc(e);F=0;i=G;return F|0}}Uc(e);F=1;i=G;return F|0}}while(0);Uc(e);F=0;i=G;return F|0}function Ad(a,d,e){a=a|0;d=d|0;e=e|0;var f=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;H=i;i=i+32|0;D=H+16|0;t=H+8|0;l=H;C=H+20|0;E=c[a+40>>2]|0;G=a+36|0;n=c[G>>2]|0;o=a+204|0;k=c[o>>2]|0;c[k+16>>2]=0;B=a+8|0;c[B>>2]=0;c[C>>2]=0;pb(n,65424,2);pb(n+2|0,10,2);F=a+200|0;pb(n+4|0,c[F>>2]|0,2);z=a+12|0;pb(n+10|0,c[z>>2]|0,1);A=a+164|0;pb(n+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=12;h=n+12|0;f=E+-12|0;m=a+88|0;if(((b[m>>1]|0)+-3&65535)>=4?(g=c[F>>2]|0,j=c[A>>2]|0,(c[j+(g*5640|0)+420>>2]|0)!=0):0){c[C>>2]=0;_d(c[(c[a+80>>2]|0)+16>>2]|0,j,g,h,C);y=c[C>>2]|0;g=y+12|0;h=n+g|0;f=f-y|0}else g=12;c[C>>2]=0;pb(h,65427,2);c[k+4>>2]=c[B>>2];y=c[z>>2]|0;c[k+8>>2]=y;if(!y)c[(c[c[k+20>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(k,c[F>>2]|0,h+2|0,C,f+-4|0,0)|0)){Ub(e,1,11860,l)|0;d=0;i=H;return d|0}f=(c[C>>2]|0)+2|0;c[C>>2]=f;f=f+g|0;pb(n+6|0,f,4);if(((b[m>>1]|0)+-3&65535)<4){y=a+28|0;pb(c[y>>2]|0,c[F>>2]|0,1);x=(c[y>>2]|0)+1|0;c[y>>2]=x;pb(x,f,4);c[y>>2]=(c[y>>2]|0)+4}g=n+f|0;y=E-f|0;v=c[o>>2]|0;w=a+88|0;r=c[A>>2]|0;s=c[F>>2]|0;m=be(w,0,s)|0;x=a+8|0;c[z>>2]=(c[z>>2]|0)+1;a:do{if(m>>>0>1){n=v+4|0;o=v+8|0;p=v+20|0;q=a+28|0;j=g;g=y;f=0;l=1;while(1){c[x>>2]=l;c[C>>2]=0;pb(j,65424,2);pb(j+2|0,10,2);pb(j+4|0,c[F>>2]|0,2);pb(j+10|0,c[z>>2]|0,1);pb(j+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=0;pb(j+12|0,65427,2);c[n>>2]=c[B>>2];k=c[z>>2]|0;c[o>>2]=k;if(!k)c[(c[c[p>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(v,c[F>>2]|0,j+14|0,C,g+-16|0,0)|0))break;I=c[C>>2]|0;J=I+2|0;c[C>>2]=J;k=I+14|0;h=j+k|0;f=f+12+J|0;g=g+-12+(-2-I)|0;pb(j+6|0,k,4);if(((b[w>>1]|0)+-3&65535)<4){pb(c[q>>2]|0,c[F>>2]|0,1);J=(c[q>>2]|0)+1|0;c[q>>2]=J;pb(J,k,4);c[q>>2]=(c[q>>2]|0)+4}c[z>>2]=(c[z>>2]|0)+1;l=l+1|0;if(l>>>0>=m>>>0){u=12;break a}else j=h}Ub(e,1,11860,t)|0}else{h=g;g=y;f=0;u=12}}while(0);b:do{if((u|0)==12){p=r+(s*5640|0)+420|0;c:do{if(c[p>>2]|0){q=v+16|0;r=v+4|0;s=v+8|0;t=v+20|0;o=a+28|0;n=1;d:while(1){c[q>>2]=n;m=be(w,n,c[F>>2]|0)|0;if(m){l=0;while(1){c[x>>2]=l;c[C>>2]=0;pb(h,65424,2);pb(h+2|0,10,2);pb(h+4|0,c[F>>2]|0,2);pb(h+10|0,c[z>>2]|0,1);pb(h+11|0,c[(c[A>>2]|0)+((c[F>>2]|0)*5640|0)+5588>>2]|0,1);c[C>>2]=0;pb(h+12|0,65427,2);c[r>>2]=c[B>>2];J=c[z>>2]|0;c[s>>2]=J;if(!J)c[(c[c[t>>2]>>2]|0)+840>>2]=0;c[C>>2]=0;if(!(bg(v,c[F>>2]|0,h+14|0,C,g+-16|0,0)|0))break d;J=c[C>>2]|0;j=J+2|0;c[C>>2]=j;f=f+12+j|0;j=J+14|0;k=h+j|0;g=g+-12+(-2-J)|0;pb(h+6|0,j,4);if(((b[w>>1]|0)+-3&65535)<4){pb(c[o>>2]|0,c[F>>2]|0,1);J=(c[o>>2]|0)+1|0;c[o>>2]=J;pb(J,j,4);c[o>>2]=(c[o>>2]|0)+4}c[z>>2]=(c[z>>2]|0)+1;l=l+1|0;if(l>>>0>=m>>>0){h=k;break}else h=k}}n=n+1|0;if(n>>>0>(c[p>>2]|0)>>>0)break c}Ub(e,1,11860,D)|0;break b}}while(0);J=f-y+E|0;if((Nb(d,c[G>>2]|0,J,e)|0)!=(J|0)){J=0;i=H;return J|0}c[F>>2]=(c[F>>2]|0)+1;J=1;i=H;return J|0}}while(0);J=0;i=H;return J|0}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;a=a+44|0;pb(c[a>>2]|0,65497,2);if((Nb(b,c[a>>2]|0,2,d)|0)!=2){b=0;return b|0}b=(Ob(b,d)|0)!=0&1;return b|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=(c[a+32>>2]|0)*5|0;i=a+16|0;i=Si(c[i>>2]|0,c[i+4>>2]|0,6,0)|0;h=C;e=Pb(b)|0;f=C;if(!(Sb(b,i,h,d)|0)){i=0;return i|0}if((Nb(b,c[a+24>>2]|0,g,d)|0)!=(g|0)){i=0;return i|0}i=(Sb(b,e,f,d)|0)!=0&1;return i|0}function Dd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+196>>2]|0;if(!a)return 1;b=Pb(b)|0;d=a;d=Oi(b|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;b=a+16|0;c[b>>2]=d;c[b+4>>2]=C;return 1}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;d=a+204|0;Yf(c[d>>2]|0);c[d>>2]=0;d=a+24|0;b=c[d>>2]|0;if(b){Uc(b);c[d>>2]=0;c[a+28>>2]=0}d=a+36|0;b=c[d>>2]|0;if(!b){a=a+40|0;c[a>>2]=0;return 1}Uc(b);c[d>>2]=0;a=a+40|0;c[a>>2]=0;return 1}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;d=a+44|0;b=c[d>>2]|0;if(b){Uc(b);c[d>>2]=0}c[a+48>>2]=0;return 1}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+32|0;e=(c[a+8>>2]|0)==0&(c[a+188>>2]|0)!=0&(c[a+192>>2]|0)!=0&1;b=(c[(c[(c[a+164>>2]|0)+5584>>2]|0)+4>>2]|0)+-1|0;if(b>>>0>31){Ub(d,1,11790,f)|0;d=0;i=f;return d|0}b=1<>2]|0)>>>0>>0){Ub(d,1,11790,f+8|0)|0;d=0;i=f;return d|0}if((c[a+104>>2]|0)>>>0>=b>>>0){d=e;i=f;return d|0}Ub(d,1,11790,f+16|0)|0;d=0;i=f;return d|0}function Id(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((b[a+88>>1]&-32256)<<16>>16!=-32256){j=1;return j|0}i=_(c[a+112>>2]|0,c[a+116>>2]|0)|0;if(!i){j=1;return j|0}h=a+80|0;j=0;e=1;g=c[a+164>>2]|0;while(1){if((c[g+16>>2]|0)==2){e=(c[g+5608>>2]|0)!=0&e;a=c[(c[h>>2]|0)+16>>2]|0;if(a){f=0;d=c[g+5584>>2]|0;while(1){e=(c[d+20>>2]&1^1)&e;f=f+1|0;if(f>>>0>=a>>>0)break;else d=d+1080|0}}}j=j+1|0;if((j|0)==(i|0))break;else g=g+5640|0}return e|0}function Jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+88|0;h=a+32|0;i=c[a+80>>2]|0;j=_(c[a+116>>2]|0,c[a+112>>2]|0)|0;c[h>>2]=0;if(!j)return 1;e=c[a+164>>2]|0;f=0;while(1){Nf(i,g,f);b=e+420|0;d=0;a=0;do{k=be(g,a,f)|0;c[h>>2]=(c[h>>2]|0)+k;d=k+d|0;a=a+1|0}while(a>>>0<=(c[b>>2]|0)>>>0);c[e+5588>>2]=d;f=f+1|0;if((f|0)==(j|0))break;else e=e+5640|0}return 1}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+44>>2]|0;pb(a,65359,2);return(Nb(b,a,2,d)|0)==2|0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+16|0;j=p;k=c[a+80>>2]|0;n=k+16|0;l=(c[n>>2]|0)*3|0;o=l+40|0;f=c[k+24>>2]|0;h=a+48|0;m=a+44|0;g=c[m>>2]|0;do{if(o>>>0>(c[h>>2]|0)>>>0){g=Tc(g,o)|0;if(g){c[m>>2]=g;c[h>>2]=o;break}Uc(c[m>>2]|0);c[m>>2]=0;c[h>>2]=0;Ub(d,1,11752,j)|0;b=0;i=p;return b|0}}while(0);pb(g,65361,2);pb(g+2|0,l+38|0,2);pb(g+4|0,e[a+88>>1]|0,2);pb(g+6|0,c[k+8>>2]|0,4);pb(g+10|0,c[k+12>>2]|0,4);pb(g+14|0,c[k>>2]|0,4);pb(g+18|0,c[k+4>>2]|0,4);pb(g+22|0,c[a+100>>2]|0,4);pb(g+26|0,c[a+104>>2]|0,4);pb(g+30|0,c[a+92>>2]|0,4);pb(g+34|0,c[a+96>>2]|0,4);pb(g+38|0,c[n>>2]|0,2);if(c[n>>2]|0){h=0;g=g+40|0;while(1){pb(g,(c[f+24>>2]|0)+-1+(c[f+32>>2]<<7)|0,1);pb(g+1|0,c[f>>2]|0,1);pb(g+2|0,c[f+4>>2]|0,1);h=h+1|0;if(h>>>0>=(c[n>>2]|0)>>>0)break;else{g=g+3|0;f=f+52|0}}}b=(Nb(b,c[m>>2]|0,o,d)|0)==(o|0)&1;i=p;return b|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;q=r+16|0;p=r+8|0;j=r;o=r+20|0;k=a+200|0;l=c[k>>2]|0;m=a+164|0;n=c[m>>2]|0;e=c[n+(l*5640|0)+5584>>2]|0;if(!(c[e>>2]&1))g=5;else g=(c[e+4>>2]|0)+5|0;h=g+9|0;c[o>>2]=h;f=a+48|0;a=a+44|0;e=c[a>>2]|0;do{if(h>>>0>(c[f>>2]|0)>>>0){e=Tc(e,h)|0;if(e){c[a>>2]=e;c[f>>2]=h;break}Uc(c[a>>2]|0);c[a>>2]=0;c[f>>2]=0;Ub(d,1,11687,j)|0;q=0;i=r;return q|0}}while(0);pb(e,65362,2);pb(e+2|0,g+7|0,2);pb(e+4|0,c[n+(l*5640|0)>>2]|0,1);pb(e+5|0,c[n+(l*5640|0)+4>>2]|0,1);pb(e+6|0,c[n+(l*5640|0)+8>>2]|0,2);pb(e+8|0,c[n+(l*5640|0)+16>>2]|0,1);c[o>>2]=g;if(!(ae(c[m>>2]|0,c[k>>2]|0,e+9|0,o,d)|0)){Ub(d,1,11726,p)|0;q=0;i=r;return q|0}if(!(c[o>>2]|0)){q=(Nb(b,c[a>>2]|0,h,d)|0)==(h|0)&1;i=r;return q|0}else{Ub(d,1,11726,q)|0;q=0;i=r;return q|0}return 0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;o=p+16|0;n=p+8|0;j=p;l=p+20|0;k=a+200|0;m=a+164|0;e=c[(c[m>>2]|0)+((c[k>>2]|0)*5640|0)+5584>>2]|0;f=c[e+24>>2]|0;if((f|0)==1)e=1;else e=((c[e+4>>2]|0)*3|0)+-2|0;g=(f|0)==0?e+1|0:e<<1|1;h=g+4|0;c[l>>2]=h;f=a+48|0;a=a+44|0;e=c[a>>2]|0;do{if(h>>>0>(c[f>>2]|0)>>>0){e=Tc(e,h)|0;if(e){c[a>>2]=e;c[f>>2]=h;break}Uc(c[a>>2]|0);c[a>>2]=0;c[f>>2]=0;Ub(d,1,11622,j)|0;o=0;i=p;return o|0}}while(0);pb(e,65372,2);pb(e+2|0,g+2|0,2);c[l>>2]=g;if(!($d(c[m>>2]|0,c[k>>2]|0,0,e+4|0,l,d)|0)){Ub(d,1,11661,n)|0;o=0;i=p;return o|0}if(!(c[l>>2]|0)){o=(Nb(b,c[a>>2]|0,h,d)|0)==(h|0)&1;i=p;return o|0}else{Ub(d,1,11661,o)|0;o=0;i=p;return o|0}return 0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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;w=i;i=i+16|0;u=w;r=w+4|0;o=a+80|0;e=c[(c[o>>2]|0)+16>>2]|0;if(e>>>0<=1){v=1;i=w;return v|0}s=a+164|0;t=a+200|0;q=a+48|0;n=a+44|0;m=1;while(1){h=c[s>>2]|0;k=c[t>>2]|0;g=c[h+(k*5640|0)+5584>>2]|0;j=c[g+(m*1080|0)>>2]|0;a:do{if((((((c[g>>2]|0)==(j|0)?(p=c[g+4>>2]|0,(p|0)==(c[g+(m*1080|0)+4>>2]|0)):0)?(c[g+8>>2]|0)==(c[g+(m*1080|0)+8>>2]|0):0)?(c[g+12>>2]|0)==(c[g+(m*1080|0)+12>>2]|0):0)?(c[g+16>>2]|0)==(c[g+(m*1080|0)+16>>2]|0):0)?(c[g+20>>2]|0)==(c[g+(m*1080|0)+20>>2]|0):0){if(p){a=0;do{if((c[g+812+(a<<2)>>2]|0)!=(c[g+(m*1080|0)+812+(a<<2)>>2]|0)){v=13;break a}if((c[g+944+(a<<2)>>2]|0)!=(c[g+(m*1080|0)+944+(a<<2)>>2]|0)){v=13;break a}a=a+1|0}while(a>>>0

    >>0)}}else v=13}while(0);if((v|0)==13){v=0;if(!(j&1))a=5;else a=(c[g+(m*1080|0)+4>>2]|0)+5|0;l=a+(e>>>0<257?6:7)|0;f=c[n>>2]|0;if(l>>>0>(c[q>>2]|0)>>>0){a=Tc(f,l)|0;if(!a){v=17;break}c[n>>2]=a;c[q>>2]=l;k=c[t>>2]|0;h=c[s>>2]|0;g=c[h+(k*5640|0)+5584>>2]|0;e=c[(c[o>>2]|0)+16>>2]|0;j=c[g+(m*1080|0)>>2]|0;f=a}e=e>>>0<257?1:2;if(!(j&1))a=5;else a=(c[g+(m*1080|0)+4>>2]|0)+5|0;pb(f,65363,2);pb(f+2|0,e+3+a|0,2);pb(f+4|0,m,e);j=e|4;pb(f+j|0,c[(c[h+(k*5640|0)+5584>>2]|0)+(m*1080|0)>>2]|0,1);c[r>>2]=a;ae(c[s>>2]|0,c[t>>2]|0,f+(j+1)|0,r,d)|0;if((Nb(b,c[n>>2]|0,l,d)|0)!=(l|0)){a=0;v=24;break}e=c[(c[o>>2]|0)+16>>2]|0}m=m+1|0;if(m>>>0>=e>>>0){a=1;v=24;break}}if((v|0)==17){Uc(c[n>>2]|0);c[n>>2]=0;c[q>>2]=0;Ub(d,1,11548,u)|0;v=0;i=w;return v|0}else if((v|0)==24){i=w;return a|0}return 0}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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;t=i;i=i+16|0;r=t;o=t+4|0;m=a+80|0;e=c[(c[m>>2]|0)+16>>2]|0;if(e>>>0<=1){s=1;i=t;return s|0}p=a+164|0;q=a+200|0;n=a+48|0;l=a+44|0;k=1;while(1){j=c[(c[p>>2]|0)+((c[q>>2]|0)*5640|0)+5584>>2]|0;g=c[j+24>>2]|0;h=c[j+(k*1080|0)+24>>2]|0;a:do{if((g|0)==(h|0)?(c[j+804>>2]|0)==(c[j+(k*1080|0)+804>>2]|0):0){if((g|0)!=1){f=(c[j+4>>2]|0)*3|0;a=f+-2|0;if((f|0)!=((c[j+(k*1080|0)+4>>2]|0)*3|0)){s=14;break}if(!a)break}else a=1;f=0;do{if((c[j+28+(f<<3)>>2]|0)!=(c[j+(k*1080|0)+28+(f<<3)>>2]|0)){s=14;break a}f=f+1|0}while(f>>>0>>0);if(g){f=0;do{if((c[j+28+(f<<3)+4>>2]|0)!=(c[j+(k*1080|0)+28+(f<<3)+4>>2]|0)){s=14;break a}f=f+1|0}while(f>>>0>>0)}}else s=14}while(0);if((s|0)==14){s=0;if((h|0)==1)a=1;else a=((c[j+(k*1080|0)+4>>2]|0)*3|0)+-2|0;g=((h|0)==0?a+1|0:a<<1|1)+5+(e>>>0>256&1)|0;a=c[l>>2]|0;if(g>>>0>(c[n>>2]|0)>>>0){a=Tc(a,g)|0;if(!a){s=18;break}c[l>>2]=a;c[n>>2]=g;e=c[(c[p>>2]|0)+((c[q>>2]|0)*5640|0)+5584>>2]|0;f=c[e+(k*1080|0)+24>>2]|0}else{f=h;e=j}if((f|0)==1)e=1;else e=((c[e+(k*1080|0)+4>>2]|0)*3|0)+-2|0;f=(f|0)==0?e+1|0:e<<1|1;c[o>>2]=f+6;pb(a,65373,2);e=a+2|0;if((c[(c[m>>2]|0)+16>>2]|0)>>>0<257){pb(e,f+3|0,2);pb(a+4|0,k,1);a=a+5|0}else{pb(e,f+4|0,2);pb(a+4|0,k,2);a=a+6|0}c[o>>2]=f;$d(c[p>>2]|0,c[q>>2]|0,k,a,o,d)|0;if((Nb(b,c[l>>2]|0,g,d)|0)!=(g|0)){a=0;s=28;break}e=c[(c[m>>2]|0)+16>>2]|0}k=k+1|0;if(k>>>0>=e>>>0){a=1;s=28;break}}if((s|0)==18){Uc(c[l>>2]|0);c[l>>2]=0;c[n>>2]=0;Ub(d,1,11476,r)|0;s=0;i=t;return s|0}else if((s|0)==28){i=t;return a|0}return 0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l;h=(c[a+32>>2]|0)*5|0;j=h+6|0;f=a+48|0;k=a+44|0;e=c[k>>2]|0;do{if(j>>>0>(c[f>>2]|0)>>>0){e=Tc(e,j)|0;if(e){c[k>>2]=e;c[f>>2]=j;break}Uc(c[k>>2]|0);c[k>>2]=0;c[f>>2]=0;Ub(d,1,11437,g)|0;b=0;i=l;return b|0}}while(0);g=Pb(b)|0;a=a+16|0;c[a>>2]=g;c[a+4>>2]=C;pb(e,65365,2);pb(e+2|0,h+4|0,2);pb(e+4|0,0,1);pb(e+5|0,80,1);b=(Nb(b,c[k>>2]|0,j,d)|0)==(j|0)&1;i=l;return b|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+16|0;j=q;p=q+4|0;c[p>>2]=0;m=a+200|0;e=c[m>>2]|0;l=a+164|0;f=c[l>>2]|0;k=a+80|0;h=c[(c[k>>2]|0)+16>>2]|0;o=(_(h>>>0<257?7:9,(c[f+(e*5640|0)+420>>2]|0)+1|0)|0)+4|0;g=a+48|0;n=a+44|0;a=c[n>>2]|0;do{if(o>>>0>(c[g>>2]|0)>>>0){e=Tc(a,o)|0;if(e){c[n>>2]=e;c[g>>2]=o;g=e;a=c[(c[k>>2]|0)+16>>2]|0;f=c[l>>2]|0;e=c[m>>2]|0;break}Uc(c[n>>2]|0);c[n>>2]=0;c[g>>2]=0;Ub(d,1,11398,j)|0;b=0;i=q;return b|0}else{g=a;a=h}}while(0);_d(a,f,e,g,p);b=(Nb(b,c[n>>2]|0,o,d)|0)==(o|0)&1;i=q;return b|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+164|0;j=a+80|0;f=c[j>>2]|0;e=c[f+16>>2]|0;if(!e){b=1;return b|0}h=a+44|0;a=0;g=c[(c[i>>2]|0)+5584>>2]|0;while(1){if(c[g+808>>2]|0){k=c[(c[i>>2]|0)+5584>>2]|0;m=e>>>0<257?1:2;f=m+6|0;l=c[h>>2]|0;pb(l,65374,2);e=m|4;pb(l+2|0,e,2);pb(l+4|0,a,m);pb(l+e|0,0,1);pb(l+(e+1)|0,c[k+(a*1080|0)+808>>2]|0,1);if((Nb(b,c[h>>2]|0,f,d)|0)!=(f|0)){a=0;e=7;break}f=c[j>>2]|0}a=a+1|0;e=c[f+16>>2]|0;if(a>>>0>=e>>>0){a=1;e=7;break}else g=g+1080|0}if((e|0)==7)return a|0;return 0}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l;h=c[a+108>>2]|0;j=wi(h)|0;k=j+6|0;e=a+48|0;f=a+44|0;a=c[f>>2]|0;do{if(k>>>0>(c[e>>2]|0)>>>0){a=Tc(a,k)|0;if(a){c[f>>2]=a;c[e>>2]=k;break}Uc(c[f>>2]|0);c[f>>2]=0;c[e>>2]=0;Ub(d,1,11355,g)|0;b=0;i=l;return b|0}}while(0);pb(a,65380,2);pb(a+2|0,j+4|0,2);pb(a+4|0,1,2);Ui(a+6|0,h|0,j|0)|0;b=(Nb(b,c[f>>2]|0,k,d)|0)==(k|0)&1;i=l;return b|0}function Ud(b,d,e){b=b|0;d=d|0;e=e|0;var f=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,A=0;A=i;i=i+32|0;w=A+24|0;t=A+16|0;o=A+8|0;g=A;j=c[b+80>>2]|0;k=j+16|0;h=c[k>>2]|0;l=h+6|0;v=b+48|0;z=b+44|0;f=c[z>>2]|0;do{if(l>>>0>(c[v>>2]|0)>>>0){f=Tc(f,l)|0;if(f){c[z>>2]=f;c[v>>2]=l;break}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11199,g)|0;d=0;i=A;return d|0}}while(0);pb(f,65400,2);pb(f+2|0,h+4|0,2);pb(f+4|0,c[k>>2]|0,2);if(c[k>>2]|0){h=0;g=c[j+24>>2]|0;f=f+6|0;while(1){pb(f,(c[g+24>>2]|0)+-1|c[g+32>>2]<<7,1);h=h+1|0;if(h>>>0>=(c[k>>2]|0)>>>0)break;else{g=g+52|0;f=f+1|0}}}if((Nb(d,c[z>>2]|0,l,e)|0)!=(l|0)){d=0;i=A;return d|0}q=b+200|0;n=c[q>>2]|0;r=b+164|0;m=c[r>>2]|0;g=m+(n*5640|0)+5616|0;a:do{if(c[g>>2]|0){l=0;b=c[m+(n*5640|0)+5612>>2]|0;while(1){h=b+16|0;j=c[h>>2]|0;k=j+10|0;f=c[z>>2]|0;if(k>>>0>(c[v>>2]|0)>>>0){f=Tc(f,k)|0;if(!f)break;c[z>>2]=f;c[v>>2]=k}pb(f,65396,2);pb(f+2|0,j+8|0,2);pb(f+4|0,0,2);pb(f+6|0,c[b+4>>2]<<8|c[b+8>>2]&255|c[b>>2]<<10,2);pb(f+8|0,0,2);Ui(f+10|0,c[b+12>>2]|0,c[h>>2]|0)|0;if((Nb(d,c[z>>2]|0,k,e)|0)!=(k|0)){s=0;x=42;break}l=l+1|0;if(l>>>0>=(c[g>>2]|0)>>>0)break a;else b=b+20|0}if((x|0)==42){i=A;return s|0}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11238,o)|0;d=0;i=A;return d|0}}while(0);o=m+(n*5640|0)+5628|0;b:do{if(c[o>>2]|0){p=0;m=c[m+(n*5640|0)+5624>>2]|0;while(1){l=m+4|0;g=c[l>>2]|0;j=g>>>0>255;k=j?2:1;j=j?32768:0;g=_(k,g<<1)|0;b=g+19|0;f=c[z>>2]|0;if(b>>>0>(c[v>>2]|0)>>>0){f=Tc(f,b)|0;if(!f)break;c[z>>2]=f;c[v>>2]=b}pb(f,65397,2);pb(f+2|0,g+17|0,2);pb(f+4|0,0,2);pb(f+6|0,c[m>>2]|0,1);pb(f+7|0,0,2);pb(f+9|0,1,2);pb(f+11|0,1,1);pb(f+12|0,c[l>>2]|j,2);f=f+14|0;if(!(c[l>>2]|0))g=0;else{h=0;do{pb(f,h,k);f=f+k|0;h=h+1|0;g=c[l>>2]|0}while(h>>>0>>0)}pb(f,g|j,2);f=f+2|0;if(!(c[l>>2]|0))h=f;else{g=0;do{pb(f,g,k);f=f+k|0;g=g+1|0}while(g>>>0<(c[l>>2]|0)>>>0);h=f}f=((a[m+16>>0]^1)&255)<<16&65536;g=c[m+8>>2]|0;if(g)f=c[g+8>>2]|f;g=c[m+12>>2]|0;if(g)f=c[g+8>>2]<<8|f;pb(h,f,3);if((Nb(d,c[z>>2]|0,b,e)|0)!=(b|0)){s=0;x=42;break}p=p+1|0;if(p>>>0>=(c[o>>2]|0)>>>0)break b;else m=m+20|0}if((x|0)==42){i=A;return s|0}Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11277,t)|0;d=0;i=A;return d|0}}while(0);k=c[q>>2]|0;j=c[r>>2]|0;l=j+(k*5640|0)+5628|0;g=c[l>>2]|0;b=g+5|0;f=c[z>>2]|0;do{if(b>>>0>(c[v>>2]|0)>>>0){f=Tc(f,b)|0;if(!f){Uc(c[z>>2]|0);c[z>>2]=0;c[v>>2]=0;Ub(e,1,11316,w)|0;u=1;break}else{c[z>>2]=f;c[v>>2]=b;y=f;x=37;break}}else{y=f;x=37}}while(0);if((x|0)==37){pb(y,65399,2);pb(y+2|0,g+3|0,2);pb(y+4|0,c[l>>2]|0,1);if(c[l>>2]|0){h=0;g=y+5|0;f=c[j+(k*5640|0)+5624>>2]|0;while(1){pb(g,c[f>>2]|0,1);h=h+1|0;if(h>>>0>=(c[l>>2]|0)>>>0)break;else{g=g+1|0;f=f+20|0}}}u=(Nb(d,c[z>>2]|0,b,e)|0)!=(b|0)}d=u&1^1;i=A;return d|0}function Vd(a,b,d){a=a|0;b=b|0;d=d|0;d=Pb(b)|0;b=(c[a+196>>2]|0)+8|0;c[b>>2]=d;c[b+4>>2]=C;return 1}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;b=Tf(0)|0;e=a+204|0;c[e>>2]=b;if(!b){Ub(d,1,11159,f)|0;d=0;i=f;return d|0}if(Xf(b,c[a+80>>2]|0,a+88|0)|0){d=1;i=f;return d|0}Yf(c[e>>2]|0);c[e>>2]=0;d=0;i=f;return d|0}function Xd(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;O=d+80|0;E=c[O>>2]|0;P=d+164|0;i=c[P>>2]|0;N=E+24|0;F=c[N>>2]|0;f=c[F>>2]|0;h=c[F+4>>2]|0;M=E+16|0;F=_(c[F+24>>2]|0,c[M>>2]|0)|0;D=Pb(e)|0;q=d+116|0;l=c[q>>2]|0;r=d+112|0;e=c[r>>2]|0;G=(+(D>>>0)+4294967296.0*+(C|0))/+((_(e,l)|0)>>>0);D=(a[d+181>>0]&8)==0?1:2;if(l){s=d+92|0;u=d+100|0;v=d+96|0;y=d+104|0;z=E+4|0;A=E+8|0;B=E+12|0;x=+((_(f<<3,h)|0)>>>0);m=e;f=e;p=0;e=i;do{o=p;p=p+1|0;if(!f)f=0;else{m=0;do{w=+Sa[D&3](e);l=c[e+8>>2]|0;w=w/+(l>>>0);Q=c[s>>2]|0;i=c[u>>2]|0;k=(_(i,m)|0)+Q|0;f=c[E>>2]|0;f=(k|0)>(f|0)?k:f;k=c[v>>2]|0;j=c[y>>2]|0;R=(_(j,o)|0)+k|0;h=c[z>>2]|0;h=(R|0)>(h|0)?R:h;m=m+1|0;Q=(_(i,m)|0)+Q|0;i=c[A>>2]|0;i=(Q|0)<(i|0)?Q:i;k=(_(j,p)|0)+k|0;j=c[B>>2]|0;j=(k|0)<(j|0)?k:j;k=e+20|0;n=+g[k>>2];if(n!=0.0)g[k>>2]=+((_(_(i-f|0,F)|0,j-h|0)|0)>>>0)/(x*n)-w;if(l>>>0>1){n=+((_(_(i-f|0,F)|0,j-h|0)|0)>>>0);f=1;h=e+24|0;while(1){t=+g[h>>2];if(t!=0.0)g[h>>2]=n/(x*t)-w;f=f+1|0;if(f>>>0>=l>>>0)break;else h=h+4|0}}e=e+5640|0;f=c[r>>2]|0}while(m>>>0>>0);l=c[q>>2]|0;m=f}}while(p>>>0>>0);if(!l)l=0;else{s=(m|0)==0;t=G+2.0;v=m>>>0>1?m:1;u=0;f=c[P>>2]|0;do{if(!s){p=f+16|0;q=0;r=f;while(1){e=r+20|0;n=+g[e>>2];if(n!=0.0?(x=n-G,g[e>>2]=x,x<30.0):0)g[e>>2]=30.0;j=r+24|0;e=c[r+8>>2]|0;o=e+-1|0;n=+g[j>>2];h=n!=0.0;if(o>>>0>1){k=p+(e<<2)|0;i=1;e=j;do{if(h?(x=n-G,g[e>>2]=x,I=+g[e+-4>>2],x>2]=I+20.0;e=e+4|0;i=i+1|0;n=+g[e>>2];h=n!=0.0}while((i|0)!=(o|0));if(h){H=n;K=k;L=29}}else if(h){H=n;K=j;L=29}if((L|0)==29?(L=0,x=H-t,g[K>>2]=x,J=+g[K+-4>>2],x>2]=J+20.0;q=q+1|0;if(q>>>0>=m>>>0)break;else{p=p+5640|0;r=r+5640|0}}f=f+(v*5640|0)|0}u=u+1|0}while(u>>>0>>0)}}else{m=e;l=0}h=c[M>>2]|0;if(!h)u=0;else{i=(c[d+100>>2]|0)+-1|0;j=(c[d+104>>2]|0)+-1|0;k=0;e=c[N>>2]|0;f=0;while(1){R=c[e>>2]|0;Q=c[e+4>>2]|0;R=_(((j+Q|0)>>>0)/(Q>>>0)|0,((i+R|0)>>>0)/(R>>>0)|0)|0;f=(_(R,c[e+24>>2]|0)|0)+f|0;k=k+1|0;if(k>>>0>=h>>>0)break;else e=e+52|0}u=~~(+(f>>>0)*.1625)>>>0}o=c[(c[O>>2]|0)+16>>2]|0;q=o+-1|0;s=_(l,m)|0;p=(s|0)==0;if(p)i=0;else{e=0;f=0;h=c[P>>2]|0;while(1){R=c[h+5588>>2]|0;f=f>>>0>R>>>0?f:R;e=e+1|0;if((e|0)==(s|0))break;else h=h+5640|0}i=f*12|0}r=d+88|0;if(((b[r>>1]|0)+-3&65535)>=4){if(p){e=0;f=0}else{m=(o|0)==0;k=0;f=0;do{if(!m){h=c[(c[P>>2]|0)+(k*5640|0)+5584>>2]|0;j=0;do{if(!(c[h+(j*1080|0)>>2]&1))e=5;else e=(c[h+(j*1080|0)+4>>2]|0)+5|0;f=f>>>0>e>>>0?f:e;j=j+1|0}while((j|0)!=(o|0))}k=k+1|0}while((k|0)!=(s|0));l=0;e=0;do{if(!m){j=c[(c[P>>2]|0)+(l*5640|0)+5584>>2]|0;k=0;do{if(!(c[j+(k*1080|0)>>2]&1))h=5;else h=(c[j+(k*1080|0)+4>>2]|0)+5|0;e=e>>>0>h>>>0?e:h;k=k+1|0}while((k|0)!=(o|0))}l=l+1|0}while((l|0)!=(s|0))}i=(_(f+12+e|0,q)|0)+i|0}if(p)f=13;else{h=0;f=0;e=c[P>>2]|0;while(1){R=c[e+420>>2]|0;f=f>>>0>R>>>0?f:R;h=h+1|0;if((h|0)==(s|0))break;else e=e+5640|0}f=(f*9|0)+13|0}R=i+u+f|0;c[d+40>>2]=R;R=Pc(R)|0;c[d+36>>2]=R;if(!R){R=0;return R|0}if(((b[r>>1]|0)+-3&65535)>=4){R=1;return R|0}f=Pc((c[d+32>>2]|0)*5|0)|0;c[d+24>>2]=f;if(!f){R=0;return R|0}c[d+28>>2]=f;R=1;return R|0}function Yd(a){a=a|0;return 0.0}function Zd(a){a=a|0;return+ +((((c[a+5588>>2]|0)*14|0)+-14|0)>>>0)}function _d(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=c[b+(d*5640|0)+5584>>2]|0;q=(c[b+(d*5640|0)+420>>2]|0)+1|0;j=a>>>0<257?1:2;p=_(q,(j<<1)+5|0)|0;r=p+4|0;pb(e,65375,2);pb(e+2|0,p+2|0,2);if(!q){c[f>>2]=r;return}k=j+1|0;l=j+3|0;m=j|4;n=m+j|0;o=n+1|0;p=b+(d*5640|0)+8|0;h=g+4|0;i=0;e=e+4|0;g=b+(d*5640|0)+424|0;while(1){pb(e,c[g>>2]|0,1);pb(e+1|0,c[g+4>>2]|0,j);t=g+8|0;pb(e+k|0,c[t>>2]|0,2);b=g+12|0;pb(e+l|0,c[b>>2]|0,1);d=g+16|0;pb(e+m|0,c[d>>2]|0,j);pb(e+n|0,c[g+36>>2]|0,1);u=c[t>>2]|0;s=c[p>>2]|0;c[t>>2]=(u|0)<(s|0)?u:s;t=c[b>>2]|0;s=c[h>>2]|0;c[b>>2]=(t|0)<(s|0)?t:s;b=c[d>>2]|0;c[d>>2]=(b|0)<(a|0)?b:a;i=i+1|0;if((i|0)==(q|0))break;else{e=e+o|0;g=g+148|0}}c[f>>2]=r;return}function $d(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+8|0;j=n;l=c[a+(b*5640|0)+5584>>2]|0;b=c[l+(d*1080|0)+24>>2]|0;do{if((b|0)!=1){a=(c[l+(d*1080|0)+4>>2]|0)*3|0;h=a+-2|0;if(!b){a=a+-1|0;if((c[f>>2]|0)>>>0>>0){Ub(g,1,11515,j)|0;f=0;i=n;return f|0}else{pb(e,c[l+(d*1080|0)+804>>2]<<5,1);if(!h)break;else b=0;do{e=e+1|0;pb(e,c[l+(d*1080|0)+28+(b<<3)>>2]<<3,1);b=b+1|0}while((b|0)!=(h|0))}}else m=7}else{h=1;b=1;m=7}}while(0);if((m|0)==7){a=h<<1|1;if((c[f>>2]|0)>>>0>>0){Ub(g,1,11515,k)|0;f=0;i=n;return f|0}pb(e,(c[l+(d*1080|0)+804>>2]<<5)+b|0,1);if(h){e=e+1|0;b=0;while(1){pb(e,(c[l+(d*1080|0)+28+(b<<3)>>2]<<11)+(c[l+(d*1080|0)+28+(b<<3)+4>>2]|0)|0,2);b=b+1|0;if((b|0)==(h|0))break;else e=e+2|0}}}c[f>>2]=(c[f>>2]|0)-a;f=1;i=n;return f|0}function ae(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=c[a+(b*5640|0)+5584>>2]|0;if((c[e>>2]|0)>>>0<5){Ub(f,1,11587,j)|0;e=0;i=j;return e|0}h=g+4|0;pb(d,(c[h>>2]|0)+-1|0,1);pb(d+1|0,(c[g+8>>2]|0)+-2|0,1);pb(d+2|0,(c[g+12>>2]|0)+-2|0,1);pb(d+3|0,c[g+16>>2]|0,1);pb(d+4|0,c[g+20>>2]|0,1);b=(c[e>>2]|0)+-5|0;c[e>>2]=b;if(!(c[g>>2]&1)){e=1;i=j;return e|0}a=c[h>>2]|0;if(b>>>0>>0){Ub(f,1,11587,j+8|0)|0;e=0;i=j;return e|0}if(!a)a=0;else{b=d+5|0;d=0;while(1){pb(b,(c[g+944+(d<<2)>>2]<<4)+(c[g+812+(d<<2)>>2]|0)|0,1);d=d+1|0;a=c[h>>2]|0;if(d>>>0>=a>>>0)break;else b=b+1|0}b=c[e>>2]|0}c[e>>2]=b-a;e=1;i=j;return e|0}function be(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=c[b+76>>2]|0;g=c[i+(f*5640|0)+4>>2]|0;h=696;while(1){m=c[h>>2]|0;if((m|0)==-1|(m|0)==(g|0))break;else h=h+12|0}if(!(a[b+93>>0]&8)){b=1;return b|0}m=d[b+92>>0]|0;j=i+(f*5640|0)+424+(e*148|0)+92|0;k=i+(f*5640|0)+424+(e*148|0)+88|0;l=i+(f*5640|0)+424+(e*148|0)+96|0;e=i+(f*5640|0)+424+(e*148|0)+84|0;i=a[h+4>>0]|0;switch(i|0){case 67:{g=c[j>>2]|0;break}case 82:{g=c[k>>2]|0;break}case 80:{g=c[l>>2]|0;break}case 76:{g=c[e>>2]|0;break}default:g=1}if((m|0)!=(i|0)){i=a[h+5>>0]|0;switch(i|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)!=(i|0)){i=a[h+6>>0]|0;switch(i|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)!=(i|0)){h=a[h+7>>0]|0;switch(h|0){case 67:{g=_(c[j>>2]|0,g)|0;break}case 82:{g=_(c[k>>2]|0,g)|0;break}case 80:{g=_(c[l>>2]|0,g)|0;break}case 76:{g=_(c[e>>2]|0,g)|0;break}default:{}}if((m|0)==(h|0))h=3;else{b=g;return b|0}}else h=2}else h=1}else h=0;c[b+84>>2]=h;b=g;return b|0}function ce(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=g+16|0;if(!(c[B>>2]|0)){B=1;return B|0}A=0;z=c[g+24>>2]|0;while(1){k=i+44|0;j=c[k>>2]|0;l=i+8|0;if(!j){g=i+12|0;j=Qc(_(c[g>>2]|0,c[l>>2]|0)|0,4)|0;c[k>>2]=j;if(!j){h=0;i=61;break}}else g=i+12|0;q=z+36|0;c[i+36>>2]=c[q>>2];x=c[z+24>>2]|0;t=c[f+24>>2]|0;q=c[q>>2]|0;x=((x&7|0)!=0&1)+(x>>>3)|0;x=(x|0)==3?4:x;n=c[t+(q*136|0)+8>>2]|0;m=c[t+(q*136|0)>>2]|0;v=n-m|0;s=c[t+(q*136|0)+12>>2]|0;q=c[t+(q*136|0)+4>>2]|0;t=s-q|0;k=c[i+16>>2]|0;p=c[i+40>>2]|0;o=Ri(1,0,p|0)|0;w=C;k=Si(k|0,0,-1,-1)|0;k=Si(k|0,C|0,o|0,w|0)|0;k=Ti(k|0,C|0,p|0)|0;r=Si(c[i+20>>2]|0,0,-1,-1)|0;w=Si(r|0,C|0,o|0,w|0)|0;p=Ti(w|0,C|0,p|0)|0;w=c[l>>2]|0;l=k+w|0;o=c[g>>2]|0;r=p+o|0;do{if(k>>>0>>0){g=m-k|0;if(n>>>0>l>>>0){y=l-m|0;u=0;m=v-y|0;n=g}else{u=0;m=0;n=g;y=v}}else{g=k-m|0;if(n>>>0>l>>>0){u=g;m=n-l|0;n=0;y=w;break}else{u=g;m=0;n=0;y=v-g|0;break}}}while(0);do{if(p>>>0>>0){l=q-p|0;if(s>>>0>r>>>0){k=r-q|0;o=k;g=0;k=t-k|0}else{o=t;g=0;k=0}}else{g=p-q|0;if(s>>>0>r>>>0){k=s-r|0;l=0;break}else{o=t-g|0;k=0;l=0;break}}}while(0);if((u|m|y|k|g|o|0)<0){h=0;i=61;break}g=(_(g,v)|0)+u|0;q=u+m|0;r=(_(k,v)|0)-u|0;p=w-y|0;j=j+((_(w,l)|0)+n<<2)|0;switch(x|0){case 1:{h=h+g|0;g=(o|0)==0;if(!(c[z+32>>2]|0)){if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=d[j>>0];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+1|0}}g=l;h=h+y|0}h=h+q|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}}else if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=a[j>>0];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+1|0}}g=l;h=h+y|0}h=h+q|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+r|0;break}case 2:{h=h+(g<<1)|0;g=(o|0)==0;if(!(c[z+32>>2]|0)){if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=e[j>>1];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+2|0}}g=l;h=h+(y<<1)|0}h=h+(q<<1)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}}else if(!g){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=b[j>>1];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+2|0}}g=l;h=h+(y<<1)|0}h=h+(q<<1)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+(r<<1)|0;break}case 4:{h=h+(g<<2)|0;if(o){m=(y|0)==0;n=0;g=j;while(1){if(!m){l=g+(y<<2)|0;k=0;j=h;while(1){c[g>>2]=c[j>>2];k=k+1|0;if((k|0)==(y|0))break;else{g=g+4|0;j=j+4|0}}g=l;h=h+(y<<2)|0}h=h+(q<<2)|0;n=n+1|0;if((n|0)==(o|0))break;else g=g+(p<<2)|0}}h=h+(r<<2)|0;break}default:{}}A=A+1|0;if(A>>>0>=(c[B>>2]|0)>>>0){h=1;i=61;break}else{i=i+52|0;z=z+52|0;f=f+52|0}}if((i|0)==61)return h|0;return 0}function de(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;z=i;i=i+112|0;x=z+88|0;u=z+80|0;v=z+72|0;t=z+64|0;q=z+56|0;p=z+48|0;m=z+40|0;k=z+32|0;j=z+24|0;h=z+16|0;r=z+100|0;s=z+96|0;w=z+92|0;c[s>>2]=0;y=b+200|0;if((f|0)!=8){Ub(g,1,8662,z)|0;Ub(g,1,8662,z+8|0)|0;g=0;i=z;return g|0}qb(e,y,2);qb(e+2|0,r,4);qb(e+6|0,w,1);qb(e+7|0,s,1);l=c[y>>2]|0;e=c[b+112>>2]|0;if(l>>>0>=(_(c[b+116>>2]|0,e)|0)>>>0){c[h>>2]=l;Ub(g,1,15258,h)|0;g=0;i=z;return g|0}f=c[b+164>>2]|0;o=(l>>>0)%(e>>>0)|0;n=(l>>>0)/(e>>>0)|0;e=c[r>>2]|0;do{if((e+-1|0)>>>0<13){if((e|0)==12){c[j>>2]=12;Ub(g,2,15282,j)|0;e=c[r>>2]|0;break}c[k>>2]=e;Ub(g,1,15319,k)|0;g=0;i=z;return g|0}}while(0);if(!e){Ub(g,4,15380,m)|0;c[b+72>>2]=1}e=c[s>>2]|0;do{if(!e)e=c[f+(l*5640|0)+5588>>2]|0;else{e=((d[b+76>>0]|0)>>>4&1)+e|0;c[s>>2]=e;h=f+(l*5640|0)+5588|0;j=c[h>>2]|0;f=c[w>>2]|0;if((j+-1|0)>>>0>>0){c[p>>2]=f;c[p+4>>2]=j;Ub(g,1,15491,p)|0;c[b+72>>2]=1;g=0;i=z;return g|0}if(f>>>0>>0){c[h>>2]=e;break}c[q>>2]=f;c[q+4>>2]=e;Ub(g,1,15590,q)|0;c[b+72>>2]=1;g=0;i=z;return g|0}}while(0);if((e|0)!=0?(e|0)==((c[w>>2]|0)+1|0):0){q=b+76|0;a[q>>0]=a[q>>0]|1}c[b+24>>2]=(c[b+72>>2]|0)==0?(c[r>>2]|0)+-12|0:0;c[b+8>>2]=16;e=c[b+60>>2]|0;if((e|0)==-1){if((o>>>0>=(c[b+28>>2]|0)>>>0?o>>>0<(c[b+36>>2]|0)>>>0:0)?n>>>0>=(c[b+32>>2]|0)>>>0:0)e=(n>>>0>=(c[b+40>>2]|0)>>>0&1)<<2&255;else e=4;r=b+76|0;a[r>>0]=a[r>>0]&-5|e}else{r=b+76|0;a[r>>0]=((c[y>>2]|0)!=(e|0)&1)<<2&255|a[r>>0]&-5}k=b+196|0;e=c[k>>2]|0;if(!e){g=1;i=z;return g|0}j=c[y>>2]|0;e=c[e+40>>2]|0;c[e+(j*40|0)>>2]=j;c[e+(j*40|0)+12>>2]=c[w>>2];f=c[s>>2]|0;if(f){c[e+(j*40|0)+4>>2]=f;c[e+(j*40|0)+8>>2]=c[s>>2];e=c[e+(j*40|0)+16>>2]|0;if(!e){x=Qc(c[s>>2]|0,24)|0;c[(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16>>2]=x;if(x){g=1;i=z;return g|0}Ub(g,1,15698,t)|0;g=0;i=z;return g|0}e=Tc(e,(c[s>>2]|0)*24|0)|0;f=(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16|0;if(!e){Uc(c[f>>2]|0);c[(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16>>2]=0;Ub(g,1,15698,v)|0;g=0;i=z;return g|0}else{c[f>>2]=e;g=1;i=z;return g|0}}if(!(c[e+(j*40|0)+16>>2]|0)){c[e+(j*40|0)+8>>2]=10;v=Qc(10,24)|0;f=c[y>>2]|0;e=c[(c[k>>2]|0)+40>>2]|0;c[e+(f*40|0)+16>>2]=v;if(!v){c[e+(f*40|0)+8>>2]=0;Ub(g,1,15698,u)|0;g=0;i=z;return g|0}else j=f}f=c[w>>2]|0;h=e+(j*40|0)+8|0;if(f>>>0<(c[h>>2]|0)>>>0){g=1;i=z;return g|0}f=f+1|0;c[h>>2]=f;e=Tc(c[e+(j*40|0)+16>>2]|0,f*24|0)|0;f=(c[(c[k>>2]|0)+40>>2]|0)+((c[y>>2]|0)*40|0)+16|0;if(!e){Uc(c[f>>2]|0);y=c[y>>2]|0;w=c[(c[k>>2]|0)+40>>2]|0;c[w+(y*40|0)+16>>2]=0;c[w+(y*40|0)+8>>2]=0;Ub(g,1,15698,x)|0;g=0;i=z;return g|0}else{c[f>>2]=e;g=1;i=z;return g|0}return 0}function ee(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;p=s+48|0;q=s+40|0;k=s+32|0;n=s+56|0;j=s+52|0;c[n>>2]=e;r=b+80|0;l=c[r>>2]|0;o=b+8|0;if((c[o>>2]|0)==16)m=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else m=c[b+12>>2]|0;g=m+5636|0;h=a[g>>0]|0;if(h&1){Ub(f,1,15025,s)|0;r=0;i=s;return r|0}a[g>>0]=h|1;if(e>>>0<5){Ub(f,1,15089,s+8|0)|0;r=0;i=s;return r|0}qb(d,m,1);if((c[m>>2]|0)>>>0>7){Ub(f,1,15115,s+16|0)|0;r=0;i=s;return r|0}qb(d+1|0,j,1);j=c[j>>2]|0;g=m+4|0;c[g>>2]=j;if((j|0)>4){Ub(f,1,15149,s+24|0)|0;c[g>>2]=-1}g=m+8|0;qb(d+2|0,g,2);g=c[g>>2]|0;if((g+-1|0)>>>0>65534){c[k>>2]=g;Ub(f,1,15190,k)|0;r=0;i=s;return r|0}k=c[b+172>>2]|0;c[m+12>>2]=(k|0)==0?g:k;qb(d+4|0,m+16|0,1);k=d+5|0;c[n>>2]=e+-5;j=c[l+16>>2]|0;if(j){d=c[m>>2]&1;g=c[m+5584>>2]|0;h=0;do{c[g+(h*1080|0)>>2]=d;h=h+1|0}while(h>>>0>>0)}if(!(Fe(b,0,k,n,f)|0)){Ub(f,1,15089,q)|0;r=0;i=s;return r|0}if(c[n>>2]|0){Ub(f,1,15089,p)|0;r=0;i=s;return r|0}if((c[o>>2]|0)==16)g=(c[b+164>>2]|0)+((c[b+200>>2]|0)*5640|0)|0;else g=c[b+12>>2]|0;g=c[g+5584>>2]|0;e=g+4|0;h=c[e>>2]|0;m=h<<2;if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=1){r=1;i=s;return r|0}n=g+8|0;o=g+12|0;b=g+16|0;f=g+20|0;p=g+812|0;q=g+944|0;c[g+1084>>2]=h;j=c[n>>2]|0;c[g+1088>>2]=j;d=c[o>>2]|0;c[g+1092>>2]=d;k=c[b>>2]|0;c[g+1096>>2]=k;l=c[f>>2]|0;c[g+1100>>2]=l;Ui(g+1892|0,p|0,m|0)|0;Ui(g+2024|0,q|0,m|0)|0;if((c[(c[r>>2]|0)+16>>2]|0)>>>0<=2){r=1;i=s;return r|0}c[g+2164>>2]=h;c[g+2168>>2]=j;c[g+2172>>2]=d;c[g+2176>>2]=k;c[g+2180>>2]=l;Ui(g+2972|0,p|0,m|0)|0;Ui(g+3104|0,q|0,m|0)|0;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>3)h=3;else{r=1;i=s;return r|0}while(1){j=c[n>>2]|0;d=c[o>>2]|0;k=c[b>>2]|0;l=c[f>>2]|0;c[g+3244>>2]=c[e>>2];c[g+3248>>2]=j;c[g+3252>>2]=d;c[g+3256>>2]=k;c[g+3260>>2]=l;Ui(g+4052|0,p|0,m|0)|0;Ui(g+4184|0,q|0,m|0)|0;h=h+1|0;if(h>>>0>=(c[(c[r>>2]|0)+16>>2]|0)>>>0){g=1;break}else g=g+1080|0}i=s;return g|0}function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+272|0;n=u;s=u+136|0;t=u+8|0;if(!a){t=0;i=u;return t|0}m=a+4|0;if((c[a>>2]|0)==(b|0)?(c[m>>2]|0)==(d|0):0)f=a+8|0;else{c[a>>2]=b;c[m>>2]=d;c[s>>2]=b;c[t>>2]=d;f=a+8|0;c[f>>2]=0;g=0;j=d;k=b;l=0;while(1){r=_(j,k)|0;k=(k+1|0)/2|0;h=l+1|0;c[s+(h<<2)>>2]=k;j=(j+1|0)/2|0;c[t+(h<<2)>>2]=j;g=g+r|0;if(r>>>0<=1)break;else l=h}c[f>>2]=g;if(!g){f=a+12|0;g=c[f>>2]|0;if(g){Uc(g);c[f>>2]=0}Uc(a);t=0;i=u;return t|0}h=g<<4;j=a+16|0;k=a+12|0;do{if(h>>>0>(c[j>>2]|0)>>>0){g=Tc(c[k>>2]|0,h)|0;if(g){c[k>>2]=g;d=c[j>>2]|0;Qi(g+d|0,0,h-d|0)|0;c[j>>2]=h;d=c[m>>2]|0;b=c[a>>2]|0;break}Ub(e,1,20166,n)|0;f=c[k>>2]|0;if(f){Uc(f);c[k>>2]=0}Uc(a);t=0;i=u;return t|0}}while(0);g=c[k>>2]|0;b=g+((_(d,b)|0)<<4)|0;if(l){r=0;d=b;do{p=c[t+(r<<2)>>2]|0;a:do{if((p|0)>0){q=c[s+(r<<2)>>2]|0;if((q|0)<=0){h=p+-1|0;j=0;while(1){o=(j&1|0)!=0|(j|0)==(h|0);k=o?d:b+(q<<4)|0;d=o?d:b;j=j+1|0;if((j|0)>=(p|0)){b=k;break a}else b=k}}o=((q+2+((q|0)<2?~q:-3)|0)>>>1)+1|0;e=p+-1|0;n=0;while(1){m=q;k=d;while(1){c[g>>2]=k;h=g+16|0;j=m;m=m+-2|0;if((m|0)>-1){c[h>>2]=k;g=g+32|0}else g=h;if((j|0)<=2)break;else k=k+16|0}d=d+(o<<4)|0;m=(n&1|0)!=0|(n|0)==(e|0);h=m?d:b+(q<<4)|0;d=m?d:b;n=n+1|0;if((n|0)>=(p|0)){b=h;break}else b=h}}}while(0);r=r+1|0}while((r|0)!=(l|0))}c[g>>2]=0}f=c[f>>2]|0;if(!f){t=a;i=u;return t|0}g=0;b=c[a+12>>2]|0;while(1){c[b+4>>2]=999;c[b+8>>2]=0;c[b+12>>2]=0;g=g+1|0;if((g|0)==(f|0))break;else b=b+16|0}i=u;return a|0}function mg(a){a=a|0;var b=0,d=0;if(!a)return;b=a+12|0;d=c[b>>2]|0;if(d){Uc(d);c[b>>2]=0}Uc(a);return}function ng(a,b,d){a=a|0;b=b|0;d=d|0;b=(c[a+12>>2]|0)+(b<<4)|0;if(!b)return;while(1){a=b+4|0;if((c[a>>2]|0)<=(d|0)){b=4;break}c[a>>2]=d;b=c[b>>2]|0;if(!b){b=4;break}}if((b|0)==4)return}function og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;j=k;d=(c[b+12>>2]|0)+(d<<4)|0;if(!(c[d>>2]|0)){f=0;g=j}else{f=d;b=j;while(1){g=b+4|0;c[b>>2]=d;d=c[f>>2]|0;if(!(c[d>>2]|0)){f=0;break}else{f=d;b=g}}}while(1){h=d+8|0;b=c[h>>2]|0;if((f|0)>(b|0)){c[h>>2]=f;b=f}a:do{if((b|0)<(e|0)){f=d+4|0;while(1){if((b|0)>=(c[f>>2]|0))break;Bg(a,0,1);b=b+1|0;if((b|0)>=(e|0)){d=b;break a}}d=d+12|0;if(!(c[d>>2]|0)){Bg(a,1,1);c[d>>2]=1;d=b}else d=b}else d=b}while(0);c[h>>2]=d;if((g|0)==(j|0))break;h=g+-4|0;f=d;d=c[h>>2]|0;g=h}i=k;return}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+128|0;j=k;d=(c[b+12>>2]|0)+(d<<4)|0;if(!(c[d>>2]|0)){b=0;g=j}else{f=d;b=j;while(1){g=b+4|0;c[b>>2]=d;d=c[f>>2]|0;if(!(c[d>>2]|0)){b=0;break}else{f=d;b=g}}}while(1){h=d+8|0;f=c[h>>2]|0;if((b|0)>(f|0))c[h>>2]=b;else b=f;d=d+4|0;a:do{if((b|0)<(e|0)){while(1){if((b|0)>=(c[d>>2]|0))break a;if(Cg(a,1)|0)break;b=b+1|0;if((b|0)>=(e|0))break a}c[d>>2]=b}}while(0);c[h>>2]=b;if((g|0)==(j|0))break;h=g+-4|0;d=c[h>>2]|0;g=h}i=k;return(c[d>>2]|0)<(e|0)|0}function qg(){var a=0,b=0;a=Qc(1,12)|0;if(!a){a=0;return a|0}c[a+4>>2]=10;b=Qc(10,4)|0;c[a+8>>2]=b;if(b){b=a;return b|0}Uc(a);b=0;return b|0}function rg(a){a=a|0;var b=0;if(!a)return;b=c[a+8>>2]|0;if(b)Uc(b);Uc(a);return}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;g=a+4|0;f=c[g>>2]|0;e=c[a>>2]|0;do{if((f|0)==(e|0)){f=f+10|0;c[g>>2]=f;e=a+8|0;f=Tc(c[e>>2]|0,f<<2)|0;if(f){c[e>>2]=f;e=c[a>>2]|0;break}Uc(c[e>>2]|0);c[g>>2]=0;c[a>>2]=0;Ub(d,1,20214,h)|0;a=0;i=j;return a|0}else f=c[a+8>>2]|0}while(0);c[f+(e<<2)>>2]=b;c[a>>2]=e+1;a=1;i=j;return a|0}function tg(a){a=a|0;return c[a>>2]|0}function ug(a){a=a|0;return c[a+8>>2]|0}function vg(a){a=a|0;c[a>>2]=0;return}function wg(){return Pc(20)|0}function xg(a){a=a|0;if(!a)return;Uc(a);return}function yg(a){a=a|0;return(c[a+8>>2]|0)-(c[a>>2]|0)|0}function zg(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=b+d;c[a+8>>2]=b;c[a+12>>2]=0;c[a+16>>2]=8;return}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=b+d;c[a+8>>2]=b;c[a+12>>2]=0;c[a+16>>2]=0;return}function Bg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!e)return;k=b+16|0;l=b+12|0;m=b+8|0;h=b+4|0;b=c[k>>2]|0;j=e+-1|0;do{i=d>>>j&1;if(!b){g=c[l>>2]|0;b=g<<8&65280;c[l>>2]=b;b=(b|0)==65280?7:8;c[k>>2]=b;f=c[m>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[m>>2]=f+1;a[f>>0]=g;b=c[k>>2]|0}}b=b+-1|0;c[k>>2]=b;c[l>>2]=i<>2];j=j+-1|0}while(j>>>0>>0);return}function Cg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!b){b=0;return b|0}j=a+16|0;k=a+12|0;l=a+8|0;h=a+4|0;e=c[j>>2]|0;f=c[k>>2]|0;i=b+-1|0;a=0;do{if(!e){g=f<<8&65280;c[k>>2]=g;e=(g|0)==65280?7:8;c[j>>2]=e;f=c[l>>2]|0;if(f>>>0<(c[h>>2]|0)>>>0){c[l>>2]=f+1;f=d[f>>0]|0|g;c[k>>2]=f}else f=g}e=e+-1|0;c[j>>2]=e;a=((f>>>e&1)<>>0>>0);return a|0}function Dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=b+12|0;d=c[f>>2]|0;i=d<<8&65280;c[f>>2]=i;g=b+16|0;c[g>>2]=(i|0)==65280?7:8;i=b+8|0;e=c[i>>2]|0;h=b+4|0;if(e>>>0>=(c[h>>2]|0)>>>0){i=0;return i|0}c[i>>2]=e+1;a[e>>0]=d;if((c[g>>2]|0)!=7){i=1;return i|0}d=c[f>>2]|0;b=d<<8&65280;c[f>>2]=b;c[g>>2]=(b|0)==65280?7:8;b=c[i>>2]|0;if(b>>>0>=(c[h>>2]|0)>>>0){i=0;return i|0}c[i>>2]=b+1;a[b>>0]=d;i=1;return i|0}function Eg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=a+12|0;b=c[h>>2]|0;do{if((b&255|0)==255){f=b<<8&65280;c[h>>2]=f;b=a+16|0;c[b>>2]=(f|0)==65280?7:8;g=a+8|0;e=c[g>>2]|0;if(e>>>0<(c[a+4>>2]|0)>>>0){c[g>>2]=e+1;c[h>>2]=d[e>>0]|0|f;break}else{a=0;return a|0}}else b=a+16|0}while(0);c[b>>2]=0;a=1;return a|0}function Fg(a){a=a|0;return Pg(a,1)|0}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=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,A=0,B=0,C=0,D=0;D=i;i=i+32|0;B=D+16|0;C=D;k=c[a+24>>2]|0;j=(c[k+8>>2]|0)-(c[k>>2]|0)|0;h=(c[k+12>>2]|0)-(c[k+4>>2]|0)|0;A=(c[a+8>>2]|0)-(c[a>>2]|0)|0;if((b|0)==1){C=1;i=D;return C|0}g=b+-1|0;f=(g|0)==0;if(f)b=0;else{d=k;e=g;b=0;do{z=d;d=d+136|0;y=(c[z+144>>2]|0)-(c[d>>2]|0)|0;b=b>>>0>>0?y:b;z=(c[z+148>>2]|0)-(c[z+140>>2]|0)|0;b=b>>>0>>0?z:b;e=e+-1|0}while((e|0)!=0);b=b<<2}z=Rc(b)|0;c[B>>2]=z;if(!z){C=0;i=D;return C|0}c[C>>2]=z;if(!f){s=a+32|0;t=B+8|0;u=C+8|0;v=B+4|0;w=B+12|0;x=C+4|0;y=C+12|0;do{q=c[s>>2]|0;n=k;k=k+136|0;c[t>>2]=j;c[u>>2]=h;o=c[n+144>>2]|0;p=c[k>>2]|0;e=j;j=o-p|0;b=c[n+148>>2]|0;n=n+140|0;r=c[n>>2]|0;d=h;h=b-r|0;c[v>>2]=j-e;c[w>>2]=(p|0)%2|0;r=(b|0)==(r|0);if(!r){m=j<<2;b=0;while(1){a=_(b,A)|0;l=q+(a<<2)|0;if(e){d=l;f=z+(c[w>>2]<<2)|0;while(1){e=e+-1|0;c[f>>2]=c[d>>2];if(!e)break;else{d=d+4|0;f=f+8|0}}}d=c[v>>2]|0;if(d){e=q+((c[t>>2]|0)+a<<2)|0;f=z+(1-(c[w>>2]|0)<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+4|0;f=f+8|0}}}Qg(B);Ui(l|0,z|0,m|0)|0;b=b+1|0;if((b|0)==(h|0))break;e=c[t>>2]|0}d=c[u>>2]|0;b=c[n>>2]|0}c[x>>2]=h-d;c[y>>2]=(b|0)%2|0;a:do{if((o|0)!=(p|0)){b=0;while(1){if(d){e=q+(b<<2)|0;f=z+(c[y>>2]<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+(A<<2)|0;f=f+8|0}}}d=c[x>>2]|0;if(d){e=q+((_(c[u>>2]|0,A)|0)+b<<2)|0;f=z+(1-(c[y>>2]|0)<<2)|0;while(1){d=d+-1|0;c[f>>2]=c[e>>2];if(!d)break;else{e=e+(A<<2)|0;f=f+8|0}}}Qg(C);if(!r){d=0;do{c[q+((_(d,A)|0)+b<<2)>>2]=c[z+(d<<2)>>2];d=d+1|0}while((d|0)!=(h|0))}b=b+1|0;if((b|0)==(j|0))break a;d=c[u>>2]|0}}}while(0);g=g+-1|0}while((g|0)!=0)}Sc(z);C=1;i=D;return C|0}function Hg(a){a=a|0;if(!a){a=0;return a|0}a=(a+-1|0)>>>0<2?1:2;return a|0}function Ig(a,b){a=a|0;b=b|0;return+ +h[56+(b*80|0)+(a<<3)>>3]}function Jg(a){a=a|0;return Pg(a,2)|0}function Kg(a){a=a|0;return 0}function Lg(a,b){a=a|0;b=b|0;return+ +h[376+(b*80|0)+(a<<3)>>3]}function Mg(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+4|0;l=((c[k>>2]|0)*3|0)+-2|0;if(!l)return;m=a+20|0;n=a+24|0;o=0;do{if(!o){e=0;f=0}else{f=o+-1|0;e=((f>>>0)/3|0)+1|0;f=((f>>>0)%3|0)+1|0}if((f|0)==0|(c[m>>2]|0)==0)g=0;else g=(f+-1|0)>>>0<2?1:2;if(!(c[n>>2]|0))d=1.0;else d=+(1<>2]|0)+~e<<3)>>3];j=~~+M(+(d*8192.0));i=g+b|0;if((j|0)>1){e=j;f=0;while(1){e=e>>1;if((e|0)<=1)break;else f=f+1|0}g=j;e=0;do{g=g>>1;e=e+1|0}while((g|0)>1);f=f+-12|0}else{f=-13;e=0}g=11-e|0;c[a+28+(o<<3)+4>>2]=((g|0)<0?j>>0-g:j<>2]=i-f;o=o+1|0}while((o|0)!=(l|0));return}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=i;i=i+32|0;Q=T+16|0;R=T;m=c[a+24>>2]|0;n=c[m+8>>2]|0;o=c[m>>2]|0;k=c[m+12>>2]|0;l=c[m+4>>2]|0;P=a+8|0;h=c[P>>2]|0;j=c[a>>2]|0;O=h-j|0;g=b+-1|0;f=(g|0)==0;if(f)b=80;else{d=m;e=g;b=0;do{N=d;d=d+136|0;M=(c[N+144>>2]|0)-(c[d>>2]|0)|0;b=b>>>0>>0?M:b;N=(c[N+148>>2]|0)-(c[N+140>>2]|0)|0;b=b>>>0>>0?N:b;e=e+-1|0}while((e|0)!=0);b=(b<<4)+80|0}N=Rc(b)|0;c[Q>>2]=N;if(!N){S=0;i=T;return S|0}c[R>>2]=N;a:do{if(!f){y=a+32|0;z=a+12|0;A=a+4|0;B=Q+8|0;C=R+8|0;D=Q+4|0;E=Q+12|0;F=R+4|0;G=R+12|0;H=O<<1;I=O<<2;J=O*3|0;L=j<<2;M=h<<2;K=L-M|0;L=M-L|0;M=h-j<<2;b=g;d=N;g=h;e=j;r=k-l|0;f=m;h=n-o|0;while(1){s=c[y>>2]|0;e=_((c[z>>2]|0)-(c[A>>2]|0)|0,g-e|0)|0;c[B>>2]=h;c[C>>2]=r;w=f+136|0;p=c[f+144>>2]|0;q=c[w>>2]|0;x=p-q|0;u=c[f+148>>2]|0;n=f+140|0;t=c[n>>2]|0;v=u-t|0;c[D>>2]=x-h;c[E>>2]=(q|0)%2|0;if((v|0)>3){g=(x|0)>0;h=(u+-4-t|0)>>>2;m=_(K,h)|0;h=s+(L+(_(M,h)|0)<<2)|0;j=s;k=e;l=v;while(1){Sg(Q,j,O,k);Tg(Q);if(g){f=x;do{o=f;f=f+-1|0;c[j+(f<<2)>>2]=c[N+(f<<4)>>2];c[j+(f+O<<2)>>2]=c[N+(f<<4)+4>>2];c[j+(f+H<<2)>>2]=c[N+(f<<4)+8>>2];c[j+(f+J<<2)>>2]=c[N+(f<<4)+12>>2]}while((o|0)>1)}l=l+-4|0;if((l|0)<=3)break;else{j=j+(I<<2)|0;k=k-I|0}}e=K+e+m|0}else h=s;g=v&3;b:do{if(!g)S=21;else{Sg(Q,h,O,e);Tg(Q);if((x|0)>0)e=x;else{k=v-r|0;c[F>>2]=k;g=(c[n>>2]|0)%2|0;c[G>>2]=g;l=r;j=s;break}while(1){f=e;e=e+-1|0;switch(g|0){case 3:{c[h+(e+H<<2)>>2]=c[N+(e<<4)+8>>2];S=18;break}case 2:{S=18;break}case 1:{S=19;break}default:{}}if((S|0)==18){c[h+(e+O<<2)>>2]=c[N+(e<<4)+4>>2];S=19}if((S|0)==19){S=0;c[h+(e<<2)>>2]=c[N+(e<<4)>>2]}if((f|0)<=1){S=21;break b}}}}while(0);if((S|0)==21){S=0;k=v-r|0;c[F>>2]=k;g=(c[n>>2]|0)%2|0;c[G>>2]=g;if((x|0)>3){o=(u|0)==(t|0);p=p+-4-q|0;n=c[C>>2]|0;l=(n|0)>0;j=1-g|0;m=(k|0)>0;f=s;h=x;while(1){if(l){e=0;do{r=d+((e<<1)+g<<4)|0;q=f+((_(e,O)|0)<<2)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(n|0))}if(m){e=0;do{r=d+(j+(e<<1)<<4)|0;q=f+((_(e+n|0,O)|0)<<2)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(k|0))}Tg(R);if(!o){d=c[R>>2]|0;e=0;do{r=f+((_(e,O)|0)<<2)|0;q=d+(e<<4)|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];e=e+1|0}while((e|0)!=(v|0))}h=h+-4|0;if((h|0)<=3)break;else f=f+16|0}l=n;j=s+((p+4&-4)<<2)|0}else{l=r;j=s}}h=x&3;if(h){d=c[R>>2]|0;if((l|0)>0){e=h<<2;f=0;do{Ui(d+((f<<1)+g<<4)|0,j+((_(f,O)|0)<<2)|0,e|0)|0;f=f+1|0}while((f|0)!=(l|0))}e=1-g|0;if((k|0)>0){f=h<<2;g=0;do{Ui(d+(e+(g<<1)<<4)|0,j+((_(g+l|0,O)|0)<<2)|0,f|0)|0;g=g+1|0}while((g|0)!=(k|0))}Tg(R);if((u|0)!=(t|0)){e=h<<2;f=0;do{Ui(j+((_(f,O)|0)<<2)|0,d+(f<<4)|0,e|0)|0;f=f+1|0}while((f|0)!=(v|0))}}b=b+-1|0;if(!b)break a;g=c[P>>2]|0;e=c[a>>2]|0;r=v;f=w;h=x}}}while(0);Sc(N);S=1;i=T;return S|0}function Og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if(!e){e=(b|0)>0;if(!(e|(d|0)>1))return;if(e){e=a+((d<<1)+-2<<2)|0;f=0;do{j=f;f=f+1|0;k=a+((j<<1|1)<<2)|0;c[k>>2]=(c[k>>2]|0)-((c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((j|0)<(d|0)?a+(j<<1<<2)|0:e)>>2]|0)>>1)}while((f|0)!=(b|0))}if((d|0)<=0)return;f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;k=a+(h<<1<<2)|0;c[k>>2]=((c[e>>2]|0)+2+(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)>>2)+(c[k>>2]|0);h=h+1|0}while((h|0)!=(d|0));return}if((b|0)==1&(d|0)==0){c[a>>2]=c[a>>2]<<1;return}if((b|0)>0){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;i=a+(i<<2)|0;c[i>>2]=(c[i>>2]|0)-((c[e>>2]|0)+j>>1);k=k+1|0}while((k|0)!=(b|0))}if((d|0)<=0)return;e=a+((b<<1)+-2<<2)|0;f=0;do{j=f;f=f+1|0;k=a+((j<<1|1)<<2)|0;c[k>>2]=((c[((j|0)<(b|0)?a+(j<<1<<2)|0:e)>>2]|0)+2+(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)>>2)+(c[k>>2]|0)}while((f|0)!=(d|0));return}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=(c[a+8>>2]|0)-(c[a>>2]|0)|0;g=c[a+16>>2]|0;i=g+-1|0;x=c[a+32>>2]|0;h=c[a+24>>2]|0;f=(i|0)==0;if(f)a=0;else{d=h;e=i;a=0;do{v=d;d=d+136|0;u=(c[v+144>>2]|0)-(c[d>>2]|0)|0;a=a>>>0>>0?u:a;v=(c[v+148>>2]|0)-(c[v+140>>2]|0)|0;a=a>>>0>>0?v:a;e=e+-1|0}while((e|0)!=0);a=a<<2}v=Pc(a)|0;if(!((a|0)==0|(v|0)!=0)){b=0;return b|0}if(!f){t=g+-2|0;u=t;a=h+(i*136|0)|0;t=h+(t*136|0)|0;while(1){q=c[a>>2]|0;s=(c[a+8>>2]|0)-q|0;m=c[a+4>>2]|0;o=(c[a+12>>2]|0)-m|0;p=(c[t+8>>2]|0)-(c[t>>2]|0)|0;a=c[t+12>>2]|0;d=c[t+4>>2]|0;l=a-d|0;q=q&1;m=m&1;n=o-l|0;r=(s|0)>0;a:do{if(r){f=(a|0)==(d|0);i=(o|0)==(l|0);j=v+((m^1)<<2)|0;k=_(l,w)|0;h=v+(m<<2)|0;if((o|0)>0){g=0;while(1){d=x+(g<<2)|0;a=0;do{c[v+(a<<2)>>2]=c[x+((_(a,w)|0)+g<<2)>>2];a=a+1|0}while((a|0)!=(o|0));ab[b&3](v,n,l,m);if(!f){e=l;a=h;while(1){e=e+-1|0;c[d>>2]=c[a>>2];if(!e)break;else{d=d+(w<<2)|0;a=a+8|0}}}if(!i){a=n;d=x+(g+k<<2)|0;e=j;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}}g=g+1|0;if((g|0)==(s|0))break a}}if(f){d=0;while(1){ab[b&3](v,n,l,m);if(!i){a=n;e=x+(d+k<<2)|0;f=j;while(1){a=a+-1|0;c[e>>2]=c[f>>2];if(!a)break;else{e=e+(w<<2)|0;f=f+8|0}}}d=d+1|0;if((d|0)==(s|0))break a}}else f=0;do{ab[b&3](v,n,l,m);a=l;d=x+(f<<2)|0;e=h;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}if(!i){a=n;d=x+(f+k<<2)|0;e=j;while(1){a=a+-1|0;c[d>>2]=c[e>>2];if(!a)break;else{d=d+(w<<2)|0;e=e+8|0}}}f=f+1|0}while((f|0)!=(s|0))}}while(0);g=s-p|0;if((o|0)>0){h=(p|0)>0;i=v+(q<<2)|0;j=(g|0)>0;k=v+((q^1)<<2)|0;l=0;do{f=_(l,w)|0;d=x+(f<<2)|0;if(r){a=0;do{c[v+(a<<2)>>2]=c[x+(a+f<<2)>>2];a=a+1|0}while((a|0)!=(s|0))}ab[b&3](v,g,p,q);if(h){e=0;a=i;while(1){c[d>>2]=c[a>>2];e=e+1|0;if((e|0)==(p|0))break;else{d=d+4|0;a=a+8|0}}}if(j){e=0;a=x+(f+p<<2)|0;d=k;while(1){c[a>>2]=c[d>>2];e=e+1|0;if((e|0)==(g|0))break;else{a=a+4|0;d=d+8|0}}}l=l+1|0}while((l|0)!=(o|0))}if(!u)break;else{a=t;u=u+-1|0;t=t+-136|0}}}Uc(v);b=1;return b|0}function Qg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=c[a+4>>2]|0;k=c[a+8>>2]|0;if(!(c[a+12>>2]|0)){e=(j|0)>0;if(!(e|(k|0)>1))return;if((k|0)>0){b=i+4|0;d=(j<<1)+-1|0;f=0;do{if((f|0)<1)a=b;else a=i+((((f|0)>(j|0)?j:f)<<1)+-1<<2)|0;g=f<<1;h=i+(g<<2)|0;c[h>>2]=(c[h>>2]|0)-((c[a>>2]|0)+2+(c[i+(((f|0)<(j|0)?g|1:d)<<2)>>2]|0)>>2);f=f+1|0}while((f|0)!=(k|0))}if(!e)return;a=i+((k<<1)+-2<<2)|0;b=0;do{g=b<<1;f=b;b=b+1|0;h=i+((g|1)<<2)|0;c[h>>2]=((c[((b|0)<(k|0)?i+(b<<1<<2)|0:a)>>2]|0)+(c[((f|0)<(k|0)?i+(g<<2)|0:a)>>2]|0)>>1)+(c[h>>2]|0)}while((b|0)!=(j|0));return}if((j|0)==1&(k|0)==0){c[i>>2]=(c[i>>2]|0)/2|0;return}if((k|0)>0){a=i+((j<<1)+-2<<2)|0;b=0;do{g=b<<1;f=b;b=b+1|0;h=i+((g|1)<<2)|0;c[h>>2]=(c[h>>2]|0)-((c[((f|0)<(j|0)?i+(g<<2)|0:a)>>2]|0)+2+(c[((b|0)<(j|0)?i+(b<<1<<2)|0:a)>>2]|0)>>2)}while((b|0)!=(k|0))}if((j|0)<=0)return;b=i+4|0;d=(k<<1)+-1|0;e=i+(d<<2)|0;h=0;do{f=h<<1;g=c[i+(((h|0)<(k|0)?f|1:d)<<2)>>2]|0;if((h|0)>=1)if((h|0)>(k|0))a=e;else a=i+(f+-1<<2)|0;else a=b;f=i+(f<<2)|0;c[f>>2]=((c[a>>2]|0)+g>>1)+(c[f>>2]|0);h=h+1|0}while((h|0)!=(j|0));return}function Rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!e){j=(b|0)>0;if(!(j|(d|0)>1))return;if(j){e=a+((d<<1)+-2<<2)|0;f=0;do{m=f;f=f+1|0;l=(c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((m|0)<(d|0)?a+(m<<1<<2)|0:e)>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,12993,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+((m<<1|1)<<2)|0;c[m>>2]=(c[m>>2]|0)-l}while((f|0)!=(b|0))}i=(d|0)>0;if(i){f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;l=(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)+(c[e>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,434,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+(h<<1<<2)|0;c[m>>2]=(c[m>>2]|0)-l;h=h+1|0}while((h|0)!=(d|0))}if(j){e=a+((d<<1)+-2<<2)|0;f=0;do{m=f;f=f+1|0;l=(c[((f|0)<(d|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((m|0)<(d|0)?a+(m<<1<<2)|0:e)>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,7233,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+((m<<1|1)<<2)|0;c[m>>2]=l+(c[m>>2]|0)}while((f|0)!=(b|0))}if(i){f=a+4|0;g=(b<<1)+-1|0;h=0;do{if((h|0)<1)e=f;else e=a+((((h|0)>(b|0)?b:h)<<1)+-1<<2)|0;l=(c[a+(((h|0)<(b|0)?h<<1|1:g)<<2)>>2]|0)+(c[e>>2]|0)|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,3633,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;m=a+(h<<1<<2)|0;c[m>>2]=l+(c[m>>2]|0);h=h+1|0}while((h|0)!=(d|0))}if(j){e=0;do{m=a+((e<<1|1)<<2)|0;l=c[m>>2]|0;l=Zi(l|0,((l|0)<0)<<31>>31|0,5038,0)|0;l=Si(l|0,C|0,4096,0)|0;l=Ti(l|0,C|0,13)|0;c[m>>2]=l;e=e+1|0}while((e|0)!=(b|0))}if(i)e=0;else return;do{b=a+(e<<1<<2)|0;m=c[b>>2]|0;m=Zi(m|0,((m|0)<0)<<31>>31|0,6659,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;c[b>>2]=m;e=e+1|0}while((e|0)!=(d|0));return}m=(d|0)>0;if(!((b|0)>1|m))return;l=(b|0)>0;if(l){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;e=(c[e>>2]|0)+j|0;e=Zi(e|0,((e|0)<0)<<31>>31|0,12993,0)|0;e=Si(e|0,C|0,4096,0)|0;e=Ti(e|0,C|0,13)|0;j=a+(i<<2)|0;c[j>>2]=(c[j>>2]|0)-e;k=k+1|0}while((k|0)!=(b|0))}if(m){e=a+((b<<1)+-2<<2)|0;f=0;do{k=f;f=f+1|0;j=(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((k|0)<(b|0)?a+(k<<1<<2)|0:e)>>2]|0)|0;j=Zi(j|0,((j|0)<0)<<31>>31|0,434,0)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;k=a+((k<<1|1)<<2)|0;c[k>>2]=(c[k>>2]|0)-j}while((f|0)!=(d|0))}if(l){f=a+4|0;g=(d<<1)+-1|0;h=a+(g<<2)|0;k=0;do{i=k<<1;j=c[a+(((k|0)<(d|0)?i|1:g)<<2)>>2]|0;if((k|0)>=1)if((k|0)>(d|0))e=h;else e=a+(i+-1<<2)|0;else e=f;e=(c[e>>2]|0)+j|0;e=Zi(e|0,((e|0)<0)<<31>>31|0,7233,0)|0;e=Si(e|0,C|0,4096,0)|0;e=Ti(e|0,C|0,13)|0;j=a+(i<<2)|0;c[j>>2]=e+(c[j>>2]|0);k=k+1|0}while((k|0)!=(b|0))}if(m){e=a+((b<<1)+-2<<2)|0;f=0;do{k=f;f=f+1|0;j=(c[((f|0)<(b|0)?a+(f<<1<<2)|0:e)>>2]|0)+(c[((k|0)<(b|0)?a+(k<<1<<2)|0:e)>>2]|0)|0;j=Zi(j|0,((j|0)<0)<<31>>31|0,3633,0)|0;j=Si(j|0,C|0,4096,0)|0;j=Ti(j|0,C|0,13)|0;k=a+((k<<1|1)<<2)|0;c[k>>2]=j+(c[k>>2]|0)}while((f|0)!=(d|0))}if(l){e=0;do{l=a+(e<<1<<2)|0;k=c[l>>2]|0;k=Zi(k|0,((k|0)<0)<<31>>31|0,5038,0)|0;k=Si(k|0,C|0,4096,0)|0;k=Ti(k|0,C|0,13)|0;c[l>>2]=k;e=e+1|0}while((e|0)!=(b|0))}if(m)e=0;else return;do{b=a+((e<<1|1)<<2)|0;m=c[b>>2]|0;m=Zi(m|0,((m|0)<0)<<31>>31|0,6659,0)|0;m=Si(m|0,C|0,4096,0)|0;m=Ti(m|0,C|0,13)|0;c[b>>2]=m;e=e+1|0}while((e|0)!=(d|0));return}function Sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=c[a>>2]|0;i=c[a+12>>2]|0;q=c[a+8>>2]|0;n=d*3|0;l=1-i|0;k=a+4|0;j=q;a=0;while(1){h=m+(i<<4)|0;if(((j+n|0)<(e|0)?(b&15|0)==0:0)?((h|d)&15|0)==0:0){if((j|0)>0){f=0;do{h=f<<3;c[m+(i<<4)+(h<<2)>>2]=c[b+(f<<2)>>2];g=f+d|0;c[m+(i<<4)+((h|1)<<2)>>2]=c[b+(g<<2)>>2];g=g+d|0;c[m+(i<<4)+((h|2)<<2)>>2]=c[b+(g<<2)>>2];c[m+(i<<4)+((h|3)<<2)>>2]=c[b+(g+d<<2)>>2];f=f+1|0}while((f|0)!=(j|0))}}else r=3;if((r|0)==3?(r=0,(j|0)>0):0){h=0;do{f=h<<3;c[m+(i<<4)+(f<<2)>>2]=c[b+(h<<2)>>2];g=h+d|0;if(((g|0)<(e|0)?(c[m+(i<<4)+((f|1)<<2)>>2]=c[b+(g<<2)>>2],o=g+d|0,(o|0)<(e|0)):0)?(c[m+(i<<4)+((f|2)<<2)>>2]=c[b+(o<<2)>>2],p=o+d|0,(p|0)<(e|0)):0)c[m+(i<<4)+((f|3)<<2)>>2]=c[b+(p<<2)>>2];h=h+1|0}while((h|0)!=(j|0))}a=a+1|0;if((a|0)==2)break;else{b=b+(q<<2)|0;e=e-q|0;i=l;j=c[k>>2]|0}}return}function Tg(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0;do{if(!(c[a+12>>2]|0)){d=c[a+8>>2]|0;if((c[a+4>>2]|0)>0){b=c[a>>2]|0;if((d|0)>0){i=0;f=1;j=9;break}else{i=0;h=1;break}}if((d|0)>1){e=0;f=1;j=7}else return}else{d=c[a+8>>2]|0;if((d|0)<=0)if((c[a+4>>2]|0)>1){b=c[a>>2]|0;i=1;h=0;break}else return;else{e=1;f=0;j=7}}}while(0);if((j|0)==7){b=c[a>>2]|0;i=e;j=9}if((j|0)==9){e=0;do{j=e<<3;o=b+(i<<4)+(j<<2)|0;m=b+(i<<4)+((j|1)<<2)|0;n=+g[m>>2];h=b+(i<<4)+((j|2)<<2)|0;l=+g[h>>2];j=b+(i<<4)+((j|3)<<2)|0;k=+g[j>>2];g[o>>2]=+g[o>>2]*1.2301740646362305;g[m>>2]=n*1.2301740646362305;g[h>>2]=l*1.2301740646362305;g[j>>2]=k*1.2301740646362305;e=e+1|0}while((e|0)!=(d|0));h=f}e=c[a+4>>2]|0;if((e|0)>0){f=0;do{o=f<<3;j=b+(h<<4)+(o<<2)|0;a=b+(h<<4)+((o|1)<<2)|0;k=+g[a>>2];m=b+(h<<4)+((o|2)<<2)|0;l=+g[m>>2];o=b+(h<<4)+((o|3)<<2)|0;n=+g[o>>2];g[j>>2]=+g[j>>2]*1.625732421875;g[a>>2]=k*1.625732421875;g[m>>2]=l*1.625732421875;g[o>>2]=n*1.625732421875;f=f+1|0}while((f|0)!=(e|0))}p=b+(h<<4)|0;f=b+(i+1<<4)|0;j=e-i|0;j=(d|0)<(j|0)?d:j;Ug(p,f,d,j,-.4435068666934967);a=b+(i<<4)|0;m=b+(h+1<<4)|0;o=d-h|0;o=(e|0)<(o|0)?e:o;Ug(a,m,e,o,-.8829110860824585);Ug(p,f,d,j,.05298011749982834);Ug(a,m,e,o,1.5861343145370483);return}function Ug(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0;if((d|0)>0){m=d<<1;l=m+-2|0;h=+g[a>>2];i=+g[a+4>>2];j=+g[a+8>>2];f=+g[a+12>>2];a=b;k=0;while(1){w=a+-16|0;t=a+-12|0;v=+g[t>>2];q=a+-8|0;s=+g[q>>2];n=a+-4|0;p=+g[n>>2];x=h;h=+g[a>>2];u=i;i=+g[a+4>>2];r=j;j=+g[a+8>>2];o=f;f=+g[a+12>>2];g[w>>2]=+g[w>>2]+(x+h)*e;g[t>>2]=v+(u+i)*e;g[q>>2]=s+(r+j)*e;g[n>>2]=p+(o+f)*e;k=k+1|0;if((k|0)==(d|0))break;else a=a+32|0}a=b+(l<<4)|0;b=b+(m<<4)|0}if((d|0)>=(c|0))return;f=e+e;h=f*+g[a>>2];i=f*+g[a+4>>2];j=f*+g[a+8>>2];f=f*+g[a+12>>2];while(1){n=b+-16|0;q=b+-12|0;u=+g[q>>2];t=b+-8|0;v=+g[t>>2];w=b+-4|0;x=+g[w>>2];g[n>>2]=h+ +g[n>>2];g[q>>2]=i+u;g[t>>2]=j+v;g[w>>2]=f+x;d=d+1|0;if((d|0)==(c|0))break;else b=b+32|0}return}function Vg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=d<<2;y=Pc(d<<4)|0;if(!y){a=0;return a|0}z=y+x|0;Qi(y|0,0,x|0)|0;v=d+-1|0;u=(d|0)==0;if(!u){e=0;f=y;while(1){c[f>>2]=e;e=e+1|0;if((e|0)==(d|0))break;else f=f+4|0}}a:do{if(v){q=v;j=0;e=0;r=a;s=1;t=y;while(1){k=r+(j<<2)|0;if(j>>>0>>0){i=j;f=k;h=0.0}else break;while(1){o=+g[f>>2];o=o>0.0?o:-o;w=o>h;e=w?i:e;h=w?o:h;i=i+1|0;if((i|0)==(d|0))break;else f=f+(d<<2)|0}if(h==0.0)break;if((e|0)!=(j|0)){w=e-j|0;p=t+(w<<2)|0;n=c[t>>2]|0;c[t>>2]=c[p>>2];c[p>>2]=n;w=r+((_(w,d)|0)<<2)|0;Ui(z|0,w|0,x|0)|0;Ui(w|0,r|0,x|0)|0;Ui(r|0,z|0,x|0)|0}f=j;p=j+1|0;o=+g[k>>2];if(s>>>0>>0){l=r+(p<<2)|0;n=p+q|0;m=s;i=r+(f+d<<2)|0;while(1){h=+g[i>>2]/o;g[i>>2]=h;f=s;j=i;k=l;while(1){j=j+4|0;g[j>>2]=+g[j>>2]-h*+g[k>>2];f=f+1|0;if((f|0)==(d|0))break;else k=k+4|0}m=m+1|0;if((m|0)==(d|0))break;else i=i+(n<<2)|0}}if(p>>>0>>0){q=q+-1|0;j=p;r=r+(d<<2)|0;s=s+1|0;t=t+4|0}else break a}Uc(y);a=0;return a|0}}while(0);e=d<<1;w=z+(e<<2)|0;if(!u){u=z+(v+d<<2)|0;q=z+(e+v<<2)|0;r=a+((_(d,d)|0)+-1<<2)|0;s=~d;t=0;p=b;while(1){Qi(z|0,0,x|0)|0;g[z+(t<<2)>>2]=1.0;j=0;k=1;l=y;m=w;n=a;while(1){if(!j)h=0.0;else{e=1;f=w;i=n;h=0.0;while(1){h=h+ +g[i>>2]*+g[f>>2];e=e+1|0;if((e|0)==(k|0))break;else{f=f+4|0;i=i+4|0}}}g[m>>2]=+g[z+(c[l>>2]<<2)>>2]-h;j=j+1|0;if((j|0)==(d|0)){j=d;k=u;l=w;m=q;n=r;break}else{k=k+1|0;l=l+4|0;m=m+4|0;n=n+(d<<2)|0}}while(1){e=j;j=j+-1|0;o=+g[n>>2];if(e>>>0>>0){f=l;i=n;h=0.0;while(1){i=i+4|0;h=h+ +g[i>>2]*+g[f>>2];e=e+1|0;if((e|0)==(d|0))break;else f=f+4|0}}else h=0.0;l=l+-4|0;g[k>>2]=(+g[m>>2]-h)/o;if(!j){e=0;f=p;break}else{k=k+-4|0;m=m+-4|0;n=n+(s<<2)|0}}while(1){c[f>>2]=c[z+(e+d<<2)>>2];e=e+1|0;if((e|0)==(d|0))break;else f=f+(d<<2)|0}t=t+1|0;if((t|0)==(d|0))break;else p=p+4|0}}Uc(y);a=1;return a|0}function Wg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=Qc(1,44)|0;if(!g){g=0;return g|0}h=hh()|0;c[g>>2]=h;if(!h){ih(0);c[g>>2]=0;h=g+4|0;yh(c[h>>2]|0);c[h>>2]=0;if((c[g+40>>2]|0)==0?(d=g+8|0,b=c[d>>2]|0,(b|0)!=0):0){Sc(b);c[d>>2]=0}b=g+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(g);h=0;return h|0}h=xh()|0;b=g+4|0;c[b>>2]=h;if(h){c[g+40>>2]=a;h=g;return h|0}ih(c[g>>2]|0);c[g>>2]=0;yh(c[b>>2]|0);c[b>>2]=0;if((c[g+40>>2]|0)==0?(e=g+8|0,f=c[e>>2]|0,(f|0)!=0):0){Sc(f);c[e>>2]=0}b=g+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(g);h=0;return h|0}function Xg(a){a=a|0;var b=0,d=0,e=0;if(!a)return;ih(c[a>>2]|0);c[a>>2]=0;e=a+4|0;yh(c[e>>2]|0);c[e>>2]=0;if((c[a+40>>2]|0)==0?(b=a+8|0,d=c[b>>2]|0,(d|0)!=0):0){Sc(d);c[b>>2]=0}b=a+12|0;d=c[b>>2]|0;if(d){Sc(d);c[b>>2]=0}Uc(a);return}function Yg(a,f,h){a=a|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,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;ya=(c[f+8>>2]|0)-(c[f>>2]|0)|0;za=f+20|0;i=c[za>>2]|0;if(!i){a=1;return a|0}Aa=f+24|0;Ba=h+808|0;Ca=h+16|0;ta=a+4|0;va=a+8|0;wa=a+16|0;xa=a+20|0;sa=h+20|0;pa=f+32|0;qa=a+32|0;ra=a+12|0;h=i;oa=0;a:while(1){ma=c[Aa>>2]|0;na=ma+(oa*136|0)+24|0;f=c[na>>2]|0;if(f){ja=ma+(oa*136|0)+16|0;ka=ma+(oa*136|0)+20|0;la=oa+-1|0;h=c[ka>>2]|0;i=c[ja>>2]|0;ia=0;do{if(_(h,i)|0){da=ma+(oa*136|0)+28+(ia*36|0)+20|0;ea=ma+(oa*136|0)+28+(ia*36|0)+16|0;fa=ma+(oa*136|0)+28+(ia*36|0)|0;ga=ma+(oa*136|0)+28+(ia*36|0)+4|0;ha=ma+(oa*136|0)+28+(ia*36|0)+32|0;ca=0;do{f=c[da>>2]|0;aa=f+(ca*40|0)+16|0;ba=f+(ca*40|0)+20|0;if(_(c[ba>>2]|0,c[aa>>2]|0)|0){Z=f+(ca*40|0)+24|0;$=0;do{h=c[Z>>2]|0;S=c[ea>>2]|0;j=c[Ba>>2]|0;f=c[Ca>>2]|0;T=c[ta>>2]|0;U=c[a>>2]|0;V=h+($*56|0)+8|0;Y=h+($*56|0)+12|0;if(!(_g(a,(c[h+($*56|0)+16>>2]|0)-(c[V>>2]|0)|0,(c[h+($*56|0)+20>>2]|0)-(c[Y>>2]|0)|0)|0)){h=0;G=201;break a}W=h+($*56|0)+24|0;k=c[W>>2]|0;qh(U);rh(U,18,0,46);rh(U,17,0,3);rh(U,0,0,4);X=h+($*56|0)+48|0;i=c[X>>2]|0;if(i){N=h+($*56|0)+4|0;O=(f&1|0)!=0;P=(f&2|0)==0;Q=(f&8|0)==0;R=S<<8;M=(f&32|0)==0;f=k+j|0;h=2;L=0;do{k=c[N>>2]|0;K=O&(h>>>0<2?(f|0)<=((c[W>>2]|0)+-4|0):0);j=c[k+(L<<5)>>2]|0;if(j){i=(c[j>>2]|0)+(c[k+(L<<5)+4>>2]|0)|0;j=c[k+(L<<5)+16>>2]|0;if(!K){if(!(vh(U,i,j)|0)){h=0;G=201;break a}}else zh(T,i,j);I=k+(L<<5)+12|0;b:do{if(c[I>>2]|0){J=P|K;H=0;while(1){c:do{switch(h|0){case 0:{if(K){w=1<>1|w;j=c[xa>>2]|0;if(!j)break c;v=0-w|0;i=c[wa>>2]|0;u=0;while(1){t=u;u=u+4|0;if(!i)i=0;else{q=(t|0)==-4;r=t|3;s=0;do{d:do{if(!q)if(Q){o=t;do{if(o>>>0>=(c[xa>>2]|0)>>>0)break d;m=o;o=o+1|0;i=(_(c[qa>>2]|0,o)|0)+s|0;j=i+1|0;k=c[ra>>2]|0;l=k+(j<<1)|0;m=(_(c[wa>>2]|0,m)|0)+s|0;m=(c[va>>2]|0)+(m<<2)|0;n=c[ta>>2]|0;G=b[l>>1]|0;if((G&255|0)!=0&(G&20480|0)==0){if(Ah(n)|0){D=Ah(n)|0;c[m>>2]=(D|0)!=0?v:w;F=c[qa>>2]|0;G=k+(j-F<<1)|0;E=k+(F+j<<1)|0;C=k+(j+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=i+2|0;C=k+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=k+(i<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[l>>1]=e[l>>1]|4096;C=k+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=k+(F+i<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=k+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[l>>1]=e[l>>1]|16384}}while(o>>>0>>0)}else{p=t;do{i=c[xa>>2]|0;if(p>>>0>=i>>>0)break d;F=p;p=p+1|0;j=(_(c[qa>>2]|0,p)|0)+s|0;k=j+1|0;l=c[ra>>2]|0;m=l+(k<<1)|0;n=(_(c[wa>>2]|0,F)|0)+s|0;n=(c[va>>2]|0)+(n<<2)|0;o=c[ta>>2]|0;G=b[m>>1]|0;G=(F|0)==(r|0)|(F|0)==(i+-1|0)?G&-1095:G;if((G&255|0)!=0&(G&20480|0)==0){if(Ah(o)|0){D=Ah(o)|0;c[n>>2]=(D|0)!=0?v:w;F=c[qa>>2]|0;G=l+(k-F<<1)|0;E=l+(F+k<<1)|0;C=l+(k+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=j+2|0;C=l+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=l+(j<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[m>>1]=e[m>>1]|4096;C=l+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=l+(F+j<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=l+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[m>>1]=e[m>>1]|16384}}while(p>>>0>>0)}}while(0);s=s+1|0;i=c[wa>>2]|0}while(s>>>0>>0);j=c[xa>>2]|0}if(u>>>0>=j>>>0){G=163;break c}}}if(Q){k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;r=1<>1|r;i=c[xa>>2]|0;j=c[wa>>2]|0;if(i>>>0>3){o=j;n=0;while(1){if(!j){j=o;m=0}else{j=0;do{G=(c[qa>>2]|0)+j|0;$g(a,l+(G<<1)|0,k+(j<<2)|0,S,r);i=(c[wa>>2]|0)+j|0;G=(c[qa>>2]|0)+G|0;$g(a,l+(G<<1)|0,k+(i<<2)|0,S,r);i=(c[wa>>2]|0)+i|0;G=(c[qa>>2]|0)+G|0;$g(a,l+(G<<1)|0,k+(i<<2)|0,S,r);$g(a,l+((c[qa>>2]|0)+G<<1)|0,k+((c[wa>>2]|0)+i<<2)|0,S,r);j=j+1|0;i=c[wa>>2]|0}while(j>>>0>>0);j=i;m=i;i=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=l+(c[qa>>2]<<2<<1)|0;n=n+4|0;if(n>>>0<(i&-4)>>>0){o=j;j=m}else{q=l;p=n;break}}}else{q=l;p=0}if(!j){G=163;break c}else o=0;while(1){if(p>>>0>>0){l=k+(o<<2)|0;m=q+(o<<1)|0;n=p;while(1){m=m+(c[qa>>2]<<1)|0;$g(a,m,l,S,r);j=c[wa>>2]|0;n=n+1|0;i=c[xa>>2]|0;if(n>>>0>=i>>>0)break;else l=l+(j<<2)|0}}o=o+1|0;if(o>>>0>=j>>>0){G=163;break c}}}w=1<>1|w;i=c[xa>>2]|0;if(!i){G=163;break c}x=0-w|0;j=c[wa>>2]|0;l=j;v=0;while(1){u=v;v=v+4|0;do{if(!j){k=l;j=0}else{t=u|3;if((u|0)==-4){k=l;j=l;break}else s=0;do{r=u;do{i=c[xa>>2]|0;if(r>>>0>=i>>>0)break;G=r;r=r+1|0;l=(_(c[qa>>2]|0,r)|0)+s|0;m=l+1|0;n=c[ra>>2]|0;o=n+(m<<1)|0;p=(_(c[wa>>2]|0,G)|0)+s|0;p=(c[va>>2]|0)+(p<<2)|0;q=c[a>>2]|0;j=b[o>>1]|0;i=(G|0)==(t|0)|(G|0)==(i+-1|0)?j&-1095:j;j=i&255;if((j|0)!=0&(i&20480|0)==0){k=q+100|0;c[k>>2]=q+24+(d[20267+(j|R)>>0]<<2);if(wh(q)|0){F=i>>>4&255;c[k>>2]=q+24+(d[21291+F>>0]<<2);G=wh(q)|0;F=d[21547+F>>0]|0;D=F^G;c[p>>2]=(G|0)!=(F|0)?x:w;F=c[qa>>2]|0;G=n+(m-F<<1)|0;E=n+(F+m<<1)|0;C=n+(m+~F<<1)|0;b[C>>1]=e[C>>1]|2;b[G>>1]=b[G>>1]|b[3436+(D<<1)>>1];G=l+2|0;C=n+(G-F<<1)|0;b[C>>1]=e[C>>1]|4;C=n+(l<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+2<<1)>>1];b[o>>1]=e[o>>1]|4096;C=n+(G<<1)|0;b[C>>1]=b[C>>1]|b[3436+(D+4<<1)>>1];C=n+(F+l<<1)|0;b[C>>1]=e[C>>1]|1;b[E>>1]=b[E>>1]|b[3436+(D+6<<1)>>1];G=n+(F+G<<1)|0;b[G>>1]=e[G>>1]|8}b[o>>1]=e[o>>1]|16384}}while(r>>>0>>0);s=s+1|0;i=c[wa>>2]|0}while(s>>>0>>0);k=i;j=i;i=c[xa>>2]|0}}while(0);if(v>>>0>=i>>>0){G=163;break}else l=k}break}case 1:{if(K){q=1<>1;r=(f|0)>0?0-q|0:-1;j=c[xa>>2]|0;if(!j)break c;k=c[wa>>2]|0;i=k;p=0;while(1){o=p;p=p+4|0;if(!k){l=i;k=0}else{n=(o|0)==-4;m=0;do{l=m;m=m+1|0;if(!n){k=o;do{if(k>>>0>=(c[xa>>2]|0)>>>0)break;j=k;k=k+1|0;i=(_(c[qa>>2]|0,k)|0)+m|0;i=(c[ra>>2]|0)+(i<<1)|0;j=(_(c[wa>>2]|0,j)|0)+l|0;j=(c[va>>2]|0)+(j<<2)|0;if((b[i>>1]&20480)==4096){F=(Ah(c[ta>>2]|0)|0)!=0;F=F?q:r;G=c[j>>2]|0;c[j>>2]=((G|0)<0?0-F|0:F)+G;b[i>>1]=e[i>>1]|8192}}while(k>>>0

    >>0);i=c[wa>>2]|0}}while(m>>>0>>0);l=i;k=i;j=c[xa>>2]|0}if(p>>>0>=j>>>0){G=163;break c}else i=l}}if(!Q){t=1<>1;u=(f|0)>0?0-t|0:-1;i=c[xa>>2]|0;if(!i){G=163;break c}j=c[wa>>2]|0;k=j;s=0;while(1){r=s;s=s+4|0;if(!j)j=0;else{p=(r|0)==-4;q=r|3;i=k;o=0;do{n=o;o=o+1|0;if(!p){l=r;do{i=c[xa>>2]|0;if(l>>>0>=i>>>0)break;F=l;l=l+1|0;j=(_(c[qa>>2]|0,l)|0)+o|0;j=(c[ra>>2]|0)+(j<<1)|0;k=(_(c[wa>>2]|0,F)|0)+n|0;k=(c[va>>2]|0)+(k<<2)|0;m=c[a>>2]|0;G=b[j>>1]|0;i=(F|0)==(q|0)|(F|0)==(i+-1|0)?G&-1095:G;if((i&20480|0)==4096){c[m+100>>2]=m+24+(((i&8192|0)!=0?16:(i&255|0)!=0?15:14)<<2);F=(wh(m)|0)!=0;F=F?t:u;G=c[k>>2]|0;c[k>>2]=((G|0)<0?0-F|0:F)+G;b[j>>1]=e[j>>1]|8192}}while(l>>>0>>0);i=c[wa>>2]|0}}while(o>>>0>>0);k=i;j=i;i=c[xa>>2]|0}if(s>>>0>=i>>>0){G=163;break c}}}k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;v=1<>1;w=(f|0)>0?0-v|0:-1;i=c[xa>>2]|0;j=c[wa>>2]|0;if(i>>>0>3){n=j;t=l;u=0;while(1){if(!j){j=n;m=0}else{i=n;s=0;do{j=k+(s<<2)|0;n=c[qa>>2]|0;p=n+s|0;l=t+(p<<1)|0;o=c[a>>2]|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[o+100>>2]=o+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);n=(wh(o)|0)!=0;n=n?v:w;i=c[j>>2]|0;c[j>>2]=((i|0)<0?0-n|0:n)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}else{j=n;n=o}q=i+s|0;o=k+(q<<2)|0;r=j+p|0;l=t+(r<<1)|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);j=(wh(n)|0)!=0;j=j?v:w;i=c[o>>2]|0;c[o>>2]=((i|0)<0?0-j|0:j)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}p=i+q|0;o=k+(p<<2)|0;q=j+r|0;l=t+(q<<1)|0;m=b[l>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);j=(wh(n)|0)!=0;j=j?v:w;i=c[o>>2]|0;c[o>>2]=((i|0)<0?0-j|0:j)+i;b[l>>1]=e[l>>1]|8192;i=c[wa>>2]|0;j=c[qa>>2]|0;n=c[a>>2]|0}m=k+(i+p<<2)|0;j=t+(j+q<<1)|0;l=b[j>>1]|0;if((l&20480|0)==4096){c[n+100>>2]=n+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);G=(wh(n)|0)!=0;G=G?v:w;i=c[m>>2]|0;c[m>>2]=((i|0)<0?0-G|0:G)+i;b[j>>1]=e[j>>1]|8192;i=c[wa>>2]|0}s=s+1|0}while(s>>>0>>0);j=i;m=i;i=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=t+(c[qa>>2]<<2<<1)|0;o=u+4|0;if(o>>>0<(i&-4)>>>0){n=j;j=m;t=l;u=o}else{s=o;break}}}else s=0;if(!j){G=163;break c}else r=0;do{if(s>>>0>>0){o=k+(r<<2)|0;p=l+(r<<1)|0;q=s;while(1){p=p+(c[qa>>2]<<1)|0;n=c[a>>2]|0;m=b[p>>1]|0;if((m&20480|0)==4096){c[n+100>>2]=n+24+(((m&8192|0)!=0?16:(m&255|0)!=0?15:14)<<2);i=(wh(n)|0)!=0;i=i?v:w;m=c[o>>2]|0;c[o>>2]=((m|0)<0?0-i|0:i)+m;b[p>>1]=e[p>>1]|8192;m=c[wa>>2]|0;i=c[xa>>2]|0}else m=j;q=q+1|0;if(q>>>0>=i>>>0){j=m;break}else{j=m;o=o+(m<<2)|0}}}r=r+1|0}while(r>>>0>>0);G=163;break}case 2:{E=c[a>>2]|0;F=1<>1|F;do{if(Q){k=c[va>>2]|0;l=(c[ra>>2]|0)+2|0;j=c[xa>>2]|0;if(j>>>0>3){w=E+92|0;x=E+100|0;y=E+96|0;z=0-F|0;m=c[wa>>2]|0;i=m;o=0;while(1){if(!m)m=0;else{r=o|1;s=r+1|0;t=o|3;u=r+3|0;v=0;do{i=c[qa>>2]|0;j=v;v=v+1|0;D=(_(i,r)|0)+v|0;G=c[ra>>2]|0;D=b[G+((_(i,s)|0)+v<<1)>>1]|b[G+(D<<1)>>1];D=D|b[G+((_(i,t)|0)+v<<1)>>1];e:do{if(!((D|b[G+((_(i,u)|0)+v<<1)>>1])&20735)){c[x>>2]=w;if(!(wh(E)|0))break;c[x>>2]=y;p=(wh(E)|0)<<1;p=p|(wh(E)|0);if(p>>>0>=4)break;q=k+((_(c[wa>>2]|0,p)|0)+j<<2)|0;j=l+((_(c[qa>>2]|0,p)|0)+j<<1)|0;n=p;while(1){if(n>>>0>=(c[xa>>2]|0)>>>0)break e;i=c[qa>>2]|0;m=j;j=j+(i<<1)|0;if((n|0)==(p|0)){G=c[a>>2]|0;D=(e[j>>1]|0)>>>4&255;c[G+100>>2]=G+24+(d[21291+D>>0]<<2);G=wh(G)|0;D=d[21547+D>>0]|0;B=D^G;c[q>>2]=(G|0)!=(D|0)?z:F;D=c[qa>>2]|0;G=m+(i-D<<1)|0;C=m+(D+i<<1)|0;A=m+(i+~D<<1)|0;b[A>>1]=e[A>>1]|2;b[G>>1]=b[G>>1]|b[3436+(B<<1)>>1];G=i+1|0;A=m+(G-D<<1)|0;b[A>>1]=e[A>>1]|4;A=i+-1|0;i=m+(A<<1)|0;b[i>>1]=b[i>>1]|b[3436+(B+2<<1)>>1];b[j>>1]=e[j>>1]|4096;i=m+(G<<1)|0;b[i>>1]=b[i>>1]|b[3436+(B+4<<1)>>1];A=m+(D+A<<1)|0;b[A>>1]=e[A>>1]|1;b[C>>1]=b[C>>1]|b[3436+(B+6<<1)>>1];G=m+(D+G<<1)|0;b[G>>1]=e[G>>1]|8;b[j>>1]=e[j>>1]&49151}else ah(a,j,q,S,F);n=n+1|0;if(n>>>0>=4)break;else q=q+(c[wa>>2]<<2)|0}}else{D=i+j|0;ah(a,l+(D<<1)|0,k+(j<<2)|0,S,F);G=(c[wa>>2]|0)+j|0;D=(c[qa>>2]|0)+D|0;ah(a,l+(D<<1)|0,k+(G<<2)|0,S,F);G=(c[wa>>2]|0)+G|0;D=(c[qa>>2]|0)+D|0;ah(a,l+(D<<1)|0,k+(G<<2)|0,S,F);ah(a,l+((c[qa>>2]|0)+D<<1)|0,k+((c[wa>>2]|0)+G<<2)|0,S,F)}}while(0);i=c[wa>>2]|0}while(v>>>0>>0);m=i;j=c[xa>>2]|0}k=k+(m<<2<<2)|0;l=l+(c[qa>>2]<<2<<1)|0;o=o+4|0;if(o>>>0>=(j&-4)>>>0){q=k;p=l;break}}}else{i=c[wa>>2]|0;q=k;p=l;o=0}if(!i)break;else n=0;do{if(o>>>0>>0){k=q+(n<<2)|0;l=p+(n<<1)|0;m=o;while(1){l=l+(c[qa>>2]<<1)|0;ah(a,l,k,S,F);i=c[wa>>2]|0;m=m+1|0;j=c[xa>>2]|0;if(m>>>0>=j>>>0)break;else k=k+(i<<2)|0}}n=n+1|0}while(n>>>0>>0)}else{i=c[xa>>2]|0;if(!i)break;A=E+92|0;B=E+100|0;C=E+96|0;D=0-F|0;j=c[wa>>2]|0;z=0;while(1){if(!j){k=z+4|0;j=0}else{v=z|3;w=z|1;x=w+1|0;y=w+3|0;k=z+4|0;u=0;while(1){do{if(v>>>0>>0){i=c[qa>>2]|0;l=u+1|0;t=(_(i,w)|0)+l|0;j=c[ra>>2]|0;if(b[j+(t<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,x)|0)+l<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,v)|0)+l<<1)>>1]&20735){t=0;i=0;G=127;break}if(b[j+((_(i,y)|0)+l<<1)>>1]&20665){t=0;i=0;G=127;break}c[B>>2]=A;if(!(wh(E)|0))break;c[B>>2]=C;i=(wh(E)|0)<<1;t=1;i=i|(wh(E)|0);G=127}else{t=0;i=0;G=127}}while(0);if((G|0)==127){G=0;l=i+z|0;f:do{if(l>>>0>>0){s=l;do{i=c[xa>>2]|0;if(s>>>0>=i>>>0)break f;Da=s;s=s+1|0;m=(_(c[qa>>2]|0,s)|0)+u|0;n=m+1|0;o=c[ra>>2]|0;p=o+(n<<1)|0;q=(_(c[wa>>2]|0,Da)|0)+u|0;q=(c[va>>2]|0)+(q<<2)|0;r=c[a>>2]|0;j=b[p>>1]|0;j=(Da|0)==(v|0)|(Da|0)==(i+-1|0)?j&-1095:j;do{if(!(t&(Da|0)==(l|0))){if(j&20480)break;i=r+100|0;c[i>>2]=r+24+(d[20267+(j&255|R)>>0]<<2);if(wh(r)|0)G=133}else{i=r+100|0;G=133}}while(0);if((G|0)==133){G=0;j=j>>>4&255;c[i>>2]=r+24+(d[21291+j>>0]<<2);Da=wh(r)|0;r=d[21547+j>>0]|0;j=r^Da;c[q>>2]=(Da|0)!=(r|0)?D:F;r=c[qa>>2]|0;Da=o+(n-r<<1)|0;q=o+(r+n<<1)|0;n=o+(n+~r<<1)|0;b[n>>1]=e[n>>1]|2;b[Da>>1]=b[Da>>1]|b[3436+(j<<1)>>1];Da=m+2|0;n=o+(Da-r<<1)|0;b[n>>1]=e[n>>1]|4;n=o+(m<<1)|0;b[n>>1]=b[n>>1]|b[3436+(j+2<<1)>>1];b[p>>1]=e[p>>1]|4096;n=o+(Da<<1)|0;b[n>>1]=b[n>>1]|b[3436+(j+4<<1)>>1];n=o+(r+m<<1)|0;b[n>>1]=e[n>>1]|1;b[q>>1]=b[q>>1]|b[3436+(j+6<<1)>>1];Da=o+(r+Da<<1)|0;b[Da>>1]=e[Da>>1]|8}b[p>>1]=e[p>>1]&49151}while(s>>>0>>0)}}while(0);l=u+1|0}j=c[wa>>2]|0;i=c[xa>>2]|0;if(l>>>0>>0)u=l;else break}}if(k>>>0>>0)z=k;else break}}}while(0);if(M){G=163;break c}c[E+100>>2]=E+96;wh(E)|0;wh(E)|0;wh(E)|0;wh(E)|0;G=163;break}default:G=163}}while(0);do{if((G|0)==163){G=0;if(J)break;qh(U);rh(U,18,0,46);rh(U,17,0,3);rh(U,0,0,4)}}while(0);h=h+1|0;Da=(h|0)==3;f=(Da<<31>>31)+f|0;h=Da?0:h;H=H+1|0;if(H>>>0>=(c[I>>2]|0)>>>0)break b}}}while(0);i=c[X>>2]|0}L=L+1|0}while(L>>>0>>0)}h=(c[V>>2]|0)-(c[fa>>2]|0)|0;f=(c[Y>>2]|0)-(c[ga>>2]|0)|0;i=c[ea>>2]|0;if(i&1){Da=c[Aa>>2]|0;h=(c[Da+(la*136|0)+8>>2]|0)+h-(c[Da+(la*136|0)>>2]|0)|0}if(i&2){Da=c[Aa>>2]|0;f=(c[Da+(la*136|0)+12>>2]|0)+f-(c[Da+(la*136|0)+4>>2]|0)|0}p=c[va>>2]|0;q=c[wa>>2]|0;r=c[xa>>2]|0;i=c[Ba>>2]|0;if((i|0)!=0?(ua=1<>2]|0;m=(l|0)>-1?l:0-l|0;if((m|0)>=(ua|0)){Da=m>>c[Ba>>2];c[k>>2]=(l|0)<0?0-Da|0:Da}n=n+1|0}while((n|0)!=(q|0))}o=o+1|0}while((o|0)!=(r|0))}n=(_(f,ya)|0)+h|0;o=c[pa>>2]|0;h=(r|0)==0;if((c[sa>>2]|0)==1){if(!h){h=(q|0)==0;k=0;do{if(!h){f=_(k,q)|0;i=(_(k,ya)|0)+n|0;j=0;do{c[o+(i+j<<2)>>2]=(c[p+(j+f<<2)>>2]|0)/2|0;j=j+1|0}while((j|0)!=(q|0))}k=k+1|0}while((k|0)!=(r|0))}}else if(!h){m=(q|0)==0;h=p;l=0;k=o+(n<<2)|0;while(1){if(!m){f=h;i=0;j=k;while(1){g[j>>2]=+(c[f>>2]|0)*+g[ha>>2];i=i+1|0;if((i|0)==(q|0))break;else{f=f+4|0;j=j+4|0}}h=h+(q<<2)|0}l=l+1|0;if((l|0)==(r|0))break;else k=k+(ya<<2)|0}}$=$+1|0}while($>>>0<(_(c[ba>>2]|0,c[aa>>2]|0)|0)>>>0);h=c[ka>>2]|0;i=c[ja>>2]|0}ca=ca+1|0}while(ca>>>0<(_(h,i)|0)>>>0);f=c[na>>2]|0}ia=ia+1|0}while(ia>>>0>>0);h=c[za>>2]|0}oa=oa+1|0;if(oa>>>0>=h>>>0){h=1;G=201;break}}if((G|0)==201)return h|0;return 0}function Zg(f,i,j,k,l){f=f|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0.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;Ya=i+32|0;h[Ya>>3]=0.0;Za=i+16|0;m=c[Za>>2]|0;if(!m){_a=1;return _a|0}Xa=i+20|0;Sa=j+5584|0;Ta=f+16|0;Ua=f+20|0;Va=f+8|0;Wa=f+36|0;Pa=(k|0)!=0;Qa=f+32|0;Ra=f+12|0;i=m;Oa=0;a:while(1){j=c[Xa>>2]|0;m=c[Sa>>2]|0;Ma=(c[j+(Oa*52|0)+8>>2]|0)-(c[j+(Oa*52|0)>>2]|0)|0;Na=j+(Oa*52|0)+16|0;n=c[Na>>2]|0;if(n){La=j+(Oa*52|0)+24|0;Ja=j+(Oa*52|0)+32|0;Ka=m+(Oa*1080|0)+20|0;Ga=m+(Oa*1080|0)+16|0;Ia=Pa&Oa>>>0>>0;Ha=k+(Oa<<3)|0;i=n;Fa=0;do{Da=c[La>>2]|0;Ea=Da+(Fa*136|0)+24|0;j=c[Ea>>2]|0;if(j){za=Da+(Fa*136|0)+16|0;Aa=Da+(Fa*136|0)+20|0;Ba=~Fa;Ca=Fa+-1|0;i=c[Aa>>2]|0;m=c[za>>2]|0;ya=0;do{xa=Da+(Fa*136|0)+28+(ya*36|0)+32|0;if(_(i,m)|0){ra=67108864/(~~+M(+(+g[xa>>2]*8192.0))|0)|0;sa=Da+(Fa*136|0)+28+(ya*36|0)+20|0;ta=Da+(Fa*136|0)+28+(ya*36|0)|0;ua=Da+(Fa*136|0)+28+(ya*36|0)+4|0;va=Da+(Fa*136|0)+28+(ya*36|0)+16|0;wa=((ra|0)<0)<<31>>31;qa=0;do{j=c[sa>>2]|0;oa=j+(qa*40|0)+16|0;pa=j+(qa*40|0)+20|0;if(_(c[pa>>2]|0,c[oa>>2]|0)|0){ma=j+(qa*40|0)+24|0;na=0;do{la=c[ma>>2]|0;n=c[la+(na*52|0)+12>>2]|0;i=n-(c[ta>>2]|0)|0;o=c[la+(na*52|0)+16>>2]|0;j=o-(c[ua>>2]|0)|0;m=c[va>>2]|0;if(m&1){ka=c[La>>2]|0;i=(c[ka+(Ca*136|0)+8>>2]|0)+i-(c[ka+(Ca*136|0)>>2]|0)|0}if(m&2){ka=c[La>>2]|0;j=(c[ka+(Ca*136|0)+12>>2]|0)+j-(c[ka+(Ca*136|0)+4>>2]|0)|0}if(!(_g(f,(c[la+(na*52|0)+20>>2]|0)-n|0,(c[la+(na*52|0)+24>>2]|0)-o|0)|0)){i=0;_a=173;break a}p=c[Ta>>2]|0;q=c[Ua>>2]|0;r=Ma-p|0;u=(_(j,Ma)|0)+i|0;v=c[Ja>>2]|0;c[Va>>2]=v+(u<<2);c[Wa>>2]=Ma;i=(q|0)==0;if((c[Ka>>2]|0)==1){if(!i){n=(p|0)==0;o=0;i=0;while(1){if(!n){j=0;m=i;while(1){ka=v+(m+u<<2)|0;c[ka>>2]=c[ka>>2]<<6;j=j+1|0;if((j|0)==(p|0))break;else m=m+1|0}i=p+i|0}o=o+1|0;if((o|0)==(q|0))break;else i=i+r|0}}}else if(!i){n=(p|0)==0;o=0;i=0;while(1){if(!n){j=0;m=i;while(1){ka=v+(m+u<<2)|0;ja=c[ka>>2]|0;ja=Zi(ja|0,((ja|0)<0)<<31>>31|0,ra|0,wa|0)|0;ja=Si(ja|0,C|0,4096,0)|0;ja=Ti(ja|0,C|0,18)|0;c[ka>>2]=ja;j=j+1|0;if((j|0)==(p|0))break;else m=m+1|0}i=p+i|0}o=o+1|0;if((o|0)==(q|0))break;else i=i+r|0}}ga=c[va>>2]|0;ha=(c[Na>>2]|0)+Ba|0;r=c[Ka>>2]|0;ia=+g[xa>>2];ja=c[Ga>>2]|0;ka=c[f>>2]|0;n=c[Ta>>2]|0;do{if(!n)i=0;else{o=c[Ua>>2]|0;p=(o|0)==0;q=0;i=0;do{if(!p){j=c[Wa>>2]|0;m=0;do{fa=c[v+(u+((_(m,j)|0)+q)<<2)>>2]|0;fa=(fa|0)>-1?fa:0-fa|0;i=(i|0)>(fa|0)?i:fa;m=m+1|0}while((m|0)!=(o|0))}q=q+1|0}while((q|0)!=(n|0));if(!i){i=0;break}if((i|0)>1){j=i;i=0}else{i=-5;break}while(1){j=j>>1;if((j|0)<=1)break;else i=i+1|0}i=i+-4|0}}while(0);ea=la+(na*52|0)+28|0;c[ea>>2]=i;i=i+-1|0;qh(ka);rh(ka,18,0,46);rh(ka,17,0,3);rh(ka,0,0,4);fa=la+(na*52|0)|0;kh(ka,c[fa>>2]|0);b:do{if((i|0)>-1){ca=la+(na*52|0)+8|0;W=ja&1;da=(W|0)!=0;X=(r|0)==1;Y=(ja&4|0)==0;W=(W|0)==0;Z=(ja&2|0)==0;$=(ja&8|0)==0;aa=ga<<8;ba=(ja&32|0)==0;j=0;T=i;U=0.0;i=0;V=2;while(1){S=c[ca>>2]|0;I=da&(V>>>0<2?(T|0)<((c[ea>>2]|0)+-4|0):0);c:do{switch(V|0){case 0:{G=1<>2]|0;if(!j){n=0;break c}H=(T|0)==0;o=c[Ta>>2]|0;m=o;n=0;F=0;do{E=F;F=F+4|0;if(!m)m=0;else{B=(E|0)==-4;D=E|3;m=o;A=0;do{if(!B){z=E;do{j=c[Ua>>2]|0;if(z>>>0>=j>>>0)break;do{if($)j=0;else{if((z|0)==(D|0)){j=1;break}j=(z|0)==(j+-1|0)}}while(0);p=z;z=z+1|0;u=(_(c[Qa>>2]|0,z)|0)+A|0;v=u+1|0;w=c[Ra>>2]|0;y=w+(v<<1)|0;p=(_(c[Wa>>2]|0,p)|0)+A|0;p=(c[Va>>2]|0)+(p<<2)|0;x=c[f>>2]|0;q=b[y>>1]|0;q=j?q&-1095:q;j=q&255;if((j|0)!=0&(q&20480|0)==0){m=c[p>>2]|0;m=(((m|0)<0?0-m|0:m)&G|0)!=0;o=m&1;r=x+100|0;c[r>>2]=x+24+(d[20267+(j|aa)>>0]<<2);if(I)oh(x,o);else lh(x,o);if(m){j=c[p>>2]|0;m=j>>>31;j=(j|0)<0?0-j|0:j;if(H)j=3708+((j&127)<<1)|0;else j=3452+((j>>>T&127)<<1)|0;n=(b[j>>1]|0)+n|0;j=q>>>4&255;c[r>>2]=x+24+(d[21291+j>>0]<<2);if(I)oh(x,m);else lh(x,d[21547+j>>0]^m);Q=c[Qa>>2]|0;R=w+(v-Q<<1)|0;P=w+(Q+v<<1)|0;O=w+(v+~Q<<1)|0;b[O>>1]=e[O>>1]|2;b[R>>1]=b[R>>1]|b[3436+(m<<1)>>1];R=u+2|0;O=w+(R-Q<<1)|0;b[O>>1]=e[O>>1]|4;O=w+(u<<1)|0;b[O>>1]=b[O>>1]|b[3436+((m|2)<<1)>>1];b[y>>1]=e[y>>1]|4096;O=w+(R<<1)|0;b[O>>1]=b[O>>1]|b[3436+((m|4)<<1)>>1];O=w+(Q+u<<1)|0;b[O>>1]=e[O>>1]|1;b[P>>1]=b[P>>1]|b[3436+((m|6)<<1)>>1];R=w+(Q+R<<1)|0;b[R>>1]=e[R>>1]|8}b[y>>1]=e[y>>1]|16384}}while(z>>>0>>0);m=c[Ta>>2]|0}A=A+1|0}while(A>>>0>>0);j=c[Ua>>2]|0;o=m}}while(F>>>0>>0);break}case 1:{A=1<>2]|0;if(!j){n=0;break c}B=(T|0)==0;o=c[Ta>>2]|0;m=o;n=0;z=0;do{y=z;z=z+4|0;if(!m)m=0;else{w=(y|0)==-4;x=y|3;m=o;v=0;do{u=v;v=v+1|0;if(!w){r=y;do{j=c[Ua>>2]|0;if(r>>>0>=j>>>0)break;do{if($)j=0;else{if((r|0)==(x|0)){j=1;break}j=(r|0)==(j+-1|0)}}while(0);m=r;r=r+1|0;p=(_(c[Qa>>2]|0,r)|0)+v|0;p=(c[Ra>>2]|0)+(p<<1)|0;q=c[f>>2]|0;o=b[p>>1]|0;o=j?o&-1095:o;if((o&20480|0)==4096){m=c[(c[Va>>2]|0)+((_(c[Wa>>2]|0,m)|0)+u<<2)>>2]|0;m=(m|0)<0?0-m|0:m;if(B)j=4220+((m&127)<<1)|0;else j=3964+((m>>>T&127)<<1)|0;n=(b[j>>1]|0)+n|0;j=(m&A|0)!=0&1;c[q+100>>2]=q+24+(((o&8192|0)!=0?16:(o&255|0)!=0?15:14)<<2);if(I)oh(q,j);else lh(q,j);b[p>>1]=e[p>>1]|8192}}while(r>>>0>>0);m=c[Ta>>2]|0}}while(v>>>0>>0);j=c[Ua>>2]|0;o=m}}while(z>>>0>>0);break}case 2:{L=c[f>>2]|0;N=1<>2]|0;if(!m)j=0;else{O=L+92|0;P=L+100|0;Q=L+96|0;R=(T|0)==0;n=c[Ta>>2]|0;j=0;K=0;while(1){if(!n){o=K+4|0;n=0}else{D=K|3;E=K|1;F=E+1|0;G=E+3|0;o=K+4|0;H=K+1|0;I=K+2|0;J=K+3|0;B=0;while(1){do{if(D>>>0>>0){m=c[Qa>>2]|0;q=B+1|0;p=(_(m,E)|0)+q|0;n=c[Ra>>2]|0;p=b[n+(p<<1)>>1]|0;if($){A=b[n+((_(m,F)|0)+q<<1)>>1]|p;A=A|b[n+((_(m,D)|0)+q<<1)>>1];m=((A|b[n+((_(m,G)|0)+q<<1)>>1])&20735)==0&1}else{do{if(!(p&20735)){if(b[n+((_(m,F)|0)+q<<1)>>1]&20735){m=1;break}if(b[n+((_(m,D)|0)+q<<1)>>1]&20735){m=1;break}m=(b[n+((_(m,G)|0)+q<<1)>>1]&20665)!=0}else m=1}while(0);m=m&1^1}if(!m){A=0;m=0;_a=109;break}m=c[Wa>>2]|0;n=c[Va>>2]|0;A=c[n+((_(m,K)|0)+B<<2)>>2]|0;do{if(!(((A|0)<0?0-A|0:A)&N)){A=c[n+((_(m,H)|0)+B<<2)>>2]|0;if(((A|0)<0?0-A|0:A)&N){m=1;break}A=c[n+((_(m,I)|0)+B<<2)>>2]|0;if(((A|0)<0?0-A|0:A)&N){m=2;break}m=c[n+((_(m,J)|0)+B<<2)>>2]|0;m=(((m|0)<0?0-m|0:m)&N|0)==0?4:3}else m=0}while(0);c[P>>2]=O;lh(L,(m|0)!=4&1);if((m|0)==4){p=q;break}c[P>>2]=Q;lh(L,m>>>1);lh(L,m&1);A=1;_a=109}else{A=0;m=0;_a=109}}while(0);if((_a|0)==109){_a=0;z=m+K|0;d:do{if(z>>>0>>0){y=z;do{m=c[Ua>>2]|0;if(y>>>0>=m>>>0)break d;do{if($)m=0;else{if((y|0)==(D|0)){m=1;break}m=(y|0)==(m+-1|0)}}while(0);$a=y;y=y+1|0;r=(_(c[Qa>>2]|0,y)|0)+B|0;u=r+1|0;v=c[Ra>>2]|0;x=v+(u<<1)|0;n=(_(c[Wa>>2]|0,$a)|0)+B|0;n=(c[Va>>2]|0)+(n<<2)|0;w=c[f>>2]|0;p=b[x>>1]|0;q=m?p&-1095:p;do{if(!(A&($a|0)==(z|0))){if(p&20480)break;c[w+100>>2]=w+24+(d[20267+(q&255|aa)>>0]<<2);$a=c[n>>2]|0;$a=((($a|0)<0?0-$a|0:$a)&N|0)!=0;lh(w,$a&1);if($a)_a=117}else _a=117}while(0);if((_a|0)==117){_a=0;n=c[n>>2]|0;m=(n|0)<0?0-n|0:n;if(R)m=3708+((m&127)<<1)|0;else m=3452+((m>>>T&127)<<1)|0;j=(b[m>>1]|0)+j|0;$a=q>>>4&255;c[w+100>>2]=w+24+(d[21291+$a>>0]<<2);p=n>>>31;lh(w,d[21547+$a>>0]^p);w=c[Qa>>2]|0;$a=v+(u-w<<1)|0;q=v+(w+u<<1)|0;u=v+(u+~w<<1)|0;b[u>>1]=e[u>>1]|2;b[$a>>1]=b[$a>>1]|b[3436+(p<<1)>>1];$a=r+2|0;u=v+($a-w<<1)|0;b[u>>1]=e[u>>1]|4;u=v+(r<<1)|0;b[u>>1]=b[u>>1]|b[3436+((p|2)<<1)>>1];b[x>>1]=e[x>>1]|4096;u=v+($a<<1)|0;b[u>>1]=b[u>>1]|b[3436+((p|4)<<1)>>1];u=v+(w+r<<1)|0;b[u>>1]=e[u>>1]|1;b[q>>1]=b[q>>1]|b[3436+((p|6)<<1)>>1];$a=v+(w+$a<<1)|0;b[$a>>1]=e[$a>>1]|8}b[x>>1]=e[x>>1]&49151}while(y>>>0>>0)}}while(0);p=B+1|0}n=c[Ta>>2]|0;m=c[Ua>>2]|0;if(p>>>0>>0)B=p;else break}}if(o>>>0>>0)K=o;else break}}if(ba){n=j;break c}uh(ka);n=j;break}default:n=j}}while(0);if(Ia)s=+h[Ha>>3];else s=1.0;if(X)t=+Ig(ha,ga);else t=+Lg(ha,ga);t=+(1<>3]=+h[Ya>>3]+t;do{if(Y)_a=137;else{if((T|0)<1&(V|0)==2){_a=137;break}mh(ka);m=S+(i*24|0)+20|0;j=a[m>>0]|1;a[m>>0]=j;m=1}}while(0);do{if((_a|0)==137){j=(c[ea>>2]|0)+-4|0;if((V|0)!=0&(T|0)<(j|0))if(W)_a=141;else _a=140;else if(W|((V|0)!=2|(T|0)!=(j|0)))_a=141;else _a=140;if((_a|0)==140){_a=0;mh(ka);m=S+(i*24|0)+20|0;j=a[m>>0]|1;a[m>>0]=j;m=1;break}else if((_a|0)==141){_a=0;m=S+(i*24|0)+20|0;j=a[m>>0]&-2;a[m>>0]=j;m=3;break}}}while(0);R=V+1|0;$a=(R|0)==3;V=$a?0:R;T=($a<<31>>31)+T|0;do{if((T|0)>0&(j&1)!=0)if(da&(V>>>0<2?(T|0)<((c[ea>>2]|0)+-4|0):0)){nh(ka);break}else{sh(ka);break}}while(0);h[S+(i*24|0)+8>>3]=U;c[S+(i*24|0)>>2]=(jh(ka)|0)+m;if(!Z)ph(ka);i=i+1|0;if((T|0)<=-1)break b;else j=n}}else i=0}while(0);do{if(!(ja&16)){if(ja&1)break;mh(ka)}else th(ka)}while(0);q=la+(na*52|0)+48|0;c[q>>2]=i;if(i){n=la+(na*52|0)+8|0;p=0;do{o=c[n>>2]|0;j=o+(p*24|0)|0;$a=c[j>>2]|0;if($a>>>0>(jh(ka)|0)>>>0){i=jh(ka)|0;c[j>>2]=i}else i=c[j>>2]|0;do{if(i>>>0>1){m=i+-1|0;if((a[(c[fa>>2]|0)+m>>0]|0)!=-1)break;c[j>>2]=m;i=m}}while(0);if(!p)j=0;else j=c[(c[n>>2]|0)+((p+-1|0)*24|0)>>2]|0;c[o+(p*24|0)+16>>2]=i-j;p=p+1|0}while(p>>>0<(c[q>>2]|0)>>>0)}na=na+1|0}while(na>>>0<(_(c[pa>>2]|0,c[oa>>2]|0)|0)>>>0);i=c[Aa>>2]|0;m=c[za>>2]|0}qa=qa+1|0}while(qa>>>0<(_(i,m)|0)>>>0);j=c[Ea>>2]|0}ya=ya+1|0}while(ya>>>0>>0);i=c[Na>>2]|0}Fa=Fa+1|0}while(Fa>>>0>>0);i=c[Za>>2]|0}Oa=Oa+1|0;if(Oa>>>0>=i>>>0){i=1;_a=173;break}}if((_a|0)==173)return i|0;return 0}function _g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=_(d,b)|0;if(!(c[a+40>>2]|0)){h=a+24|0;i=a+8|0;e=c[i>>2]|0;do{if(g>>>0>(c[h>>2]|0)>>>0){Sc(e);f=g<<2;e=Rc(f)|0;c[i>>2]=e;if(!e){b=0;return b|0}else{c[h>>2]=g;break}}else f=g<<2}while(0);Qi(e|0,0,f|0)|0}g=b+2|0;c[a+32>>2]=g;g=_(d+2|0,g)|0;h=a+28|0;i=a+12|0;e=c[i>>2]|0;do{if(g>>>0>(c[h>>2]|0)>>>0){Sc(e);f=g<<1;e=Rc(f)|0;c[i>>2]=e;if(!e){b=0;return b|0}else{c[h>>2]=g;break}}else f=g<<1}while(0);Qi(e|0,0,f|0)|0;c[a+16>>2]=b;c[a+20>>2]=d;b=1;return b|0}function $g(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=c[a>>2]|0;l=b[f>>1]|0;m=l&255;if(!((m|0)!=0&(l&20480|0)==0))return;k=j+100|0;c[k>>2]=j+24+(d[20267+(m|h<<8)>>0]<<2);if(wh(j)|0){h=l>>>4&255;c[k>>2]=j+24+(d[21291+h>>0]<<2);l=wh(j)|0;h=d[21547+h>>0]|0;m=h^l;c[g>>2]=(l|0)!=(h|0)?0-i|0:i;a=c[a+32>>2]|0;i=f+(0-a<<1)|0;h=f+(a<<1)|0;g=f+(~a<<1)|0;b[g>>1]=e[g>>1]|2;b[i>>1]=b[i>>1]|b[3436+(m<<1)>>1];i=f+(1-a<<1)|0;b[i>>1]=e[i>>1]|4;i=f+-2|0;b[i>>1]=b[i>>1]|b[3436+(m+2<<1)>>1];b[f>>1]=e[f>>1]|4096;i=f+2|0;b[i>>1]=b[i>>1]|b[3436+(m+4<<1)>>1];i=f+(a+-1<<1)|0;b[i>>1]=e[i>>1]|1;b[h>>1]=b[h>>1]|b[3436+(m+6<<1)>>1];a=f+(a+1<<1)|0;b[a>>1]=e[a>>1]|8}b[f>>1]=e[f>>1]|16384;return}function ah(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=c[a>>2]|0;l=b[f>>1]|0;if(l&20480){a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}k=j+100|0;c[k>>2]=j+24+(d[20267+(l&255|h<<8)>>0]<<2);if(!(wh(j)|0)){a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}h=l>>>4&255;c[k>>2]=j+24+(d[21291+h>>0]<<2);k=wh(j)|0;h=d[21547+h>>0]|0;l=h^k;c[g>>2]=(k|0)!=(h|0)?0-i|0:i;a=c[a+32>>2]|0;i=f+(0-a<<1)|0;h=f+(a<<1)|0;g=f+(~a<<1)|0;b[g>>1]=e[g>>1]|2;b[i>>1]=b[i>>1]|b[3436+(l<<1)>>1];i=f+(1-a<<1)|0;b[i>>1]=e[i>>1]|4;i=f+-2|0;b[i>>1]=b[i>>1]|b[3436+(l+2<<1)>>1];b[f>>1]=e[f>>1]|4096;i=f+2|0;b[i>>1]=b[i>>1]|b[3436+(l+4<<1)>>1];i=f+(a+-1<<1)|0;b[i>>1]=e[i>>1]|1;b[h>>1]=b[h>>1]|b[3436+(l+6<<1)>>1];a=f+(a+1<<1)|0;b[a>>1]=e[a>>1]|8;a=b[f>>1]|0;a=a&65535;a=a&49151;a=a&65535;b[f>>1]=a;return}function bh(a,e,f,g,h,j,k,l,m,n,o,p){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+16|0;H=I;c[H>>2]=0;q=c[a>>2]|0;D=c[a+4>>2]|0;a=c[D+76>>2]|0;F=a+(e*5640|0)|0;s=(b[D>>1]|0)==4?2:1;t=D+80|0;if(!(c[t>>2]|0))r=1;else r=c[q+16>>2]|0;G=(c[a+(e*5640|0)+420>>2]|0)+1|0;E=Lf(q,D,e,p)|0;if(!E){e=0;i=I;return e|0}c[j>>2]=0;a:do{if(!p){if(r){a=0;b:while(1){p=0;o=E;q=0;while(1){Mf(E,D,e,q,a,n,0);if((c[o+80>>2]|0)==-1){a=9;break b}m=o+36|0;c:while(1){do{if(!(Of(o)|0))break c}while((c[m>>2]|0)>>>0>=g>>>0);c[H>>2]=0;if(!(fh(e,f,F,o,h,H,k,l)|0)){a=13;break b}B=c[H>>2]|0;c[j>>2]=(c[j>>2]|0)+B;k=k-B|0;p=B+p|0;h=h+B|0}B=c[t>>2]|0;if((B|0)!=0&p>>>0>B>>>0){a=17;break b}q=q+1|0;if(q>>>0>>0)o=o+232|0;else break}a=a+1|0;if(a>>>0>=r>>>0)break a}if((a|0)==9){Kf(E,G);e=0;i=I;return e|0}else if((a|0)==13){Kf(E,G);e=0;i=I;return e|0}else if((a|0)==17){Kf(E,G);e=0;i=I;return e|0}}}else{Mf(E,D,e,o,m,n,p);z=E+(o*232|0)|0;if((c[E+(o*232|0)+80>>2]|0)==-1){Kf(E,G);e=0;i=I;return e|0}n=E+(o*232|0)+36|0;u=(l|0)==0;v=f+840|0;w=l+12|0;x=l+8|0;y=l+88|0;t=D+93|0;s=a+(e*5640|0)+5636|0;while(1){do{if(!(Of(z)|0))break a}while((c[n>>2]|0)>>>0>=g>>>0);c[H>>2]=0;if(!(fh(e,f,F,z,h,H,k,l)|0))break;r=c[H>>2]|0;h=h+r|0;k=k-r|0;c[j>>2]=(c[j>>2]|0)+r;if(!u){if(!(c[w>>2]|0))a=c[x>>2]|0;else{q=c[y>>2]|0;a=c[x>>2]|0;o=c[q+(e*592|0)+548>>2]|0;p=o+(a<<5)|0;if(!a){m=(c[q+(e*592|0)+12>>2]|0)+1|0;q=((m|0)<0)<<31>>31;D=p;c[D>>2]=m;c[D+4>>2]=q}else{if((((d[s>>0]|0)>>>2|(d[t>>0]|0)>>>3)&1)!=0?(B=p,A=c[B>>2]|0,B=c[B+4>>2]|0,!((A|0)==0&(B|0)==0)):0){m=A;q=B}else{m=o+(a+-1<<5)+16|0;m=Si(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;q=C}D=p;c[D>>2]=m;c[D+4>>2]=q}p=Si(m|0,q|0,-1,-1)|0;m=C;r=Si(p|0,m|0,r|0,0)|0;D=o+(a<<5)+16|0;c[D>>2]=r;c[D+4>>2]=C;D=o+(a<<5)+8|0;r=D;r=Si(p|0,m|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[D>>2]=r;c[D+4>>2]=C}c[x>>2]=a+1}c[v>>2]=(c[v>>2]|0)+1}Kf(E,G);e=0;i=I;return e|0}}while(0);Kf(E,G);e=1;i=I;return e|0}function ch(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0;$=i;i=i+112|0;W=$+64|0;X=$+32|0;S=$;R=$+96|0;Q=$+92|0;k=c[a>>2]|0;M=a+4|0;Z=c[M>>2]|0;h=c[Z+76>>2]|0;O=h+(b*5640|0)|0;P=h+(b*5640|0)+420|0;Y=(c[P>>2]|0)+1|0;Z=Jf(k,Z,b)|0;if(!Z){aa=0;i=$;return aa|0}N=k+16|0;L=h+(b*5640|0)+12|0;K=d+20|0;J=k+24|0;b=g;a=e;H=Z;I=0;a:while(1){if((c[H+80>>2]|0)==-1){aa=4;break}h=Pc(c[N>>2]<<2)|0;if(!h){aa=6;break}Qi(h|0,1,c[N>>2]<<2|0)|0;if(Of(H)|0){g=H+24|0;d=H+28|0;G=H+36|0;k=H+32|0;F=b;E=a;while(1){if((c[L>>2]|0)>>>0>(c[G>>2]|0)>>>0){b=c[g>>2]|0;a=c[K>>2]|0;if((c[d>>2]|0)>>>0<(c[a+(b*52|0)+20>>2]|0)>>>0){c[h+(b<<2)>>2]=0;D=c[M>>2]|0;c[Q>>2]=0;if(!(gh(D,a,O,H,R,E,Q,F,j)|0)){aa=45;break a}C=c[Q>>2]|0;if(!(c[R>>2]|0))a=C;else{B=F-C|0;z=E+C|0;c[Q>>2]=0;b=c[d>>2]|0;l=c[(c[K>>2]|0)+((c[g>>2]|0)*52|0)+24>>2]|0;x=l+(b*136|0)+24|0;a=c[x>>2]|0;b:do{if(!a){a=z;aa=43}else{y=E+F|0;m=a;D=0;w=l+(b*136|0)+28|0;l=z;c:while(1){a=c[k>>2]|0;b=c[w+20>>2]|0;if(((c[w+8>>2]|0)!=(c[w>>2]|0)?(c[w+12>>2]|0)!=(c[w+4>>2]|0):0)?(V=_(c[b+(a*40|0)+20>>2]|0,c[b+(a*40|0)+16>>2]|0)|0,(V|0)!=0):0){A=0;a=c[b+(a*40|0)+24>>2]|0;p=l;while(1){u=a+40|0;if(!(c[u>>2]|0))b=p;else{v=a+44|0;b=c[v>>2]|0;do{if(!b){o=c[a+4>>2]|0;c[v>>2]=1;c[a+36>>2]=0}else{l=b+-1|0;m=c[a+4>>2]|0;if((c[m+(l<<5)+8>>2]|0)!=(c[m+(l<<5)+20>>2]|0)){o=m+(l<<5)|0;break}c[v>>2]=b+1;o=m+(b<<5)|0}}while(0);t=a+36|0;b=a+32|0;s=p;n=o+28|0;l=c[n>>2]|0;if((l+s|0)>>>0>>0|(p+l|0)>>>0>y>>>0){b=D;a=A;break c}m=c[t>>2]|0;s=p;r=o;while(1){o=l+m|0;if(o>>>0>>0){b=D;a=A;aa=29;break a}p=c[a>>2]|0;if(o>>>0>(c[b>>2]|0)>>>0){l=Tc(p,o)|0;if(!l){aa=32;break a}m=c[t>>2]|0;q=c[n>>2]|0;c[b>>2]=q+m;c[a>>2]=l;p=l;l=q}Ui(p+m|0,s|0,l|0)|0;l=r+8|0;m=c[l>>2]|0;if(!m){c[r>>2]=a;o=c[t>>2]|0;c[r+4>>2]=o}else o=c[t>>2]|0;p=c[n>>2]|0;q=s;s=s+p|0;n=c[r+24>>2]|0;m=n+m|0;c[l>>2]=m;l=c[u>>2]|0;c[u>>2]=l-n;c[r+12>>2]=m;m=p+o|0;c[t>>2]=m;o=r+16|0;c[o>>2]=(c[o>>2]|0)+p;if((l|0)==(n|0)){b=s;break}c[v>>2]=(c[v>>2]|0)+1;o=s;n=r+60|0;l=c[n>>2]|0;if((l+o|0)>>>0>>0?1:(q+(l+p)|0)>>>0>y>>>0){b=D;a=A;break c}else r=r+32|0}c[a+48>>2]=c[v>>2]}A=A+1|0;if(A>>>0>=V>>>0){a=b;break}else{a=a+56|0;p=b}}b=c[x>>2]|0}else{b=m;a=l}D=D+1|0;if(D>>>0>=b>>>0){aa=43;break b}else{m=b;w=w+36|0;l=a}}z=c[k>>2]|0;A=c[d>>2]|0;D=c[g>>2]|0;c[S>>2]=l;c[S+4>>2]=B;c[S+8>>2]=a;c[S+12>>2]=z;c[S+16>>2]=b;c[S+20>>2]=A;c[S+24>>2]=D;Ub(j,2,21803,S)|0;a=c[Q>>2]|0}}while(0);if((aa|0)==43){aa=0;a=a-z|0;c[Q>>2]=a}a=a+C|0}l=c[g>>2]|0;C=c[d>>2]|0;b=(c[J>>2]|0)+(l*52|0)+36|0;D=c[b>>2]|0;c[b>>2]=C>>>0>D>>>0?C:D;b=a}else aa=47}else{a=c[K>>2]|0;aa=47}if((aa|0)==47){aa=0;D=c[M>>2]|0;c[Q>>2]=0;if(!(gh(D,a,O,H,R,E,Q,F,j)|0)){aa=69;break a}u=c[Q>>2]|0;if(!(c[R>>2]|0))a=u;else{l=F-u|0;w=c[d>>2]|0;x=c[g>>2]|0;a=c[(c[K>>2]|0)+(x*52|0)+24>>2]|0;c[Q>>2]=0;t=c[a+(w*136|0)+24>>2]|0;if(!t)a=0;else{v=c[k>>2]|0;b=0;s=a+(w*136|0)+28|0;while(1){m=c[s+20>>2]|0;if(((c[s+8>>2]|0)!=(c[s>>2]|0)?(c[s+12>>2]|0)!=(c[s+4>>2]|0):0)?(T=_(c[m+(v*40|0)+20>>2]|0,c[m+(v*40|0)+16>>2]|0)|0,(T|0)!=0):0){a=0;r=c[m+(v*40|0)+24>>2]|0;while(1){p=r+40|0;d:do{if(c[p>>2]|0){q=r+44|0;m=c[q>>2]|0;do{if(!m){o=c[r+4>>2]|0;c[q>>2]=1;c[r+36>>2]=0}else{n=m+-1|0;o=c[r+4>>2]|0;if((c[o+(n<<5)+8>>2]|0)!=(c[o+(n<<5)+20>>2]|0)){o=o+(n<<5)|0;break}c[q>>2]=m+1;o=o+(m<<5)|0}}while(0);D=c[Q>>2]|0;m=c[o+28>>2]|0;n=m+D|0;if(n>>>0>>0|n>>>0>l>>>0){g=v;d=w;k=x;aa=65;break a}while(1){c[Q>>2]=n;D=c[o+24>>2]|0;C=o+8|0;c[C>>2]=(c[C>>2]|0)+D;C=c[p>>2]|0;c[p>>2]=C-D;if((C|0)==(D|0))break d;c[q>>2]=(c[q>>2]|0)+1;D=c[Q>>2]|0;m=c[o+60>>2]|0;n=m+D|0;if(n>>>0>>0|n>>>0>l>>>0){g=v;d=w;k=x;aa=65;break a}else o=o+32|0}}}while(0);a=a+1|0;if(a>>>0>=T>>>0)break;else r=r+56|0}}b=b+1|0;if(b>>>0>=t>>>0)break;else s=s+36|0}a=c[Q>>2]|0}a=a+u|0}l=c[g>>2]|0;b=a}if((c[h+(l<<2)>>2]|0)!=0?(U=(c[J>>2]|0)+(l*52|0)+36|0,(c[U>>2]|0)==0):0)c[U>>2]=(c[(c[K>>2]|0)+(l*52|0)+20>>2]|0)+-1;a=E+b|0;b=F-b|0;if(!(Of(H)|0))break;else{F=b;E=a}}}Uc(h);I=I+1|0;if(I>>>0>(c[P>>2]|0)>>>0){h=a;aa=75;break}else H=H+232|0}if((aa|0)==4){Kf(Z,Y);aa=0;i=$;return aa|0}else if((aa|0)==6){Kf(Z,Y);aa=0;i=$;return aa|0}else if((aa|0)==29){f=c[k>>2]|0;e=c[d>>2]|0;W=c[g>>2]|0;c[X>>2]=l;c[X+4>>2]=m;c[X+8>>2]=~l;c[X+12>>2]=a;c[X+16>>2]=f;c[X+20>>2]=b;c[X+24>>2]=e;c[X+28>>2]=W;Ub(j,1,21888,X)|0;aa=45}else if((aa|0)==32){Uc(c[a>>2]|0);c[a>>2]=0;c[b>>2]=0;aa=45}else if((aa|0)==65){c[W>>2]=m;c[W+4>>2]=l;c[W+8>>2]=a;c[W+12>>2]=g;c[W+16>>2]=b;c[W+20>>2]=d;c[W+24>>2]=k;Ub(j,1,21987,W)|0;aa=69}else if((aa|0)==75){Kf(Z,Y);c[f>>2]=h-e;aa=1;i=$;return aa|0}if((aa|0)==45){Kf(Z,Y);Uc(h);aa=0;i=$;return aa|0}else if((aa|0)==69){Kf(Z,Y);Uc(h);aa=0;i=$;return aa|0}return 0}function dh(a,b){a=a|0;b=b|0;var d=0;d=Qc(1,8)|0;if(!d){a=0;return a|0}c[d>>2]=a;c[d+4>>2]=b;a=d;return a|0}function eh(a){a=a|0;if(!a)return;Uc(a);return}function fh(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0;s=c[f+28>>2]|0;J=c[f+32>>2]|0;K=c[f+36>>2]|0;r=c[(c[d+20>>2]|0)+((c[f+24>>2]|0)*52|0)+24>>2]|0;if(!(c[e>>2]&2))G=g;else{a[g>>0]=-1;a[g+1>>0]=-111;a[g+2>>0]=0;a[g+3>>0]=4;G=d+840|0;a[g+4>>0]=(c[G>>2]|0)>>>8;a[g+5>>0]=c[G>>2];j=j+-6|0;G=g+6|0}if((K|0)==0?(q=r+(s*136|0)+24|0,(c[q>>2]|0)!=0):0){o=r+(s*136|0)+28|0;p=0;while(1){f=c[o+20>>2]|0;kg(c[f+(J*40|0)+32>>2]|0);m=f+(J*40|0)+36|0;kg(c[m>>2]|0);n=_(c[f+(J*40|0)+20>>2]|0,c[f+(J*40|0)+16>>2]|0)|0;if(n){f=f+(J*40|0)+24|0;d=o+28|0;l=0;do{H=c[f>>2]|0;c[H+(l*52|0)+40>>2]=0;ng(c[m>>2]|0,l,(c[d>>2]|0)-(c[H+(l*52|0)+28>>2]|0)|0);l=l+1|0}while((l|0)!=(n|0))}p=p+1|0;if(p>>>0>=(c[q>>2]|0)>>>0)break;else o=o+36|0}}E=wg()|0;if(!E){i=0;return i|0}zg(E,G,j);Bg(E,1,1);F=r+(s*136|0)+28|0;H=r+(s*136|0)+24|0;if(c[H>>2]|0){A=K+1|0;C=F;D=0;while(1){n=c[C+20>>2]|0;B=_(c[n+(J*40|0)+20>>2]|0,c[n+(J*40|0)+16>>2]|0)|0;o=n+(J*40|0)+24|0;f=(B|0)==0;if(!f){d=n+(J*40|0)+32|0;l=c[o>>2]|0;m=0;while(1){if((c[l+40>>2]|0)==0?(c[(c[l+4>>2]|0)+(K*24|0)>>2]|0)!=0:0)ng(c[d>>2]|0,m,K);m=m+1|0;if((m|0)==(B|0))break;else l=l+52|0}if(!f){z=n+(J*40|0)+32|0;y=n+(J*40|0)+36|0;w=c[o>>2]|0;x=0;while(1){f=(c[w+4>>2]|0)+(K*24|0)|0;v=w+40|0;if(!(c[v>>2]|0))og(E,c[z>>2]|0,x,A);else Bg(E,(c[f>>2]|0)!=0&1,1);d=c[f>>2]|0;if(d){if(!(c[v>>2]|0)){c[w+32>>2]=3;og(E,c[y>>2]|0,x,999);d=c[f>>2]|0}a:do{switch(d|0){case 1:{Bg(E,0,1);break}case 2:{Bg(E,2,2);break}default:{if(d>>>0<6){Bg(E,d+-3|12,4);break a}if(d>>>0<37){Bg(E,d+-6|480,9);break a}if(d>>>0<165)Bg(E,d+-37|65408,16)}}}while(0);o=c[v>>2]|0;d=c[f>>2]|0;u=d+o|0;t=w+8|0;if(o>>>0>>0){s=w+32|0;q=o+-1+d|0;m=0;n=0;l=0;r=(c[t>>2]|0)+(o*24|0)|0;while(1){l=l+1|0;n=(c[r+16>>2]|0)+n|0;if((a[r+20>>0]&1)!=0|(o|0)==(q|0)){if((n|0)>1){d=0;do{n=n>>1;d=d+1|0}while((n|0)>1)}else d=0;p=c[s>>2]|0;if((l|0)>1){n=0;do{l=l>>1;n=n+1|0}while((l|0)>1);l=n}else l=0;n=d+1-p-l|0;m=(m|0)>(n|0)?m:n;n=0;l=0}o=o+1|0;if((o|0)==(u|0))break;else r=r+24|0}if((m|0)>0){d=m;while(1){Bg(E,1,1);if((d|0)>1)d=d+-1|0;else{d=n;break}}}else d=n}else{m=0;d=0;l=0}Bg(E,0,1);q=w+32|0;c[q>>2]=(c[q>>2]|0)+m;m=c[v>>2]|0;if(m>>>0>>0){p=(c[t>>2]|0)+(m*24|0)|0;while(1){l=l+1|0;n=(c[p+16>>2]|0)+d|0;if((a[p+20>>0]&1)==0?(m|0)!=((c[v>>2]|0)+-1+(c[f>>2]|0)|0):0)d=n;else{o=c[q>>2]|0;if((l|0)>1){d=0;do{l=l>>1;d=d+1|0}while((l|0)>1)}else d=0;Bg(E,n,d+o|0);d=0;l=0}m=m+1|0;if((m|0)==(u|0))break;else p=p+24|0}}}x=x+1|0;if((x|0)==(B|0))break;else w=w+52|0}}}D=D+1|0;if(D>>>0>=(c[H>>2]|0)>>>0)break;else C=C+36|0}}if(!(Dg(E)|0)){xg(E);i=0;return i|0}d=yg(E)|0;f=G+d|0;j=j-d|0;xg(E);if(c[e>>2]&4){a[f>>0]=-1;a[G+(d+1)>>0]=-110;j=j+-2|0;f=G+(d+2)|0}t=(k|0)!=0;if(t?(c[k+12>>2]|0)!=0:0){G=f-g|0;e=(c[(c[k+88>>2]|0)+(b*592|0)+548>>2]|0)+(c[k+8>>2]<<5)+8|0;c[e>>2]=G;c[e+4>>2]=((G|0)<0)<<31>>31}d=c[H>>2]|0;b:do{if(d){u=k+12|0;v=k+8|0;w=k+88|0;r=F;s=0;c:while(1){l=c[r+20>>2]|0;q=_(c[l+(J*40|0)+20>>2]|0,c[l+(J*40|0)+16>>2]|0)|0;l=c[l+(J*40|0)+24>>2]|0;if(q){if(t){p=0;while(1){o=c[l+4>>2]|0;d=o+(K*24|0)|0;if(c[d>>2]|0){m=o+(K*24|0)+4|0;n=c[m>>2]|0;if(n>>>0>j>>>0){f=0;j=81;break c}Ui(f|0,c[o+(K*24|0)+16>>2]|0,n|0)|0;e=l+40|0;c[e>>2]=(c[e>>2]|0)+(c[d>>2]|0);e=c[m>>2]|0;f=f+e|0;j=j-e|0;if((c[u>>2]|0)!=0?(e=(c[(c[w>>2]|0)+(b*592|0)+548>>2]|0)+(c[v>>2]<<5)+24|0,I=+h[o+(K*24|0)+8>>3]+ +h[e>>3],h[e>>3]=I,+h[k>>3]>3]=I}p=p+1|0;if(p>>>0>=q>>>0)break;else l=l+52|0}}else{p=0;while(1){d=c[l+4>>2]|0;m=d+(K*24|0)|0;if(c[m>>2]|0){n=d+(K*24|0)+4|0;o=c[n>>2]|0;if(o>>>0>j>>>0){f=0;j=81;break c}Ui(f|0,c[d+(K*24|0)+16>>2]|0,o|0)|0;e=l+40|0;c[e>>2]=(c[e>>2]|0)+(c[m>>2]|0);e=c[n>>2]|0;j=j-e|0;f=f+e|0}p=p+1|0;if(p>>>0>=q>>>0)break;else l=l+52|0}}d=c[H>>2]|0}s=s+1|0;if(s>>>0>=d>>>0)break b;else r=r+36|0}if((j|0)==81)return f|0}}while(0);c[i>>2]=f-g+(c[i>>2]|0);i=1;return i|0}function gh(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+64|0;L=N+40|0;K=N+32|0;x=N+24|0;w=N+16|0;u=N+8|0;t=N;v=N+48|0;M=N+44|0;c[M>>2]=h;z=c[f+28>>2]|0;J=f+24|0;y=c[d+((c[J>>2]|0)*52|0)+24>>2]|0;H=f+36|0;if((c[H>>2]|0)==0?(s=y+(z*136|0)+24|0,m=c[s>>2]|0,(m|0)!=0):0){r=f+32|0;p=0;q=y+(z*136|0)+28|0;while(1){d=c[r>>2]|0;n=c[q+20>>2]|0;if((c[q+8>>2]|0)!=(c[q>>2]|0)?(c[q+12>>2]|0)!=(c[q+4>>2]|0):0){kg(c[n+(d*40|0)+32>>2]|0);kg(c[n+(d*40|0)+36>>2]|0);m=_(c[n+(d*40|0)+20>>2]|0,c[n+(d*40|0)+16>>2]|0)|0;if(m){o=0;d=c[n+(d*40|0)+24>>2]|0;while(1){c[d+44>>2]=0;c[d+48>>2]=0;o=o+1|0;if((o|0)==(m|0))break;else d=d+56|0}}m=c[s>>2]|0}p=p+1|0;if(p>>>0>=m>>>0)break;else q=q+36|0}}do{if(c[e>>2]&2){if(k>>>0<6){Ub(l,2,22072,t)|0;break}d=c[M>>2]|0;if((a[d>>0]|0)==-1?(a[d+1>>0]|0)==-111:0){c[M>>2]=d+6;break}Ub(l,2,22114,u)|0}}while(0);G=wg()|0;if(!G){h=0;i=N;return h|0}do{if(!(a[b+96>>0]&1))if(!(a[e+5636>>0]&2)){E=c[M>>2]|0;c[v>>2]=h+k-E;F=M;break}else{F=e+5168|0;E=c[F>>2]|0;v=e+5180|0;break}else{F=b+40|0;E=c[F>>2]|0;v=b+44|0}}while(0);Ag(G,E,c[v>>2]|0);if(!(Cg(G,1)|0)){Eg(G)|0;m=yg(G)|0;d=E+m|0;xg(G);do{if(c[e>>2]&4){if(((c[v>>2]|0)-d+(c[F>>2]|0)|0)>>>0<2){Ub(l,2,22135,w)|0;break}if((a[d>>0]|0)==-1?(a[E+(m+1)>>0]|0)==-110:0){d=E+(m+2)|0;break}Ub(l,2,22177,x)|0}}while(0);c[v>>2]=(c[v>>2]|0)+((c[F>>2]|0)-d);c[F>>2]=d;c[g>>2]=0;c[j>>2]=(c[M>>2]|0)-h;h=1;i=N;return h|0}D=y+(z*136|0)+24|0;d=c[D>>2]|0;a:do{if(d){B=f+32|0;C=e+5584|0;A=0;y=y+(z*136|0)+28|0;b:while(1){m=c[B>>2]|0;n=c[y+20>>2]|0;if(((c[y+8>>2]|0)!=(c[y>>2]|0)?(c[y+12>>2]|0)!=(c[y+4>>2]|0):0)?(I=_(c[n+(m*40|0)+20>>2]|0,c[n+(m*40|0)+16>>2]|0)|0,(I|0)!=0):0){b=n+(m*40|0)+32|0;f=n+(m*40|0)+36|0;w=y+28|0;x=0;k=c[n+(m*40|0)+24>>2]|0;while(1){m=k+44|0;if(!(c[m>>2]|0))d=pg(G,c[b>>2]|0,x,(c[H>>2]|0)+1|0)|0;else d=Cg(G,1)|0;c:do{if(!d)c[k+40>>2]=0;else{if(!(c[m>>2]|0)){d=0;while(1)if(!(pg(G,c[f>>2]|0,x,d)|0))d=d+1|0;else break;c[k+24>>2]=1-d+(c[w>>2]|0);c[k+28>>2]=3}do{if(Cg(G,1)|0)if(Cg(G,1)|0){d=Cg(G,2)|0;if((d|0)!=3){d=d+3|0;break}d=Cg(G,5)|0;if((d|0)==31){d=(Cg(G,7)|0)+37|0;break}else{d=d+6|0;break}}else d=2;else d=1}while(0);t=k+40|0;c[t>>2]=d;d=0;while(1)if(!(Cg(G,1)|0))break;else d=d+1|0;u=k+28|0;c[u>>2]=(c[u>>2]|0)+d;m=c[m>>2]|0;do{if(!m){n=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;d=k+52|0;if(!(c[d>>2]|0)){c[d>>2]=10;o=k+4|0;m=Tc(c[o>>2]|0,320)|0;if(!m){m=d;n=o;d=o;o=66;break b}c[o>>2]=m}else m=c[k+4>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;if(n&4){c[m+20>>2]=1;m=0;break}m=m+20|0;if(!(n&1)){c[m>>2]=109;m=0;break}else{c[m>>2]=10;m=0;break}}else{q=m+-1|0;r=k+4|0;n=c[r>>2]|0;if((c[n+(q<<5)+8>>2]|0)!=(c[n+(q<<5)+20>>2]|0)){d=k+52|0;m=q;break}p=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;d=k+52|0;o=c[d>>2]|0;if((m+1|0)>>>0>o>>>0){z=o+10|0;c[d>>2]=z;n=Tc(n,z<<5)|0;if(!n){n=r;m=d;d=r;o=77;break b}c[r>>2]=n}z=n+(m<<5)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(p&4){c[n+(m<<5)+20>>2]=1;break}if(!(p&1)){c[n+(m<<5)+20>>2]=109;break}else{z=c[n+(q<<5)+20>>2]|0;c[n+(m<<5)+20>>2]=(z|0)==1|(z|0)==10?2:1;break}}}while(0);s=k+4|0;q=c[t>>2]|0;while(1){p=c[s>>2]|0;n=(c[p+(m<<5)+20>>2]|0)-(c[p+(m<<5)+8>>2]|0)|0;n=(n|0)<(q|0)?n:q;c[p+(m<<5)+24>>2]=n;p=c[u>>2]|0;if(n>>>0>1){o=0;while(1){o=o+1|0;if(n>>>0>3)n=n>>>1;else{n=o;break}}}else n=0;p=Cg(G,n+p|0)|0;n=c[s>>2]|0;c[n+(m<<5)+28>>2]=p;p=q-(c[n+(m<<5)+24>>2]|0)|0;if((p|0)<=0)break c;q=m+1|0;r=c[(c[C>>2]|0)+((c[J>>2]|0)*1080|0)+16>>2]|0;o=c[d>>2]|0;if((m+2|0)>>>0>o>>>0){z=o+10|0;c[d>>2]=z;n=Tc(n,z<<5)|0;if(!n){n=s;m=s;o=90;break b}c[s>>2]=n}z=n+(q<<5)|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(r&4){c[n+(q<<5)+20>>2]=1;m=q;q=p;continue}if(!(r&1)){c[n+(q<<5)+20>>2]=109;m=q;q=p;continue}else{z=c[n+(m<<5)+20>>2]|0;c[n+(q<<5)+20>>2]=(z|0)==1|(z|0)==10?2:1;m=q;q=p;continue}}}}while(0);x=x+1|0;if(x>>>0>=I>>>0)break;else k=k+56|0}d=c[D>>2]|0}A=A+1|0;if(A>>>0>=d>>>0)break a;else y=y+36|0}if((o|0)==66){Uc(c[d>>2]|0);c[n>>2]=0;c[m>>2]=0;xg(G);h=0;i=N;return h|0}else if((o|0)==77){Uc(c[d>>2]|0);c[n>>2]=0;c[m>>2]=0;xg(G);h=0;i=N;return h|0}else if((o|0)==90){Uc(c[m>>2]|0);c[n>>2]=0;c[d>>2]=0;xg(G);h=0;i=N;return h|0}}}while(0);if(!(Eg(G)|0)){xg(G);h=0;i=N;return h|0}m=yg(G)|0;d=E+m|0;xg(G);do{if(c[e>>2]&4){if(((c[v>>2]|0)-d+(c[F>>2]|0)|0)>>>0<2){Ub(l,2,22135,K)|0;break}if((a[d>>0]|0)==-1?(a[E+(m+1)>>0]|0)==-110:0){d=E+(m+2)|0;break}Ub(l,2,22177,L)|0}}while(0);c[v>>2]=(c[v>>2]|0)+((c[F>>2]|0)-d);c[F>>2]=d;c[g>>2]=1;c[j>>2]=(c[M>>2]|0)-h;h=1;i=N;return h|0}function hh(){return Pc(104)|0}function ih(a){a=a|0;if(!a)return;Uc(a);return}function jh(a){a=a|0;return(c[a+12>>2]|0)-(c[a+16>>2]|0)|0}function kh(b,d){b=b|0;d=d|0;var e=0,f=0;c[b+100>>2]=b+24;c[b+4>>2]=32768;c[b>>2]=0;f=d+-1|0;c[b+12>>2]=f;e=b+8|0;c[e>>2]=12;c[e>>2]=(a[f>>0]|0)==-1?13:12;c[b+16>>2]=d;return}function lh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=c[b+100>>2]|0;h=c[g>>2]|0;j=(c[h+4>>2]|0)==(d|0);f=c[h>>2]|0;k=b+4|0;d=(c[k>>2]|0)-f|0;c[k>>2]=d;if(!j){if(d>>>0>>0){j=(c[b>>2]|0)+f|0;c[b>>2]=j;f=d;d=j;j=b}else{c[k>>2]=f;d=c[b>>2]|0;j=b}c[g>>2]=c[h+12>>2];i=b+8|0;h=b+12|0;g=d;d=c[i>>2]|0;while(1){f=f<<1;c[k>>2]=f;e=g<<1;c[j>>2]=e;d=d+-1|0;c[i>>2]=d;if(!d){d=c[h>>2]|0;f=a[d>>0]|0;do{if(f<<24>>24!=-1){if(!(e&134217728)){e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>18;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}a[d>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){b=c[j>>2]&134217727;c[j>>2]=b;e=d+1|0;c[h>>2]=e;a[e>>0]=b>>>20;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[h>>2]=e;a[e>>0]=(c[j>>2]|0)>>>19;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}}else{e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>19;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7}}while(0);f=c[k>>2]|0}if(!(f&32768))g=e;else break}return}if(d&32768){c[b>>2]=(c[b>>2]|0)+f;return}if(d>>>0>>0){c[k>>2]=f;e=c[b>>2]|0;j=b}else{e=(c[b>>2]|0)+f|0;c[b>>2]=e;f=d;j=b}c[g>>2]=c[h+8>>2];i=b+8|0;h=b+12|0;g=e;d=c[i>>2]|0;while(1){f=f<<1;c[k>>2]=f;e=g<<1;c[j>>2]=e;d=d+-1|0;c[i>>2]=d;if(!d){d=c[h>>2]|0;f=a[d>>0]|0;do{if(f<<24>>24!=-1){if(!(e&134217728)){e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>18;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}a[d>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){b=c[j>>2]&134217727;c[j>>2]=b;e=d+1|0;c[h>>2]=e;a[e>>0]=b>>>20;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[h>>2]=e;a[e>>0]=(c[j>>2]|0)>>>19;e=c[j>>2]&524287;c[j>>2]=e;c[i>>2]=8;d=8;break}}else{e=d+1|0;c[h>>2]=e;a[e>>0]=g>>>19;e=c[j>>2]&1048575;c[j>>2]=e;c[i>>2]=7;d=7}}while(0);f=c[k>>2]|0}if(!(f&32768))g=e;else break}return}function mh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[b>>2]|0;f=h|65535;g=b+8|0;f=(f>>>0<((c[b+4>>2]|0)+h|0)>>>0?f:f+-32768|0)<>2];c[b>>2]=f;h=b+12|0;d=c[h>>2]|0;e=a[d>>0]|0;do{if(e<<24>>24!=-1){if(!(f&134217728)){d=d+1|0;c[h>>2]=d;a[d>>0]=f>>>19;d=c[b>>2]&524287;c[b>>2]=d;c[g>>2]=8;e=8;break}a[d>>0]=e+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){e=c[b>>2]&134217727;c[b>>2]=e;d=d+1|0;c[h>>2]=d;a[d>>0]=e>>>20;d=c[b>>2]&1048575;c[b>>2]=d;c[g>>2]=7;e=7;break}else{d=d+1|0;c[h>>2]=d;a[d>>0]=(c[b>>2]|0)>>>19;d=c[b>>2]&524287;c[b>>2]=d;c[g>>2]=8;e=8;break}}else{d=d+1|0;c[h>>2]=d;a[d>>0]=f>>>20;d=c[b>>2]&1048575;c[b>>2]=d;c[g>>2]=7;e=7}}while(0);d=d<>2]=d;e=c[h>>2]|0;f=a[e>>0]|0;do{if(f<<24>>24!=-1){if(!(d&134217728)){f=e+1|0;c[h>>2]=f;a[f>>0]=d>>>19;c[b>>2]=c[b>>2]&524287;c[g>>2]=8;break}a[e>>0]=f+1<<24>>24;d=c[h>>2]|0;if((a[d>>0]|0)==-1){e=c[b>>2]&134217727;c[b>>2]=e;f=d+1|0;c[h>>2]=f;a[f>>0]=e>>>20;c[b>>2]=c[b>>2]&1048575;c[g>>2]=7;break}else{f=d+1|0;c[h>>2]=f;a[f>>0]=(c[b>>2]|0)>>>19;c[b>>2]=c[b>>2]&524287;c[g>>2]=8;break}}else{f=e+1|0;c[h>>2]=f;a[f>>0]=d>>>20;c[b>>2]=c[b>>2]&1048575;c[g>>2]=7}}while(0);d=c[h>>2]|0;if((a[d>>0]|0)==-1)return;c[h>>2]=d+1;return}function nh(a){a=a|0;c[a>>2]=0;c[a+8>>2]=8;return}function oh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+8|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;d=(d<>2]|0)|0;c[b>>2]=d;if(f)return;f=b+12|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;a[g>>0]=d;c[e>>2]=8;c[e>>2]=(a[c[f>>2]>>0]|0)==-1?7:8;c[b>>2]=0;return}function ph(a){a=a|0;c[a+28>>2]=1156;c[a+32>>2]=1156;c[a+36>>2]=1156;c[a+40>>2]=1156;c[a+44>>2]=1156;c[a+48>>2]=1156;c[a+52>>2]=1156;c[a+56>>2]=1156;c[a+60>>2]=1156;c[a+64>>2]=1156;c[a+68>>2]=1156;c[a+72>>2]=1156;c[a+76>>2]=1156;c[a+80>>2]=1156;c[a+84>>2]=1156;c[a+88>>2]=1156;c[a+96>>2]=2628;c[a+92>>2]=1252;c[a+24>>2]=1284;return}function qh(a){a=a|0;c[a+24>>2]=1156;c[a+28>>2]=1156;c[a+32>>2]=1156;c[a+36>>2]=1156;c[a+40>>2]=1156;c[a+44>>2]=1156;c[a+48>>2]=1156;c[a+52>>2]=1156;c[a+56>>2]=1156;c[a+60>>2]=1156;c[a+64>>2]=1156;c[a+68>>2]=1156;c[a+72>>2]=1156;c[a+76>>2]=1156;c[a+80>>2]=1156;c[a+84>>2]=1156;c[a+88>>2]=1156;c[a+92>>2]=1156;c[a+96>>2]=1156;return}function rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+24+(b<<2)>>2]=1156+((e<<1)+d<<4);return}function sh(b){b=b|0;var d=0,e=0;c[b+100>>2]=b+24;c[b+4>>2]=32768;c[b>>2]=0;d=b+8|0;c[d>>2]=12;e=b+12|0;b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if((a[b>>0]|0)!=-1)return;c[d>>2]=13;return}function th(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=b+8|0;d=c[i>>2]|0;f=12-d|0;if((f|0)>0){g=b+12|0;e=c[b>>2]|0;do{d=e<>2]=d;c[i>>2]=0;e=c[g>>2]|0;h=a[e>>0]|0;do{if(h<<24>>24!=-1){if(!(d&134217728)){e=e+1|0;c[g>>2]=e;a[e>>0]=d>>>19;e=c[b>>2]&524287;c[b>>2]=e;c[i>>2]=8;d=8;break}a[e>>0]=h+1<<24>>24;d=c[g>>2]|0;if((a[d>>0]|0)==-1){h=c[b>>2]&134217727;c[b>>2]=h;e=d+1|0;c[g>>2]=e;a[e>>0]=h>>>20;e=c[b>>2]&1048575;c[b>>2]=e;c[i>>2]=7;d=7;break}else{e=d+1|0;c[g>>2]=e;a[e>>0]=(c[b>>2]|0)>>>19;e=c[b>>2]&524287;c[b>>2]=e;c[i>>2]=8;d=8;break}}else{e=e+1|0;c[g>>2]=e;a[e>>0]=d>>>20;e=c[b>>2]&1048575;c[b>>2]=e;c[i>>2]=7;d=7}}while(0);f=f-d|0}while((f|0)>0)}else g=b+12|0;d=c[g>>2]|0;e=a[d>>0]|0;if(e<<24>>24==-1)return;f=c[b>>2]|0;if(!(f&134217728)){h=d+1|0;c[g>>2]=h;a[h>>0]=f>>>19;c[b>>2]=c[b>>2]&524287;c[i>>2]=8;return}a[d>>0]=e+1<<24>>24;d=c[g>>2]|0;if((a[d>>0]|0)==-1){f=c[b>>2]&134217727;c[b>>2]=f;h=d+1|0;c[g>>2]=h;a[h>>0]=f>>>20;c[b>>2]=c[b>>2]&1048575;c[i>>2]=7;return}else{h=d+1|0;c[g>>2]=h;a[h>>0]=(c[b>>2]|0)>>>19;c[b>>2]=c[b>>2]&524287;c[i>>2]=8;return}}function uh(a){a=a|0;c[a+100>>2]=a+96;lh(a,1);lh(a,0);lh(a,1);lh(a,0);return}function vh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[b+100>>2]=b+24;c[b+16>>2]=e;c[b+20>>2]=e+f;h=b+12|0;c[h>>2]=e;do{if(f){i=d[e>>0]<<16;c[b>>2]=i;g=e+1|0;if((f|0)==1)f=255;else f=d[g>>0]|0;if((a[e>>0]|0)!=-1){c[h>>2]=g;g=i|f<<8;c[b>>2]=g;f=b+8|0;c[f>>2]=8;h=b;i=1;break}if(f>>>0>143){g=i|65280;c[b>>2]=g;f=b+8|0;c[f>>2]=8;h=b;i=1;break}else{c[h>>2]=g;g=i+(f<<9)|0;c[b>>2]=g;f=b+8|0;c[f>>2]=7;h=b;i=0;break}}else{c[b>>2]=16776960;f=b+8|0;c[f>>2]=8;g=16776960;h=b;i=1}}while(0);c[h>>2]=g<<7;c[f>>2]=i;c[b+4>>2]=32768;return 1}function wh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=c[b+100>>2]|0;g=c[f>>2]|0;j=c[g>>2]|0;n=b+4|0;i=(c[n>>2]|0)-j|0;c[n>>2]=i;h=c[b>>2]|0;if(h>>>16>>>0>>0){c[n>>2]=j;e=c[g+4>>2]|0;if(i>>>0>>0)c[f>>2]=c[g+8>>2];else{c[f>>2]=c[g+12>>2];e=1-e|0}k=b+8|0;l=b+12|0;m=b+20|0;g=c[k>>2]|0;f=h;do{do{if(!g){h=c[l>>2]|0;g=c[m>>2]|0;if((h|0)==(g|0)){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}i=h+1|0;if((i|0)==(g|0))g=255;else g=d[i>>0]|0;if((a[h>>0]|0)!=-1){c[l>>2]=i;f=f+(g<<8)|0;c[b>>2]=f;c[k>>2]=8;g=8;break}if(g>>>0>143){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}else{c[l>>2]=i;f=f+(g<<9)|0;c[b>>2]=f;c[k>>2]=7;g=7;break}}}while(0);j=j<<1;c[n>>2]=j;f=f<<1;c[b>>2]=f;g=g+-1|0;c[k>>2]=g}while(j>>>0<32768);return e|0}h=h-(j<<16)|0;c[b>>2]=h;if(i&32768){b=c[g+4>>2]|0;return b|0}e=c[g+4>>2]|0;if(j>>>0>i>>>0){c[f>>2]=c[g+12>>2];e=1-e|0}else c[f>>2]=c[g+8>>2];k=b+8|0;l=b+12|0;m=b+20|0;g=c[k>>2]|0;f=h;j=i;do{do{if(!g){h=c[l>>2]|0;g=c[m>>2]|0;if((h|0)==(g|0)){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}i=h+1|0;if((i|0)==(g|0))g=255;else g=d[i>>0]|0;if((a[h>>0]|0)!=-1){c[l>>2]=i;f=f+(g<<8)|0;c[b>>2]=f;c[k>>2]=8;g=8;break}if(g>>>0>143){f=f+65280|0;c[b>>2]=f;c[k>>2]=8;g=8;break}else{c[l>>2]=i;f=f+(g<<9)|0;c[b>>2]=f;c[k>>2]=7;g=7;break}}}while(0);j=j<<1;c[n>>2]=j;f=f<<1;c[b>>2]=f;g=g+-1|0;c[k>>2]=g}while(j>>>0<32768);return e|0}function xh(){return Pc(28)|0}function yh(a){a=a|0;if(!a)return;Uc(a);return}function zh(b,d,e){b=b|0;d=d|0;e=e|0;c[b+20>>2]=d;c[b+8>>2]=e;c[b+12>>2]=0;a[b>>0]=0;c[b+4>>2]=0;return}function Ah(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=b+4|0;d=c[g>>2]|0;do{if(!d){c[g>>2]=8;e=b+12|0;f=c[e>>2]|0;if((f|0)==(c[b+8>>2]|0)){a[b>>0]=-1;d=8;e=-1;break}if((a[b>>0]|0)==-1){c[g>>2]=7;d=7}else d=8;h=a[(c[b+20>>2]|0)+f>>0]|0;a[b>>0]=h;c[e>>2]=f+1;e=h}else e=a[b>>0]|0}while(0);h=d+-1|0;c[g>>2]=h;return(e&255)>>>h&1|0}function Bh(){var a=0;if(!(c[665]|0))a=2712;else a=c[(Ca()|0)+60>>2]|0;return a|0}function Ch(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[22198+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=22286;e=5;break}}if((e|0)==2)if(!c)b=22286;else{b=22286;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function Dh(a){a=a|0;if(a>>>0>4294963200){c[(Bh()|0)>>2]=0-a;a=-1}return a|0}function Eh(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Ti(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Eh(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return+a}function Fh(a,b){a=+a;b=b|0;return+ +Eh(a,b)}function Gh(a,b){a=+a;b=b|0;return+ +Jh(a,b)}function Hh(a){a=+a;return~~+Ih(a)|0}function Ih(a){a=+a;var b=0;b=(g[k>>2]=a,c[k>>2]|0);if((b&2130706432)>>>0<=1249902592){b=(b|0)<0;a=b?a+-8388608.0+8388608.0:a+8388608.0+-8388608.0;if(a==0.0)a=b?-0.0:0.0}return+a}function Jh(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=Ri(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return+(a*+h[k>>3])}function Kh(b,d,e){b=b|0;d=d|0;e=e|0;do{if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(Bh()|0)>>2]=84;b=-1;break}}else b=1}while(0);return b|0}function Lh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Kh(a,b,0)|0;return a|0}function Mh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(ri(24090,f<<24>>24,4)|0){e=Fi(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(ti(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(ti(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ra(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=ra(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;ra(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(Fa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=60;c[e+36>>2]=61;c[e+40>>2]=3;c[e+12>>2]=1;if(!(c[666]|0))c[e+76>>2]=-1;Ia(2688);f=c[671]|0;c[e+56>>2]=f;if(f)c[f+52>>2]=e;c[671]=e;Ga(2688)}}else{c[(Bh()|0)>>2]=22;e=0}i=o;return e|0}function Nh(b){b=b|0;var c=0,d=0,e=0;d=(ti(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(ti(b,120)|0)==0;d=e?d:d|128;b=(ti(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return(c<<24>>24==97?b|1024:b)|0}function Oh(a){a=a|0;return 0}function Ph(a){a=a|0;return}function Qh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Xh(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do{if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Ra[c[b+36>>2]&63](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}}while(0);i=m;return f|0}function Rh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=Dh(Ja(6,d|0)|0)|0;i=b;return a|0}function Sh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[665]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Dh(Na(145,h|0)|0)|0}else{ua(5,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Dh(Na(145,g|0)|0)|0;qa(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Dh(Ma(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[665]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Dh(Oa(146,n|0)|0)|0}else{ua(6,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Dh(Oa(146,m|0)|0)|0;qa(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Vh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=61;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Fa(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Uh(b,d,e)|0;i=g;return f|0}function Wh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Ra[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Xh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Yh(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ia(2688);d=c[a+52>>2]|0;b=a+56|0;if(d)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b)c[b+52>>2]=d;if((c[671]|0)==(a|0))c[671]=b;Ga(2688)}b=Zh(a)|0;b=Wa[c[a+12>>2]&15](a)|0|b;d=c[a+92>>2]|0;if(d)Gi(d);if(!e)Gi(a);return b|0}function Zh(a){a=a|0;var b=0,d=0;do{if(a){if((c[a+76>>2]|0)<=-1){b=zi(a)|0;break}d=(Oh(a)|0)==0;b=zi(a)|0;if(!d)Ph(a)}else{if(!(c[677]|0))b=0;else b=Zh(c[677]|0)|0;Ia(2688);a=c[671]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Oh(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=zi(a)|0|b;if(d)Ph(a);a=c[a+56>>2]|0}while((a|0)!=0);Ga(2688)}}while(0);return b|0}function _h(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(ri(24090,a[d>>0]|0,4)|0){h=Nh(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=Dh(Ka(5,e|0)|0)|0;if((e|0)>=0){b=Mh(e,d)|0;if(!b){c[f>>2]=e;Ja(6,f|0)|0;b=0}}else b=0}else{c[(Bh()|0)>>2]=22;b=0}i=g;return b|0}function $h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=oi(a,b,f)|0;i=e;return d|0}function ai(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Oh(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=Qh(d,b)|0;Ph(d)}else i=3;do{if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=Qh(d,b)|0}}while(0);return e|0}function bi(a,b){a=a|0;b=b|0;return(ki(a,wi(a)|0,1,b)|0)+-1|0}function ci(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Oh(f)|0;else k=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:j;Ui(b|0,h|0,i|0)|0;c[g>>2]=h+i;b=b+i|0;g=j-i|0}else g=j;a:do{if(!g)l=13;else{i=f+32|0;h=g;while(1){if(Wh(f)|0){e=h;break}g=Ra[c[i>>2]&63](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k)Ph(f);e=((j-e|0)>>>0)/(d>>>0)|0}}while(0);if((l|0)==13)if(k)Ph(f);return e|0}function di(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;f=a+20|0;e=a+28|0;if((c[f>>2]|0)>>>0>(c[e>>2]|0)>>>0?(Ra[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[e>>2]=0;c[f>>2]=0;if((Ra[c[a+40>>2]&63](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Oh(a)|0)==0;b=di(a,b,d)|0;if(!e)Ph(a)}else b=di(a,b,d)|0;return b|0}function fi(a,b,c){a=a|0;b=b|0;c=c|0;return ei(a,b,c)|0}function gi(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Ra[c[a+40>>2]&63](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function hi(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Oh(a)|0)==0;a=gi(a)|0}else a=gi(a)|0;return a|0}function ii(a){a=a|0;return hi(a)|0}function ji(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Xh(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do{if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Ra[c[e+36>>2]&63](e,b,d)|0;break}b:do{if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Ra[c[e+36>>2]&63](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}}while(0);Ui(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}}while(0);return f|0}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=_(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Oh(e)|0)==0;a=ji(a,f,e)|0;if(!g)Ph(e)}else a=ji(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function li(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=oi(c[676]|0,a,e)|0;i=d;return b|0}function mi(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[676]|0;if((c[f+76>>2]|0)>-1)g=Oh(f)|0;else g=0;do{if((bi(b,f)|0)<0)d=1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;d=0;break}d=(Qh(f,10)|0)<0}}while(0);if(g)Ph(f);return d<<31>>31|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=qi(a,b,f)|0;i=e;return d|0}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=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;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((Ai(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Oh(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=Ai(b,d,o,q,r)|0;if(h){Ra[c[b+36>>2]&63](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=Ai(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Ph(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function pi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=2716;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Bh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=oi(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function qi(a,b,c){a=a|0;b=b|0;c=c|0;return pi(a,2147483647,b,c)|0}function ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do{if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5}while(0);if((i|0)==5)if(f)i=6;else e=0;b:do{if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=_(h,16843009)|0;c:do{if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11}while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}}while(0);return((e|0)!=0?b:0)|0}function si(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do{if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8}while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ti(b,c){b=b|0;c=c|0;b=ui(b,c)|0;return((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function ui(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do{if(!f)b=b+(wi(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=_(f,16843009)|0;e=c[b>>2]|0;b:do{if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009)break b;b=b+4|0;e=c[b>>2]|0}while(((e&-2139062144^-2139062144)&e+-16843009|0)==0)}while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}}while(0);return b|0}function vi(a,b){a=a|0;b=b|0;si(a,b)|0;return a|0}function wi(b){b=b|0;var d=0,e=0,f=0;f=b;a:do{if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do{b=b+1|0}while((a[b>>0]|0)!=0)}return b-f|0}function xi(a){a=a|0;if(!(c[a+68>>2]|0))Ph(a);return}function yi(a){a=a|0;if(!(c[a+68>>2]|0))Ph(a);return}function zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ra[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ra[c[a+40>>2]&63](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Ai(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;$=X;aa=$-Z|0;O=-2-Z|0;P=$+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do{if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(Bh()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do{if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)ji(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do{if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}}while(0);do{if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}}while(0);e:do{if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1}while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[25126+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do{if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Ci(ba,s,g)}}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do{switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=Ti(o|0,p|0,3)|0;p=C}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=25606;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=25606;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=Oi(0,0,n|0,o|0)|0;o=C;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=25606;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?25606:25608;L=76}else{p=1;s=25607;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=25606;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=25606;n=N;break}case 109:{n=Ch(c[(Bh()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:25616;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){Ei(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?25624:25629}else{G=1;H=25626}else{q=-q;G=1;H=25623}h[k>>3]=q;F=c[k+4>>2]&2146435072;do{if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+Fh(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;D=u|32;if((D|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do{if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v}while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Di(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[25590+H>>0]|w;q=(q-+(H|0))*16.0;do{if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;Ei(e,32,K,p,I);if(!(c[e>>2]&32))ji(y,x,e)|0;Ei(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))ji(da,n,e)|0;o=$-t|0;Ei(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))ji(t,o,e)|0;Ei(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do{if(r>>>0>>0)r=s;else{o=0;do{B=Ri(c[r>>2]|0,0,t|0)|0;B=Si(B|0,C|0,o|0,0)|0;o=C;A=$i(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=_i(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(D|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do{if(w>>>0

    >>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=_(B&o,s)|0;t=t+4|0}while(t>>>0

    >>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w}while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do{if(w>>>0

    >>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0}while(0);A=(D|0)==103;B=(n|0)!=0;r=n-((D|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do{if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do{if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}}while(0);do{if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}D=t+s|0;c[r>>2]=D;if(D>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}D=(c[s>>2]|0)+1|0;c[s>>2]=D;if(D>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}}while(0);D=r+4|0;w=s;p=p>>>0>D>>>0?D:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;D=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;D=p;break}}do{if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do{if(z){p=c[D+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9}while(0);p=((D-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8}while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Di(r,((r|0)<0)<<31>>31,X)|0;if(($-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while(($-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=$-E|0;u=E}y=G+1+n+s+o|0;Ei(e,32,K,y,I);if(!(c[e>>2]&32))ji(H,G,e)|0;Ei(e,48,K,y,I^65536);do{if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Di(c[o>>2]|0,0,R)|0;do{if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}}while(0);if(!(c[e>>2]&32))ji(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do{if(x){if(c[e>>2]&32)break;ji(25658,1,e)|0}}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Di(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))ji(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}Ei(e,48,n+9|0,9,0)}else{t=z?D:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Di(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do{if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))ji(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}ji(25658,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}}while(0);p=S-o|0;if(!(c[e>>2]&32))ji(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}Ei(e,48,n+18|0,18,0);if(c[e>>2]&32)break;ji(u,$-u|0,e)|0}}while(0);Ei(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Ei(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){ji(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))ji(s?t?25650:25654:t?25642:25646,3,e)|0;Ei(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=25606;n=N}}}while(0);g:do{if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[25590+(o&15)>>0]|s;o=Ti(o|0,p|0,4)|0;p=C}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=25606;L=77}else{o=t;t=2;s=25606+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=25606;L=77}}else if((L|0)==76){n=Di(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=ri(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=25606;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Lh(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}Ei(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Lh(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))ji(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}}while(0);if((L|0)==98){L=0;Ei(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;Ei(e,32,n,r,p);if(!(c[e>>2]&32))ji(u,t,e)|0;Ei(e,48,n,r,p^65536);Ei(e,48,o,s,0);if(!(c[e>>2]&32))ji(w,s,e)|0;Ei(e,32,n,r,p^8192);w=J}h:do{if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Ci(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0}while(0);i=ha;return m|0}function Bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;Ui(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Ci(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do{if(b>>>0<=20)do{switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}}while(0)}while(0);return}function Di(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=$i(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=_i(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=C}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function Ei(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do{if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;Qi(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){ji(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;ji(h,f,a)|0}}while(0);i=j;return}function Fi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do{if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[735]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=2980+(e<<2)|0;e=2980+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do{if((d|0)!=(h|0)){if(h>>>0<(c[739]|0)>>>0)ta();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else ta()}else c[735]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[737]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=2980+(e<<2)|0;e=2980+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do{if((d|0)!=(f|0)){if(f>>>0<(c[739]|0)>>>0)ta();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[737]|0;break}else ta()}else{c[735]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[740]|0;d=k>>>3;b=d<<1;e=2980+(b<<2)|0;a=c[735]|0;d=1<>2]|0;if(b>>>0<(c[739]|0)>>>0)ta();else{l=a;m=b}}else{c[735]=a|d;l=2980+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[737]=h;c[740]=i;M=j;return M|0}a=c[736]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[3244+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[739]|0;if(e>>>0>>0)ta();i=e+o|0;if(e>>>0>=i>>>0)ta();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do{if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)ta();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)ta();b=f+12|0;if((c[b>>2]|0)!=(e|0))ta();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else ta()}}while(0);do{if(h){b=c[e+28>>2]|0;a=3244+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[739]|0;if(n>>>0>>0)ta();c[n+24>>2]=h;b=c[e+16>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[n+16>>2]=b;c[b+24>>2]=n;break}}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[737]|0;if(b){g=c[740]|0;d=b>>>3;b=d<<1;f=2980+(b<<2)|0;a=c[735]|0;d=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{p=b;q=a}}else{c[735]=a|d;p=2980+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[737]=j;c[740]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[736]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[3244+(k<<2)>>2]|0;a:do{if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[3244+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[737]|0)-m|0)>>>0:0){f=c[739]|0;if(j>>>0>>0)ta();h=j+m|0;if(j>>>0>=h>>>0)ta();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do{if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)ta();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)ta();b=e+12|0;if((c[b>>2]|0)!=(j|0))ta();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else ta()}}while(0);do{if(g){b=c[j+28>>2]|0;a=3244+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[739]|0;if(o>>>0>>0)ta();c[o+24>>2]=g;b=c[j+16>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[o+16>>2]=b;c[b+24>>2]=o;break}}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}}while(0);b:do{if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{s=b;t=a}}else{c[735]=d|b;s=2980+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=3244+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[736]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do{if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b}while(0);b=y+8|0;a=c[b>>2]|0;M=c[739]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else ta()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1}while(0);d=c[737]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[740]|0;if(b>>>0>15){c[740]=a+q;c[737]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[737]=0;c[740]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[738]|0;if(a>>>0>q>>>0){L=a-q|0;c[738]=L;M=c[741]|0;c[741]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do{if(!(c[853]|0)){a=za(30)|0;if(!(a+-1&a)){c[855]=a;c[854]=a;c[856]=-1;c[857]=-1;c[858]=0;c[846]=0;c[853]=(La(0)|0)&-16^1431655768;break}else ta()}}while(0);j=q+48|0;i=c[855]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[845]|0;if((a|0)!=0?(t=c[843]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do{if(!(c[846]&4)){a=c[741]|0;e:do{if(a){f=3388;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[738]|0)&i;if(d>>>0<2147483647){f=xa(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174}while(0);do{if((v|0)==174){g=xa(0)|0;if((g|0)!=(-1|0)){a=g;d=c[854]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[843]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[845]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=xa(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}}while(0);f:do{if((v|0)==184){g=0-d|0;do{if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[855]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((xa(u|0)|0)==(-1|0)){xa(g|0)|0;break f}else{d=u+d|0;break}}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}}while(0);c[846]=c[846]|4;v=191}else{a=0;v=191}}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=xa(l|0)|0,x=xa(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[843]|0)+p|0;c[843]=a;if(a>>>0>(c[844]|0)>>>0)c[844]=a;h=c[741]|0;g:do{if(h){g=3388;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[738]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[741]=h+L;c[738]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[742]=c[857];break}a=c[739]|0;if(w>>>0>>0){c[739]=w;a=w}d=w+p|0;g=3388;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=3388;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do{if((b|0)!=(h|0)){if((b|0)==(c[740]|0)){M=(c[737]|0)+l|0;c[737]=M;c[740]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do{if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do{if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)ta();a=f+12|0;if((c[a>>2]|0)!=(b|0))ta();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else ta()}}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=3244+(a<<2)|0;do{if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[739]|0)>>>0)ta();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[736]=c[736]&~(1<>>0>>0)ta();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do{if(a)if(a>>>0>>0)ta();else{c[J+16>>2]=a;c[a+24>>2]=J;break}}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[739]|0)>>>0)ta();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=2980+(g<<1<<2)|0;do{if((e|0)!=(d|0)){if(e>>>0>>0)ta();if((c[e+12>>2]|0)==(b|0))break;ta()}}while(0);if((f|0)==(e|0)){c[735]=c[735]&~(1<>>0>>0)ta();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}ta()}}while(0);c[e+12>>2]=f;c[F>>2]=e}}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0>=(c[739]|0)>>>0){K=b;L=a;break}ta()}}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do{if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}}while(0);b=3244+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[736]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do{if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b}while(0);b=M+8|0;a=c[b>>2]|0;L=c[739]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else ta()}else{M=(c[738]|0)+l|0;c[738]=M;c[741]=o;c[w+(m+4)>>2]=M|1}}while(0);M=w+(n|8)|0;return M|0}else d=3388;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[741]=w+d;c[738]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[742]=c[857];d=a+4|0;c[d>>2]=27;c[b>>2]=c[847];c[b+4>>2]=c[848];c[b+8>>2]=c[849];c[b+12>>2]=c[850];c[847]=w;c[848]=p;c[850]=0;c[849]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=2980+(a<<2)|0;d=c[735]|0;b=1<>2]|0;if(a>>>0<(c[739]|0)>>>0)ta();else{G=b;H=a}}else{c[735]=d|b;G=2980+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=3244+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[736]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do{if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[739]|0)>>>0)ta();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b}while(0);b=I+8|0;a=c[b>>2]|0;M=c[739]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else ta()}}else{M=c[739]|0;if((M|0)==0|w>>>0>>0)c[739]=w;c[847]=w;c[848]=p;c[850]=0;c[744]=c[853];c[743]=-1;b=0;do{M=b<<1;L=2980+(M<<2)|0;c[2980+(M+3<<2)>>2]=L;c[2980+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[741]=w+M;c[738]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[742]=c[857]}}while(0);b=c[738]|0;if(b>>>0>q>>>0){L=b-q|0;c[738]=L;M=c[741]|0;c[741]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(Bh()|0)>>2]=12;M=0;return M|0}function Gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[739]|0;if(b>>>0>>0)ta();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)ta();o=d&-8;q=a+(o+-8)|0;do{if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)ta();if((l|0)==(c[740]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[737]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=2980+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)ta();if((c[e+12>>2]|0)!=(l|0))ta()}if((d|0)==(e|0)){c[735]=c[735]&~(1<>>0>>0)ta();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else ta()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do{if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)ta();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)ta();b=f+12|0;if((c[b>>2]|0)!=(l|0))ta();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else ta()}}while(0);if(h){b=c[a+(j+28)>>2]|0;d=3244+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[739]|0;if(k>>>0>>0)ta();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[k+16>>2]=b;c[b+24>>2]=k;break}}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}}while(0);if(u>>>0>=q>>>0)ta();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))ta();if(!(d&2)){if((q|0)==(c[741]|0)){t=(c[738]|0)+g|0;c[738]=t;c[741]=u;c[u+4>>2]=t|1;if((u|0)!=(c[740]|0))return;c[740]=0;c[737]=0;return}if((q|0)==(c[740]|0)){t=(c[737]|0)+g|0;c[737]=t;c[740]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do{if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do{if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[739]|0)>>>0)ta();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[739]|0)>>>0)ta();e=d+12|0;if((c[e>>2]|0)!=(q|0))ta();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else ta()}}while(0);if(h){b=c[a+(o+20)>>2]|0;d=3244+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[739]|0;if(p>>>0>>0)ta();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do{if(b)if(b>>>0>>0)ta();else{c[p+16>>2]=b;c[b+24>>2]=p;break}}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[739]|0)>>>0)ta();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=2980+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[739]|0)>>>0)ta();if((c[e+12>>2]|0)!=(q|0))ta()}if((d|0)==(e|0)){c[735]=c[735]&~(1<>>0<(c[739]|0)>>>0)ta();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else ta()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[740]|0)){c[737]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=2980+(d<<2)|0;e=c[735]|0;b=1<>2]|0;if(d>>>0<(c[739]|0)>>>0)ta();else{r=b;s=d}}else{c[735]=e|b;r=2980+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=3244+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[736]|0;e=1<>2]|0;b:do{if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[739]|0)>>>0)ta();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b}while(0);b=t+8|0;d=c[b>>2]|0;s=c[739]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else ta()}else{c[736]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}}while(0);u=(c[743]|0)+-1|0;c[743]=u;if(!u)b=3396;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[743]=-1;return}function Hi(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Fi(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;Qi(b|0,0,d|0)|0;return b|0}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Fi(b)|0;return a|0}if(b>>>0>4294967231){c[(Bh()|0)>>2]=12;a=0;return a|0}d=Ki(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Fi(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;Ui(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Gi(a);a=d;return a|0}function Ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do{if((b|0)!=8){e=b>>>2;if((b&3|0)!=0|(e|0)==0){a=22;return a|0}if(e+1073741823&e){a=22;return a|0}if((-64-b|0)>>>0>>0){a=12;return a|0}else{e=Li(b>>>0<16?16:b,d)|0;break}}else e=Fi(d)|0}while(0);if(!e){a=12;return a|0}c[a>>2]=e;a=0;return a|0}function Ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[739]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))ta();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))ta();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[855]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Mi(a+b|0,d);return a|0}if((l|0)==(c[741]|0)){d=(c[738]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[741]=a+b;c[738]=n;return a|0}if((l|0)==(c[740]|0)){e=(c[737]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[737]=d;c[740]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do{if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do{if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)ta();d=f+12|0;if((c[d>>2]|0)!=(l|0))ta();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else ta()}}while(0);if(h){d=c[a+(j+28)>>2]|0;e=3244+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[739]|0;if(k>>>0>>0)ta();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do{if(d)if(d>>>0>>0)ta();else{c[k+16>>2]=d;c[d+24>>2]=k;break}}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(l|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else ta()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Mi(a+b|0,n);return a|0}return 0}function Li(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0<16?16:a;if(a+-1&a){d=16;while(1)if(d>>>0>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(Bh()|0)>>2]=12;i=0;return i|0}h=b>>>0<11?16:b+11&-8;e=Fi(h+12+a|0)|0;if(!e){i=0;return i|0}b=e+-8|0;d=a+-1|0;do{if(e&d){f=e+d&0-a;d=f+-8|0;g=b;f=(d-g|0)>>>0>15?d:f+(a+-8)|0;g=f-g|0;a=e+-4|0;e=c[a>>2]|0;d=(e&-8)-g|0;if(!(e&3)){c[f>>2]=(c[b>>2]|0)+g;c[f+4>>2]=d;b=f;break}else{e=f+4|0;c[e>>2]=d|c[e>>2]&1|2;d=f+(d+4)|0;c[d>>2]=c[d>>2]|1;c[a>>2]=g|c[a>>2]&1|2;c[e>>2]=c[e>>2]|1;Mi(b,g);b=f;break}}}while(0);a=b+4|0;d=c[a>>2]|0;if((d&3|0)!=0?(i=d&-8,i>>>0>(h+16|0)>>>0):0){g=i-h|0;c[a>>2]=h|d&1|2;c[b+(h|4)>>2]=g|3;i=b+(i|4)|0;c[i>>2]=c[i>>2]|1;Mi(b+h|0,g)}i=b+8|0;return i|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do{if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[739]|0;if(n>>>0>>0)ta();if((n|0)==(c[740]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[737]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(n|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else ta()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do{if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)ta();d=g+12|0;if((c[d>>2]|0)!=(n|0))ta();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else ta()}}while(0);if(i){d=c[a+(28-k)>>2]|0;e=3244+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[739]|0;if(l>>>0>>0)ta();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do{if(e)if(e>>>0>>0)ta();else{c[l+16>>2]=e;c[e+24>>2]=l;break}}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}}while(0);j=c[739]|0;if(q>>>0>>0)ta();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[741]|0)){s=(c[738]|0)+h|0;c[738]=s;c[741]=t;c[t+4>>2]=s|1;if((t|0)!=(c[740]|0))return;c[740]=0;c[737]=0;return}if((q|0)==(c[740]|0)){s=(c[737]|0)+h|0;c[737]=s;c[740]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do{if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do{if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)ta();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)ta();d=g+12|0;if((c[d>>2]|0)!=(q|0))ta();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else ta()}}while(0);if(i){d=c[a+(b+28)>>2]|0;e=3244+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[736]=c[736]&~(1<>>0<(c[739]|0)>>>0)ta();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[739]|0;if(p>>>0>>0)ta();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do{if(d)if(d>>>0>>0)ta();else{c[p+16>>2]=d;c[d+24>>2]=p;break}}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[739]|0)>>>0)ta();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=2980+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)ta();if((c[f+12>>2]|0)!=(q|0))ta()}if((e|0)==(f|0)){c[735]=c[735]&~(1<>>0>>0)ta();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else ta()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[740]|0)){c[737]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=2980+(e<<2)|0;f=c[735]|0;d=1<>2]|0;if(e>>>0<(c[739]|0)>>>0)ta();else{r=d;s=e}}else{c[735]=f|d;r=2980+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=3244+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[736]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do{if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[739]|0)>>>0)ta();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}}while(0);e=d+8|0;f=c[e>>2]|0;s=c[739]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))ta();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function Ni(){}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return(C=d,a-c>>>0|0)|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<>c-32|0}function Qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>>0;return(C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Ui(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return ya(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Vi(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)>>0]|0)+24|0}function Wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return(C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Oi(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return Oi((aj(h,g,Oi(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function Yi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=Oi(h^a,g^b,h,g)|0;b=C;aj(a,b,Oi(l^d,k^e,l,k)|0,C,j)|0;e=Oi(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return(C=d,e)|0}function Zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=Wi(e,f)|0;a=C;return(C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function _i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return aj(a,b,c,d,0)|0}function $i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;aj(a,b,d,e,f)|0;i=g;return(C=c[f+4>>2]|0,c[f>>2]|0)|0}function aj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return(C=n,f)|0}else{if(!g){n=0;f=0;return(C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return(C=n,f)|0}}g=(i|0)==0;do{if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return(C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return(C=o,p)|0}else{p=Vi(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return(C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return(C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return(C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Vi(i|0)|0)>>>0);return(C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return(C=o,p)|0}}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Si(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Oi(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Oi(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return(C=o,p)|0}function bj(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Qa[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function cj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ra[a&63](b|0,c|0,d|0)|0}function dj(a,b){a=a|0;b=b|0;return+Sa[a&3](b|0)}function ej(a,b){a=a|0;b=b|0;Ta[a&7](b|0)}function fj(a,b,c){a=a|0;b=b|0;c=c|0;Ua[a&7](b|0,c|0)}function gj(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 Va[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function hj(a,b){a=a|0;b=b|0;return Wa[a&15](b|0)|0}function ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Xa[a&15](b|0,c|0,d|0)}function jj(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;return Ya[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)|0}function kj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Za[a&63](b|0,c|0,d|0,e|0)|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return _a[a&7](b|0,c|0)|0}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;return $a[a&3](b|0,c|0,d|0,e|0,f|0)|0}function nj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ab[a&3](b|0,c|0,d|0,e|0)}function oj(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;ba(0);return 0}function pj(a,b,c){a=a|0;b=b|0;c=c|0;ba(1);return 0}function qj(a){a=a|0;ba(2);return 0.0}function rj(a){a=a|0;ba(3)}function sj(a,b){a=a|0;b=b|0;ba(4)}function tj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(5);return 0}function uj(a){a=a|0;ba(6);return 0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;ba(7)}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;ba(8);return 0}function xj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(9);return 0}function yj(a,b){a=a|0;b=b|0;ba(10);return 0}function zj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function Aj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)}var Qa=[oj,ed,We,oj];var Ra=[pj,Bi,Vh,Th,Ab,Bb,Cb,Db,Hc,Ic,Kc,$c,nd,Oe,af,od,pd,Ne,Pe,Lc,Mc,Nc,Oc,td,ud,vd,wd,yd,zd,Bd,Cd,Dd,Ed,Fd,Gd,Hd,Id,Jd,Kd,Ld,Md,Nd,Od,Pd,Qd,Rd,Sd,Td,Ud,Vd,Wd,Xd,ef,ff,gf,hf,jf,kf,lf,mf,Sh,Uh,pj,pj];var Sa=[qj,Yd,Zd,qj];var Ta=[rj,Yc,Ve,gg,hg,xi,yi,rj];var Ua=[sj,mb,nb,ob,Wb,Wc,Le,sj];var Va=[tj,dd,Ue,rd,Te,tj,tj,tj];var Wa=[uj,Rh,jd,kd,$e,_e,Yh,Kg,Hg,uj,uj,uj,uj,uj,uj,uj];var Xa=[vj,Ge,He,Ie,Je,Ae,Be,Ce,De,we,xe,ye,ze,gd,Ze,vj];var Ya=[wj,cd,Se,wj];var Za=[xj,de,ee,fe,ge,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,xf,yf,zf,rf,sf,tf,uf,vf,wf,wb,xb,yb,zb,ld,ad,Ke,Re,qd,Zc,Qe,Me,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj,xj];var _a=[yj,Jc,nf,of,pf,qf,yj,yj];var $a=[zj,md,Xe,zj];var ab=[Aj,Og,Rg,Aj];return{_opj_stream_destroy:Fb,_opj_stream_set_read_function:Gb,_opj_read_tile_header:mc,_opj_set_warning_handler:cc,_opj_destroy_cstr_info:Cc,_opj_image_create:Yb,_opj_set_error_handler:dc,_opj_stream_set_user_data:Kb,_opj_end_decompress:wc,_bitshift64Lshr:Ti,_opj_stream_set_seek_function:Hb,_opj_decode:kc,_opj_set_decoded_resolution_factor:pc,_i64Add:Si,_opj_stream_create_default_file_stream:Fc,_opj_set_default_decoder_parameters:hc,_bitshift64Ashr:Pi,_opj_get_decoded_tile:oc,_memset:Qi,_opj_version:fc,_memcpy:Ui,_opj_destroy_cstr_index:Ec,_opj_stream_set_user_data_length:Lb,_opj_stream_set_skip_function:Jb,_opj_image_destroy:Zb,_opj_stream_create_file_stream:Gc,_opj_setup_encoder:sc,_opj_stream_default_create:Eb,_bitshift64Shl:Ri,_opj_stream_create:vb,_jp2_version:lb,_i64Subtract:Oi,_opj_get_cstr_index:Dc,_opj_encode:uc,_opj_read_header:jc,_opj_get_cstr_info:Bc,_opj_set_default_encoder_parameters:rc,_opj_set_decode_area:lc,_opj_stream_set_write_function:Ib,_opj_dump_codec:Ac,_opj_create_decompress:gc,_opj_decode_tile_data:nc,_free:Gi,_opj_image_tile_create:ac,_opj_set_MCT:xc,_opj_set_info_handler:bc,_opj_start_compress:tc,_opj_write_tile:yc,_opj_setup_decoder:ic,_malloc:Fi,_opj_end_compress:vc,_opj_destroy_codec:zc,_jp2_decode:kb,_opj_stream_create_buffer_stream:ec,_opj_create_compress:qc,runPostSets:Ni,stackAlloc:bb,stackSave:cb,stackRestore:db,establishStackSpace:eb,setThrew:fb,setTempRet0:ib,getTempRet0:jb,dynCall_iiiiiiii:bj,dynCall_iiii:cj,dynCall_di:dj,dynCall_vi:ej,dynCall_vii:fj,dynCall_iiiiiii:gj,dynCall_ii:hj,dynCall_viii:ij,dynCall_iiiiiiiiiiii:jj,dynCall_iiiii:kj,dynCall_iii:lj,dynCall_iiiiii:mj,dynCall_viiii:nj}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _opj_stream_destroy=Module["_opj_stream_destroy"]=asm["_opj_stream_destroy"];var _opj_stream_set_read_function=Module["_opj_stream_set_read_function"]=asm["_opj_stream_set_read_function"];var _opj_read_tile_header=Module["_opj_read_tile_header"]=asm["_opj_read_tile_header"];var _opj_set_warning_handler=Module["_opj_set_warning_handler"]=asm["_opj_set_warning_handler"];var _opj_destroy_cstr_info=Module["_opj_destroy_cstr_info"]=asm["_opj_destroy_cstr_info"];var _opj_image_create=Module["_opj_image_create"]=asm["_opj_image_create"];var _opj_set_error_handler=Module["_opj_set_error_handler"]=asm["_opj_set_error_handler"];var _opj_image_tile_create=Module["_opj_image_tile_create"]=asm["_opj_image_tile_create"];var _opj_end_decompress=Module["_opj_end_decompress"]=asm["_opj_end_decompress"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _opj_stream_set_seek_function=Module["_opj_stream_set_seek_function"]=asm["_opj_stream_set_seek_function"];var _opj_decode=Module["_opj_decode"]=asm["_opj_decode"];var _opj_set_decoded_resolution_factor=Module["_opj_set_decoded_resolution_factor"]=asm["_opj_set_decoded_resolution_factor"];var _opj_stream_create_default_file_stream=Module["_opj_stream_create_default_file_stream"]=asm["_opj_stream_create_default_file_stream"];var _opj_encode=Module["_opj_encode"]=asm["_opj_encode"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _opj_get_decoded_tile=Module["_opj_get_decoded_tile"]=asm["_opj_get_decoded_tile"];var _memset=Module["_memset"]=asm["_memset"];var _opj_version=Module["_opj_version"]=asm["_opj_version"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _opj_destroy_cstr_index=Module["_opj_destroy_cstr_index"]=asm["_opj_destroy_cstr_index"];var _opj_stream_set_user_data_length=Module["_opj_stream_set_user_data_length"]=asm["_opj_stream_set_user_data_length"];var _opj_stream_set_skip_function=Module["_opj_stream_set_skip_function"]=asm["_opj_stream_set_skip_function"];var _opj_image_destroy=Module["_opj_image_destroy"]=asm["_opj_image_destroy"];var _opj_stream_create_file_stream=Module["_opj_stream_create_file_stream"]=asm["_opj_stream_create_file_stream"];var _opj_setup_encoder=Module["_opj_setup_encoder"]=asm["_opj_setup_encoder"];var _opj_stream_default_create=Module["_opj_stream_default_create"]=asm["_opj_stream_default_create"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _opj_stream_create=Module["_opj_stream_create"]=asm["_opj_stream_create"];var _jp2_version=Module["_jp2_version"]=asm["_jp2_version"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _opj_get_cstr_index=Module["_opj_get_cstr_index"]=asm["_opj_get_cstr_index"];var _opj_set_default_decoder_parameters=Module["_opj_set_default_decoder_parameters"]=asm["_opj_set_default_decoder_parameters"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _opj_get_cstr_info=Module["_opj_get_cstr_info"]=asm["_opj_get_cstr_info"];var _opj_set_default_encoder_parameters=Module["_opj_set_default_encoder_parameters"]=asm["_opj_set_default_encoder_parameters"];var _opj_set_decode_area=Module["_opj_set_decode_area"]=asm["_opj_set_decode_area"];var _opj_stream_set_write_function=Module["_opj_stream_set_write_function"]=asm["_opj_stream_set_write_function"];var _opj_dump_codec=Module["_opj_dump_codec"]=asm["_opj_dump_codec"];var _opj_read_header=Module["_opj_read_header"]=asm["_opj_read_header"];var _opj_create_decompress=Module["_opj_create_decompress"]=asm["_opj_create_decompress"];var _opj_decode_tile_data=Module["_opj_decode_tile_data"]=asm["_opj_decode_tile_data"];var _opj_set_info_handler=Module["_opj_set_info_handler"]=asm["_opj_set_info_handler"];var _opj_stream_set_user_data=Module["_opj_stream_set_user_data"]=asm["_opj_stream_set_user_data"];var _opj_set_MCT=Module["_opj_set_MCT"]=asm["_opj_set_MCT"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _opj_start_compress=Module["_opj_start_compress"]=asm["_opj_start_compress"];var _opj_write_tile=Module["_opj_write_tile"]=asm["_opj_write_tile"];var _opj_setup_decoder=Module["_opj_setup_decoder"]=asm["_opj_setup_decoder"];var _malloc=Module["_malloc"]=asm["_malloc"];var _opj_end_compress=Module["_opj_end_compress"]=asm["_opj_end_compress"];var _opj_destroy_codec=Module["_opj_destroy_codec"]=asm["_opj_destroy_codec"];var _jp2_decode=Module["_jp2_decode"]=asm["_jp2_decode"];var _opj_stream_create_buffer_stream=Module["_opj_stream_create_buffer_stream"]=asm["_opj_stream_create_buffer_stream"];var _opj_create_compress=Module["_opj_create_compress"]=asm["_opj_create_compress"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=asm["dynCall_iiiiiiiiiiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",function(){process["exit"](status)});console.log(" ");setTimeout(function(){process["exit"](status)},500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach(function(decorator){output=decorator(output,what)})}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run();return Module};!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.pako=t()}}(function(){return function t(e,a,i){function n(s,o){if(!a[s]){if(!e[s]){var l="function"==typeof require&&require;if(!o&&l)return l(s,!0);if(r)return r(s,!0);var h=new Error("Cannot find module '"+s+"'");throw h.code="MODULE_NOT_FOUND",h}var d=a[s]={exports:{}};e[s][0].call(d.exports,function(t){var a=e[s][1][t];return n(a?a:t)},d,d.exports,t,e,a,i)}return a[s].exports}for(var r="function"==typeof require&&require,s=0;s0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new d,this.strm.avail_out=0;var a=s.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==c)throw new Error(h[a]);e.header&&s.deflateSetHeader(this.strm,e.header)};v.prototype.push=function(t,e){var a,i,n=this.strm,r=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:e===!0?u:_,"string"==typeof t?n.input=l.string2buf(t):"[object ArrayBuffer]"===f.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new o.Buf8(r),n.next_out=0,n.avail_out=r),a=s.deflate(n,i),a!==b&&a!==c)return this.onEnd(a),this.ended=!0,!1;(0===n.avail_out||0===n.avail_in&&(i===u||i===g))&&this.onData("string"===this.options.to?l.buf2binstring(o.shrinkBuf(n.output,n.next_out)):o.shrinkBuf(n.output,n.next_out))}while((n.avail_in>0||0===n.avail_out)&&a!==b);return i===u?(a=s.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===c):i===g?(this.onEnd(c),n.avail_out=0,!0):!0},v.prototype.onData=function(t){this.chunks.push(t)},v.prototype.onEnd=function(t){t===c&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Deflate=v,a.deflate=i,a.deflateRaw=n,a.gzip=r},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate.js":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(t,e,a){"use strict";function i(t,e){var a=new u(e);if(a.push(t,!0),a.err)throw a.msg;return a.result}function n(t,e){return e=e||{},e.raw=!0,i(t,e)}var r=t("./zlib/inflate.js"),s=t("./utils/common"),o=t("./utils/strings"),l=t("./zlib/constants"),h=t("./zlib/messages"),d=t("./zlib/zstream"),f=t("./zlib/gzheader"),_=Object.prototype.toString,u=function(t){this.options=s.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new d,this.strm.avail_out=0;var a=r.inflateInit2(this.strm,e.windowBits);if(a!==l.Z_OK)throw new Error(h[a]);this.header=new f,r.inflateGetHeader(this.strm,this.header)};u.prototype.push=function(t,e){var a,i,n,h,d,f=this.strm,u=this.options.chunkSize,c=!1;if(this.ended)return!1;i=e===~~e?e:e===!0?l.Z_FINISH:l.Z_NO_FLUSH,"string"==typeof t?f.input=o.binstring2buf(t):"[object ArrayBuffer]"===_.call(t)?f.input=new Uint8Array(t):f.input=t,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new s.Buf8(u),f.next_out=0,f.avail_out=u),a=r.inflate(f,l.Z_NO_FLUSH),a===l.Z_BUF_ERROR&&c===!0&&(a=l.Z_OK,c=!1),a!==l.Z_STREAM_END&&a!==l.Z_OK)return this.onEnd(a),this.ended=!0,!1;f.next_out&&(0===f.avail_out||a===l.Z_STREAM_END||0===f.avail_in&&(i===l.Z_FINISH||i===l.Z_SYNC_FLUSH))&&("string"===this.options.to?(n=o.utf8border(f.output,f.next_out),h=f.next_out-n,d=o.buf2string(f.output,n),f.next_out=h,f.avail_out=u-h,h&&s.arraySet(f.output,f.output,n,h,0),this.onData(d)):this.onData(s.shrinkBuf(f.output,f.next_out))),0===f.avail_in&&0===f.avail_out&&(c=!0)}while((f.avail_in>0||0===f.avail_out)&&a!==l.Z_STREAM_END);return a===l.Z_STREAM_END&&(i=l.Z_FINISH),i===l.Z_FINISH?(a=r.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===l.Z_OK):i===l.Z_SYNC_FLUSH?(this.onEnd(l.Z_OK),f.avail_out=0,!0):!0},u.prototype.onData=function(t){this.chunks.push(t)},u.prototype.onEnd=function(t){t===l.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=s.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Inflate=u,a.inflate=i,a.inflateRaw=n,a.ungzip=i},{"./utils/common":3,"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate.js":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(t,e,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;a.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(var i in a)a.hasOwnProperty(i)&&(t[i]=a[i])}}return t},a.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,a,i,n){if(e.subarray&&t.subarray)return void t.set(e.subarray(a,a+i),n);for(var r=0;i>r;r++)t[n+r]=e[a+r]},flattenChunks:function(t){var e,a,i,n,r,s;for(i=0,e=0,a=t.length;a>e;e++)i+=t[e].length;for(s=new Uint8Array(i),n=0,e=0,a=t.length;a>e;e++)r=t[e],s.set(r,n),n+=r.length;return s}},r={arraySet:function(t,e,a,i,n){for(var r=0;i>r;r++)t[n+r]=e[a+r]},flattenChunks:function(t){return[].concat.apply([],t)}};a.setTyped=function(t){t?(a.Buf8=Uint8Array,a.Buf16=Uint16Array,a.Buf32=Int32Array,a.assign(a,n)):(a.Buf8=Array,a.Buf16=Array,a.Buf32=Array,a.assign(a,r))},a.setTyped(i)},{}],4:[function(t,e,a){"use strict";function i(t,e){if(65537>e&&(t.subarray&&s||!t.subarray&&r))return String.fromCharCode.apply(null,n.shrinkBuf(t,e));for(var a="",i=0;e>i;i++)a+=String.fromCharCode(t[i]);return a}var n=t("./common"),r=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(o){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(o){s=!1}for(var l=new n.Buf8(256),h=0;256>h;h++)l[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;l[254]=l[254]=1,a.string2buf=function(t){var e,a,i,r,s,o=t.length,l=0;for(r=0;o>r;r++)a=t.charCodeAt(r),55296===(64512&a)&&o>r+1&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),l+=128>a?1:2048>a?2:65536>a?3:4;for(e=new n.Buf8(l),s=0,r=0;l>s;r++)a=t.charCodeAt(r),55296===(64512&a)&&o>r+1&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),128>a?e[s++]=a:2048>a?(e[s++]=192|a>>>6,e[s++]=128|63&a):65536>a?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},a.buf2binstring=function(t){return i(t,t.length)},a.binstring2buf=function(t){for(var e=new n.Buf8(t.length),a=0,i=e.length;i>a;a++)e[a]=t.charCodeAt(a);return e},a.buf2string=function(t,e){var a,n,r,s,o=e||t.length,h=new Array(2*o);for(n=0,a=0;o>a;)if(r=t[a++],128>r)h[n++]=r;else if(s=l[r],s>4)h[n++]=65533,a+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&o>a;)r=r<<6|63&t[a++],s--;s>1?h[n++]=65533:65536>r?h[n++]=r:(r-=65536,h[n++]=55296|r>>10&1023,h[n++]=56320|1023&r)}return i(h,n)},a.utf8border=function(t,e){var a;for(e=e||t.length,e>t.length&&(e=t.length),a=e-1;a>=0&&128===(192&t[a]);)a--;return 0>a?e:0===a?e:a+l[t[a]]>e?a:e}},{"./common":3}],5:[function(t,e,a){"use strict";function i(t,e,a,i){for(var n=65535&t|0,r=t>>>16&65535|0,s=0;0!==a;){s=a>2e3?2e3:a,a-=s;do{n=n+e[i++]|0,r=r+n|0}while(--s);n%=65521,r%=65521}return n|r<<16|0}e.exports=i},{}],6:[function(t,e,a){e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(t,e,a){"use strict";function i(){for(var t,e=[],a=0;256>a;a++){t=a;for(var i=0;8>i;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}function n(t,e,a,i){var n=r,s=i+a;t=-1^t;for(var o=i;s>o;o++)t=t>>>8^n[255&(t^e[o])];return-1^t}var r=i();e.exports=n},{}],8:[function(t,e,a){"use strict";function i(t,e){return t.msg=N[e],e}function n(t){return(t<<1)-(t>4?9:0)}function r(t){for(var e=t.length;--e>=0;)t[e]=0}function s(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(A.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function o(t,e){Z._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,s(t.strm)}function l(t,e){t.pending_buf[t.pending++]=e}function h(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function d(t,e,a,i){var n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,A.arraySet(e,t.input,t.next_in,n,a),1===t.state.wrap?t.adler=R(t.adler,e,n,a):2===t.state.wrap&&(t.adler=C(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)}function f(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-ht?t.strstart-(t.w_size-ht):0,h=t.window,d=t.w_mask,f=t.prev,_=t.strstart+lt,u=h[r+s-1],c=h[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(a=e,h[a+s]===c&&h[a+s-1]===u&&h[a]===h[r]&&h[++a]===h[r+1]){r+=2,a++;do{}while(h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&_>r);if(i=lt-(_-r),r=_-lt,i>s){if(t.match_start=e,s=i,i>=o)break;u=h[r+s-1],c=h[r+s]}}}while((e=f[e&d])>l&&0!==--n);return s<=t.lookahead?s:t.lookahead}function _(t){var e,a,i,n,r,s=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=s+(s-ht)){A.arraySet(t.window,t.window,s,s,0),t.match_start-=s,t.strstart-=s,t.block_start-=s,a=t.hash_size,e=a;do{i=t.head[--e],t.head[e]=i>=s?i-s:0}while(--a);a=s,e=a;do{i=t.prev[--e],t.prev[e]=i>=s?i-s:0}while(--a);n+=s}if(0===t.strm.avail_in)break;if(a=d(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=a,t.lookahead+t.insert>=ot)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=(t.ins_h<t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(_(t),0===t.lookahead&&e===O)return wt;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,o(t,!1),0===t.strm.avail_out))return wt;if(t.strstart-t.block_start>=t.w_size-ht&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?vt:kt):t.strstart>t.block_start&&(o(t,!1),0===t.strm.avail_out)?wt:wt}function c(t,e){for(var a,i;;){if(t.lookahead=ot&&(t.ins_h=(t.ins_h<=ot)if(i=Z._tr_tally(t,t.strstart-t.match_start,t.match_length-ot),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=ot){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<=ot&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=ot-1)),t.prev_length>=ot&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-ot,i=Z._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-ot),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=(t.ins_h<=ot&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){r=t.strstart+lt;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&r>n);t.match_length=lt-(r-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=ot?(a=Z._tr_tally(t,1,t.match_length-ot),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function m(t,e){for(var a;;){if(0===t.lookahead&&(_(t),0===t.lookahead)){if(e===O)return wt;break}if(t.match_length=0,a=Z._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?vt:kt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:pt}function w(t){t.window_size=2*t.w_size,r(t.head),t.max_lazy_match=E[t.level].max_lazy,t.good_match=E[t.level].good_length,t.nice_match=E[t.level].nice_length,t.max_chain_length=E[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ot-1,t.match_available=0,t.ins_h=0}function p(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=J,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new A.Buf16(2*rt),this.dyn_dtree=new A.Buf16(2*(2*it+1)),this.bl_tree=new A.Buf16(2*(2*nt+1)),r(this.dyn_ltree),r(this.dyn_dtree),r(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new A.Buf16(st+1),this.heap=new A.Buf16(2*at+1),r(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new A.Buf16(2*at+1),r(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function v(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=W,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?ft:gt,t.adler=2===e.wrap?0:1,e.last_flush=O,Z._tr_init(e),D):i(t,H)}function k(t){var e=v(t);return e===D&&w(t.state),e}function x(t,e){return t&&t.state?2!==t.state.wrap?H:(t.state.gzhead=e,D):H}function y(t,e,a,n,r,s){if(!t)return H;var o=1;if(e===M&&(e=6),0>n?(o=0,n=-n):n>15&&(o=2,n-=16),1>r||r>Q||a!==J||8>n||n>15||0>e||e>9||0>s||s>G)return i(t,H);8===n&&(n=9);var l=new p;return t.state=l,l.strm=t,l.wrap=o,l.gzhead=null,l.w_bits=n,l.w_size=1<>1,l.l_buf=3*l.lit_bufsize,l.level=e,l.strategy=s,l.method=a,k(t)}function z(t,e){return y(t,e,J,V,$,X)}function B(t,e){var a,o,d,f;if(!t||!t.state||e>T||0>e)return t?i(t,H):H;if(o=t.state,!t.output||!t.input&&0!==t.avail_in||o.status===mt&&e!==F)return i(t,0===t.avail_out?K:H);if(o.strm=t,a=o.last_flush,o.last_flush=e,o.status===ft)if(2===o.wrap)t.adler=0,l(o,31),l(o,139),l(o,8),o.gzhead?(l(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),l(o,255&o.gzhead.time),l(o,o.gzhead.time>>8&255),l(o,o.gzhead.time>>16&255),l(o,o.gzhead.time>>24&255),l(o,9===o.level?2:o.strategy>=Y||o.level<2?4:0),l(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(l(o,255&o.gzhead.extra.length),l(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(t.adler=C(t.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=_t):(l(o,0),l(o,0),l(o,0),l(o,0),l(o,0),l(o,9===o.level?2:o.strategy>=Y||o.level<2?4:0),l(o,xt),o.status=gt);else{var _=J+(o.w_bits-8<<4)<<8,u=-1;u=o.strategy>=Y||o.level<2?0:o.level<6?1:6===o.level?2:3,_|=u<<6,0!==o.strstart&&(_|=dt),_+=31-_%31,o.status=gt,h(o,_),0!==o.strstart&&(h(o,t.adler>>>16),h(o,65535&t.adler)),t.adler=1}if(o.status===_t)if(o.gzhead.extra){for(d=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending!==o.pending_buf_size));)l(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=ut)}else o.status=ut;if(o.status===ut)if(o.gzhead.name){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.gzindex=0,o.status=ct)}else o.status=ct;if(o.status===ct)if(o.gzhead.comment){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindexd&&(t.adler=C(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.status=bt)}else o.status=bt;if(o.status===bt&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&s(t),o.pending+2<=o.pending_buf_size&&(l(o,255&t.adler),l(o,t.adler>>8&255),t.adler=0,o.status=gt)):o.status=gt),0!==o.pending){if(s(t),0===t.avail_out)return o.last_flush=-1,D}else if(0===t.avail_in&&n(e)<=n(a)&&e!==F)return i(t,K);if(o.status===mt&&0!==t.avail_in)return i(t,K);if(0!==t.avail_in||0!==o.lookahead||e!==O&&o.status!==mt){var c=o.strategy===Y?m(o,e):o.strategy===q?g(o,e):E[o.level].func(o,e);if((c===vt||c===kt)&&(o.status=mt),c===wt||c===vt)return 0===t.avail_out&&(o.last_flush=-1),D;if(c===pt&&(e===I?Z._tr_align(o):e!==T&&(Z._tr_stored_block(o,0,0,!1),e===U&&(r(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),s(t),0===t.avail_out))return o.last_flush=-1,D}return e!==F?D:o.wrap<=0?L:(2===o.wrap?(l(o,255&t.adler),l(o,t.adler>>8&255),l(o,t.adler>>16&255),l(o,t.adler>>24&255),l(o,255&t.total_in),l(o,t.total_in>>8&255),l(o,t.total_in>>16&255),l(o,t.total_in>>24&255)):(h(o,t.adler>>>16),h(o,65535&t.adler)),s(t),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?D:L)}function S(t){var e;return t&&t.state?(e=t.state.status,e!==ft&&e!==_t&&e!==ut&&e!==ct&&e!==bt&&e!==gt&&e!==mt?i(t,H):(t.state=null,e===gt?i(t,j):D)):H}var E,A=t("../utils/common"),Z=t("./trees"),R=t("./adler32"),C=t("./crc32"),N=t("./messages"),O=0,I=1,U=3,F=4,T=5,D=0,L=1,H=-2,j=-3,K=-5,M=-1,P=1,Y=2,q=3,G=4,X=0,W=2,J=8,Q=9,V=15,$=8,tt=29,et=256,at=et+1+tt,it=30,nt=19,rt=2*at+1,st=15,ot=3,lt=258,ht=lt+ot+1,dt=32,ft=42,_t=69,ut=73,ct=91,bt=103,gt=113,mt=666,wt=1,pt=2,vt=3,kt=4,xt=3,yt=function(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n};E=[new yt(0,0,0,0,u),new yt(4,4,8,4,c),new yt(4,5,16,8,c),new yt(4,6,32,32,c),new yt(4,4,16,16,b),new yt(8,16,32,32,b),new yt(8,16,128,128,b),new yt(8,32,128,256,b),new yt(32,128,258,1024,b),new yt(32,258,258,4096,b)],a.deflateInit=z,a.deflateInit2=y,a.deflateReset=k,a.deflateResetKeep=v,a.deflateSetHeader=x,a.deflate=B,a.deflateEnd=S,a.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./messages":13,"./trees":14}],9:[function(t,e,a){"use strict";function i(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}e.exports=i},{}],10:[function(t,e,a){"use strict";var i=30,n=12;e.exports=function(t,e){var a,r,s,o,l,h,d,f,_,u,c,b,g,m,w,p,v,k,x,y,z,B,S,E,A;a=t.state,r=t.next_in,E=t.input,s=r+(t.avail_in-5),o=t.next_out,A=t.output,l=o-(e-t.avail_out),h=o+(t.avail_out-257),d=a.dmax,f=a.wsize,_=a.whave,u=a.wnext,c=a.window,b=a.hold,g=a.bits,m=a.lencode,w=a.distcode,p=(1<g&&(b+=E[r++]<>>24,b>>>=x,g-=x,x=k>>>16&255,0===x)A[o++]=65535&k;else{if(!(16&x)){if(0===(64&x)){k=m[(65535&k)+(b&(1<g&&(b+=E[r++]<>>=x,g-=x),15>g&&(b+=E[r++]<>>24,b>>>=x,g-=x,x=k>>>16&255,!(16&x)){if(0===(64&x)){k=w[(65535&k)+(b&(1<g&&(b+=E[r++]<g&&(b+=E[r++]<d){t.msg="invalid distance too far back",a.mode=i;break t}if(b>>>=x,g-=x,x=o-l,z>x){if(x=z-x,x>_&&a.sane){t.msg="invalid distance too far back",a.mode=i;break t}if(B=0,S=c,0===u){if(B+=f-x,y>x){y-=x;do{A[o++]=c[B++]}while(--x);B=o-z,S=A}}else if(x>u){if(B+=f+u-x,x-=u,y>x){y-=x;do{A[o++]=c[B++]}while(--x);if(B=0,y>u){x=u,y-=x;do{A[o++]=c[B++]}while(--x);B=o-z,S=A}}}else if(B+=u-x,y>x){y-=x;do{A[o++]=c[B++]}while(--x);B=o-z,S=A}for(;y>2;)A[o++]=S[B++],A[o++]=S[B++],A[o++]=S[B++],y-=3;y&&(A[o++]=S[B++],y>1&&(A[o++]=S[B++]))}else{B=o-z;do{A[o++]=A[B++],A[o++]=A[B++],A[o++]=A[B++],y-=3}while(y>2);y&&(A[o++]=A[B++],y>1&&(A[o++]=A[B++]))}break}}break}}while(s>r&&h>o);y=g>>3,r-=y,g-=y<<3,b&=(1<r?5+(s-r):5-(r-s),t.avail_out=h>o?257+(h-o):257-(o-h),a.hold=b,a.bits=g}},{}],11:[function(t,e,a){"use strict";function i(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new m.Buf16(320),this.work=new m.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function r(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=F,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new m.Buf32(ct),e.distcode=e.distdyn=new m.Buf32(bt),e.sane=1,e.back=-1,A):C}function s(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,r(t)):C}function o(t,e){var a,i;return t&&t.state?(i=t.state,0>e?(a=0,e=-e):(a=(e>>4)+1,48>e&&(e&=15)),e&&(8>e||e>15)?C:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,s(t))):C}function l(t,e){var a,i;return t?(i=new n,t.state=i,i.window=null,a=o(t,e),a!==A&&(t.state=null),a):C}function h(t){return l(t,mt)}function d(t){if(wt){var e;for(b=new m.Buf32(512),g=new m.Buf32(32),e=0;144>e;)t.lens[e++]=8;for(;256>e;)t.lens[e++]=9;for(;280>e;)t.lens[e++]=7;for(;288>e;)t.lens[e++]=8;for(k(y,t.lens,0,288,b,0,t.work,{bits:9}),e=0;32>e;)t.lens[e++]=5;k(z,t.lens,0,32,g,0,t.work,{bits:5}),wt=!1}t.lencode=b,t.lenbits=9,t.distcode=g,t.distbits=5}function f(t,e,a,i){var n,r=t.state;return null===r.window&&(r.wsize=1<=r.wsize?(m.arraySet(r.window,e,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),m.arraySet(r.window,e,a-i,n,r.wnext),i-=n,i?(m.arraySet(r.window,e,a-i,i,0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whaveu;){if(0===l)break t;l--,_+=n[s++]<>>8&255,a.check=p(a.check,Et,2,0),_=0,u=0,a.mode=T;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",a.mode=ft;break}if((15&_)!==U){t.msg="unknown compression method",a.mode=ft;break}if(_>>>=4,u-=4,xt=(15&_)+8,0===a.wbits)a.wbits=xt;else if(xt>a.wbits){t.msg="invalid window size",a.mode=ft;break}a.dmax=1<u;){if(0===l)break t;l--,_+=n[s++]<>8&1),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0,a.mode=D;case D:for(;32>u;){if(0===l)break t;l--,_+=n[s++]<>>8&255,Et[2]=_>>>16&255,Et[3]=_>>>24&255,a.check=p(a.check,Et,4,0)),_=0,u=0,a.mode=L;case L:for(;16>u;){if(0===l)break t;l--,_+=n[s++]<>8),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0,a.mode=H;case H:if(1024&a.flags){for(;16>u;){if(0===l)break t;l--,_+=n[s++]<>>8&255,a.check=p(a.check,Et,2,0)),_=0,u=0}else a.head&&(a.head.extra=null);a.mode=j;case j:if(1024&a.flags&&(g=a.length,g>l&&(g=l),g&&(a.head&&(xt=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),m.arraySet(a.head.extra,n,s,g,xt)),512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,a.length-=g),a.length))break t;a.length=0,a.mode=K;case K:if(2048&a.flags){if(0===l)break t;g=0;do{xt=n[s+g++],a.head&&xt&&a.length<65536&&(a.head.name+=String.fromCharCode(xt))}while(xt&&l>g);if(512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,xt)break t}else a.head&&(a.head.name=null);a.length=0,a.mode=M;case M:if(4096&a.flags){if(0===l)break t;g=0;do{xt=n[s+g++],a.head&&xt&&a.length<65536&&(a.head.comment+=String.fromCharCode(xt))}while(xt&&l>g);if(512&a.flags&&(a.check=p(a.check,n,g,s)),l-=g,s+=g,xt)break t}else a.head&&(a.head.comment=null);a.mode=P;case P:if(512&a.flags){for(;16>u;){if(0===l)break t;l--,_+=n[s++]<>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=G;break;case Y:for(;32>u;){if(0===l)break t;l--,_+=n[s++]<>>=7&u,u-=7&u,a.mode=lt;break}for(;3>u;){if(0===l)break t;l--,_+=n[s++]<>>=1,u-=1,3&_){case 0:a.mode=W;break;case 1:if(d(a),a.mode=et,e===E){_>>>=2,u-=2;break t}break;case 2:a.mode=V;break;case 3:t.msg="invalid block type",a.mode=ft}_>>>=2,u-=2;break;case W:for(_>>>=7&u,u-=7&u;32>u;){if(0===l)break t;l--,_+=n[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=ft;break}if(a.length=65535&_,_=0,u=0,a.mode=J,e===E)break t;case J:a.mode=Q;case Q:if(g=a.length){if(g>l&&(g=l),g>h&&(g=h),0===g)break t;m.arraySet(r,n,s,g,o),l-=g,s+=g,h-=g,o+=g,a.length-=g;break}a.mode=G;break;case V:for(;14>u;){if(0===l)break t;l--,_+=n[s++]<>>=5,u-=5,a.ndist=(31&_)+1,_>>>=5,u-=5,a.ncode=(15&_)+4,_>>>=4,u-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=ft;break}a.have=0,a.mode=$;case $:for(;a.haveu;){if(0===l)break t;l--,_+=n[s++]<>>=3,u-=3}for(;a.have<19;)a.lens[At[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,zt={bits:a.lenbits},yt=k(x,a.lens,0,19,a.lencode,0,a.work,zt),a.lenbits=zt.bits,yt){t.msg="invalid code lengths set",a.mode=ft;break}a.have=0,a.mode=tt;case tt:for(;a.have>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<wt)_>>>=gt,u-=gt,a.lens[a.have++]=wt;else{if(16===wt){for(Bt=gt+2;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,0===a.have){t.msg="invalid bit length repeat",a.mode=ft;break}xt=a.lens[a.have-1],g=3+(3&_),_>>>=2,u-=2}else if(17===wt){for(Bt=gt+3;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,xt=0,g=3+(7&_),_>>>=3,u-=3}else{for(Bt=gt+7;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=gt,u-=gt,xt=0,g=11+(127&_),_>>>=7,u-=7}if(a.have+g>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=ft;break}for(;g--;)a.lens[a.have++]=xt}}if(a.mode===ft)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=ft;break}if(a.lenbits=9,zt={bits:a.lenbits},yt=k(y,a.lens,0,a.nlen,a.lencode,0,a.work,zt),a.lenbits=zt.bits,yt){t.msg="invalid literal/lengths set",a.mode=ft;break}if(a.distbits=6,a.distcode=a.distdyn,zt={bits:a.distbits},yt=k(z,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,zt),a.distbits=zt.bits,yt){t.msg="invalid distances set",a.mode=ft;break}if(a.mode=et,e===E)break t;case et:a.mode=at;case at:if(l>=6&&h>=258){t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,v(t,b),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,a.mode===G&&(a.back=-1);break}for(a.back=0;St=a.lencode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=pt+gt);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,a.length=wt,0===mt){a.mode=ot;break}if(32&mt){a.back=-1,a.mode=G;break}if(64&mt){t.msg="invalid literal/length code",a.mode=ft;break}a.extra=15&mt,a.mode=it;case it:if(a.extra){for(Bt=a.extra;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=a.extra,u-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=nt;case nt:for(;St=a.distcode[_&(1<>>24,mt=St>>>16&255,wt=65535&St,!(u>=gt);){if(0===l)break t;l--,_+=n[s++]<>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(u>=pt+gt);){if(0===l)break t;l--,_+=n[s++]<>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,64&mt){t.msg="invalid distance code",a.mode=ft;break}a.offset=wt,a.extra=15&mt,a.mode=rt;case rt:if(a.extra){for(Bt=a.extra;Bt>u;){if(0===l)break t;l--,_+=n[s++]<>>=a.extra,u-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=ft;break}a.mode=st;case st:if(0===h)break t;if(g=b-h,a.offset>g){if(g=a.offset-g,g>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=ft;break}g>a.wnext?(g-=a.wnext,ct=a.wsize-g):ct=a.wnext-g,g>a.length&&(g=a.length),bt=a.window}else bt=r,ct=o-a.offset,g=a.length;g>h&&(g=h),h-=g,a.length-=g;do{r[o++]=bt[ct++]}while(--g);0===a.length&&(a.mode=at);break;case ot:if(0===h)break t;r[o++]=a.length,h--,a.mode=at;break;case lt:if(a.wrap){for(;32>u;){if(0===l)break t;l--,_|=n[s++]<u;){if(0===l)break t;l--,_+=n[s++]<=Z;Z++)j[Z]=0;for(R=0;c>R;R++)j[e[a+R]]++;for(O=A,N=n;N>=1&&0===j[N];N--);if(O>N&&(O=N),0===N)return b[g++]=20971520,b[g++]=20971520,w.bits=1,0;for(C=1;N>C&&0===j[C];C++);for(C>O&&(O=C),F=1,Z=1;n>=Z;Z++)if(F<<=1,F-=j[Z],0>F)return-1;if(F>0&&(t===o||1!==N))return-1;for(K[1]=0,Z=1;n>Z;Z++)K[Z+1]=K[Z]+j[Z];for(R=0;c>R;R++)0!==e[a+R]&&(m[K[e[a+R]]++]=R);if(t===o?(L=M=m,z=19):t===l?(L=d,H-=257,M=f,P-=257,z=256):(L=_,M=u,z=-1),D=0,R=0,Z=C,y=g,I=O,U=0,k=-1,T=1<r||t===h&&T>s)return 1;for(var Y=0;;){Y++,B=Z-U,m[R]z?(S=M[P+m[R]],E=L[H+m[R]]):(S=96,E=0),p=1<>U)+v]=B<<24|S<<16|E|0}while(0!==v);for(p=1<>=1;if(0!==p?(D&=p-1,D+=p):D=0,R++,0===--j[Z]){if(Z===N)break;Z=e[a+m[R]]}if(Z>O&&(D&x)!==k){for(0===U&&(U=O),y+=C,I=Z-U,F=1<I+U&&(F-=j[I+U],!(0>=F));)I++,F<<=1;if(T+=1<r||t===h&&T>s)return 1;k=D&x,b[k]=O<<24|I<<16|y-g|0}}return 0!==D&&(b[y+D]=Z-U<<24|64<<16|0),w.bits=O,0}},{"../utils/common":3}],13:[function(t,e,a){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(t,e,a){"use strict";function i(t){for(var e=t.length;--e>=0;)t[e]=0}function n(t){return 256>t?st[t]:st[256+(t>>>7)]}function r(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function s(t,e,a){t.bi_valid>G-a?(t.bi_buf|=e<>G-t.bi_valid,t.bi_valid+=a-G):(t.bi_buf|=e<>>=1,a<<=1}while(--e>0);return a>>>1}function h(t){16===t.bi_valid?(r(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function d(t,e){var a,i,n,r,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,f=e.stat_desc.has_stree,_=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,b=0;for(r=0;q>=r;r++)t.bl_count[r]=0;for(l[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;Y>a;a++)i=t.heap[a],r=l[2*l[2*i+1]+1]+1,r>c&&(r=c,b++),l[2*i+1]=r,i>h||(t.bl_count[r]++,s=0,i>=u&&(s=_[i-u]),o=l[2*i],t.opt_len+=o*(r+s),f&&(t.static_len+=o*(d[2*i+1]+s)));if(0!==b){do{for(r=c-1;0===t.bl_count[r];)r--;t.bl_count[r]--,t.bl_count[r+1]+=2,t.bl_count[c]--,b-=2}while(b>0);for(r=c;0!==r;r--)for(i=t.bl_count[r];0!==i;)n=t.heap[--a],n>h||(l[2*n+1]!==r&&(t.opt_len+=(r-l[2*n+1])*l[2*n],l[2*n+1]=r),i--)}}function f(t,e,a){var i,n,r=new Array(q+1),s=0;for(i=1;q>=i;i++)r[i]=s=s+a[i-1]<<1;for(n=0;e>=n;n++){var o=t[2*n+1];0!==o&&(t[2*n]=l(r[o]++,o))}}function _(){var t,e,a,i,n,r=new Array(q+1);for(a=0,i=0;H-1>i;i++)for(lt[i]=a,t=0;t<1<<$[i];t++)ot[a++]=i;for(ot[a-1]=i,n=0,i=0;16>i;i++)for(ht[i]=n,t=0;t<1<>=7;M>i;i++)for(ht[i]=n<<7,t=0;t<1<=e;e++)r[e]=0;for(t=0;143>=t;)nt[2*t+1]=8,t++,r[8]++;for(;255>=t;)nt[2*t+1]=9,t++,r[9]++;for(;279>=t;)nt[2*t+1]=7,t++,r[7]++;for(;287>=t;)nt[2*t+1]=8,t++,r[8]++;for(f(nt,K+1,r),t=0;M>t;t++)rt[2*t+1]=5,rt[2*t]=l(t,5);dt=new ut(nt,$,j+1,K,q),ft=new ut(rt,tt,0,M,q),_t=new ut(new Array(0),et,0,P,X)}function u(t){var e;for(e=0;K>e;e++)t.dyn_ltree[2*e]=0;for(e=0;M>e;e++)t.dyn_dtree[2*e]=0;for(e=0;P>e;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*W]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function c(t){t.bi_valid>8?r(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function b(t,e,a,i){c(t),i&&(r(t,a),r(t,~a)),R.arraySet(t.pending_buf,t.window,e,a,t.pending),t.pending+=a}function g(t,e,a,i){var n=2*e,r=2*a;return t[n]a;a++)0!==r[2*a]?(t.heap[++t.heap_len]=h=a,t.depth[a]=0):r[2*a+1]=0;for(;t.heap_len<2;)n=t.heap[++t.heap_len]=2>h?++h:0,r[2*n]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=s[2*n+1]);for(e.max_code=h,a=t.heap_len>>1;a>=1;a--)m(t,r,a);n=l;do{a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],m(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,m(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],d(t,e),f(r,h,t.bl_count)}function v(t,e,a){var i,n,r=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;a>=i;i++)n=s,s=e[2*(i+1)+1],++oo?t.bl_tree[2*n]+=o:0!==n?(n!==r&&t.bl_tree[2*n]++,t.bl_tree[2*J]++):10>=o?t.bl_tree[2*Q]++:t.bl_tree[2*V]++,o=0,r=n,0===s?(l=138,h=3):n===s?(l=6,h=3):(l=7,h=4))}function k(t,e,a){var i,n,r=-1,l=e[1],h=0,d=7,f=4;for(0===l&&(d=138,f=3),i=0;a>=i;i++)if(n=l,l=e[2*(i+1)+1],!(++hh){do{o(t,n,t.bl_tree)}while(0!==--h)}else 0!==n?(n!==r&&(o(t,n,t.bl_tree),h--),o(t,J,t.bl_tree),s(t,h-3,2)):10>=h?(o(t,Q,t.bl_tree),s(t,h-3,3)):(o(t,V,t.bl_tree),s(t,h-11,7));h=0,r=n,0===l?(d=138,f=3):n===l?(d=6,f=3):(d=7,f=4)}}function x(t){var e;for(v(t,t.dyn_ltree,t.l_desc.max_code),v(t,t.dyn_dtree,t.d_desc.max_code),p(t,t.bl_desc),e=P-1;e>=3&&0===t.bl_tree[2*at[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}function y(t,e,a,i){var n;for(s(t,e-257,5),s(t,a-1,5),s(t,i-4,4),n=0;i>n;n++)s(t,t.bl_tree[2*at[n]+1],3);k(t,t.dyn_ltree,e-1),k(t,t.dyn_dtree,a-1)}function z(t){var e,a=4093624447;for(e=0;31>=e;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return N;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return O;for(e=32;j>e;e++)if(0!==t.dyn_ltree[2*e])return O;return N}function B(t){bt||(_(),bt=!0),t.l_desc=new ct(t.dyn_ltree,dt),t.d_desc=new ct(t.dyn_dtree,ft),t.bl_desc=new ct(t.bl_tree,_t),t.bi_buf=0,t.bi_valid=0,u(t)}function S(t,e,a,i){s(t,(U<<1)+(i?1:0),3),b(t,e,a,!0)}function E(t){s(t,F<<1,3),o(t,W,nt),h(t)}function A(t,e,a,i){var n,r,o=0;t.level>0?(t.strm.data_type===I&&(t.strm.data_type=z(t)),p(t,t.l_desc),p(t,t.d_desc),o=x(t),n=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,n>=r&&(n=r)):n=r=a+5,n>=a+4&&-1!==e?S(t,e,a,i):t.strategy===C||r===n?(s(t,(F<<1)+(i?1:0),3),w(t,nt,rt)):(s(t,(T<<1)+(i?1:0),3),y(t,t.l_desc.max_code+1,t.d_desc.max_code+1,o+1),w(t,t.dyn_ltree,t.dyn_dtree)),u(t),i&&c(t)}function Z(t,e,a){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(ot[a]+j+1)]++,t.dyn_dtree[2*n(e)]++),t.last_lit===t.lit_bufsize-1}var R=t("../utils/common"),C=4,N=0,O=1,I=2,U=0,F=1,T=2,D=3,L=258,H=29,j=256,K=j+1+H,M=30,P=19,Y=2*K+1,q=15,G=16,X=7,W=256,J=16,Q=17,V=18,$=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],tt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],et=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],at=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],it=512,nt=new Array(2*(K+2));i(nt);var rt=new Array(2*M);i(rt);var st=new Array(it);i(st);var ot=new Array(L-D+1);i(ot);var lt=new Array(H);i(lt);var ht=new Array(M);i(ht);var dt,ft,_t,ut=function(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length},ct=function(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e},bt=!1;a._tr_init=B,a._tr_stored_block=S,a._tr_flush_block=A,a._tr_tally=Z,a._tr_align=E},{"../utils/common":3}],15:[function(t,e,a){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=i},{}],"/":[function(t,e,a){"use strict";var i=t("./lib/utils/common").assign,n=t("./lib/deflate"),r=t("./lib/inflate"),s=t("./lib/zlib/constants"),o={};i(o,n,r,s),e.exports=o},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")}); \ No newline at end of file diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_cornerstone/public/js/cornerstoneWADOImageLoaderWebWorker.es5.js b/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_cornerstone/public/js/cornerstoneWADOImageLoaderWebWorker.es5.js deleted file mode 100644 index c78b4623f..000000000 --- a/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_cornerstone/public/js/cornerstoneWADOImageLoaderWebWorker.es5.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! cornerstone-wado-image-loader - 0.15.1 - 2017-10-26 | (c) 2016 Chris Hafey | https://github.com/chafey/cornerstoneWADOImageLoader */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("cornerstoneWADOImageLoaderWebWorker",[],t):"object"==typeof exports?exports.cornerstoneWADOImageLoaderWebWorker=t():e.cornerstoneWADOImageLoaderWebWorker=t()}(this,function(){return function(e){function t(a){if(r[a])return r[a].exports;var n=r[a]={i:a,l:!1,exports:{}};return e[a].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,a){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:a})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=55)}({2:function(e,t,r){"use strict";function a(e){for(var t=e[0],r=e[0],a=void 0,n=e.length,i=1;i1&&(e.photometricInterpretation="RGB"),e}function o(e){if(!e.usePDFJS&&"undefined"==typeof OpenJPEG)throw"OpenJPEG decoder not loaded";if(!(s||(s=OpenJPEG())&&s._jp2_decode))throw"OpenJPEG failed to initialize"}function l(e,t,r,n){return n=n||{},o(r),n.usePDFJS||r.usePDFJS?a(e,t):i(e,t)}Object.defineProperty(t,"__esModule",{value:!0});var s=void 0;t.default=l,t.initializeJPEG2000=o},38:function(e,t,r){"use strict";function a(e,t){var r=o._malloc(e.length);o.writeArrayToMemory(e,r);var a=o._malloc(4),n=o._malloc(4),i=o._malloc(4),l=o._malloc(4),s=o._malloc(4),f=o._malloc(4),u=o._malloc(4),d=o._malloc(4),c=o._malloc(4),p=o.ccall("jpegls_decode","number",["number","number","number","number","number","number","number","number","number","number","number"],[r,e.length,a,n,i,l,s,f,d,u,c]),m={result:p,width:o.getValue(i,"i32"),height:o.getValue(l,"i32"),bitsPerSample:o.getValue(s,"i32"),stride:o.getValue(f,"i32"),components:o.getValue(d,"i32"),allowedLossyError:o.getValue(u,"i32"),interleaveMode:o.getValue(c,"i32"),pixelData:void 0},g=o.getValue(a,"*");return m.bitsPerSample<=8?(m.pixelData=new Uint8Array(m.width*m.height*m.components),m.pixelData.set(new Uint8Array(o.HEAP8.buffer,g,m.pixelData.length))):t?(m.pixelData=new Int16Array(m.width*m.height*m.components),m.pixelData.set(new Int16Array(o.HEAP16.buffer,g,m.pixelData.length))):(m.pixelData=new Uint16Array(m.width*m.height*m.components),m.pixelData.set(new Uint16Array(o.HEAP16.buffer,g,m.pixelData.length))),o._free(r),o._free(g),o._free(a),o._free(n),o._free(i),o._free(l),o._free(s),o._free(f),o._free(d),o._free(c),m}function n(){if("undefined"==typeof CharLS)throw"No JPEG-LS decoder loaded";if(!(o||(o=CharLS())&&o._jpegls_decode))throw"JPEG-LS failed to initialize"}function i(e,t){n();var r=a(t,1===e.pixelRepresentation);if(0!==r.result&&6!==r.result)throw"JPEG-LS decoder failed to decode frame (error code "+r.result+")";return e.columns=r.width,e.rows=r.height,e.pixelData=r.pixelData,e}Object.defineProperty(t,"__esModule",{value:!0});var o=void 0;t.default=i,t.initializeJPEGLS=n},55:function(e,t,r){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.version=t.registerTaskHandler=void 0;var n=r(9);Object.defineProperty(t,"version",{enumerable:!0,get:function(){return a(n).default}});var i=r(56),o=r(57),l=a(o);(0,i.registerTaskHandler)(l.default),t.registerTaskHandler=i.registerTaskHandler},56:function(e,t,r){"use strict";function a(e){if(!l){if(s=e.config,e.config.webWorkerTaskPaths)for(var t=0;t>8&255}function n(e,t){if(16===e.bitsAllocated){var r=t.buffer,n=t.byteOffset,i=t.length;n%2&&(r=r.slice(n),n=0),0===e.pixelRepresentation?e.pixelData=new Uint16Array(r,n,i/2):e.pixelData=new Int16Array(r,n,i/2);for(var o=0;o=0&&m<=127)for(var g=0;g=-127)for(var y=o[d++],b=0;b<1-m&&s=0&&m<=127)for(var g=0;g=-127)for(var y=o[d++],b=0;b<1-m&&s=0&&m<=127)for(var g=0;g=-127)for(var y=o[c++],b=0;b<1-m&&u 1) {\n imageFrame.photometricInterpretation = 'RGB';\n }\n\n return imageFrame;\n}\n\nfunction initializeJPEG2000(decodeConfig) {\n // check to make sure codec is loaded\n if (!decodeConfig.usePDFJS) {\n if (typeof OpenJPEG === 'undefined') {\n throw 'OpenJPEG decoder not loaded';\n }\n }\n\n if (!openJPEG) {\n openJPEG = OpenJPEG();\n if (!openJPEG || !openJPEG._jp2_decode) {\n throw 'OpenJPEG failed to initialize';\n }\n }\n}\n\nfunction decodeJPEG2000(imageFrame, pixelData, decodeConfig, options) {\n options = options || {};\n\n initializeJPEG2000(decodeConfig);\n\n if (options.usePDFJS || decodeConfig.usePDFJS) {\n // OHIF image-JPEG2000 https://github.com/OHIF/image-JPEG2000\n // console.log('PDFJS')\n return decodeJpx(imageFrame, pixelData);\n }\n\n // OpenJPEG2000 https://github.com/jpambrun/openjpeg\n // console.log('OpenJPEG')\n return decodeOpenJpeg2000(imageFrame, pixelData);\n}\n\nexports.default = decodeJPEG2000;\nexports.initializeJPEG2000 = initializeJPEG2000;\n\n/***/ }),\n\n/***/ 38:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar charLS = void 0;\n\nfunction jpegLSDecode(data, isSigned) {\n\n // prepare input parameters\n var dataPtr = charLS._malloc(data.length);\n\n charLS.writeArrayToMemory(data, dataPtr);\n\n // prepare output parameters\n var imagePtrPtr = charLS._malloc(4);\n var imageSizePtr = charLS._malloc(4);\n var widthPtr = charLS._malloc(4);\n var heightPtr = charLS._malloc(4);\n var bitsPerSamplePtr = charLS._malloc(4);\n var stridePtr = charLS._malloc(4);\n var allowedLossyErrorPtr = charLS._malloc(4);\n var componentsPtr = charLS._malloc(4);\n var interleaveModePtr = charLS._malloc(4);\n\n // Decode the image\n var result = charLS.ccall('jpegls_decode', 'number', ['number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number'], [dataPtr, data.length, imagePtrPtr, imageSizePtr, widthPtr, heightPtr, bitsPerSamplePtr, stridePtr, componentsPtr, allowedLossyErrorPtr, interleaveModePtr]);\n\n // Extract result values into object\n var image = {\n result: result,\n width: charLS.getValue(widthPtr, 'i32'),\n height: charLS.getValue(heightPtr, 'i32'),\n bitsPerSample: charLS.getValue(bitsPerSamplePtr, 'i32'),\n stride: charLS.getValue(stridePtr, 'i32'),\n components: charLS.getValue(componentsPtr, 'i32'),\n allowedLossyError: charLS.getValue(allowedLossyErrorPtr, 'i32'),\n interleaveMode: charLS.getValue(interleaveModePtr, 'i32'),\n pixelData: undefined\n };\n\n // Copy image from emscripten heap into appropriate array buffer type\n var imagePtr = charLS.getValue(imagePtrPtr, '*');\n\n if (image.bitsPerSample <= 8) {\n image.pixelData = new Uint8Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint8Array(charLS.HEAP8.buffer, imagePtr, image.pixelData.length));\n } else if (isSigned) {\n image.pixelData = new Int16Array(image.width * image.height * image.components);\n image.pixelData.set(new Int16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n } else {\n image.pixelData = new Uint16Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n }\n\n // free memory and return image object\n charLS._free(dataPtr);\n charLS._free(imagePtr);\n charLS._free(imagePtrPtr);\n charLS._free(imageSizePtr);\n charLS._free(widthPtr);\n charLS._free(heightPtr);\n charLS._free(bitsPerSamplePtr);\n charLS._free(stridePtr);\n charLS._free(componentsPtr);\n charLS._free(interleaveModePtr);\n\n return image;\n}\n\nfunction initializeJPEGLS() {\n // check to make sure codec is loaded\n if (typeof CharLS === 'undefined') {\n throw 'No JPEG-LS decoder loaded';\n }\n\n // Try to initialize CharLS\n // CharLS https://github.com/chafey/charls\n if (!charLS) {\n charLS = CharLS();\n if (!charLS || !charLS._jpegls_decode) {\n throw 'JPEG-LS failed to initialize';\n }\n }\n}\n\nfunction decodeJPEGLS(imageFrame, pixelData) {\n initializeJPEGLS();\n\n var image = jpegLSDecode(pixelData, imageFrame.pixelRepresentation === 1);\n // console.log(image);\n\n // throw error if not success or too much data\n if (image.result !== 0 && image.result !== 6) {\n throw 'JPEG-LS decoder failed to decode frame (error code ' + image.result + ')';\n }\n\n imageFrame.columns = image.width;\n imageFrame.rows = image.height;\n imageFrame.pixelData = image.pixelData;\n\n return imageFrame;\n}\n\nexports.default = decodeJPEGLS;\nexports.initializeJPEGLS = initializeJPEGLS;\n\n/***/ }),\n\n/***/ 55:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.version = exports.registerTaskHandler = undefined;\n\nvar _version = __webpack_require__(9);\n\nObject.defineProperty(exports, 'version', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_version).default;\n }\n});\n\nvar _webWorker = __webpack_require__(56);\n\nvar _decodeTask = __webpack_require__(57);\n\nvar _decodeTask2 = _interopRequireDefault(_decodeTask);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// register our task\n(0, _webWorker.registerTaskHandler)(_decodeTask2.default);\n\nexports.registerTaskHandler = _webWorker.registerTaskHandler;\n\n/***/ }),\n\n/***/ 56:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.registerTaskHandler = registerTaskHandler;\n// an object of task handlers\nvar taskHandlers = {};\n\n// Flag to ensure web worker is only initialized once\nvar initialized = false;\n\n// the configuration object passed in when the web worker manager is initialized\nvar config = void 0;\n\n/**\n * Initialization function that loads additional web workers and initializes them\n * @param data\n */\nfunction initialize(data) {\n // console.log('web worker initialize ', data.workerIndex);\n // prevent initialization from happening more than once\n if (initialized) {\n return;\n }\n\n // save the config data\n config = data.config;\n\n // load any additional web worker tasks\n if (data.config.webWorkerTaskPaths) {\n for (var i = 0; i < data.config.webWorkerTaskPaths.length; i++) {\n self.importScripts(data.config.webWorkerTaskPaths[i]);\n }\n }\n\n // initialize each task handler\n Object.keys(taskHandlers).forEach(function (key) {\n taskHandlers[key].initialize(config.taskConfiguration);\n });\n\n // tell main ui thread that we have completed initialization\n self.postMessage({\n taskType: 'initialize',\n status: 'success',\n result: {},\n workerIndex: data.workerIndex\n });\n\n initialized = true;\n}\n\n/**\n * Function exposed to web worker tasks to register themselves\n * @param taskHandler\n */\nfunction registerTaskHandler(taskHandler) {\n if (taskHandlers[taskHandler.taskType]) {\n console.log('attempt to register duplicate task handler \"', taskHandler.taskType, '\"');\n\n return false;\n }\n taskHandlers[taskHandler.taskType] = taskHandler;\n if (initialized) {\n taskHandler.initialize(config.taskConfiguration);\n }\n}\n\n/**\n * Function to load a new web worker task with updated configuration\n * @param data\n */\nfunction loadWebWorkerTask(data) {\n config = data.config;\n self.importScripts(data.sourcePath);\n}\n\n/**\n * Web worker message handler - dispatches messages to the registered task handlers\n * @param msg\n */\nself.onmessage = function (msg) {\n // console.log('web worker onmessage', msg.data);\n\n // handle initialize message\n if (msg.data.taskType === 'initialize') {\n initialize(msg.data);\n\n return;\n }\n\n // handle loadWebWorkerTask message\n if (msg.data.taskType === 'loadWebWorkerTask') {\n loadWebWorkerTask(msg.data);\n\n return;\n }\n\n // dispatch the message if there is a handler registered for it\n if (taskHandlers[msg.data.taskType]) {\n taskHandlers[msg.data.taskType].handler(msg.data, function (result, transferList) {\n self.postMessage({\n taskType: msg.data.taskType,\n status: 'success',\n result: result,\n workerIndex: msg.data.workerIndex\n }, transferList);\n });\n\n return;\n }\n\n // not task handler registered - send a failure message back to ui thread\n console.log('no task handler for ', msg.data.taskType);\n console.log(taskHandlers);\n self.postMessage({\n taskType: msg.data.taskType,\n status: 'failed - no task handler registered',\n workerIndex: msg.data.workerIndex\n });\n};\n\n/***/ }),\n\n/***/ 57:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _decodeJPEG = __webpack_require__(37);\n\nvar _decodeJPEGLS = __webpack_require__(38);\n\nvar _getMinMax = __webpack_require__(2);\n\nvar _getMinMax2 = _interopRequireDefault(_getMinMax);\n\nvar _decodeImageFrame = __webpack_require__(58);\n\nvar _decodeImageFrame2 = _interopRequireDefault(_decodeImageFrame);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// flag to ensure codecs are loaded only once\nvar codecsLoaded = false;\n\n// the configuration object for the decodeTask\nvar decodeConfig = void 0;\n\n/**\n * Function to control loading and initializing the codecs\n * @param config\n */\nfunction loadCodecs(config) {\n // prevent loading codecs more than once\n if (codecsLoaded) {\n return;\n }\n\n // Load the codecs\n // console.time('loadCodecs');\n self.importScripts(config.decodeTask.codecsPath);\n codecsLoaded = true;\n // console.timeEnd('loadCodecs');\n\n // Initialize the codecs\n if (config.decodeTask.initializeCodecsOnStartup) {\n // console.time('initializeCodecs');\n (0, _decodeJPEG.initializeJPEG2000)(config.decodeTask);\n (0, _decodeJPEGLS.initializeJPEGLS)(config.decodeTask);\n // console.timeEnd('initializeCodecs');\n }\n}\n\n/**\n * Task initialization function\n */\nfunction decodeTaskInitialize(config) {\n decodeConfig = config;\n if (config.decodeTask.loadCodecsOnStartup) {\n loadCodecs(config);\n }\n}\n\nfunction calculateMinMax(imageFrame) {\n var minMax = (0, _getMinMax2.default)(imageFrame.pixelData);\n\n if (decodeConfig.decodeTask.strict === true) {\n if (imageFrame.smallestPixelValue !== minMax.min) {\n console.warn('Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\n }\n\n if (imageFrame.largestPixelValue !== minMax.max) {\n console.warn('Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\n }\n } else {\n imageFrame.smallestPixelValue = minMax.min;\n imageFrame.largestPixelValue = minMax.max;\n }\n}\n\n/**\n * Task handler function\n */\nfunction decodeTaskHandler(data, doneCallback) {\n // Load the codecs if they aren't already loaded\n loadCodecs(decodeConfig);\n\n var imageFrame = data.data.imageFrame;\n\n // convert pixel data from ArrayBuffer to Uint8Array since web workers support passing ArrayBuffers but\n // not typed arrays\n var pixelData = new Uint8Array(data.data.pixelData);\n\n (0, _decodeImageFrame2.default)(imageFrame, data.data.transferSyntax, pixelData, decodeConfig.decodeTask, data.data.options);\n\n calculateMinMax(imageFrame);\n\n // convert from TypedArray to ArrayBuffer since web workers support passing ArrayBuffers but not\n // typed arrays\n imageFrame.pixelData = imageFrame.pixelData.buffer;\n\n // invoke the callback with our result and pass the pixelData in the transferList to move it to\n // UI thread without making a copy\n doneCallback(imageFrame, [imageFrame.pixelData]);\n}\n\nexports.default = {\n taskType: 'decodeTask',\n handler: decodeTaskHandler,\n initialize: decodeTaskInitialize\n};\n\n/***/ }),\n\n/***/ 58:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _decodeLittleEndian = __webpack_require__(59);\n\nvar _decodeLittleEndian2 = _interopRequireDefault(_decodeLittleEndian);\n\nvar _decodeBigEndian = __webpack_require__(60);\n\nvar _decodeBigEndian2 = _interopRequireDefault(_decodeBigEndian);\n\nvar _decodeRLE = __webpack_require__(61);\n\nvar _decodeRLE2 = _interopRequireDefault(_decodeRLE);\n\nvar _decodeJPEGBaseline = __webpack_require__(62);\n\nvar _decodeJPEGBaseline2 = _interopRequireDefault(_decodeJPEGBaseline);\n\nvar _decodeJPEGLossless = __webpack_require__(63);\n\nvar _decodeJPEGLossless2 = _interopRequireDefault(_decodeJPEGLossless);\n\nvar _decodeJPEGLS = __webpack_require__(38);\n\nvar _decodeJPEGLS2 = _interopRequireDefault(_decodeJPEGLS);\n\nvar _decodeJPEG = __webpack_require__(37);\n\nvar _decodeJPEG2 = _interopRequireDefault(_decodeJPEG);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction decodeImageFrame(imageFrame, transferSyntax, pixelData, decodeConfig, options) {\n var start = new Date().getTime();\n\n if (transferSyntax === '1.2.840.10008.1.2') {\n // Implicit VR Little Endian\n imageFrame = (0, _decodeLittleEndian2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.1') {\n // Explicit VR Little Endian\n imageFrame = (0, _decodeLittleEndian2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.2') {\n // Explicit VR Big Endian (retired)\n imageFrame = (0, _decodeBigEndian2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.1.99') {\n // Deflate transfer syntax (deflated by dicomParser)\n imageFrame = (0, _decodeLittleEndian2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.5') {\n // RLE Lossless\n imageFrame = (0, _decodeRLE2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.50') {\n // JPEG Baseline lossy process 1 (8 bit)\n imageFrame = (0, _decodeJPEGBaseline2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.51') {\n // JPEG Baseline lossy process 2 & 4 (12 bit)\n imageFrame = (0, _decodeJPEGBaseline2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.57') {\n // JPEG Lossless, Nonhierarchical (Processes 14)\n imageFrame = (0, _decodeJPEGLossless2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.70') {\n // JPEG Lossless, Nonhierarchical (Processes 14 [Selection 1])\n imageFrame = (0, _decodeJPEGLossless2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.80') {\n // JPEG-LS Lossless Image Compression\n imageFrame = (0, _decodeJPEGLS2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.81') {\n // JPEG-LS Lossy (Near-Lossless) Image Compression\n imageFrame = (0, _decodeJPEGLS2.default)(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.90') {\n // JPEG 2000 Lossless\n imageFrame = (0, _decodeJPEG2.default)(imageFrame, pixelData, decodeConfig, options);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.91') {\n // JPEG 2000 Lossy\n imageFrame = (0, _decodeJPEG2.default)(imageFrame, pixelData, decodeConfig, options);\n } else {\n if (console && console.log) {\n console.log('Image cannot be decoded due to Unsupported transfer syntax ' + transferSyntax);\n }\n\n throw 'no decoder for transfer syntax ' + transferSyntax;\n }\n\n /* Don't know if these work...\n // JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only)\n else if(transferSyntax === \"1.2.840.10008.1.2.4.92\")\n {\n return decodeJPEG2000(dataSet, frame);\n }\n // JPEG 2000 Part 2 Multicomponent Image Compression\n else if(transferSyntax === \"1.2.840.10008.1.2.4.93\")\n {\n return decodeJPEG2000(dataSet, frame);\n }\n */\n\n var end = new Date().getTime();\n\n imageFrame.decodeTimeInMS = end - start;\n\n return imageFrame;\n}\n\nexports.default = decodeImageFrame;\n\n/***/ }),\n\n/***/ 59:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction decodeLittleEndian(imageFrame, pixelData) {\n if (imageFrame.bitsAllocated === 16) {\n var arrayBuffer = pixelData.buffer;\n var offset = pixelData.byteOffset;\n var length = pixelData.length;\n // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\n // buffers on it\n\n if (offset % 2) {\n arrayBuffer = arrayBuffer.slice(offset);\n offset = 0;\n }\n\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\n } else {\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\n }\n } else if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = pixelData;\n }\n\n return imageFrame;\n}\n\nexports.default = decodeLittleEndian;\n\n/***/ }),\n\n/***/ 60:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* eslint no-bitwise: 0 */\nfunction swap16(val) {\n return (val & 0xFF) << 8 | val >> 8 & 0xFF;\n}\n\nfunction decodeBigEndian(imageFrame, pixelData) {\n if (imageFrame.bitsAllocated === 16) {\n var arrayBuffer = pixelData.buffer;\n var offset = pixelData.byteOffset;\n var length = pixelData.length;\n // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\n // buffers on it\n\n if (offset % 2) {\n arrayBuffer = arrayBuffer.slice(offset);\n offset = 0;\n }\n\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\n } else {\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\n }\n // Do the byte swap\n for (var i = 0; i < imageFrame.pixelData.length; i++) {\n imageFrame.pixelData[i] = swap16(imageFrame.pixelData[i]);\n }\n } else if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = pixelData;\n }\n\n return imageFrame;\n}\n\nexports.default = decodeBigEndian;\n\n/***/ }),\n\n/***/ 61:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction decodeRLE(imageFrame, pixelData) {\n\n if (imageFrame.bitsAllocated === 8) {\n if (imageFrame.planarConfiguration) {\n return decode8Planar(imageFrame, pixelData);\n }\n\n return decode8(imageFrame, pixelData);\n } else if (imageFrame.bitsAllocated === 16) {\n return decode16(imageFrame, pixelData);\n }\n throw 'unsupported pixel format for RLE';\n}\n\nfunction decode8(imageFrame, pixelData) {\n var frameData = pixelData;\n var frameSize = imageFrame.rows * imageFrame.columns;\n var outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\n var header = new DataView(frameData.buffer, frameData.byteOffset);\n var data = new Int8Array(frameData.buffer, frameData.byteOffset);\n var out = new Int8Array(outFrame);\n\n var outIndex = 0;\n var numSegments = header.getInt32(0, true);\n\n for (var s = 0; s < numSegments; ++s) {\n outIndex = s;\n\n var inIndex = header.getInt32((s + 1) * 4, true);\n var maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n var endOfSegment = frameSize * numSegments;\n\n while (inIndex < maxIndex) {\n var n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n // copy n bytes\n for (var i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\n out[outIndex] = data[inIndex++];\n outIndex += imageFrame.samplesPerPixel;\n }\n } else if (n <= -1 && n >= -127) {\n var value = data[inIndex++];\n // run of n bytes\n\n for (var j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\n out[outIndex] = value;\n outIndex += imageFrame.samplesPerPixel;\n }\n } /* else if (n === -128) {\n } // do nothing */\n }\n }\n imageFrame.pixelData = new Uint8Array(outFrame);\n\n return imageFrame;\n}\n\nfunction decode8Planar(imageFrame, pixelData) {\n var frameData = pixelData;\n var frameSize = imageFrame.rows * imageFrame.columns;\n var outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\n var header = new DataView(frameData.buffer, frameData.byteOffset);\n var data = new Int8Array(frameData.buffer, frameData.byteOffset);\n var out = new Int8Array(outFrame);\n\n var outIndex = 0;\n var numSegments = header.getInt32(0, true);\n\n for (var s = 0; s < numSegments; ++s) {\n outIndex = s * frameSize;\n\n var inIndex = header.getInt32((s + 1) * 4, true);\n var maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n var endOfSegment = frameSize * numSegments;\n\n while (inIndex < maxIndex) {\n var n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n // copy n bytes\n for (var i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\n out[outIndex] = data[inIndex++];\n outIndex++;\n }\n } else if (n <= -1 && n >= -127) {\n var value = data[inIndex++];\n // run of n bytes\n\n for (var j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\n out[outIndex] = value;\n outIndex++;\n }\n } /* else if (n === -128) {\n } // do nothing */\n }\n }\n imageFrame.pixelData = new Uint8Array(outFrame);\n\n return imageFrame;\n}\n\nfunction decode16(imageFrame, pixelData) {\n var frameData = pixelData;\n var frameSize = imageFrame.rows * imageFrame.columns;\n var outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel * 2);\n\n var header = new DataView(frameData.buffer, frameData.byteOffset);\n var data = new Int8Array(frameData.buffer, frameData.byteOffset);\n var out = new Int8Array(outFrame);\n\n var numSegments = header.getInt32(0, true);\n\n for (var s = 0; s < numSegments; ++s) {\n var outIndex = 0;\n var highByte = s === 0 ? 1 : 0;\n\n var inIndex = header.getInt32((s + 1) * 4, true);\n var maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n while (inIndex < maxIndex) {\n var n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n for (var i = 0; i < n + 1 && outIndex < frameSize; ++i) {\n out[outIndex * 2 + highByte] = data[inIndex++];\n outIndex++;\n }\n } else if (n <= -1 && n >= -127) {\n var value = data[inIndex++];\n\n for (var j = 0; j < -n + 1 && outIndex < frameSize; ++j) {\n out[outIndex * 2 + highByte] = value;\n outIndex++;\n }\n } /* else if (n === -128) {\n } // do nothing */\n }\n }\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(outFrame);\n } else {\n imageFrame.pixelData = new Int16Array(outFrame);\n }\n\n return imageFrame;\n}\n\nexports.default = decodeRLE;\n\n/***/ }),\n\n/***/ 62:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nfunction decodeJPEGBaseline(imageFrame, pixelData) {\n // check to make sure codec is loaded\n if (typeof JpegImage === 'undefined') {\n throw 'No JPEG Baseline decoder loaded';\n }\n var jpeg = new JpegImage();\n\n jpeg.parse(pixelData);\n\n // Do not use the internal jpeg.js color transformation,\n // since we will handle this afterwards\n jpeg.colorTransform = false;\n\n if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = jpeg.getData(imageFrame.columns, imageFrame.rows);\n\n return imageFrame;\n } else if (imageFrame.bitsAllocated === 16) {\n imageFrame.pixelData = jpeg.getData16(imageFrame.columns, imageFrame.rows);\n\n return imageFrame;\n }\n}\n\nexports.default = decodeJPEGBaseline;\n\n/***/ }),\n\n/***/ 63:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nfunction decodeJPEGLossless(imageFrame, pixelData) {\n // check to make sure codec is loaded\n if (typeof jpeg === 'undefined' || typeof jpeg.lossless === 'undefined' || typeof jpeg.lossless.Decoder === 'undefined') {\n throw 'No JPEG Lossless decoder loaded';\n }\n\n var byteOutput = imageFrame.bitsAllocated <= 8 ? 1 : 2;\n // console.time('jpeglossless');\n var buffer = pixelData.buffer;\n var decoder = new jpeg.lossless.Decoder();\n var decompressedData = decoder.decode(buffer, pixelData.byteOffset, pixelData.length, byteOutput);\n // console.timeEnd('jpeglossless');\n\n if (imageFrame.pixelRepresentation === 0) {\n if (imageFrame.bitsAllocated === 16) {\n imageFrame.pixelData = new Uint16Array(decompressedData.buffer);\n\n return imageFrame;\n }\n // untested!\n imageFrame.pixelData = new Uint8Array(decompressedData.buffer);\n\n return imageFrame;\n }\n imageFrame.pixelData = new Int16Array(decompressedData.buffer);\n\n return imageFrame;\n}\n\nexports.default = decodeJPEGLossless;\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = '0.15.1';\n\n/***/ })\n\n/******/ });\n});\n\n\n// WEBPACK FOOTER //\n// cornerstoneWADOImageLoaderWebWorker.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 55);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 1a38b2491c8facfb2788","function getMinMax (storedPixelData) {\n // we always calculate the min max values since they are not always\n // present in DICOM and we don't want to trust them anyway as cornerstone\n // depends on us providing reliable values for these\n let min = storedPixelData[0];\n let max = storedPixelData[0];\n let storedPixel;\n const numPixels = storedPixelData.length;\n\n for (let index = 1; index < numPixels; index++) {\n storedPixel = storedPixelData[index];\n min = Math.min(min, storedPixel);\n max = Math.max(max, storedPixel);\n }\n\n return {\n min,\n max\n };\n}\n\nexport default getMinMax;\n\n\n\n// WEBPACK FOOTER //\n// ./shared/getMinMax.js","\n\nfunction decodeJpx (imageFrame, pixelData) {\n\n const jpxImage = new JpxImage();\n\n jpxImage.parse(pixelData);\n\n const tileCount = jpxImage.tiles.length;\n\n if (tileCount !== 1) {\n throw `JPEG2000 decoder returned a tileCount of ${tileCount}, when 1 is expected`;\n }\n\n imageFrame.columns = jpxImage.width;\n imageFrame.rows = jpxImage.height;\n imageFrame.pixelData = jpxImage.tiles[0].items;\n\n return imageFrame;\n}\n\nlet openJPEG;\n\nfunction decodeOpenJPEG (data, bytesPerPixel, signed) {\n const dataPtr = openJPEG._malloc(data.length);\n\n openJPEG.writeArrayToMemory(data, dataPtr);\n\n // create param outpout\n const imagePtrPtr = openJPEG._malloc(4);\n const imageSizePtr = openJPEG._malloc(4);\n const imageSizeXPtr = openJPEG._malloc(4);\n const imageSizeYPtr = openJPEG._malloc(4);\n const imageSizeCompPtr = openJPEG._malloc(4);\n\n const t0 = Date.now();\n const ret = openJPEG.ccall('jp2_decode', 'number', ['number', 'number', 'number', 'number', 'number', 'number', 'number'],\n [dataPtr, data.length, imagePtrPtr, imageSizePtr, imageSizeXPtr, imageSizeYPtr, imageSizeCompPtr]);\n // add num vomp..etc\n\n if (ret !== 0) {\n console.log('[opj_decode] decoding failed!');\n openJPEG._free(dataPtr);\n openJPEG._free(openJPEG.getValue(imagePtrPtr, '*'));\n openJPEG._free(imageSizeXPtr);\n openJPEG._free(imageSizeYPtr);\n openJPEG._free(imageSizePtr);\n openJPEG._free(imageSizeCompPtr);\n\n return undefined;\n }\n\n const imagePtr = openJPEG.getValue(imagePtrPtr, '*');\n\n const image = {\n length: openJPEG.getValue(imageSizePtr, 'i32'),\n sx: openJPEG.getValue(imageSizeXPtr, 'i32'),\n sy: openJPEG.getValue(imageSizeYPtr, 'i32'),\n nbChannels: openJPEG.getValue(imageSizeCompPtr, 'i32'), // hard coded for now\n perf_timetodecode: undefined,\n pixelData: undefined\n };\n\n // Copy the data from the EMSCRIPTEN heap into the correct type array\n const length = image.sx * image.sy * image.nbChannels;\n const src32 = new Int32Array(openJPEG.HEAP32.buffer, imagePtr, length);\n\n if (bytesPerPixel === 1) {\n if (Uint8Array.from) {\n image.pixelData = Uint8Array.from(src32);\n } else {\n image.pixelData = new Uint8Array(length);\n for (let i = 0; i < length; i++) {\n image.pixelData[i] = src32[i];\n }\n }\n } else if (signed) {\n if (Int16Array.from) {\n image.pixelData = Int16Array.from(src32);\n } else {\n image.pixelData = new Int16Array(length);\n for (let i = 0; i < length; i++) {\n image.pixelData[i] = src32[i];\n }\n }\n } else if (Uint16Array.from) {\n image.pixelData = Uint16Array.from(src32);\n } else {\n image.pixelData = new Uint16Array(length);\n for (let i = 0; i < length; i++) {\n image.pixelData[i] = src32[i];\n }\n }\n\n const t1 = Date.now();\n\n image.perf_timetodecode = t1 - t0;\n\n // free\n openJPEG._free(dataPtr);\n openJPEG._free(imagePtrPtr);\n openJPEG._free(imagePtr);\n openJPEG._free(imageSizePtr);\n openJPEG._free(imageSizeXPtr);\n openJPEG._free(imageSizeYPtr);\n openJPEG._free(imageSizeCompPtr);\n\n return image;\n}\n\nfunction decodeOpenJpeg2000 (imageFrame, pixelData) {\n const bytesPerPixel = imageFrame.bitsAllocated <= 8 ? 1 : 2;\n const signed = imageFrame.pixelRepresentation === 1;\n\n const image = decodeOpenJPEG(pixelData, bytesPerPixel, signed);\n\n imageFrame.columns = image.sx;\n imageFrame.rows = image.sy;\n imageFrame.pixelData = image.pixelData;\n if (image.nbChannels > 1) {\n imageFrame.photometricInterpretation = 'RGB';\n }\n\n return imageFrame;\n}\n\nfunction initializeJPEG2000 (decodeConfig) {\n // check to make sure codec is loaded\n if (!decodeConfig.usePDFJS) {\n if (typeof OpenJPEG === 'undefined') {\n throw 'OpenJPEG decoder not loaded';\n }\n }\n\n if (!openJPEG) {\n openJPEG = OpenJPEG();\n if (!openJPEG || !openJPEG._jp2_decode) {\n throw 'OpenJPEG failed to initialize';\n }\n }\n}\n\nfunction decodeJPEG2000 (imageFrame, pixelData, decodeConfig, options) {\n options = options || {};\n\n initializeJPEG2000(decodeConfig);\n\n if (options.usePDFJS || decodeConfig.usePDFJS) {\n // OHIF image-JPEG2000 https://github.com/OHIF/image-JPEG2000\n // console.log('PDFJS')\n return decodeJpx(imageFrame, pixelData);\n }\n\n // OpenJPEG2000 https://github.com/jpambrun/openjpeg\n // console.log('OpenJPEG')\n return decodeOpenJpeg2000(imageFrame, pixelData);\n}\n\nexport default decodeJPEG2000;\nexport { initializeJPEG2000 };\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeJPEG2000.js","\n\nlet charLS;\n\nfunction jpegLSDecode (data, isSigned) {\n\n // prepare input parameters\n const dataPtr = charLS._malloc(data.length);\n\n charLS.writeArrayToMemory(data, dataPtr);\n\n // prepare output parameters\n const imagePtrPtr = charLS._malloc(4);\n const imageSizePtr = charLS._malloc(4);\n const widthPtr = charLS._malloc(4);\n const heightPtr = charLS._malloc(4);\n const bitsPerSamplePtr = charLS._malloc(4);\n const stridePtr = charLS._malloc(4);\n const allowedLossyErrorPtr = charLS._malloc(4);\n const componentsPtr = charLS._malloc(4);\n const interleaveModePtr = charLS._malloc(4);\n\n // Decode the image\n const result = charLS.ccall(\n 'jpegls_decode',\n 'number',\n ['number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number', 'number'],\n [dataPtr, data.length, imagePtrPtr, imageSizePtr, widthPtr, heightPtr, bitsPerSamplePtr, stridePtr, componentsPtr, allowedLossyErrorPtr, interleaveModePtr]\n );\n\n // Extract result values into object\n const image = {\n result,\n width: charLS.getValue(widthPtr, 'i32'),\n height: charLS.getValue(heightPtr, 'i32'),\n bitsPerSample: charLS.getValue(bitsPerSamplePtr, 'i32'),\n stride: charLS.getValue(stridePtr, 'i32'),\n components: charLS.getValue(componentsPtr, 'i32'),\n allowedLossyError: charLS.getValue(allowedLossyErrorPtr, 'i32'),\n interleaveMode: charLS.getValue(interleaveModePtr, 'i32'),\n pixelData: undefined\n };\n\n // Copy image from emscripten heap into appropriate array buffer type\n const imagePtr = charLS.getValue(imagePtrPtr, '*');\n\n if (image.bitsPerSample <= 8) {\n image.pixelData = new Uint8Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint8Array(charLS.HEAP8.buffer, imagePtr, image.pixelData.length));\n } else if (isSigned) {\n image.pixelData = new Int16Array(image.width * image.height * image.components);\n image.pixelData.set(new Int16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n } else {\n image.pixelData = new Uint16Array(image.width * image.height * image.components);\n image.pixelData.set(new Uint16Array(charLS.HEAP16.buffer, imagePtr, image.pixelData.length));\n }\n\n // free memory and return image object\n charLS._free(dataPtr);\n charLS._free(imagePtr);\n charLS._free(imagePtrPtr);\n charLS._free(imageSizePtr);\n charLS._free(widthPtr);\n charLS._free(heightPtr);\n charLS._free(bitsPerSamplePtr);\n charLS._free(stridePtr);\n charLS._free(componentsPtr);\n charLS._free(interleaveModePtr);\n\n return image;\n}\n\nfunction initializeJPEGLS () {\n // check to make sure codec is loaded\n if (typeof CharLS === 'undefined') {\n throw 'No JPEG-LS decoder loaded';\n }\n\n // Try to initialize CharLS\n // CharLS https://github.com/chafey/charls\n if (!charLS) {\n charLS = CharLS();\n if (!charLS || !charLS._jpegls_decode) {\n throw 'JPEG-LS failed to initialize';\n }\n }\n\n}\n\nfunction decodeJPEGLS (imageFrame, pixelData) {\n initializeJPEGLS();\n\n const image = jpegLSDecode(pixelData, imageFrame.pixelRepresentation === 1);\n // console.log(image);\n\n // throw error if not success or too much data\n if (image.result !== 0 && image.result !== 6) {\n throw `JPEG-LS decoder failed to decode frame (error code ${image.result})`;\n }\n\n imageFrame.columns = image.width;\n imageFrame.rows = image.height;\n imageFrame.pixelData = image.pixelData;\n\n return imageFrame;\n}\n\nexport default decodeJPEGLS;\nexport { initializeJPEGLS };\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeJPEGLS.js","import { registerTaskHandler } from './webWorker.js';\nimport decodeTask from './decodeTask/decodeTask.js';\n\n// register our task\nregisterTaskHandler(decodeTask);\n\nexport { registerTaskHandler };\nexport { default as version } from '../version.js';\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/index.js","// an object of task handlers\nconst taskHandlers = {};\n\n// Flag to ensure web worker is only initialized once\nlet initialized = false;\n\n// the configuration object passed in when the web worker manager is initialized\nlet config;\n\n/**\n * Initialization function that loads additional web workers and initializes them\n * @param data\n */\nfunction initialize (data) {\n // console.log('web worker initialize ', data.workerIndex);\n // prevent initialization from happening more than once\n if (initialized) {\n return;\n }\n\n // save the config data\n config = data.config;\n\n // load any additional web worker tasks\n if (data.config.webWorkerTaskPaths) {\n for (let i = 0; i < data.config.webWorkerTaskPaths.length; i++) {\n self.importScripts(data.config.webWorkerTaskPaths[i]);\n }\n }\n\n // initialize each task handler\n Object.keys(taskHandlers).forEach(function (key) {\n taskHandlers[key].initialize(config.taskConfiguration);\n });\n\n // tell main ui thread that we have completed initialization\n self.postMessage({\n taskType: 'initialize',\n status: 'success',\n result: {\n },\n workerIndex: data.workerIndex\n });\n\n initialized = true;\n}\n\n/**\n * Function exposed to web worker tasks to register themselves\n * @param taskHandler\n */\nexport function registerTaskHandler (taskHandler) {\n if (taskHandlers[taskHandler.taskType]) {\n console.log('attempt to register duplicate task handler \"', taskHandler.taskType, '\"');\n\n return false;\n }\n taskHandlers[taskHandler.taskType] = taskHandler;\n if (initialized) {\n taskHandler.initialize(config.taskConfiguration);\n }\n}\n\n/**\n * Function to load a new web worker task with updated configuration\n * @param data\n */\nfunction loadWebWorkerTask (data) {\n config = data.config;\n self.importScripts(data.sourcePath);\n}\n\n/**\n * Web worker message handler - dispatches messages to the registered task handlers\n * @param msg\n */\nself.onmessage = function (msg) {\n // console.log('web worker onmessage', msg.data);\n\n // handle initialize message\n if (msg.data.taskType === 'initialize') {\n initialize(msg.data);\n\n return;\n }\n\n // handle loadWebWorkerTask message\n if (msg.data.taskType === 'loadWebWorkerTask') {\n loadWebWorkerTask(msg.data);\n\n return;\n }\n\n // dispatch the message if there is a handler registered for it\n if (taskHandlers[msg.data.taskType]) {\n taskHandlers[msg.data.taskType].handler(msg.data, function (result, transferList) {\n self.postMessage({\n taskType: msg.data.taskType,\n status: 'success',\n result,\n workerIndex: msg.data.workerIndex\n }, transferList);\n });\n\n return;\n }\n\n // not task handler registered - send a failure message back to ui thread\n console.log('no task handler for ', msg.data.taskType);\n console.log(taskHandlers);\n self.postMessage({\n taskType: msg.data.taskType,\n status: 'failed - no task handler registered',\n workerIndex: msg.data.workerIndex\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/webWorker.js","import { initializeJPEG2000 } from './decoders/decodeJPEG2000.js';\nimport { initializeJPEGLS } from './decoders/decodeJPEGLS.js';\nimport getMinMax from '../../shared/getMinMax.js';\nimport decodeImageFrame from './decodeImageFrame.js';\n\n// flag to ensure codecs are loaded only once\nlet codecsLoaded = false;\n\n// the configuration object for the decodeTask\nlet decodeConfig;\n\n/**\n * Function to control loading and initializing the codecs\n * @param config\n */\nfunction loadCodecs (config) {\n // prevent loading codecs more than once\n if (codecsLoaded) {\n return;\n }\n\n // Load the codecs\n // console.time('loadCodecs');\n self.importScripts(config.decodeTask.codecsPath);\n codecsLoaded = true;\n // console.timeEnd('loadCodecs');\n\n // Initialize the codecs\n if (config.decodeTask.initializeCodecsOnStartup) {\n // console.time('initializeCodecs');\n initializeJPEG2000(config.decodeTask);\n initializeJPEGLS(config.decodeTask);\n // console.timeEnd('initializeCodecs');\n }\n}\n\n/**\n * Task initialization function\n */\nfunction decodeTaskInitialize (config) {\n decodeConfig = config;\n if (config.decodeTask.loadCodecsOnStartup) {\n loadCodecs(config);\n }\n}\n\nfunction calculateMinMax (imageFrame) {\n const minMax = getMinMax(imageFrame.pixelData);\n\n if (decodeConfig.decodeTask.strict === true) {\n if (imageFrame.smallestPixelValue !== minMax.min) {\n console.warn('Image smallestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\n }\n\n if (imageFrame.largestPixelValue !== minMax.max) {\n console.warn('Image largestPixelValue tag is incorrect. Rendering performance will suffer considerably.');\n }\n } else {\n imageFrame.smallestPixelValue = minMax.min;\n imageFrame.largestPixelValue = minMax.max;\n }\n}\n\n/**\n * Task handler function\n */\nfunction decodeTaskHandler (data, doneCallback) {\n // Load the codecs if they aren't already loaded\n loadCodecs(decodeConfig);\n\n const imageFrame = data.data.imageFrame;\n\n // convert pixel data from ArrayBuffer to Uint8Array since web workers support passing ArrayBuffers but\n // not typed arrays\n const pixelData = new Uint8Array(data.data.pixelData);\n\n decodeImageFrame(\n imageFrame,\n data.data.transferSyntax,\n pixelData,\n decodeConfig.decodeTask,\n data.data.options);\n\n calculateMinMax(imageFrame);\n\n // convert from TypedArray to ArrayBuffer since web workers support passing ArrayBuffers but not\n // typed arrays\n imageFrame.pixelData = imageFrame.pixelData.buffer;\n\n // invoke the callback with our result and pass the pixelData in the transferList to move it to\n // UI thread without making a copy\n doneCallback(imageFrame, [imageFrame.pixelData]);\n}\n\nexport default {\n taskType: 'decodeTask',\n handler: decodeTaskHandler,\n initialize: decodeTaskInitialize\n};\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decodeTask.js","import decodeLittleEndian from './decoders/decodeLittleEndian.js';\nimport decodeBigEndian from './decoders/decodeBigEndian.js';\nimport decodeRLE from './decoders/decodeRLE.js';\nimport decodeJPEGBaseline from './decoders/decodeJPEGBaseline.js';\nimport decodeJPEGLossless from './decoders/decodeJPEGLossless.js';\nimport decodeJPEGLS from './decoders/decodeJPEGLS.js';\nimport decodeJPEG2000 from './decoders/decodeJPEG2000.js';\n\nfunction decodeImageFrame (imageFrame, transferSyntax, pixelData, decodeConfig, options) {\n const start = new Date().getTime();\n\n if (transferSyntax === '1.2.840.10008.1.2') {\n // Implicit VR Little Endian\n imageFrame = decodeLittleEndian(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.1') {\n // Explicit VR Little Endian\n imageFrame = decodeLittleEndian(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.2') {\n // Explicit VR Big Endian (retired)\n imageFrame = decodeBigEndian(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.1.99') {\n // Deflate transfer syntax (deflated by dicomParser)\n imageFrame = decodeLittleEndian(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.5') {\n // RLE Lossless\n imageFrame = decodeRLE(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.50') {\n // JPEG Baseline lossy process 1 (8 bit)\n imageFrame = decodeJPEGBaseline(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.51') {\n // JPEG Baseline lossy process 2 & 4 (12 bit)\n imageFrame = decodeJPEGBaseline(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.57') {\n // JPEG Lossless, Nonhierarchical (Processes 14)\n imageFrame = decodeJPEGLossless(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.70') {\n // JPEG Lossless, Nonhierarchical (Processes 14 [Selection 1])\n imageFrame = decodeJPEGLossless(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.80') {\n // JPEG-LS Lossless Image Compression\n imageFrame = decodeJPEGLS(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.81') {\n // JPEG-LS Lossy (Near-Lossless) Image Compression\n imageFrame = decodeJPEGLS(imageFrame, pixelData);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.90') {\n // JPEG 2000 Lossless\n imageFrame = decodeJPEG2000(imageFrame, pixelData, decodeConfig, options);\n } else if (transferSyntax === '1.2.840.10008.1.2.4.91') {\n // JPEG 2000 Lossy\n imageFrame = decodeJPEG2000(imageFrame, pixelData, decodeConfig, options);\n } else {\n if (console && console.log) {\n console.log(`Image cannot be decoded due to Unsupported transfer syntax ${transferSyntax}`);\n }\n\n throw `no decoder for transfer syntax ${transferSyntax}`;\n }\n\n /* Don't know if these work...\n // JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only)\n else if(transferSyntax === \"1.2.840.10008.1.2.4.92\")\n {\n return decodeJPEG2000(dataSet, frame);\n }\n // JPEG 2000 Part 2 Multicomponent Image Compression\n else if(transferSyntax === \"1.2.840.10008.1.2.4.93\")\n {\n return decodeJPEG2000(dataSet, frame);\n }\n */\n\n const end = new Date().getTime();\n\n imageFrame.decodeTimeInMS = end - start;\n\n return imageFrame;\n}\n\nexport default decodeImageFrame;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decodeImageFrame.js","function decodeLittleEndian (imageFrame, pixelData) {\n if (imageFrame.bitsAllocated === 16) {\n let arrayBuffer = pixelData.buffer;\n let offset = pixelData.byteOffset;\n const length = pixelData.length;\n // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\n // buffers on it\n\n if (offset % 2) {\n arrayBuffer = arrayBuffer.slice(offset);\n offset = 0;\n }\n\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\n } else {\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\n }\n } else if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = pixelData;\n }\n\n return imageFrame;\n}\n\nexport default decodeLittleEndian;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeLittleEndian.js","/* eslint no-bitwise: 0 */\nfunction swap16 (val) {\n return ((val & 0xFF) << 8) |\n ((val >> 8) & 0xFF);\n}\n\n\nfunction decodeBigEndian (imageFrame, pixelData) {\n if (imageFrame.bitsAllocated === 16) {\n let arrayBuffer = pixelData.buffer;\n let offset = pixelData.byteOffset;\n const length = pixelData.length;\n // if pixel data is not aligned on even boundary, shift it so we can create the 16 bit array\n // buffers on it\n\n if (offset % 2) {\n arrayBuffer = arrayBuffer.slice(offset);\n offset = 0;\n }\n\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(arrayBuffer, offset, length / 2);\n } else {\n imageFrame.pixelData = new Int16Array(arrayBuffer, offset, length / 2);\n }\n // Do the byte swap\n for (let i = 0; i < imageFrame.pixelData.length; i++) {\n imageFrame.pixelData[i] = swap16(imageFrame.pixelData[i]);\n }\n\n } else if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = pixelData;\n }\n\n return imageFrame;\n}\n\nexport default decodeBigEndian;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeBigEndian.js","function decodeRLE (imageFrame, pixelData) {\n\n if (imageFrame.bitsAllocated === 8) {\n if (imageFrame.planarConfiguration) {\n return decode8Planar(imageFrame, pixelData);\n }\n\n return decode8(imageFrame, pixelData);\n } else if (imageFrame.bitsAllocated === 16) {\n return decode16(imageFrame, pixelData);\n }\n throw 'unsupported pixel format for RLE';\n\n}\n\nfunction decode8 (imageFrame, pixelData) {\n const frameData = pixelData;\n const frameSize = imageFrame.rows * imageFrame.columns;\n const outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\n const header = new DataView(frameData.buffer, frameData.byteOffset);\n const data = new Int8Array(frameData.buffer, frameData.byteOffset);\n const out = new Int8Array(outFrame);\n\n let outIndex = 0;\n const numSegments = header.getInt32(0, true);\n\n for (let s = 0; s < numSegments; ++s) {\n outIndex = s;\n\n let inIndex = header.getInt32((s + 1) * 4, true);\n let maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n const endOfSegment = frameSize * numSegments;\n\n while (inIndex < maxIndex) {\n const n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n // copy n bytes\n for (let i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\n out[outIndex] = data[inIndex++];\n outIndex += imageFrame.samplesPerPixel;\n }\n } else if (n <= -1 && n >= -127) {\n const value = data[inIndex++];\n // run of n bytes\n\n for (let j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\n out[outIndex] = value;\n outIndex += imageFrame.samplesPerPixel;\n }\n }/* else if (n === -128) {\n\n } // do nothing */\n }\n }\n imageFrame.pixelData = new Uint8Array(outFrame);\n\n return imageFrame;\n}\n\nfunction decode8Planar (imageFrame, pixelData) {\n const frameData = pixelData;\n const frameSize = imageFrame.rows * imageFrame.columns;\n const outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel);\n const header = new DataView(frameData.buffer, frameData.byteOffset);\n const data = new Int8Array(frameData.buffer, frameData.byteOffset);\n const out = new Int8Array(outFrame);\n\n let outIndex = 0;\n const numSegments = header.getInt32(0, true);\n\n for (let s = 0; s < numSegments; ++s) {\n outIndex = s * frameSize;\n\n let inIndex = header.getInt32((s + 1) * 4, true);\n let maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n const endOfSegment = frameSize * numSegments;\n\n while (inIndex < maxIndex) {\n const n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n // copy n bytes\n for (let i = 0; i < n + 1 && outIndex < endOfSegment; ++i) {\n out[outIndex] = data[inIndex++];\n outIndex++;\n }\n } else if (n <= -1 && n >= -127) {\n const value = data[inIndex++];\n // run of n bytes\n\n for (let j = 0; j < -n + 1 && outIndex < endOfSegment; ++j) {\n out[outIndex] = value;\n outIndex++;\n }\n }/* else if (n === -128) {\n\n } // do nothing */\n }\n }\n imageFrame.pixelData = new Uint8Array(outFrame);\n\n return imageFrame;\n}\n\nfunction decode16 (imageFrame, pixelData) {\n const frameData = pixelData;\n const frameSize = imageFrame.rows * imageFrame.columns;\n const outFrame = new ArrayBuffer(frameSize * imageFrame.samplesPerPixel * 2);\n\n const header = new DataView(frameData.buffer, frameData.byteOffset);\n const data = new Int8Array(frameData.buffer, frameData.byteOffset);\n const out = new Int8Array(outFrame);\n\n const numSegments = header.getInt32(0, true);\n\n for (let s = 0; s < numSegments; ++s) {\n let outIndex = 0;\n const highByte = (s === 0 ? 1 : 0);\n\n let inIndex = header.getInt32((s + 1) * 4, true);\n let maxIndex = header.getInt32((s + 2) * 4, true);\n\n if (maxIndex === 0) {\n maxIndex = frameData.length;\n }\n\n while (inIndex < maxIndex) {\n const n = data[inIndex++];\n\n if (n >= 0 && n <= 127) {\n for (let i = 0; i < n + 1 && outIndex < frameSize; ++i) {\n out[(outIndex * 2) + highByte] = data[inIndex++];\n outIndex++;\n }\n } else if (n <= -1 && n >= -127) {\n const value = data[inIndex++];\n\n for (let j = 0; j < -n + 1 && outIndex < frameSize; ++j) {\n out[(outIndex * 2) + highByte] = value;\n outIndex++;\n }\n }/* else if (n === -128) {\n\n } // do nothing */\n }\n }\n if (imageFrame.pixelRepresentation === 0) {\n imageFrame.pixelData = new Uint16Array(outFrame);\n } else {\n imageFrame.pixelData = new Int16Array(outFrame);\n }\n\n return imageFrame;\n}\n\nexport default decodeRLE;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeRLE.js","\n\nfunction decodeJPEGBaseline (imageFrame, pixelData) {\n // check to make sure codec is loaded\n if (typeof JpegImage === 'undefined') {\n throw 'No JPEG Baseline decoder loaded';\n }\n const jpeg = new JpegImage();\n\n jpeg.parse(pixelData);\n\n // Do not use the internal jpeg.js color transformation,\n // since we will handle this afterwards\n jpeg.colorTransform = false;\n\n if (imageFrame.bitsAllocated === 8) {\n imageFrame.pixelData = jpeg.getData(imageFrame.columns, imageFrame.rows);\n\n return imageFrame;\n } else if (imageFrame.bitsAllocated === 16) {\n imageFrame.pixelData = jpeg.getData16(imageFrame.columns, imageFrame.rows);\n\n return imageFrame;\n }\n}\n\nexport default decodeJPEGBaseline;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeJPEGBaseline.js","\n\nfunction decodeJPEGLossless (imageFrame, pixelData) {\n // check to make sure codec is loaded\n if (typeof jpeg === 'undefined' ||\n typeof jpeg.lossless === 'undefined' ||\n typeof jpeg.lossless.Decoder === 'undefined') {\n throw 'No JPEG Lossless decoder loaded';\n }\n\n const byteOutput = imageFrame.bitsAllocated <= 8 ? 1 : 2;\n // console.time('jpeglossless');\n const buffer = pixelData.buffer;\n const decoder = new jpeg.lossless.Decoder();\n const decompressedData = decoder.decode(buffer, pixelData.byteOffset, pixelData.length, byteOutput);\n // console.timeEnd('jpeglossless');\n\n if (imageFrame.pixelRepresentation === 0) {\n if (imageFrame.bitsAllocated === 16) {\n imageFrame.pixelData = new Uint16Array(decompressedData.buffer);\n\n return imageFrame;\n }\n // untested!\n imageFrame.pixelData = new Uint8Array(decompressedData.buffer);\n\n return imageFrame;\n\n }\n imageFrame.pixelData = new Int16Array(decompressedData.buffer);\n\n return imageFrame;\n\n}\n\nexport default decodeJPEGLossless;\n\n\n\n// WEBPACK FOOTER //\n// ./webWorker/decodeTask/decoders/decodeJPEGLossless.js","export default '0.15.1';\n\n\n\n// WEBPACK FOOTER //\n// ./version.js"],"sourceRoot":""} \ No newline at end of file diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_design/assets/theme-icons.png b/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_design/assets/theme-icons.png deleted file mode 100644 index 098f7ed52..000000000 Binary files a/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_design/assets/theme-icons.png and /dev/null differ diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_hanging-protocols/assets/dots.svg b/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_hanging-protocols/assets/dots.svg deleted file mode 100644 index daf0dada2..000000000 --- a/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_hanging-protocols/assets/dots.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_polyfill/public/js/svg4everybody.min.js b/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_polyfill/public/js/svg4everybody.min.js deleted file mode 100644 index da3f6d8ca..000000000 --- a/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_polyfill/public/js/svg4everybody.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a,b){"function"==typeof define&&define.amd?define([],function(){return a.svg4everybody=b()}):"object"==typeof module&&module.exports?module.exports=b():a.svg4everybody=b()}(this,function(){function a(a,b,c){if(c){var d=document.createDocumentFragment(),e=!b.hasAttribute("viewBox")&&c.getAttribute("viewBox");e&&b.setAttribute("viewBox",e);for(var f=c.cloneNode(!0);f.childNodes.length;)d.appendChild(f.firstChild);a.appendChild(d)}}function b(b){b.onreadystatechange=function(){if(4===b.readyState){var c=b._cachedDocument;c||(c=b._cachedDocument=document.implementation.createHTMLDocument(""),c.body.innerHTML=b.responseText,b._cachedTarget={}),b._embeds.splice(0).map(function(d){var e=b._cachedTarget[d.id];e||(e=b._cachedTarget[d.id]=c.getElementById(d.id)),a(d.parent,d.svg,e)})}},b.onreadystatechange()}function c(c){function e(){for(var c=0;c0)&&n(e,67)}var f,g=Object(c),h=/\bTrident\/[567]\b|\bMSIE (?:9|10)\.0\b/,i=/\bAppleWebKit\/(\d+)\b/,j=/\bEdge\/12\.(\d+)\b/,k=/\bEdge\/.(\d+)\b/,l=window.top!==window.self;f="polyfill"in g?g.polyfill:h.test(navigator.userAgent)||(navigator.userAgent.match(j)||[])[1]<10547||(navigator.userAgent.match(i)||[])[1]<537||k.test(navigator.userAgent)&&l;var m={},n=window.requestAnimationFrame||setTimeout,o=document.getElementsByTagName("use"),p=0;f&&e()}function d(a){for(var b=a;"svg"!==b.nodeName.toLowerCase()&&(b=b.parentNode););return b}return c}); diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_polyfill/public/js/typedarray.min.js b/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_polyfill/public/js/typedarray.min.js deleted file mode 100644 index 82e7eb1de..000000000 --- a/StandaloneViewer/SampleClientOnlyBuild/packages/ohif_polyfill/public/js/typedarray.min.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! modernizr 3.5.0 (Custom Build) | MIT * - * https://modernizr.com/download/?-typedarrays-setclasses !*/ -!function(n,e,s){function o(n,e){return typeof n===e}function a(){var n,e,s,a,t,r,l;for(var c in f)if(f.hasOwnProperty(c)){if(n=[],e=f[c],e.name&&(n.push(e.name.toLowerCase()),e.options&&e.options.aliases&&e.options.aliases.length))for(s=0;s - - - HUD - - - - - - - - - - - Additional Measurements - - - - - - - - Lesions - - - - - - - - Settings - - - - - - Complete - - - - - - - - Locked - - - - - - Studies - - - - - - - - Window / Level - - - - - - - - - Link - - - - - - - - - Non-Target Measurement - - - - - - - - - - Target Measurement - - - - - - - - - Target CR Measurement - - - CR - - - - - - Target EX Measurement - - - EX - - - - - - Target UN Measurement - - - UN - - - - - - Temporary Measurement - - - - - - - - - - More - - - - - - - - Pan - - - - - - - - - - - - - Zoom - - - - - - - - Invert - - - - Stack Scroll - - - - Elliptical ROI - - - - Magnify - - - - Reset - - - - Rotate - - - - Rotate Right - - - - Cineplay Toggle - - - - Vertical - - - - Horizontal - - - - - Trial Information - - - - - - - - Expand - - - - - - Add - - - - - - Close - - - - - - - - Comment - - - - - - - Capture Screen - - - - - - - - - - Warning - - - - - - - - - Viewport Link - - - - - - - diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.eot b/StandaloneViewer/SampleClientOnlyBuild/packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.eot deleted file mode 100644 index b93a4953f..000000000 Binary files a/StandaloneViewer/SampleClientOnlyBuild/packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.eot and /dev/null differ diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.svg b/StandaloneViewer/SampleClientOnlyBuild/packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.svg deleted file mode 100644 index 94fb5490a..000000000 --- a/StandaloneViewer/SampleClientOnlyBuild/packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.svg +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.ttf b/StandaloneViewer/SampleClientOnlyBuild/packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.ttf deleted file mode 100644 index 1413fc609..000000000 Binary files a/StandaloneViewer/SampleClientOnlyBuild/packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.ttf and /dev/null differ diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.woff b/StandaloneViewer/SampleClientOnlyBuild/packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.woff deleted file mode 100644 index 9e612858f..000000000 Binary files a/StandaloneViewer/SampleClientOnlyBuild/packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.woff and /dev/null differ diff --git a/StandaloneViewer/SampleClientOnlyBuild/packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 b/StandaloneViewer/SampleClientOnlyBuild/packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 deleted file mode 100644 index 64539b54c..000000000 Binary files a/StandaloneViewer/SampleClientOnlyBuild/packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 and /dev/null differ diff --git a/StandaloneViewer/StandaloneViewer/.gitignore b/StandaloneViewer/StandaloneViewer/.gitignore deleted file mode 100644 index 40b878db5..000000000 --- a/StandaloneViewer/StandaloneViewer/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ \ No newline at end of file diff --git a/StandaloneViewer/StandaloneViewer/.meteor/.finished-upgraders b/StandaloneViewer/StandaloneViewer/.meteor/.finished-upgraders deleted file mode 100644 index 4538749ab..000000000 --- a/StandaloneViewer/StandaloneViewer/.meteor/.finished-upgraders +++ /dev/null @@ -1,18 +0,0 @@ -# This file contains information which helps Meteor properly upgrade your -# app when you run 'meteor update'. You should check it into version control -# with your project. - -notices-for-0.9.0 -notices-for-0.9.1 -0.9.4-platform-file -notices-for-facebook-graph-api-2 -1.2.0-standard-minifiers-package -1.2.0-meteor-platform-split -1.2.0-cordova-changes -1.2.0-breaking-changes -1.3.0-split-minifiers-package -1.4.0-remove-old-dev-bundle-link -1.4.1-add-shell-server-package -1.4.3-split-account-service-packages -1.5-add-dynamic-import-package -1.7-split-underscore-from-meteor-base diff --git a/StandaloneViewer/StandaloneViewer/.meteor/.gitignore b/StandaloneViewer/StandaloneViewer/.meteor/.gitignore deleted file mode 100644 index 408303742..000000000 --- a/StandaloneViewer/StandaloneViewer/.meteor/.gitignore +++ /dev/null @@ -1 +0,0 @@ -local diff --git a/StandaloneViewer/StandaloneViewer/.meteor/.id b/StandaloneViewer/StandaloneViewer/.meteor/.id deleted file mode 100644 index 8a40384d1..000000000 --- a/StandaloneViewer/StandaloneViewer/.meteor/.id +++ /dev/null @@ -1,7 +0,0 @@ -# This file contains a token that is unique to your project. -# Check it into your repository along with the rest of this directory. -# It can be used for purposes such as: -# - ensuring you don't accidentally deploy one app on top of another -# - providing package authors with aggregated statistics - -166midj11jxxobr39vz4 diff --git a/StandaloneViewer/StandaloneViewer/.meteor/packages b/StandaloneViewer/StandaloneViewer/.meteor/packages deleted file mode 100644 index 80547e906..000000000 --- a/StandaloneViewer/StandaloneViewer/.meteor/packages +++ /dev/null @@ -1,43 +0,0 @@ -# Meteor packages used by this project, one per line. -# Check this file (and the other files in this directory) into your repository. -# -# 'meteor add' and 'meteor remove' will edit this file for you, -# but you can also edit it by hand. - -meteor-base@1.4.0 # Packages every Meteor app needs to have -mobile-experience@1.0.5 # Packages for a great mobile UX -mongo@1.6.0 # The database Meteor supports right now -blaze-html-templates@1.0.4 # Compile .html files into Meteor Blaze views -reactive-var@1.0.11 # Reactive variable for tracker -jquery@1.11.10 # Helpful client-side library -tracker@1.2.0 # Meteor's client-side reactive programming library - -standard-minifier-css@1.5.2 # CSS minifier run for production mode -standard-minifier-js@2.4.0 # JS minifier run for production mode -ecmascript@0.12.3 # Enable ECMAScript2015+ syntax in app code -shell-server@0.4.0 # Server-side component of the `meteor shell` command - -# OHIF Packages -ohif:polyfill -ohif:core -ohif:header -ohif:design -ohif:cornerstone -ohif:cornerstone-settings -ohif:viewerbase -ohif:hanging-protocols -ohif:metadata -ohif:study-list -ohif:measurement-table - -aldeed:template-extension -aldeed:simple-schema@1.5.3 -stylus@=2.513.14 -clinical:router -session@1.2.0-beta181.7 -reactive-dict@1.3.0-beta181.7 -fortawesome:fontawesome -mrt:moment -random@1.1.0 -underscore@1.0.10 -react-template-helper diff --git a/StandaloneViewer/StandaloneViewer/.meteor/platforms b/StandaloneViewer/StandaloneViewer/.meteor/platforms deleted file mode 100644 index efeba1b50..000000000 --- a/StandaloneViewer/StandaloneViewer/.meteor/platforms +++ /dev/null @@ -1,2 +0,0 @@ -server -browser diff --git a/StandaloneViewer/StandaloneViewer/.meteor/release b/StandaloneViewer/StandaloneViewer/.meteor/release deleted file mode 100644 index 9dd1c7aee..000000000 --- a/StandaloneViewer/StandaloneViewer/.meteor/release +++ /dev/null @@ -1 +0,0 @@ -METEOR@1.8.1-beta.7 diff --git a/StandaloneViewer/StandaloneViewer/.meteor/versions b/StandaloneViewer/StandaloneViewer/.meteor/versions deleted file mode 100644 index d85df7e29..000000000 --- a/StandaloneViewer/StandaloneViewer/.meteor/versions +++ /dev/null @@ -1,129 +0,0 @@ -aldeed:collection2@2.10.0 -aldeed:collection2-core@1.2.0 -aldeed:schema-deny@1.1.0 -aldeed:schema-index@1.1.1 -aldeed:simple-schema@1.5.4 -aldeed:template-extension@4.1.0 -allow-deny@1.1.0 -amplify@1.0.0 -autoupdate@1.6.0-beta181.7 -babel-compiler@7.2.3 -babel-runtime@1.3.0 -base64@1.0.11 -binary-heap@1.0.11 -blaze@2.3.3 -blaze-html-templates@1.1.2 -blaze-tools@1.0.10 -boilerplate-generator@1.6.0 -caching-compiler@1.2.1 -caching-html-compiler@1.1.3 -callback-hook@1.1.0 -check@1.3.1 -clinical:router@2.0.19 -clinical:router-location@2.1.0 -clinical:router-middleware-stack@2.1.2 -clinical:router-url@2.1.0 -ddp@1.4.0 -ddp-client@2.3.3 -ddp-common@1.4.0 -ddp-server@2.3.0-beta181.7 -deps@1.0.12 -diff-sequence@1.1.1 -dynamic-import@0.5.1 -ecmascript@0.12.3 -ecmascript-runtime@0.7.0 -ecmascript-runtime-client@0.8.0 -ecmascript-runtime-server@0.7.1 -ejson@1.1.0 -es5-shim@4.8.0 -fastclick@1.0.13 -fetch@0.1.0 -fortawesome:fontawesome@4.7.0 -geojson-utils@1.0.10 -hot-code-push@1.0.4 -html-tools@1.0.11 -htmljs@1.0.11 -http@1.4.2 -id-map@1.1.0 -inter-process-messaging@0.1.0 -iron:controller@1.0.12 -iron:core@1.0.11 -iron:dynamic-template@1.0.12 -iron:layout@1.0.12 -jquery@1.11.11 -launch-screen@1.1.1 -livedata@1.0.18 -logging@1.1.20 -mdg:validation-error@0.5.1 -meteor@1.9.2 -meteor-base@1.4.0 -meteor-platform@1.2.6 -minifier-css@1.4.1 -minifier-js@2.4.0 -minimongo@1.4.5 -mobile-experience@1.0.5 -mobile-status-bar@1.0.14 -modern-browsers@0.1.4-beta181.7 -modules@0.13.0 -modules-runtime@0.10.3 -momentjs:moment@2.18.1 -mongo@1.6.0 -mongo-decimal@0.1.0 -mongo-dev-server@1.1.0 -mongo-id@1.0.7 -mrt:moment@2.8.1 -natestrauser:select2@4.0.3 -npm-mongo@3.1.2-beta181.7 -observe-sequence@1.0.16 -ohif:commands@0.0.1 -ohif:core@0.0.1 -ohif:cornerstone@0.0.1 -ohif:cornerstone-settings@0.0.1 -ohif:design@0.0.1 -ohif:hanging-protocols@0.0.1 -ohif:header@0.0.1 -ohif:hotkeys@0.0.1 -ohif:log@0.0.1 -ohif:measurement-table@0.0.1 -ohif:measurements@0.0.1 -ohif:metadata@0.0.1 -ohif:polyfill@0.0.1 -ohif:select-tree@0.0.1 -ohif:servers@0.0.1 -ohif:studies@0.0.1 -ohif:study-list@0.0.1 -ohif:themes@0.0.1 -ohif:themes-common@0.0.1 -ohif:viewerbase@0.0.1 -ohif:wadoproxy@0.0.1 -ordered-dict@1.1.0 -promise@0.11.1 -raix:eventemitter@0.1.3 -random@1.1.0 -react-template-helper@0.2.11 -reactive-dict@1.3.0-beta181.7 -reactive-var@1.0.11 -reload@1.2.0 -retry@1.1.0 -routepolicy@1.1.0 -session@1.2.0 -shell-server@0.4.0 -silentcicero:jszip@0.0.4 -socket-stream-client@0.2.2 -spacebars@1.0.15 -spacebars-compiler@1.1.3 -standard-app-packages@1.0.9 -standard-minifier-css@1.5.2 -standard-minifier-js@2.4.0 -stylus@2.513.14 -templating@1.3.2 -templating-compiler@1.3.3 -templating-runtime@1.3.2 -templating-tools@1.1.2 -tmeasday:check-npm-versions@0.3.2 -tracker@1.2.0 -ui@1.0.13 -underscore@1.0.10 -url@1.2.0 -webapp@1.7.2 -webapp-hashing@1.0.9 diff --git a/StandaloneViewer/StandaloneViewer/client/body.html b/StandaloneViewer/StandaloneViewer/client/body.html deleted file mode 100644 index 7ea7fcea5..000000000 --- a/StandaloneViewer/StandaloneViewer/client/body.html +++ /dev/null @@ -1,3 +0,0 @@ - -

    - diff --git a/StandaloneViewer/StandaloneViewer/client/body.styl b/StandaloneViewer/StandaloneViewer/client/body.styl deleted file mode 100644 index 6c2ea7ef9..000000000 --- a/StandaloneViewer/StandaloneViewer/client/body.styl +++ /dev/null @@ -1,9 +0,0 @@ -html - width: 100% - height: 100% - -body - width: 100% - height: 100% - overflow: hidden - position: fixed \ No newline at end of file diff --git a/StandaloneViewer/StandaloneViewer/client/components/flexboxLayout/flexboxLayout.html b/StandaloneViewer/StandaloneViewer/client/components/flexboxLayout/flexboxLayout.html deleted file mode 100644 index ed4f6c12c..000000000 --- a/StandaloneViewer/StandaloneViewer/client/components/flexboxLayout/flexboxLayout.html +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/StandaloneViewer/StandaloneViewer/client/components/flexboxLayout/flexboxLayout.js b/StandaloneViewer/StandaloneViewer/client/components/flexboxLayout/flexboxLayout.js deleted file mode 100644 index 71a27b6b5..000000000 --- a/StandaloneViewer/StandaloneViewer/client/components/flexboxLayout/flexboxLayout.js +++ /dev/null @@ -1,25 +0,0 @@ -import { Template } from 'meteor/templating'; -import { Viewerbase } from 'meteor/ohif:viewerbase'; - -Template.flexboxLayout.events({ - 'transitionend .sidebarMenu'(event, instance) { - if (!event.target.classList.contains('sidebarMenu')) { - return; - } - - window.ResizeViewportManager.handleResize(); - } -}); - -Template.flexboxLayout.helpers({ - leftSidebarOpen() { - return Template.instance().data.state.get('leftSidebar'); - }, - rightSidebarOpen() { - return Template.instance().data.state.get('rightSidebar'); - }, - - ViewerMain() { - return Viewerbase.components.viewer.ViewerMain; - } -}); diff --git a/StandaloneViewer/StandaloneViewer/client/components/flexboxLayout/flexboxLayout.styl b/StandaloneViewer/StandaloneViewer/client/components/flexboxLayout/flexboxLayout.styl deleted file mode 100644 index 1617f5875..000000000 --- a/StandaloneViewer/StandaloneViewer/client/components/flexboxLayout/flexboxLayout.styl +++ /dev/null @@ -1,67 +0,0 @@ -@require '{ohif:design}/app' - -.viewerSection - display: flex - flex: 1 - flex-flow: row nowrap - align-items: stretch - height: 'calc(100% - %s)' % ($toolbarHeight) - width: 100% - - .sidebarMenu - height: 100% - // required transformation to make inner fixed elements relative to this one - transform(scale(1)) - transition($sidebarTransition) - - .sidebar-option - height: 100% - max-width: inherit - position: absolute - transform(translateX(100%)) - transition($sidebarTransition) - width: 100% - - &.active - transform(translateX(0%)) - - .sidebar-left - theme('border-right', '%s solid $uiBorderColor' % $uiBorderThickness) - flex: 1 - margin-left: - $studiesSidebarMenuWidth - max-width: $studiesSidebarMenuWidth - order: 1 - - &.sidebar-open - margin-left: 0 - - .mainContent - flex: 1 - height: 100% - order: 2 - overflow: hidden - transition($sidebarTransition) - width: 100% - - .sidebar-right - flex: 1 - margin-right: - $rightSidebarMenuWidth - max-width: $rightSidebarMenuWidth - order: 3 - position: relative - - &[data-timepoints="3"] - margin-right: - ($rightSidebarMenuWidth + 135.5px) - max-width: $rightSidebarMenuWidth + 135.5px - - &[data-timepoints="4"] - margin-right: - ($rightSidebarMenuWidth + 270px) - max-width: $rightSidebarMenuWidth + 270px - - &.sidebar-open - margin-right: 0 - - .studiesListedChanger - theme('border-bottom', '%s solid $uiBorderColor' % $uiBorderThickness) - padding: 20px 10px - text-align: center diff --git a/StandaloneViewer/StandaloneViewer/client/components/standaloneViewer/standaloneViewer.html b/StandaloneViewer/StandaloneViewer/client/components/standaloneViewer/standaloneViewer.html deleted file mode 100644 index 5f57125f1..000000000 --- a/StandaloneViewer/StandaloneViewer/client/components/standaloneViewer/standaloneViewer.html +++ /dev/null @@ -1,20 +0,0 @@ - diff --git a/StandaloneViewer/StandaloneViewer/client/components/standaloneViewer/standaloneViewer.styl b/StandaloneViewer/StandaloneViewer/client/components/standaloneViewer/standaloneViewer.styl deleted file mode 100644 index ed73f1875..000000000 --- a/StandaloneViewer/StandaloneViewer/client/components/standaloneViewer/standaloneViewer.styl +++ /dev/null @@ -1,39 +0,0 @@ -@import "{ohif:design}/app" - -body>.header - - .brand - height: 30px - display: inline-block - text-decoration: none - - .logo-image - display: inline-block - fill: transparent - float: left - height: 100% - margin: 0 8px 0 0 - width: 30px - - .logo-text - display: inline-block - font-family: $logoFontFamily - font-size: 14px - font-weight: $logoFontWeight - theme('color', '$textPrimaryColor') - line-height: 30px - - a.header-menu - theme('color', '$textPrimaryColor') - - .header-options - font-size: 13px - - .menu-toggle - display: inline-block - height: 18px - - .research-use - font-size: 13px - theme('color', '$textSecondaryColor') - font-weight: bold \ No newline at end of file diff --git a/StandaloneViewer/StandaloneViewer/client/components/toolbarSection/toolbarSection.html b/StandaloneViewer/StandaloneViewer/client/components/toolbarSection/toolbarSection.html deleted file mode 100644 index 067a9f914..000000000 --- a/StandaloneViewer/StandaloneViewer/client/components/toolbarSection/toolbarSection.html +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/StandaloneViewer/StandaloneViewer/client/components/toolbarSection/toolbarSection.js b/StandaloneViewer/StandaloneViewer/client/components/toolbarSection/toolbarSection.js deleted file mode 100644 index 8b4f8cccc..000000000 --- a/StandaloneViewer/StandaloneViewer/client/components/toolbarSection/toolbarSection.js +++ /dev/null @@ -1,280 +0,0 @@ -import { Template } from 'meteor/templating'; -import { OHIF } from 'ohif-core'; -import 'meteor/ohif:viewerbase'; - -Template.toolbarSection.onCreated(() => { - const instance = Template.instance(); - - if (OHIF.uiSettings.leftSidebarOpen) { - instance.data.state.set('leftSidebar', 'studies'); - } -}); - -Template.toolbarSection.helpers({ - leftSidebarToggleButtonData() { - const instance = Template.instance(); - return { - toggleable: true, - key: 'leftSidebar', - value: instance.data.state, - options: [{ - value: 'studies', - svgLink: 'packages/ohif_viewerbase/assets/icons.svg#icon-studies', - svgWidth: 15, - svgHeight: 13, - bottomLabel: 'Series' - }] - }; - }, - - rightSidebarToggleButtonData() { - const instance = Template.instance(); - return { - toggleable: true, - key: 'rightSidebar', - value: instance.data.state, - options: [{ - value: 'measurements', - svgLink: '/packages/ohif_viewerbase/assets/icons.svg#icon-measurements-lesions', - svgWidth: 18, - svgHeight: 10, - bottomLabel: 'Measurements' - }] - }; - }, - - toolbarButtons() { - const extraTools = []; - - extraTools.push({ - id: 'crosshairs', - title: 'Crosshairs', - classes: 'imageViewerTool', - iconClasses: 'fa fa-crosshairs' - }); - - extraTools.push({ - id: 'magnify', - title: 'Magnify', - classes: 'imageViewerTool toolbarSectionButton', - iconClasses: 'fa fa-circle' - }); - - extraTools.push({ - id: 'wwwcRegion', - title: 'ROI Window', - classes: 'imageViewerTool', - iconClasses: 'fa fa-square' - }); - - extraTools.push({ - id: 'dragProbe', - title: 'Probe', - classes: 'imageViewerTool', - iconClasses: 'fa fa-dot-circle-o' - }); - - extraTools.push({ - id: 'ellipticalRoi', - title: 'Ellipse', - classes: 'imageViewerTool', - iconClasses: 'fa fa-circle-o' - }); - - extraTools.push({ - id: 'rectangleRoi', - title: 'Rectangle', - classes: 'imageViewerTool', - iconClasses: 'fa fa-square-o' - }); - - extraTools.push({ - id: 'invert', - title: 'Invert', - classes: 'imageViewerCommand', - iconClasses: 'fa fa-adjust' - }); - - extraTools.push({ - id: 'rotateR', - title: 'Rotate Right', - classes: 'imageViewerCommand', - svgLink: '/packages/ohif_viewerbase/assets/icons.svg#icon-tools-rotate-right' - }); - - extraTools.push({ - id: 'flipH', - title: 'Flip H', - classes: 'imageViewerCommand', - svgLink: '/packages/ohif_viewerbase/assets/icons.svg#icon-tools-flip-horizontal' - }); - - extraTools.push({ - id: 'flipV', - title: 'Flip V', - classes: 'imageViewerCommand', - svgLink: '/packages/ohif_viewerbase/assets/icons.svg#icon-tools-flip-vertical' - }); - - extraTools.push({ - id: 'clearTools', - title: 'Clear', - classes: 'imageViewerCommand', - iconClasses: 'fa fa-trash' - }); - - const buttonData = []; - - buttonData.push({ - id: 'stackScroll', - title: 'Stack Scroll', - classes: 'imageViewerTool', - iconClasses: 'fa fa-bars' - }); - - buttonData.push({ - id: 'zoom', - title: 'Zoom', - classes: 'imageViewerTool', - svgLink: 'packages/ohif_viewerbase/assets/icons.svg#icon-tools-zoom' - }); - - buttonData.push({ - id: 'wwwc', - title: 'Levels', - classes: 'imageViewerTool', - svgLink: 'packages/ohif_viewerbase/assets/icons.svg#icon-tools-levels' - }); - - buttonData.push({ - id: 'pan', - title: 'Pan', - classes: 'imageViewerTool', - svgLink: 'packages/ohif_viewerbase/assets/icons.svg#icon-tools-pan' - }); - - buttonData.push({ - id: 'length', - title: 'Length', - classes: 'imageViewerTool toolbarSectionButton', - svgLink: 'packages/ohif_viewerbase/assets/icons.svg#icon-tools-measure-temp' - }); - - buttonData.push({ - id: 'annotate', - title: 'Annotate', - classes: 'imageViewerTool', - svgLink: 'packages/ohif_viewerbase/assets/icons.svg#icon-tools-measure-non-target' - }); - - buttonData.push({ - id: 'angle', - title: 'Angle', - classes: 'imageViewerTool', - iconClasses: 'fa fa-angle-left' - }); - - buttonData.push({ - id: 'resetViewport', - title: 'Reset', - classes: 'imageViewerCommand', - iconClasses: 'fa fa-undo' - }); - - if (!OHIF.uiSettings.displayEchoUltrasoundWorkflow) { - - buttonData.push({ - id: 'previousDisplaySet', - title: 'Previous', - classes: 'imageViewerCommand', - iconClasses: 'fa fa-toggle-up fa-fw' - }); - - buttonData.push({ - id: 'nextDisplaySet', - title: 'Next', - classes: 'imageViewerCommand', - iconClasses: 'fa fa-toggle-down fa-fw' - }); - - const { isPlaying } = OHIF.viewerbase.viewportUtils; - buttonData.push({ - id: 'toggleCinePlay', - title: () => isPlaying() ? 'Stop' : 'Play', - classes: 'imageViewerCommand', - iconClasses: () => ('fa fa-fw ' + (isPlaying() ? 'fa-stop' : 'fa-play')), - active: isPlaying - }); - - buttonData.push({ - id: 'toggleCineDialog', - title: 'CINE', - classes: 'imageViewerCommand', - iconClasses: 'fa fa-youtube-play', - active: () => $('#cineDialog').is(':visible') - }); - } - - buttonData.push({ - id: 'layout', - title: 'Layout', - iconClasses: 'fa fa-th-large', - buttonTemplateName: 'layoutButton' - }); - - buttonData.push({ - id: 'toggleMore', - title: 'More', - classes: 'rp-x-1 rm-l-3', - svgLink: 'packages/ohif_viewerbase/assets/icons.svg#icon-tools-more', - subTools: extraTools - }); - - return buttonData; - }, - - hangingProtocolButtons() { - let buttonData = []; - - buttonData.push({ - id: 'previousPresentationGroup', - title: 'Prev. Stage', - iconClasses: 'fa fa-step-backward', - buttonTemplateName: 'previousPresentationGroupButton' - }); - - buttonData.push({ - id: 'nextPresentationGroup', - title: 'Next Stage', - iconClasses: 'fa fa-step-forward', - buttonTemplateName: 'nextPresentationGroupButton' - }); - - return buttonData; - } - -}); - -Template.toolbarSection.onRendered(function() { - const instance = Template.instance(); - - instance.$('#layout').dropdown(); - - // TODO: Figure out a way to disable/enable the buttons with each status from - // New API - - // const states = OHIF.viewerbase.toolManager.getToolDefaultStates(); - // const disabledToolButtons = states.disabledToolButtons; - // const allToolbarButtons = $('#toolbar').find('button'); - // if (disabledToolButtons && disabledToolButtons.length > 0) { - // for (let i = 0; i < allToolbarButtons.length; i++) { - // const toolbarButton = allToolbarButtons[i]; - // $(toolbarButton).prop('disabled', false); - - // const index = disabledToolButtons.indexOf($(toolbarButton).attr('id')); - // if (index !== -1) { - // $(toolbarButton).prop('disabled', true); - // } - // } - // } -}); diff --git a/StandaloneViewer/StandaloneViewer/client/components/toolbarSection/toolbarSection.styl b/StandaloneViewer/StandaloneViewer/client/components/toolbarSection/toolbarSection.styl deleted file mode 100644 index 36672029c..000000000 --- a/StandaloneViewer/StandaloneViewer/client/components/toolbarSection/toolbarSection.styl +++ /dev/null @@ -1,13 +0,0 @@ -@import "{ohif:design}/app" - -.toolbarSection - theme('border-bottom', '%s solid $uiBorderColor' % $uiBorderThickness) - flex: 0 0 auto - height: $toolbarHeight - padding-top: 6px - position: relative - transition(height 300ms ease) - width: 100% - - &.expanded - height: $toolbarHeight + $toolbarDrawerHeight diff --git a/StandaloneViewer/StandaloneViewer/client/components/viewer/viewer.html b/StandaloneViewer/StandaloneViewer/client/components/viewer/viewer.html deleted file mode 100644 index f956ec30b..000000000 --- a/StandaloneViewer/StandaloneViewer/client/components/viewer/viewer.html +++ /dev/null @@ -1,15 +0,0 @@ - diff --git a/StandaloneViewer/StandaloneViewer/client/components/viewer/viewer.js b/StandaloneViewer/StandaloneViewer/client/components/viewer/viewer.js deleted file mode 100644 index 0e92da1cc..000000000 --- a/StandaloneViewer/StandaloneViewer/client/components/viewer/viewer.js +++ /dev/null @@ -1,175 +0,0 @@ -import { Template } from 'meteor/templating'; -import { Session } from 'meteor/session'; -import { Tracker } from 'meteor/tracker'; -import { ReactiveDict } from 'meteor/reactive-dict'; -import { OHIF } from 'ohif-core'; -import { MeasurementTable } from 'meteor/ohif:measurement-table'; - -import 'meteor/ohif:viewerbase'; -import 'meteor/ohif:metadata'; - -import { createStore } from 'redux'; - -const store = createStore(OHIF.viewerbase.redux.combinedReducer); - -// TODO[react] Use a provider when the whole tree is React -window.store = store; - -Meteor.startup(() => { - Session.setDefault('leftSidebar', false); - Session.setDefault('rightSidebar', false); - - OHIF.viewer.defaultTool = { - left: 'wwwc', - right: 'zoom', - middle: 'pan' - }; - - OHIF.viewer.refLinesEnabled = true; - OHIF.viewer.cine = { - framesPerSecond: 24, - loop: true - }; - - const viewportUtils = OHIF.viewerbase.viewportUtils; - - OHIF.viewer.functionList = { - toggleCineDialog: viewportUtils.toggleCineDialog, - toggleCinePlay: viewportUtils.toggleCinePlay, - clearTools: viewportUtils.clearTools, - resetViewport: viewportUtils.resetViewport, - invert: viewportUtils.invert - }; - - // Create the synchronizer used to update reference lines - OHIF.viewer.updateImageSynchronizer = new cornerstoneTools.Synchronizer('cornerstonenewimage', cornerstoneTools.updateImageSynchronizer); - - OHIF.viewer.metadataProvider = new OHIF.cornerstone.MetadataProvider(); - - // Metadata configuration - const metadataProvider = OHIF.viewer.metadataProvider; - cornerstone.metaData.addProvider(metadataProvider.provider.bind(metadataProvider)); - - // Instantiate viewer plugins - OHIF.viewer.measurementTable = new MeasurementTable(); -}); - -/** - * Inits OHIF Hanging Protocol's onReady. - * It waits for OHIF Hanging Protocol to be ready to instantiate the ProtocolEngine - * Hanging Protocol will use OHIF LayoutManager to render viewports properly - */ -const initHangingProtocol = () => { - // When Hanging Protocol is ready - HP.ProtocolStore.onReady(() => { - - // Gets all StudyMetadata objects: necessary for Hanging Protocol to access study metadata - const studyMetadataList = OHIF.viewer.StudyMetadataList.all(); - - // Caches Layout Manager: Hanging Protocol uses it for layout management according to current protocol - const layoutManager = OHIF.viewerbase.layoutManager; - - // Instantiate StudyMetadataSource: necessary for Hanging Protocol to get study metadata - const studyMetadataSource = new OHIF.studies.classes.OHIFStudyMetadataSource(); - - // Creates Protocol Engine object with required arguments - const ProtocolEngine = new HP.ProtocolEngine(layoutManager, studyMetadataList, [], studyMetadataSource); - - // Sets up Hanging Protocol engine - HP.setEngine(ProtocolEngine); - - Session.set('ViewerReady', true); - }); -}; - -Template.viewer.onCreated(() => { - - OHIF.viewer.measurementTable = new MeasurementTable(); - - const instance = Template.instance(); - - instance.state = new ReactiveDict(); - - instance.state.set('leftSidebar', Session.get('leftSidebar')); - instance.state.set('rightSidebar', Session.get('rightSidebar')); - - if (OHIF.viewer.data && OHIF.viewer.data.loadedSeriesData) { - OHIF.log.info('Reloading previous loadedSeriesData'); - OHIF.viewer.loadedSeriesData = OHIF.viewer.data.loadedSeriesData; - } else { - OHIF.log.info('Setting default viewer data'); - OHIF.viewer.loadedSeriesData = {}; - OHIF.viewer.data = {}; - OHIF.viewer.data.loadedSeriesData = OHIF.viewer.loadedSeriesData; - - // Update the viewer data object - OHIF.viewer.data.viewportColumns = 1; - OHIF.viewer.data.viewportRows = 1; - OHIF.viewer.data.activeViewport = 0; - } - - Session.set('activeViewport', OHIF.viewer.data.activeViewport || 0); - - // @TypeSafeStudies - // Update the OHIF.viewer.Studies collection with the loaded studies - OHIF.viewer.Studies.removeAll(); - - // @TypeSafeStudies - // Clears OHIF.viewer.StudyMetadataList collection - OHIF.viewer.StudyMetadataList.removeAll(); - - OHIF.viewer.data.studyInstanceUids = []; - instance.data.studies.forEach(study => { - const studyMetadata = new OHIF.metadata.StudyMetadata(study, study.studyInstanceUid); - let displaySets = study.displaySets; - - if(!study.displaySets) { - displaySets = OHIF.viewerbase.sortingManager.getDisplaySets(studyMetadata); - study.displaySets = displaySets; - } - - studyMetadata.setDisplaySets(displaySets); - - study.selected = true; - OHIF.viewer.Studies.insert(study); - OHIF.viewer.StudyMetadataList.insert(studyMetadata); - OHIF.viewer.data.studyInstanceUids.push(study.studyInstanceUid); - }); - - // Call Viewer plugins onCreated functions - if(typeof OHIF.viewer.measurementTable.onCreated === 'function') { - OHIF.viewer.measurementTable.onCreated(instance); - } -}); - -Template.viewer.onRendered(function() { - const instance = Template.instance(); - this.autorun(function() { - // To make sure ohif viewerMain is rendered before initializing Hanging Protocols - const isOHIFViewerMainRendered = Session.get('OHIFViewerMainRendered'); - - // To avoid first run - if (isOHIFViewerMainRendered) { - // To run only when ViewerMainRendered dependency has changed. - // because initHangingProtocol can have other reactive components - Tracker.nonreactive(initHangingProtocol); - } - }); - - // Call Viewer plugins onRendered functions - if(typeof OHIF.viewer.measurementTable.onRendered === 'function') { - OHIF.viewer.measurementTable.onRendered(instance); - } -}); - -Template.viewer.events(Object.assign({ - // Viewer Events - }, - MeasurementTable.measurementEvents -)); - -Template.viewer.helpers({ - state() { - return Template.instance().state; - } -}); diff --git a/StandaloneViewer/StandaloneViewer/client/components/viewer/viewer.styl b/StandaloneViewer/StandaloneViewer/client/components/viewer/viewer.styl deleted file mode 100644 index 16bf01215..000000000 --- a/StandaloneViewer/StandaloneViewer/client/components/viewer/viewer.styl +++ /dev/null @@ -1,10 +0,0 @@ -@import "{ohif:design}/app" - -#viewer - background-color: black - height: "calc(100% - %s)" % $topBarHeight - width: 100% - -.loadingTextDiv - theme('color', '$textSecondaryColor') - font-size: 30px diff --git a/StandaloneViewer/StandaloneViewer/client/config.js b/StandaloneViewer/StandaloneViewer/client/config.js deleted file mode 100644 index a368cbedc..000000000 --- a/StandaloneViewer/StandaloneViewer/client/config.js +++ /dev/null @@ -1,30 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { OHIF } from 'ohif-core'; -import { cornerstoneWADOImageLoader } from 'meteor/ohif:cornerstone'; -import * as cornerstoneWebImageLoader from 'cornerstone-web-image-loader'; -import sha from './sha.js'; -import version from './version.js'; - -OHIF.info = { - sha, - version -}; - -const maxWebWorkers = Math.max(navigator.hardwareConcurrency - 1, 1); -const config = { - maxWebWorkers: maxWebWorkers, - startWebWorkersOnDemand: true, - webWorkerPath: OHIF.utils.absoluteUrl('packages/ohif_cornerstone/public/js/cornerstoneWADOImageLoaderWebWorker.es5.js'), - taskConfiguration: { - decodeTask: { - loadCodecsOnStartup: true, - initializeCodecsOnStartup: false, - codecsPath: OHIF.utils.absoluteUrl('packages/ohif_cornerstone/public/js/cornerstoneWADOImageLoaderCodecs.es5.js'), - usePDFJS: false - } - } -}; - -cornerstoneWADOImageLoader.webWorkerManager.initialize(config); -cornerstoneWebImageLoader.external.cornerstone = cornerstone; - diff --git a/StandaloneViewer/StandaloneViewer/client/head.html b/StandaloneViewer/StandaloneViewer/client/head.html deleted file mode 100644 index 948416d3a..000000000 --- a/StandaloneViewer/StandaloneViewer/client/head.html +++ /dev/null @@ -1,11 +0,0 @@ - - - OHIF DICOM Viewer - - - - - - - - diff --git a/StandaloneViewer/StandaloneViewer/client/headerItems.js b/StandaloneViewer/StandaloneViewer/client/headerItems.js deleted file mode 100644 index 0a6b14a1c..000000000 --- a/StandaloneViewer/StandaloneViewer/client/headerItems.js +++ /dev/null @@ -1,14 +0,0 @@ -import { OHIF } from 'ohif-core'; - -OHIF.header.dropdown.setItems([{ - action: () => OHIF.ui.showDialog('themeSelectorModal'), - text: 'Themes', - iconClasses: 'theme', - iconSvgUse: 'packages/ohif_viewerbase/assets/icons.svg#theme', - separatorAfter: false -}, { - action: () => OHIF.ui.showDialog('userPreferencesDialog'), - text: 'Preferences', - icon: 'fa fa-user', - separatorAfter: false -}]); diff --git a/StandaloneViewer/StandaloneViewer/package-lock.json b/StandaloneViewer/StandaloneViewer/package-lock.json deleted file mode 100644 index 50beafe64..000000000 --- a/StandaloneViewer/StandaloneViewer/package-lock.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "name": "StandaloneViewer", - "requires": true, - "lockfileVersion": 1, - "dependencies": { - "@babel/runtime": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", - "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", - "requires": { - "regenerator-runtime": "^0.12.0" - } - }, - "cornerstone-web-image-loader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cornerstone-web-image-loader/-/cornerstone-web-image-loader-2.1.0.tgz", - "integrity": "sha1-Orai+HvfL/uEV3U+kTlFm4epD4I=" - }, - "history": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/history/-/history-4.7.2.tgz", - "integrity": "sha512-1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA==", - "requires": { - "invariant": "^2.2.1", - "loose-envify": "^1.2.0", - "resolve-pathname": "^2.2.0", - "value-equal": "^0.4.0", - "warning": "^3.0.0" - }, - "dependencies": { - "warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", - "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", - "requires": { - "loose-envify": "^1.0.0" - } - } - } - }, - "hoist-non-react-statics": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", - "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" - }, - "loglevel": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", - "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", - "requires": { - "isarray": "0.0.1" - } - }, - "prop-types": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", - "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", - "requires": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - } - }, - "react": { - "version": "16.6.3", - "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz", - "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.11.2" - } - }, - "react-dom": { - "version": "16.6.3", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.6.3.tgz", - "integrity": "sha512-8ugJWRCWLGXy+7PmNh8WJz3g1TaTUt1XyoIcFN+x0Zbkoz+KKdUyx1AQLYJdbFXjuF41Nmjn5+j//rxvhFjgSQ==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.11.2" - } - }, - "react-router": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.3.1.tgz", - "integrity": "sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==", - "requires": { - "history": "^4.7.2", - "hoist-non-react-statics": "^2.5.0", - "invariant": "^2.2.4", - "loose-envify": "^1.3.1", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.1", - "warning": "^4.0.1" - } - }, - "react-router-dom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.3.1.tgz", - "integrity": "sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==", - "requires": { - "history": "^4.7.2", - "invariant": "^2.2.4", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.1", - "react-router": "^4.3.1", - "warning": "^4.0.1" - } - }, - "redux": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.1.tgz", - "integrity": "sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg==", - "requires": { - "loose-envify": "^1.4.0", - "symbol-observable": "^1.2.0" - } - }, - "regenerator-runtime": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", - "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" - }, - "resolve-pathname": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.2.0.tgz", - "integrity": "sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg==" - }, - "scheduler": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.3.tgz", - "integrity": "sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - }, - "value-equal": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-0.4.0.tgz", - "integrity": "sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw==" - }, - "warning": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.2.tgz", - "integrity": "sha512-wbTp09q/9C+jJn4KKJfJfoS6VleK/Dti0yqWSm6KMvJ4MRCXFQNapHuJXutJIrWV0Cf4AhTdeIe4qdKHR1+Hug==", - "requires": { - "loose-envify": "^1.0.0" - } - } - } -} diff --git a/StandaloneViewer/StandaloneViewer/package.json b/StandaloneViewer/StandaloneViewer/package.json deleted file mode 100644 index af7395c5c..000000000 --- a/StandaloneViewer/StandaloneViewer/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "StandaloneViewer", - "private": true, - "scripts": { - "version": "node -p -e \"'export default \\'' + require('./package.json').version + '\\';'\" > client/version.js", - "sha": "echo \"export default '\"$(git rev-parse HEAD)\"';\" > client/sha.js", - "details": "npm run version && npm run sha", - "start": "meteor run" - }, - "dependencies": { - "@babel/runtime": "^7.2.0", - "cornerstone-web-image-loader": "^2.1.0", - "lodash.clonedeep": "^4.5.0", - "lodash.debounce": "^4.0.8", - "loglevel": "^1.6.1", - "prop-types": "^15.6.2", - "react": "^16.6.3", - "react-dom": "^16.6.3", - "react-router-dom": "^4.3.1", - "redux": "^4.0.1" - } -} diff --git a/StandaloneViewer/StandaloneViewer/private/testData/CRStudy.json b/StandaloneViewer/StandaloneViewer/private/testData/CRStudy.json deleted file mode 100644 index d4a2dab92..000000000 --- a/StandaloneViewer/StandaloneViewer/private/testData/CRStudy.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "transactionId": "CRStudy", - "studies": [ - { - "studyInstanceUid": "1.3.51.0.7.633918642.633920010109.6339100821", - "studyDescription": "pelvis", - "studyDate": "20010109", - "studyTime": "100821", - "patientName": "MISTER^CR", - "patientId": "9227465", - "seriesList": [ - { - "seriesDescription": "Lat. Pelvis", - "seriesInstanceUid": "1.3.51.5145.15142.20010109.1105752", - "seriesBodyPart": "PELVIS", - "seriesNumber": "1", - "seriesModality": "CR", - "instances": [ - { - "columns": 2040, - "rows": 2570, - "instanceNumber": "1", - "photometricInterpretation": "MONOCHROME1", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "1.14000000E-01\\1.14000000E-01", - "highBit": 11, - "rescaleSlope": "6.83760684E-01", - "rescaleIntercept": "2.00000000E+02", - "imageType": "DERIVED\\PRIMARY", - "sopInstanceUid": "1.3.51.5145.5142.20010109.1105752.1.0.1", - "url": "dicomweb://s3.amazonaws.com/lury/CRStudy/1.3.51.5145.5142.20010109.1105752.1.0.1.dcm" - } - ] - }, - { - "seriesDescription": "Pelvis", - "seriesInstanceUid": "1.3.51.5145.15142.20010109.1105627", - "seriesBodyPart": "PELVIS", - "seriesNumber": "1", - "seriesModality": "CR", - "instances": [ - { - "columns": 3730, - "rows": 3062, - "instanceNumber": "1", - "photometricInterpretation": "MONOCHROME1", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "1.14000000E-01\\1.14000000E-01", - "highBit": 11, - "rescaleSlope": "6.83760684E-01", - "rescaleIntercept": "2.00000000E+02", - "imageType": "DERIVED\\PRIMARY", - "sopInstanceUid": "1.3.51.5145.5142.20010109.1105627.1.0.1", - "url": "dicomweb://s3.amazonaws.com/lury/CRStudy/1.3.51.5145.5142.20010109.1105627.1.0.1.dcm" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/StandaloneViewer/StandaloneViewer/private/testData/CTStudy.json b/StandaloneViewer/StandaloneViewer/private/testData/CTStudy.json deleted file mode 100644 index 432c47028..000000000 --- a/StandaloneViewer/StandaloneViewer/private/testData/CTStudy.json +++ /dev/null @@ -1,2345 +0,0 @@ -{ - "transactionId": "CTStudy", - "studies": [ - { - "studyInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886", - "studyDescription": "CHEST", - "studyDate": "20010105", - "studyTime": "083501", - "patientName": "MISTER^CT", - "patientId": "2178309", - "seriesList": [ - { - "seriesDescription": "SCOUT", - "seriesInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668949.887", - "seriesNumber": "1", - "seriesDate": "20010105", - "seriesTime": "083501", - "seriesModality": "CT", - "instances": [ - { - "columns": 512, - "rows": 375, - "instanceNumber": "1", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "1.014672\\0.969483", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-248.187592\\0.000000\\ 30.000000", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\LOCALIZER", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668949.888", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668949.888.dcm" - }, - { - "columns": 512, - "rows": 375, - "instanceNumber": "2", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "1.014672\\0.969483", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "0.000000\\ -1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "0.000000\\248.187592\\ 30.000000", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\LOCALIZER", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668949.889", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668949.889.dcm" - } - ] - }, - { - "seriesDescription": "HELICAL CHEST", - "seriesInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668949.890", - "seriesNumber": "2", - "seriesDate": "20010105", - "seriesTime": "083709", - "seriesModality": "CT", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\4.700000", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.109", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.109.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "2", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\2.200000", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.110", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.110.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "4", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -2.800000", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.112", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.112.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "7", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-10.299999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.115", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.115.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "5", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -5.300000", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.113", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.113.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "6", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -7.800000", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.114", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.114.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "3", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -0.300000", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.111", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.111.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "9", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-15.299999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.117", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.117.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "8", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-12.799999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.116", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.116.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "10", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-17.799999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.118", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.118.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "11", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-20.299999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.119", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.119.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "14", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-27.799999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.122", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.122.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "12", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-22.799999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.120", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.120.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "13", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-25.299999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.121", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.121.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "15", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-30.299997", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.123", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.123.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "16", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-32.799999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.124", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.124.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "17", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-35.299999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.125", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.125.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "18", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-37.799999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.126", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.126.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "20", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-42.799999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.128", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.128.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "19", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-40.299999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.127", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.127.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "21", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-45.299995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.129", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.129.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "22", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-47.799999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.130", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.130.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "23", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-50.299995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.131", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.131.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "24", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-52.799999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.132", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.132.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "25", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-55.299995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.133", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.133.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "26", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-57.799999", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.134", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.134.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "28", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-62.799995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.136", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.136.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "27", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-60.299995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.135", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.135.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "29", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-65.299995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.137", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.137.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "30", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-67.799995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.138", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.138.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "32", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-72.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.140", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.140.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "31", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-70.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.139", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.139.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "33", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-75.299995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.141", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.141.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "34", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-77.799995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.142", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.142.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "35", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-80.299995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.143", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.143.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "36", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-82.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.144", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.144.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "38", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-87.799995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.146", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.146.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "37", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-85.299995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.145", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.145.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "39", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-90.299995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.147", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.147.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "40", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-92.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.148", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.148.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "41", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-95.299995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.149", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.149.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "42", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\-97.799995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.150", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.150.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "44", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -102.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.152", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.152.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "43", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -100.299995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.151", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.151.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "45", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -105.299995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.153", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.153.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "46", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -107.799995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.154", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.154.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "47", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -110.299995", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.155", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.155.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "48", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -112.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.156", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.156.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "49", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -115.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.157", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.157.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "50", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -117.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.158", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.158.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "51", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -120.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.159", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.159.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "54", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -127.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.162", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.162.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "53", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -125.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.161", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.161.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "56", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -132.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.164", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.164.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "55", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -130.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.163", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.163.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "58", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -137.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.166", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.166.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "57", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -135.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.165", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.165.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "59", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -140.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.167", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.167.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "60", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -142.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.168", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.168.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "61", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -145.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.169", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.169.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "62", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -147.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.170", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.170.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "64", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -152.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.172", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.172.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "63", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -150.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.171", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.171.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "65", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -155.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.173", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.173.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "66", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -157.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.174", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.174.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "67", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -160.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.175", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.175.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "68", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -162.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.176", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.176.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "69", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -165.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.177", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.177.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "70", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -167.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.178", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.178.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "71", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -170.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.179", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.179.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "73", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -175.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.181", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.181.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "74", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -177.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.182", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.182.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "72", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -172.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.180", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.180.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "76", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -182.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.184", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.184.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "75", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -180.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.183", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.183.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "77", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -185.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.185", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.185.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "78", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -187.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.186", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.186.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "80", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -192.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.188", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.188.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "79", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -190.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.187", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.187.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "81", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -195.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.189", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.189.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "82", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -197.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.190", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.190.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "83", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -200.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.191", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.191.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "84", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -202.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.192", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.192.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "86", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -207.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.194", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.194.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "87", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -210.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.195", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.195.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "85", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -205.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.193", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.193.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "88", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -212.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.196", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.196.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "89", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -215.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.197", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.197.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "90", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -217.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.198", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.198.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "91", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -220.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.199", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.199.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "92", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -222.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.200", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.200.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "93", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -225.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.201", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.201.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "94", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -227.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.202", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.202.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "95", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -230.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.203", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.203.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "96", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -232.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.204", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.204.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "98", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -237.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.206", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.206.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "99", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -240.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.207", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.207.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "97", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -235.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.205", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.205.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "100", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -242.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.208", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.208.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "101", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -245.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.209", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.209.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "102", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -247.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.210", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.210.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "103", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -250.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.211", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.211.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "105", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -255.300003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.213", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.213.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "104", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -252.800003", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.212", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.212.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "106", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -257.799988", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.214", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.214.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "109", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -265.299988", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.217", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.217.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "108", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -262.799988", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.216", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.216.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "107", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.675781\\0.675781", - "highBit": 15, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-161.399994\\ -148.800003\\ -260.299988", - "frameOfReferenceUID": "1.2.840.113619.2.30.1.1762295590.1623.978668949.886.8493.0.12", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL", - "sopInstanceUid": "1.2.840.113619.2.30.1.1762295590.1623.978668950.215", - "url": "dicomweb://s3.amazonaws.com/lury/CTStudy/1.2.840.113619.2.30.1.1762295590.1623.978668950.215.dcm" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/StandaloneViewer/StandaloneViewer/private/testData/DXStudy.json b/StandaloneViewer/StandaloneViewer/private/testData/DXStudy.json deleted file mode 100644 index ce64996b3..000000000 --- a/StandaloneViewer/StandaloneViewer/private/testData/DXStudy.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "transactionId": "DXStudy", - "studies": [ - { - "studyInstanceUid": "1.2.840.113619.2.67.2158294438.15745010109084247.20000", - "studyDescription": "CHEST", - "studyDate": "20010109", - "studyTime": "084353.000000", - "patientName": "MISTER^DX", - "patientId": "3524578", - "seriesList": [ - { - "seriesDescription": "DX CHEST", - "seriesInstanceUid": "1.2.840.113619.2.67.2158294438.16113010109084403.10003", - "seriesBodyPart": "CHEST", - "seriesNumber": "28860", - "seriesDate": "20010109", - "seriesTime": "084403.000000", - "seriesModality": "DX", - "instances": [ - { - "columns": 1736, - "rows": 2022, - "instanceNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 14, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 13, - "rescaleSlope": "1", - "rescaleIntercept": "0", - "imageType": "ORIGINAL\\PRIMARY\\", - "sopInstanceUid": "1.2.840.113619.2.67.2158294438.16324010109084413.245", - "url": "dicomweb://s3.amazonaws.com/lury/DXStudy/1.2.840.113619.2.67.2158294438.16324010109084413.245.dcm" - } - ] - }, - { - "seriesDescription": "DX CHEST", - "seriesInstanceUid": "1.2.840.113619.2.67.2158294438.15745010109084325.10003", - "seriesBodyPart": "CHEST", - "seriesNumber": "28858", - "seriesDate": "20010109", - "seriesTime": "084325.000000", - "seriesModality": "DX", - "instances": [ - { - "columns": 2006, - "rows": 2022, - "instanceNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 14, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 13, - "rescaleSlope": "1", - "rescaleIntercept": "0", - "imageType": "ORIGINAL\\PRIMARY\\", - "sopInstanceUid": "1.2.840.113619.2.67.2158294438.16324010109084338.243", - "url": "dicomweb://s3.amazonaws.com/lury/DXStudy/1.2.840.113619.2.67.2158294438.16324010109084338.243.dcm" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/StandaloneViewer/StandaloneViewer/private/testData/MGStudy.json b/StandaloneViewer/StandaloneViewer/private/testData/MGStudy.json deleted file mode 100644 index 3488957e3..000000000 --- a/StandaloneViewer/StandaloneViewer/private/testData/MGStudy.json +++ /dev/null @@ -1,165 +0,0 @@ -{ - "transactionId": "MGStudy", - "studies": [ - { - "studyInstanceUid": "1.2.840.113619.2.66.2158408118.16050010109105933.20000", - "studyDescription": "MAMMOGRAM", - "studyDate": "20010109", - "studyTime": "105933.000000", - "patientName": "MS^MG", - "patientId": "1346269", - "seriesList": [ - { - "seriesDescription": "BILATERAL", - "seriesInstanceUid": "1.2.840.113619.2.66.2158408118.16050010109105933.10001", - "seriesBodyPart": "BREAST", - "seriesNumber": "699", - "seriesDate": "20010109", - "seriesTime": "105933.000000", - "seriesModality": "MG", - "instances": [ - { - "columns": 1914, - "rows": 2294, - "instanceNumber": "2", - "photometricInterpretation": "MONOCHROME1", - "bitAllocated": 16, - "bitsStored": 14, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 13, - "rescaleSlope": "1", - "rescaleIntercept": "0", - "imageType": "ORIGINAL\\PRIMARY\\", - "sopInstanceUid": "1.2.840.113619.2.66.2158408118.16050010109110432.3", - "url": "dicomweb://s3.amazonaws.com/lury/MGStudy/1.2.840.113619.2.66.2158408118.16050010109110432.3.dcm" - }, - { - "columns": 1914, - "rows": 2294, - "instanceNumber": "3", - "photometricInterpretation": "MONOCHROME1", - "bitAllocated": 16, - "bitsStored": 14, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 13, - "rescaleSlope": "1", - "rescaleIntercept": "0", - "imageType": "ORIGINAL\\PRIMARY\\", - "sopInstanceUid": "1.2.840.113619.2.66.2158408118.16050010109110513.5", - "url": "dicomweb://s3.amazonaws.com/lury/MGStudy/1.2.840.113619.2.66.2158408118.16050010109110513.5.dcm" - }, - { - "columns": 1914, - "rows": 2294, - "instanceNumber": "4", - "photometricInterpretation": "MONOCHROME1", - "bitAllocated": 16, - "bitsStored": 14, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 13, - "rescaleSlope": "1", - "rescaleIntercept": "0", - "imageType": "ORIGINAL\\PRIMARY\\", - "sopInstanceUid": "1.2.840.113619.2.66.2158408118.16050010109110601.7", - "url": "dicomweb://s3.amazonaws.com/lury/MGStudy/1.2.840.113619.2.66.2158408118.16050010109110601.7.dcm" - }, - { - "columns": 1914, - "rows": 2294, - "instanceNumber": "1", - "photometricInterpretation": "MONOCHROME1", - "bitAllocated": 16, - "bitsStored": 14, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 13, - "rescaleSlope": "1", - "rescaleIntercept": "0", - "imageType": "ORIGINAL\\PRIMARY\\", - "sopInstanceUid": "1.2.840.113619.2.66.2158408118.16050010109110250.1", - "url": "dicomweb://s3.amazonaws.com/lury/MGStudy/1.2.840.113619.2.66.2158408118.16050010109110250.1.dcm" - } - ] - }, - { - "seriesDescription": "BILATERAL", - "seriesInstanceUid": "1.2.840.113619.2.66.2158408118.16050010109110253.10003", - "seriesBodyPart": "BREAST", - "seriesNumber": "700", - "seriesDate": "20010109", - "seriesTime": "110253.000000", - "seriesModality": "MG", - "instances": [ - { - "columns": 1914, - "rows": 2294, - "instanceNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "0", - "imageType": "ORIGINAL\\PRIMARY\\", - "sopInstanceUid": "1.2.840.113619.2.66.2158408118.2683010109110300.85", - "url": "dicomweb://s3.amazonaws.com/lury/MGStudy/1.2.840.113619.2.66.2158408118.2683010109110300.85.dcm" - }, - { - "columns": 1914, - "rows": 2294, - "instanceNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "0", - "imageType": "ORIGINAL\\PRIMARY\\", - "sopInstanceUid": "1.2.840.113619.2.66.2158408118.2683010109110441.87", - "url": "dicomweb://s3.amazonaws.com/lury/MGStudy/1.2.840.113619.2.66.2158408118.2683010109110441.87.dcm" - }, - { - "columns": 1914, - "rows": 2294, - "instanceNumber": "4", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "0", - "imageType": "ORIGINAL\\PRIMARY\\", - "sopInstanceUid": "1.2.840.113619.2.66.2158408118.2683010109110610.91", - "url": "dicomweb://s3.amazonaws.com/lury/MGStudy/1.2.840.113619.2.66.2158408118.2683010109110610.91.dcm" - }, - { - "columns": 1914, - "rows": 2294, - "instanceNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "0", - "imageType": "ORIGINAL\\PRIMARY\\", - "sopInstanceUid": "1.2.840.113619.2.66.2158408118.2683010109110523.89", - "url": "dicomweb://s3.amazonaws.com/lury/MGStudy/1.2.840.113619.2.66.2158408118.2683010109110523.89.dcm" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/StandaloneViewer/StandaloneViewer/private/testData/MRStudy.json b/StandaloneViewer/StandaloneViewer/private/testData/MRStudy.json deleted file mode 100644 index 543de94e5..000000000 --- a/StandaloneViewer/StandaloneViewer/private/testData/MRStudy.json +++ /dev/null @@ -1,2736 +0,0 @@ -{ - "transactionId": "MRStudy", - "studies": [ - { - "studyInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.78", - "studyDescription": "BRAIN SELLA", - "studyDate": "20010108", - "studyTime": "120022", - "patientName": "MISTER^MR", - "patientId": "832040", - "seriesList": [ - { - "seriesDescription": "3-PLANE LOC", - "seriesInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.79", - "seriesNumber": "1", - "seriesDate": "20010108", - "seriesTime": "120022", - "seriesModality": "MR", - "instances": [ - { - "columns": 256, - "rows": 256, - "instanceNumber": "24", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-120.000000\\ -7.500000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.103", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.103.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "25", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-120.000000\\-15.000000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.104", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.104.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "23", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-120.000000\\0.000000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.102", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.102.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "22", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-120.000000\\7.500000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.101", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.101.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "26", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-120.000000\\-22.500000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.105", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.105.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "27", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-120.000000\\-30.000000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.106", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.106.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "1", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-120.000000\\ -120.000000\\-30.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.80", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.80.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "2", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-120.000000\\ -120.000000\\-22.500000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.81", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.81.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "3", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-120.000000\\ -120.000000\\-15.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.82", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.82.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "4", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-120.000000\\ -120.000000\\ -7.500000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.83", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.83.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "6", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-120.000000\\ -120.000000\\7.500000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.85", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.85.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "5", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-120.000000\\ -120.000000\\0.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.84", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.84.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "7", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-120.000000\\ -120.000000\\ 15.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.86", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.86.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "8", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-120.000000\\ -120.000000\\ 22.500000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.87", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.87.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "10", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "30.000000\\ -120.000000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.89", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.89.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "12", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "15.000000\\ -120.000000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.91", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.91.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "11", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "22.500000\\ -120.000000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.90", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.90.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "13", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "7.500000\\ -120.000000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.92", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.92.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "9", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-120.000000\\ -120.000000\\ 30.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.88", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.88.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "15", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-7.500000\\ -120.000000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.94", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.94.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "14", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "0.000000\\ -120.000000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.93", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.93.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "17", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-22.500000\\ -120.000000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.96", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.96.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "19", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-120.000000\\ 30.000000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.98", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.98.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "16", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-15.000000\\ -120.000000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.95", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.95.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "18", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-30.000000\\ -120.000000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.97", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.97.dcm" - }, - { - "columns": 256, - "rows": 256, - "instanceNumber": "20", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.937500\\0.937500", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-120.000000\\ 22.500000\\120.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.99", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.99.dcm" - } - ] - }, - { - "seriesDescription": "SAG T-1", - "seriesInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.121", - "seriesNumber": "2", - "seriesDate": "20010108", - "seriesTime": "120318", - "seriesModality": "MR", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "3", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "11.600000\\-92.500000\\ 98.099998", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.124", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.124.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "2", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "14.600000\\-92.500000\\ 98.099998", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.123", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.123.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "17.600000\\-92.500000\\ 98.099998", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.122", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.122.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "4", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "8.600000\\-92.500000\\ 98.099998", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.125", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.125.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "5", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "5.600000\\-92.500000\\ 98.099998", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.126", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.126.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "9", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-6.400000\\-92.500000\\ 98.099998", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.130", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.130.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "10", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-9.400000\\-92.500000\\ 98.099998", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.131", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.131.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "6", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "2.600000\\-92.500000\\ 98.099998", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.127", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.127.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "7", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-0.400000\\-92.500000\\ 98.099998", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.128", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.128.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "8", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-3.400000\\-92.500000\\ 98.099998", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.129", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.129.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "11", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-12.400000\\-92.500000\\ 98.099998", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.132", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.132.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "12", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-15.400000\\-92.500000\\ 98.099998", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.133", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.133.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "13", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-18.400000\\-92.500000\\ 98.099998", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.134", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.134.dcm" - } - ] - }, - { - "seriesDescription": "COR T-1", - "seriesInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.135", - "seriesNumber": "3", - "seriesDate": "20010108", - "seriesTime": "121105", - "seriesModality": "MR", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ 26.299999\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.136", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.136.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "2", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ 23.000000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.137", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.137.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "4", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ 16.400000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.139", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.139.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "3", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ 19.700001\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.138", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.138.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "6", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\9.800000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.141", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.141.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "7", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\6.500000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.142", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.142.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "5", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ 13.100000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.140", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.140.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "8", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\3.200000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.143", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.143.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "9", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ -0.100000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.144", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.144.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "10", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ -3.400000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.145", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.145.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "12", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-10.000000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.147", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.147.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "13", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-13.300000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.148", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.148.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "15", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-19.900000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.150", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.150.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "17", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-26.500000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.152", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.152.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "14", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-16.600000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.149", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.149.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "19", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-33.099998\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.154", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.154.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "20", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-36.400002\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.155", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.155.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "18", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-29.799999\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.153", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.153.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "11", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ -6.700000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.146", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.146.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "16", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-23.200001\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.151", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.151.dcm" - } - ] - }, - { - "seriesDescription": "COR FSE T2", - "seriesInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.156", - "seriesNumber": "4", - "seriesDate": "20010108", - "seriesTime": "121759", - "seriesModality": "MR", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ 26.299999\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.157", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.157.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "5", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ 13.100000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.161", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.161.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "2", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ 23.000000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.158", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.158.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "6", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\9.800000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.162", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.162.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "9", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ -0.100000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.165", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.165.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "7", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\6.500000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.163", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.163.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "8", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\3.200000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.164", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.164.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "4", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ 16.400000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.160", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.160.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "3", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ 19.700001\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.159", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.159.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "10", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ -3.400000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.166", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.166.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "11", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ -6.700000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.167", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.167.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "12", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-10.000000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.168", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.168.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "13", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-13.300000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.169", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.169.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "14", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-16.600000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.170", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.170.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "15", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-19.900000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.171", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.171.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "16", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-23.200001\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.172", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.172.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "17", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-26.500000\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.173", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.173.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "19", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-33.099998\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.175", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.175.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "20", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-36.400002\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.176", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.176.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "18", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-29.799999\\102.400002", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.174", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.174.dcm" - } - ] - }, - { - "seriesDescription": "COR FLAIR", - "seriesInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.177", - "seriesNumber": "5", - "seriesDate": "20010108", - "seriesTime": "122200", - "seriesModality": "MR", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "2", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ 10.400000\\ 98.800003", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.179", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.179.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ 15.400000\\ 98.800003", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.178", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.178.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "3", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\5.400000\\ 98.800003", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.180", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.180.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "4", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\0.400000\\ 98.800003", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.181", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.181.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "5", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ -4.600000\\ 98.800003", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.182", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.182.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "6", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\ -9.600000\\ 98.800003", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.183", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.183.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "8", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-19.600000\\ 98.800003", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.185", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.185.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "7", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-14.600000\\ 98.800003", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.184", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.184.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "9", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-24.600000\\ 98.800003", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.186", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.186.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "11", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-34.599998\\ 98.800003", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.188", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.188.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "10", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-29.600000\\ 98.800003", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.187", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.187.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "12", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.400002\\-39.599998\\ 98.800003", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.189", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.189.dcm" - } - ] - }, - { - "seriesDescription": "AX FSE T2", - "seriesInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.190", - "seriesNumber": "6", - "seriesDate": "20010108", - "seriesTime": "122515", - "seriesModality": "MR", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\-57.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.191", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.191.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "3", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\-42.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.193", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.193.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "2", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\-49.500000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.192", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.192.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "4", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\-34.500000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.194", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.194.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "6", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\-19.500000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.196", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.196.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "5", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\-27.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.195", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.195.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "7", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\-12.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.197", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.197.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "8", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\ -4.500000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.198", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.198.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "9", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\3.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.199", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.199.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "10", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\ 10.500000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.200", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.200.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "11", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\ 18.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.201", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.201.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "12", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\ 25.500000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.202", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.202.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "13", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\ 33.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.203", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.203.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "15", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\ 48.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.205", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.205.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "14", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\ 40.500000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.204", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.204.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "18", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\ 70.500000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.208", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.208.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "16", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\ 55.500000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.206", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.206.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "17", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\1.000000\\0.000000", - "imagePositionPatient": "-100.400002\\-95.599998\\ 63.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.207", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.207.dcm" - } - ] - }, - { - "seriesDescription": "COR T-1 POST GAD", - "seriesInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.209", - "seriesNumber": "7", - "seriesDate": "20010108", - "seriesTime": "123259", - "seriesModality": "MR", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.000000\\6.500000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.210", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.210.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "3", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.000000\\ -0.100000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.212", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.212.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "2", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.000000\\3.200000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.211", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.211.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "5", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.000000\\ -6.700000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.214", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.214.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "4", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.000000\\ -3.400000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.213", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.213.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "6", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.000000\\-10.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.215", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.215.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "7", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.000000\\-13.300000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.216", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.216.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "9", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.000000\\-19.900000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.218", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.218.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "8", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.000000\\-16.600000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.217", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.217.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "10", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.000000\\-23.200001\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.219", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.219.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "12", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.000000\\-29.799999\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.221", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.221.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "11", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.000000\\-26.500000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.220", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.220.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "14", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.000000\\-36.400002\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.223", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.223.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "13", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.000000\\-33.099998\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.222", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.222.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "15", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "1.000000\\0.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-100.000000\\-39.700001\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.224", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.224.dcm" - } - ] - }, - { - "seriesDescription": "SAG T-1 POST GAD", - "seriesInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.225", - "seriesNumber": "8", - "seriesDate": "20010108", - "seriesTime": "123814", - "seriesModality": "MR", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "2", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "17.600000\\-93.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.227", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.227.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "20.600000\\-93.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.226", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.226.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "3", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "14.600000\\-93.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.228", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.228.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "4", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "11.600000\\-93.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.229", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.229.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "8", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-0.400000\\-93.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.233", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.233.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "5", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "8.600000\\-93.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.230", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.230.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "7", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "2.600000\\-93.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.232", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.232.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "9", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-3.400000\\-93.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.234", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.234.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "10", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-6.400000\\-93.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.235", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.235.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "12", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-12.400000\\-93.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.237", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.237.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "11", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-9.400000\\-93.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.236", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.236.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "13", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-15.400000\\-93.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.238", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.238.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "14", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-18.400000\\-93.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.239", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.239.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "15", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "-21.400000\\-93.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.240", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.240.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "6", - "acquisitionNumber": "0", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "0.390625\\0.390625", - "highBit": 15, - "imageOrientationPatient": "0.000000\\1.000000\\0.000000\\0.000000\\0.000000\\ -1.000000", - "imagePositionPatient": "5.600000\\-93.000000\\100.000000", - "frameOfReferenceUID": "1.2.840.113619.2.5.1762583153.223134.978956938.470", - "imageType": "ORIGINAL\\PRIMARY\\OTHER", - "sopInstanceUid": "1.2.840.113619.2.5.1762583153.215519.978957063.231", - "url": "dicomweb://s3.amazonaws.com/lury/MRStudy/1.2.840.113619.2.5.1762583153.215519.978957063.231.dcm" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/StandaloneViewer/StandaloneViewer/private/testData/PTCTStudy.json b/StandaloneViewer/StandaloneViewer/private/testData/PTCTStudy.json deleted file mode 100644 index 11bca2c08..000000000 --- a/StandaloneViewer/StandaloneViewer/private/testData/PTCTStudy.json +++ /dev/null @@ -1,5508 +0,0 @@ -{ - "transactionId": "PTCTStudy", - "studies": [ - { - "studyInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.1", - "studyDescription": "Neck^HeadNeckPETCT", - "studyDate": "20100510", - "studyTime": "133352.906000", - "patientName": "Patient^Anonymous", - "patientBirthDate": "19560324", - "patientId": "12345678", - "patientSex": "M", - "seriesList": [ - { - "seriesDescription": "CT HeadNeck 5.0 H30s", - "seriesInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.2", - "seriesBodyPart": "HEAD", - "seriesNumber": "2", - "seriesDate": "20100510", - "seriesTime": "133445.765000", - "seriesModality": "CT", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "6", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-615.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.11", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032220.11.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "7", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-612.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.12", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032220.12.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "5", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-618.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.10", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032220.10.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "2", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-627.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.3", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032220.3.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "3", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-624.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.7", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032220.7.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-630.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.8", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032220.8.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "4", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-621.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.9", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032220.9.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "19", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-576.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.12", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.12.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "8", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-609.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.1", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.1.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "21", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-570.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.14", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.14.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "17", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-582.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.10", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.10.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "22", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-567.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.15", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.15.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "23", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-564.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.16", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.16.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "24", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-561.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.17", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.17.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "18", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-579.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.11", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.11.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "26", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-555.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.19", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.19.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "25", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-558.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.18", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.18.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "9", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-606.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.2", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.2.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "20", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-573.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.13", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.13.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "11", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-600.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.4", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.4.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "10", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-603.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.3", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.3.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "15", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-588.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.7", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.7.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "12", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-597.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.5", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.5.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "14", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-591.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.8", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.8.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "16", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-585.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.9", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.9.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "36", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-525.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.10", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.10.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "37", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-522.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.11", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.11.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "38", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-519.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.12", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.12.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "39", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-516.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.13", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.13.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "13", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-594.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032221.6", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032221.6.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "40", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-513.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.14", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.14.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "27", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-552.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.1", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.1.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "42", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-507.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.16", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.16.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "41", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-510.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.15", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.15.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "28", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-549.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.2", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.2.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "29", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-546.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.3", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.3.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "32", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-537.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.6", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.6.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "30", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-543.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.4", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.4.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "31", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-540.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.5", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.5.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "33", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-534.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.7", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.7.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "35", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-528.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.9", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.9.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "34", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-531.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032222.8", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032222.8.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "53", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-474.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.11", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.11.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "52", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-477.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.10", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.10.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "56", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-465.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.14", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.14.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "55", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-468.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.13", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.13.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "58", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-459.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.16", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.16.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "57", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-462.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.15", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.15.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "59", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-456.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.17", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.17.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "43", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-504.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.1", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.1.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "54", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-471.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.12", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.12.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "60", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-453.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.18", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.18.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "61", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-450.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.19", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.19.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "44", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-501.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.2", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.2.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "45", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-498.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.3", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.3.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "62", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-447.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.20", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.20.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "47", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-492.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.5", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.5.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "64", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-441.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.22", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.22.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "46", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-495.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.4", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.4.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "63", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-444.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.21", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.21.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "49", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-486.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.7", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.7.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "51", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-480.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.9", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.9.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "65", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-438.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.1", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.1.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "48", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-489.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.6", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.6.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "74", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-411.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.10", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.10.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "75", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-408.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.11", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.11.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "76", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-405.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.12", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.12.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "77", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-402.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.13", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.13.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "78", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-399.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.14", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.14.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "79", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-396.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.15", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.15.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "80", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-393.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.16", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.16.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "50", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-483.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032223.8", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032223.8.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "66", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-435.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.2", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.2.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "68", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-429.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.4", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.4.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "81", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-390.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.17", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.17.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "67", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-432.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.3", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.3.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "70", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-423.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.6", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.6.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "69", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-426.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.5", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.5.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "82", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-387.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.1", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.1.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "71", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-420.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.7", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.7.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "73", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-414.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.9", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.9.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "72", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-417.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032224.8", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032224.8.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "92", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-357.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.10", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.10.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "91", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-360.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.11", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.11.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "94", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-351.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.13", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.13.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "93", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-354.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.12", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.12.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "83", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-384.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.2", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.2.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "84", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-381.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.3", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.3.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "85", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-378.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.4", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.4.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "87", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-372.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.6", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.6.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "86", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-375.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.5", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.5.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "90", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-363.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.9", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.9.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "88", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-369.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.7", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.7.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "89", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 12, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "pixelSpacing": "0.9765625\\0.9765625", - "highBit": 11, - "rescaleSlope": "1", - "rescaleIntercept": "-1024", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-249.51172\\-460.51172\\-366.5", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032220.6", - "imageType": "ORIGINAL\\PRIMARY\\AXIAL\\CT_SOM5 SPI", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.8", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.8.dcm" - } - ] - }, - { - "seriesDescription": "PET WB-uncorrected", - "seriesInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.14", - "seriesNumber": "605", - "seriesDate": "20100510", - "seriesTime": "133645.250000", - "seriesModality": "PT", - "instances": [ - { - "columns": 128, - "rows": 128, - "instanceNumber": "1", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-351.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.15", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.15.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "3", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-358.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.18", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.18.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "4", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-361.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.19", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.19.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "2", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-354.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.17", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.17.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "8", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-375.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.23", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.23.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "6", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-368.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.21", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.21.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "9", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-378.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.24", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.24.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "7", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-371.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.22", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.22.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "5", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-364.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.20", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032225.20.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "21", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-418.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.12", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.12.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "20", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-415.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.11", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.11.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "22", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-422.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.13", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.13.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "10", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-381.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.1", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.1.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "23", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-425.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.14", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.14.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "24", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-429.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.15", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.15.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "25", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-432.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.16", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.16.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "26", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-435.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.17", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.17.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "27", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-439.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.18", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.18.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "28", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-442.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.19", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.19.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "11", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-385.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.2", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.2.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "19", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-412.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.10", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.10.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "30", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-449.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.21", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.21.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "29", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-445.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.20", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.20.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "33", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-459.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.24", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.24.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "32", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-456.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.22", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.22.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "31", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-452.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.23", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.23.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "34", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-462.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.25", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.25.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "35", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-466.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.26", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.26.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "36", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-469.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.27", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.27.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "37", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-472.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.28", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.28.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "12", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-388.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.3", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.3.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "38", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-476.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.29", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.29.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "39", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-479.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.30", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.30.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "40", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-483.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.31", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.31.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "41", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-486.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.32", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.32.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "42", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-489.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.33", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.33.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "43", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-493.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.34", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.34.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "45", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-499.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.36", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.36.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "44", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-496.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.35", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.35.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "46", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-503.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.37", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.37.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "47", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-506.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.38", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.38.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "48", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-510.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.39", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.39.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "49", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-513.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.40", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.40.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "13", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-391.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.4", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.4.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "52", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-523.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.43", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.43.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "51", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-520.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.42", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.42.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "56", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-537.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.47", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.47.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "54", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-530.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.45", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.45.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "55", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-533.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.46", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.46.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "58", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-543.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.49", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.49.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "53", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-526.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.44", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.44.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "50", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-516.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.41", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.41.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "57", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-540.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.48", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.48.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "14", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-395.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.5", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.5.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "60", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-550.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.51", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.51.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "59", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-547.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.50", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.50.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "61", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-553.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.52", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.52.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "62", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-557.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.53", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.53.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "63", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-560.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.54", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.54.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "64", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-564.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.55", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.55.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "15", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-398.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.6", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.6.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "17", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-405.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.8", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.8.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "16", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-402.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.7", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.7.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "74", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-597.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.10", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.10.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "18", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-408.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032226.9", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032226.9.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "75", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-601.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.11", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.11.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "76", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-604.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.12", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.12.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "65", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-567.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.1", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.1.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "78", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-611.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.14", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.14.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "79", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-614.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.15", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.15.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "77", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-607.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.13", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.13.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "81", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-621.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.17", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.17.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "80", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-618.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.16", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.16.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "82", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-624.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.18", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.18.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "66", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-570.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.2", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.2.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "83", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-628.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.19", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.19.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "67", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-574.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.3", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.3.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "69", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-580.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.5", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.5.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "71", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-587.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.7", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.7.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "72", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-591.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.8", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.8.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "70", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-584.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.6", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.6.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "73", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-594.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.9", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.9.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "68", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "0.2039322", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-577.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032225.16", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.4", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.4.dcm" - } - ] - }, - { - "seriesDescription": "PET WB", - "seriesInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.20", - "seriesNumber": "606", - "seriesDate": "20100510", - "seriesTime": "133645.250000", - "seriesModality": "PT", - "instances": [ - { - "columns": 128, - "rows": 128, - "instanceNumber": "2", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-354.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.23", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.23.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "1", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-351.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.21", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.21.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "3", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-358.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.24", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.24.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "5", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-364.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.26", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.26.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "4", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-361.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.25", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.25.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "6", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-368.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.27", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.27.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "7", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-371.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.28", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.28.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "8", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-375.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.29", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.29.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "10", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-381.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.31", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.31.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "9", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-378.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.30", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.30.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "13", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-391.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.34", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.34.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "12", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-388.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.33", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.33.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "17", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-405.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.38", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.38.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "14", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-395.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.35", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.35.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "16", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-402.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.37", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.37.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "15", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-398.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.36", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.36.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "18", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-408.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.39", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.39.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "11", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-385.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.32", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.32.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "19", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-412.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.40", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.40.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "20", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-415.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.41", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.41.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "21", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-418.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.42", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.42.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "23", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-425.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.44", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.44.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "22", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-422.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.43", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032227.43.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "24", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-429.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.1", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.1.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "33", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-459.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.10", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.10.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "34", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-462.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.12", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.12.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "35", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-466.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.11", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.11.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "36", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-469.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.13", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.13.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "37", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-472.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.14", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.14.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "38", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-476.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.15", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.15.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "40", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-483.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.17", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.17.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "39", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-479.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.16", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.16.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "44", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-496.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.21", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.21.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "41", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-486.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.18", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.18.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "43", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-493.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.20", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.20.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "25", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-432.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.2", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.2.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "45", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-499.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.22", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.22.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "46", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-503.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.23", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.23.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "47", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-506.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.24", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.24.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "48", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-510.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.25", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.25.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "49", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-513.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.26", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.26.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "42", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-489.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.19", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.19.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "51", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-520.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.28", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.28.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "50", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-516.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.27", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.27.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "52", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-523.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.29", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.29.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "26", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-435.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.3", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.3.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "53", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-526.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.30", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.30.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "56", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-537.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.33", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.33.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "54", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-530.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.31", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.31.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "57", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-540.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.34", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.34.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "59", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-547.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.36", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.36.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "58", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-543.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.35", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.35.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "60", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-550.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.37", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.37.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "28", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-442.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.5", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.5.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "27", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-439.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.4", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.4.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "29", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-445.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.6", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.6.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "55", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-533.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.32", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.32.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "30", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-449.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.7", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.7.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "31", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-452.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.8", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.8.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "32", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-456.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032228.9", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032228.9.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "70", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-584.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.10", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.10.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "72", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-591.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.12", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.12.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "61", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-553.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.1", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.1.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "71", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-587.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.11", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.11.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "73", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-594.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.13", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.13.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "75", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-601.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.15", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.15.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "74", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-597.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.14", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.14.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "76", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-604.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.16", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.16.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "78", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-611.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.18", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.18.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "79", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-614.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.19", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.19.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "77", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-607.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.17", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.17.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "62", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-557.33", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.2", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.2.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "80", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-618.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.20", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.20.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "82", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-624.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.22", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.22.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "81", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-621.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.21", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.21.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "63", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-560.705", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.3", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.3.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "83", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-628.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.23", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.23.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "66", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-570.83", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.6", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.6.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "64", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-564.08", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.4", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.4.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "65", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-567.455", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.5", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.5.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "68", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-577.58", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.8", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.8.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "69", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-580.955", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.9", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.9.dcm" - }, - { - "columns": 128, - "rows": 128, - "instanceNumber": "67", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 16, - "bitsStored": 16, - "pixelRepresentation": 1, - "samplesPerPixel": 1, - "pixelSpacing": "2.6533637\\2.6533637", - "highBit": 15, - "rescaleSlope": "1.0643264", - "rescaleIntercept": "0", - "imageOrientationPatient": "1\\0\\0\\0\\1\\0", - "imagePositionPatient": "-170.31829\\-379.29324\\-574.205", - "frameOfReferenceUID": "1.3.6.1.4.1.25403.52237031786.3872.20100510032227.22", - "imageType": "ORIGINAL\\PRIMARY", - "sopInstanceUid": "1.3.6.1.4.1.25403.52237031786.3872.20100510032229.7", - "url": "dicomweb://s3.amazonaws.com/lury/PTCTStudy/1.3.6.1.4.1.25403.52237031786.3872.20100510032229.7.dcm" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/StandaloneViewer/StandaloneViewer/private/testData/RFStudy.json b/StandaloneViewer/StandaloneViewer/private/testData/RFStudy.json deleted file mode 100644 index 212430a5e..000000000 --- a/StandaloneViewer/StandaloneViewer/private/testData/RFStudy.json +++ /dev/null @@ -1,771 +0,0 @@ -{ - "transactionId": "RFStudy", - "studies": [ - { - "studyInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909203006", - "studyDescription": "ESOPH", - "studyDate": "20010109", - "studyTime": "093223", - "patientName": "MISTER^RF", - "patientId": "5702887", - "seriesList": [ - { - "seriesInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909322343", - "seriesNumber": "1", - "seriesDate": "20010109", - "seriesTime": "093223", - "seriesModality": "RF", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "4", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909322347", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909322347.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "8", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909322451", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909322451.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "5", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909322348", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909322348.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "10", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909322453", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909322453.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "11", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909322454", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909322454.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "6", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909322349", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909322349.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "7", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909322350", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909322350.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "13", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909322456", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909322456.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "12", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909322455", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909322455.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "9", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909322452", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909322452.dcm" - } - ] - }, - { - "seriesInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909324560", - "seriesNumber": "2", - "seriesDate": "20010109", - "seriesTime": "093245", - "seriesModality": "RF", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909324663", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909324663.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909324562", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909324562.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "4", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909324664", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909324664.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "6", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909324666", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909324666.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "7", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909324667", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909324667.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "8", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909324668", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909324668.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "9", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909324669", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909324669.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "5", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909324665", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909324665.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "10", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909324670", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909324670.dcm" - } - ] - }, - { - "seriesInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909325572", - "seriesNumber": "3", - "seriesDate": "20010109", - "seriesTime": "093247", - "seriesModality": "RF", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909324771", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909324771.dcm" - } - ] - }, - { - "seriesInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909334975", - "seriesNumber": "4", - "seriesDate": "20010109", - "seriesTime": "093350", - "seriesModality": "RF", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909335076", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909335076.dcm" - } - ] - }, - { - "seriesInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909340484", - "seriesNumber": "7", - "seriesDate": "20010109", - "seriesTime": "093405", - "seriesModality": "RF", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909340585", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909340585.dcm" - } - ] - }, - { - "seriesInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909341890", - "seriesNumber": "9", - "seriesDate": "20010109", - "seriesTime": "093419", - "seriesModality": "RF", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909341991", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909341991.dcm" - } - ] - }, - { - "seriesInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909342393", - "seriesNumber": "10", - "seriesDate": "20010109", - "seriesTime": "093424", - "seriesModality": "RF", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909342494", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909342494.dcm" - } - ] - }, - { - "seriesInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909341087", - "seriesNumber": "8", - "seriesDate": "20010109", - "seriesTime": "093411", - "seriesModality": "RF", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909341188", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909341188.dcm" - } - ] - }, - { - "seriesInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909335781", - "seriesNumber": "6", - "seriesDate": "20010109", - "seriesTime": "093358", - "seriesModality": "RF", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909335882", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909335882.dcm" - } - ] - }, - { - "seriesInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909342896", - "seriesNumber": "11", - "seriesDate": "20010109", - "seriesTime": "093429", - "seriesModality": "RF", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909342997", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909342997.dcm" - } - ] - }, - { - "seriesInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909360500", - "seriesNumber": "12", - "seriesDate": "20010109", - "seriesTime": "093605", - "seriesModality": "RF", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909360501", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909360501.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "3", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909360503", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909360503.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "2", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909360502", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909360502.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "4", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909360504", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909360504.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "5", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909360605", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909360605.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "6", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909360606", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909360606.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "8", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909360708", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909360708.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "7", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909360607", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909360607.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "11", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909360711", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909360711.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "12", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909360812", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909360812.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "10", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909360710", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909360710.dcm" - }, - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "9", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909360709", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909360709.dcm" - } - ] - }, - { - "seriesInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909361217", - "seriesNumber": "14", - "seriesDate": "20010109", - "seriesTime": "093613", - "seriesModality": "RF", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909361318", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909361318.dcm" - } - ] - }, - { - "seriesInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909360814", - "seriesNumber": "13", - "seriesDate": "20010109", - "seriesTime": "093609", - "seriesModality": "RF", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909360915", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909360915.dcm" - } - ] - }, - { - "seriesInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909364723", - "seriesNumber": "15", - "seriesDate": "20010109", - "seriesTime": "093648", - "seriesModality": "RF", - "instances": [ - { - "columns": 512, - "rows": 512, - "instanceNumber": "1", - "acquisitionNumber": "1", - "photometricInterpretation": "MONOCHROME2", - "bitAllocated": 8, - "bitsStored": 8, - "pixelRepresentation": 0, - "samplesPerPixel": 1, - "highBit": 7, - "imageType": "ORIGINAL\\PRIMARY\\SINGLE PLANE", - "sopInstanceUid": "1.3.46.670589.6.1.0.98511171.2001010909364824", - "url": "dicomweb://s3.amazonaws.com/lury/RFStudy/1.3.46.670589.6.1.0.98511171.2001010909364824.dcm" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/StandaloneViewer/StandaloneViewer/private/testData/sample.json b/StandaloneViewer/StandaloneViewer/private/testData/sample.json deleted file mode 100644 index 1603c172d..000000000 --- a/StandaloneViewer/StandaloneViewer/private/testData/sample.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "transactionId": "testId", - "studies": [{ - "studyInstanceUid": "23.23.21.3.32", - "patientName": "Patient Name", - "seriesList": [{ - "seriesInstanceUid": "1.23.2.32.1.2.1.3.2", - "seriesDescription": "Wikipedia Samples", - "instances": [ - { - "sopInstanceUid": "1.2.3.2.32.18.8", - "rows": 1, - "url": "https://upload.wikimedia.org/wikipedia/en/a/a9/Example.jpg" - }, { - "sopInstanceUid": "1.2.3.2.32.18.9", - "rows": 1, - "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Sample_Floorplan.jpg/800px-Sample_Floorplan.jpg" - } - ] - }, { - "seriesInstanceUid": "1.33.2.32.1.2.1.3.2", - "seriesDescription": "JPS-sample", - "instances": [ - { - "sopInstanceUid": "1.2.3.2.32.18.10", - "rows": 1, - "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/JPS-sample.jpg/800px-JPS-sample.jpg" - } - ] - }] - }] -} \ No newline at end of file diff --git a/StandaloneViewer/StandaloneViewer/private/testData/testDICOMs.json b/StandaloneViewer/StandaloneViewer/private/testData/testDICOMs.json deleted file mode 100644 index c6c4b6940..000000000 --- a/StandaloneViewer/StandaloneViewer/private/testData/testDICOMs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "transactionId": "testDICOMs", - "studies": [{ - "studyInstanceUid": "23.23.21.3.32", - "patientName": "Patient Name", - "seriesList": [{ - "seriesInstanceUid": "1.23.2.32.1.2.1.3.2", - "seriesDescription": "T-1", - "instances": [ - { - "sopInstanceUid": "1.2.3.2.32.18.8", - "rows": 1, - "url": "dicomweb://rawgit.com/chafey/byozfwv/master/sampleData/1.2.840.113619.2.5.1762583153.215519.978957063.80.dcm" - }, { - "sopInstanceUid": "1.2.3.2.32.18.9", - "rows": 1, - "url": "dicomweb://rawgit.com/chafey/byozfwv/master/sampleData/1.2.840.113619.2.5.1762583153.215519.978957063.81.dcm" - } - ] - }, { - "seriesInstanceUid": "1.33.2.32.1.2.1.3.2", - "seriesDescription": "COR T-1", - "instances": [ - { - "sopInstanceUid": "1.2.3.2.32.18.10", - "rows": 1, - "url": "dicomweb://rawgit.com/chafey/byozfwv/master/sampleData/1.2.840.113619.2.5.1762583153.215519.978957063.136.dcm" - } - ] - }] - }] -} \ No newline at end of file diff --git a/StandaloneViewer/StandaloneViewer/public/DICOMCloud_public.json b/StandaloneViewer/StandaloneViewer/public/DICOMCloud_public.json deleted file mode 100644 index 273ddc906..000000000 --- a/StandaloneViewer/StandaloneViewer/public/DICOMCloud_public.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "servers": { - "dicomWeb": [ - { - "name": "DICOMCloud Public Server", - "wadoUriRoot": "https://dicomcloud.azurewebsites.net/WadoUri", - "qidoRoot": "https://dicomcloud.azurewebsites.net/qidors", - "wadoRoot": "https://dicomcloud.azurewebsites.net/wadors", - "qidoSupportsIncludeField": false, - "imageRendering": "wadouri", - "thumbnailRendering": "wadouri", - "requestOptions": { - "requestFromBrowser": true, - "logRequests": true, - "logResponses": false, - "logTiming": true - } - }] - }, - "defaultServiceType": "dicomWeb" -} diff --git a/StandaloneViewer/StandaloneViewer/routes.js b/StandaloneViewer/StandaloneViewer/routes.js deleted file mode 100644 index 6196bbe6b..000000000 --- a/StandaloneViewer/StandaloneViewer/routes.js +++ /dev/null @@ -1,142 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Router } from 'meteor/clinical:router'; -import { OHIF } from 'ohif-core'; - -if (Meteor.isClient) { - // Disconnect from the Meteor Server since we don't need it - OHIF.log.info('Disconnecting from the Meteor server'); - Meteor.disconnect(); - - Router.configure({ - loadingTemplate: 'loading' - }); - - Router.onBeforeAction('loading'); - - Router.route('/:id?', { - onRun: function() { - console.warn('onRun'); - // Retrieve the query from the URL the user has entered - const query = this.params.query; - const id = this.params.id; - - if (!id && !query.url) { - console.log('No URL was specified. Use ?url=${yourURL}'); - return; - } - - const next = this.next; - const idUrl = `/api/${id}`; - const url = query.url || idUrl; - - // Define a request to the server to retrieve the study data - // as JSON, given a URL that was in the Route - const oReq = new XMLHttpRequest(); - - // Add event listeners for request failure - oReq.addEventListener('error', () => { - OHIF.log.warn('An error occurred while retrieving the JSON data'); - next(); - }); - - // When the JSON has been returned, parse it into a JavaScript Object - // and render the OHIF Viewer with this data - oReq.addEventListener('load', () => { - // Parse the response content - // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseText - if (!oReq.responseText) { - OHIF.log.warn('Response was undefined'); - return; - } - - OHIF.log.info(JSON.stringify(oReq.responseText, null, 2)); - this.data = JSON.parse(oReq.responseText); - - if (this.data.servers && query.studyInstanceUids) { - console.warn('Using Server Definition!'); - - const server = this.data.servers.dicomWeb[0]; - server.type = 'dicomWeb'; - - const serverId = OHIF.servers.collections.servers.insert(server); - - OHIF.servers.collections.currentServer.insert({ - serverId - }); - - studyInstanceUids = query.studyInstanceUids.split(';'); - const seriesInstanceUids = []; - - const viewerData = { - studyInstanceUids, - seriesInstanceUids - }; - - OHIF.studies.retrieveStudiesMetadata(studyInstanceUids, seriesInstanceUids).then(studies => { - this.data = { - studies, - viewerData - }; - - next(); - }); - - return; - } - - next(); - }); - - // Open the Request to the server for the JSON data - // In this case we have a server-side route called /api/ - // which responds to GET requests with the study data - OHIF.log.info(`Sending Request to: ${url}`); - oReq.open('GET', url); - oReq.setRequestHeader('Accept', 'application/json') - - // Fire the request to the server - oReq.send(); - }, - action() { - // Render the Viewer with this data - this.render('standaloneViewer', { - data: () => this.data - }); - } - }); -} - -// This is ONLY for demo purposes. -if (Meteor.isServer) { - // You can test this with: - // curl -v -H "Content-Type: application/json" -X GET 'http://localhost:3000/getData/testId' - // - // Or by going to: - // http://localhost:3000/api/testId - - Router.route('/api/:id', { where: 'server' }).get(function() { - // "this" is the RouteController instance. - // "this.response" is the Connect response object - // "this.request" is the Connect request object - const id = this.params.id; - - // Find the relevant study data from the Collection given the ID - const data = RequestStudies.findOne({ transactionId: id }); - - // Set the response headers to return JSON to any server - this.response.setHeader('Content-Type', 'application/json'); - this.response.setHeader('Access-Control-Allow-Origin', '*'); - this.response.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); - - // Change the response text depending on the available study data - if (!data) { - this.response.write('No Data Found'); - } else { - // Stringify the JavaScript object to JSON for the response - this.response.write(JSON.stringify(data)); - } - - // Finalize the response - this.response.end(); - }); -} diff --git a/StandaloneViewer/StandaloneViewer/server/collections.js b/StandaloneViewer/StandaloneViewer/server/collections.js deleted file mode 100644 index 4e615e9fe..000000000 --- a/StandaloneViewer/StandaloneViewer/server/collections.js +++ /dev/null @@ -1,31 +0,0 @@ -import { Meteor } from 'meteor/meteor'; - -// Create a Collection to store data -RequestStudies = new Meteor.Collection('requestStudies'); - -// Remove all previous data -RequestStudies.remove({}); - -const testDataFiles = [ - 'sample.json', - 'testDICOMs.json', - 'CRStudy.json', - 'CTStudy.json', - 'DXStudy.json', - 'MGStudy.json', - 'MRStudy.json', - 'PTCTStudy.json', - 'RFStudy.json' -]; - -testDataFiles.forEach(file => { - if (file.indexOf('.json') === -1) { - return; - } - - // Read JSON files and save the content in the database - const jsonData = Assets.getText(`testData/${file}`); - const data = JSON.parse(jsonData); - - RequestStudies.insert(data); -}); diff --git a/StandaloneViewer/etc/redirectingSimpleServer.py b/StandaloneViewer/etc/redirectingSimpleServer.py deleted file mode 100644 index 2d83cb42c..000000000 --- a/StandaloneViewer/etc/redirectingSimpleServer.py +++ /dev/null @@ -1,43 +0,0 @@ -import SimpleHTTPServer, SocketServer -import urlparse, os - -PORT = 3000 - -## Note: If you set this parameter, you can try to serve files -# at a subdirectory. You should use -# -u http://localhost:3000/subdirectory -# when building the application, which will set this as your -# ROOT_URL. -#URL_PATH="/subdirectory" -URL_PATH="" - -class MyHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): - def do_GET(self): - - # Strip the subdirectory from the PATH - # e.g. localhost:3000/subdirectory/packages/ohif_polyfill/svg4everybody.min.js - # is interpreted by this script as localhost:3000/packages/ohif_polyfill/svg4everybody.min.js - # so the file is found properly. - self.path = self.path.replace(URL_PATH, "") - - # Parse query data to find out what was requested - parsedParams = urlparse.urlparse(self.path) - - # See if the file requested exists - if os.access('.' + os.sep + parsedParams.path, os.R_OK): - # File exists, serve it up - SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self); - else: - # send index.html - self.send_response(200) - self.send_header('Content-Type', 'text/html') - self.end_headers() - with open('index.html', 'r') as fin: - self.copyfile(fin, self.wfile) - -Handler = MyHandler - -httpd = SocketServer.TCPServer(("", PORT), Handler) - -print "serving at port", PORT -httpd.serve_forever() diff --git a/StandaloneViewer/etc/sampleDICOM.json b/StandaloneViewer/etc/sampleDICOM.json deleted file mode 100644 index 2461c6d2f..000000000 --- a/StandaloneViewer/etc/sampleDICOM.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "transactionId": "testDICOMs", - "studies": [{ - "studyInstanceUid": "23.23.21.3.32", - "patientName": "Patient Name", - "seriesList": [{ - "seriesInstanceUid": "1.23.2.32.1.2.1.3.2", - "seriesDescription": "T-1", - "instances": [ - { - "sopInstanceUid": "1.2.3.2.32.18.8", - "columns": 256, - "rows": 256, - "url": "dicomweb://rawgit.com/chafey/byozfwv/master/sampleData/1.2.840.113619.2.5.1762583153.215519.978957063.80.dcm" - }, { - "sopInstanceUid": "1.2.3.2.32.18.9", - "rows": 256, - "columns": 256, - "frameOfReferenceUID": "1.2.3.4.5", - "imagePositionPatient": "-100\\-13\\98", - "imageOrientationPatient": "1\\0\\0\\0\\0\\-1", - "url": "dicomweb://rawgit.com/chafey/byozfwv/master/sampleData/1.2.840.113619.2.5.1762583153.215519.978957063.81.dcm", - "pixelSpacing": "0.78\\0.78" - } - ] - }, { - "seriesInstanceUid": "1.33.2.32.1.2.1.3.2", - "seriesDescription": "COR T-1", - "instances": [ - { - "sopInstanceUid": "1.2.3.2.32.18.10", - "rows": 256, - "columns": 256, - "url": "dicomweb://rawgit.com/chafey/byozfwv/master/sampleData/1.2.840.113619.2.5.1762583153.215519.978957063.136.dcm" - } - ] - }] - }] -} \ No newline at end of file diff --git a/StandaloneViewer/etc/sampleJpeg.json b/StandaloneViewer/etc/sampleJpeg.json deleted file mode 100644 index 35f461a35..000000000 --- a/StandaloneViewer/etc/sampleJpeg.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "studies": [{ - "studyInstanceUid": "23.23.21.3.32", - "patientName": "Patient Name", - "seriesList": [{ - "seriesInstanceUid": "1.23.2.32.1.2.1.3.2", - "seriesDescription": "Wikipedia Samples", - "instances": [ - { - "sopInstanceUid": "1.2.3.2.32.18.8", - "rows": 1, - "url": "https://upload.wikimedia.org/wikipedia/en/a/a9/Example.jpg" - }, { - "sopInstanceUid": "1.2.3.2.32.18.9", - "rows": 1, - "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Sample_Floorplan.jpg/800px-Sample_Floorplan.jpg" - } - ] - }, { - "seriesInstanceUid": "1.33.2.32.1.2.1.3.2", - "seriesDescription": "JPS-sample", - "instances": [ - { - "sopInstanceUid": "1.2.3.2.32.18.10", - "rows": 1, - "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/JPS-sample.jpg/800px-JPS-sample.jpg" - } - ] - }] - }] -} \ No newline at end of file diff --git a/StandaloneViewer/testBuild/61a545efdb77dfee5a81ecb832a593b0cc639137.css b/StandaloneViewer/testBuild/61a545efdb77dfee5a81ecb832a593b0cc639137.css deleted file mode 100644 index c964cfaa8..000000000 --- a/StandaloneViewer/testBuild/61a545efdb77dfee5a81ecb832a593b0cc639137.css +++ /dev/null @@ -1 +0,0 @@ -.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}.ioDialog{z-index:1000;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;overflow:hidden;padding:0px;width:220px;height:100px;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px;text-align:center}.ioDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tide .ioDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tigerlily .ioDialog{border:1px solid rgba(135,90,134,0.95)}body.theme-crickets .ioDialog{border:1px solid rgba(83,123,118,0.95)}body.theme-honeycomb .ioDialog{border:1px solid rgba(98,51,55,0.95)}body.theme-mint .ioDialog{border:1px solid rgba(33,69,41,0.95)}body.theme-overcast .ioDialog{border:1px solid rgba(64,64,64,0.95)}body.theme-quartz .ioDialog{border:1px solid rgba(136,91,134,0.95)}.ioDialog{background:rgba(20,25,30,0.95)}body.theme-tide .ioDialog{background:rgba(20,25,30,0.95)}body.theme-tigerlily .ioDialog{background:rgba(20,25,30,0.95)}body.theme-crickets .ioDialog{background:rgba(20,25,30,0.95)}body.theme-honeycomb .ioDialog{background:rgba(20,25,30,0.95)}body.theme-mint .ioDialog{background:rgba(20,25,30,0.95)}body.theme-overcast .ioDialog{background:rgba(20,25,30,0.95)}body.theme-quartz .ioDialog{background:rgba(20,25,30,0.95)}.ioDialog{color:#91b9cd}body.theme-tide .ioDialog{color:#91b9cd}body.theme-tigerlily .ioDialog{color:#9ccdf8}body.theme-crickets .ioDialog{color:#8be7b5}body.theme-honeycomb .ioDialog{color:#fab797}body.theme-mint .ioDialog{color:#a7e9b3}body.theme-overcast .ioDialog{color:#73f2fc}body.theme-quartz .ioDialog{color:#d7e8fe}.ioDialog h5,.ioDialog label{font-weight:400}.ioMessageDialog{z-index:1000;max-height:calc(100% - 100px);max-width:400px;position:absolute;margin:auto;overflow:hidden;padding:10px;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px;text-align:center}.ioMessageDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tide .ioMessageDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tigerlily .ioMessageDialog{border:1px solid rgba(135,90,134,0.95)}body.theme-crickets .ioMessageDialog{border:1px solid rgba(83,123,118,0.95)}body.theme-honeycomb .ioMessageDialog{border:1px solid rgba(98,51,55,0.95)}body.theme-mint .ioMessageDialog{border:1px solid rgba(33,69,41,0.95)}body.theme-overcast .ioMessageDialog{border:1px solid rgba(64,64,64,0.95)}body.theme-quartz .ioMessageDialog{border:1px solid rgba(136,91,134,0.95)}.ioMessageDialog{background:rgba(20,25,30,0.95)}body.theme-tide .ioMessageDialog{background:rgba(20,25,30,0.95)}body.theme-tigerlily .ioMessageDialog{background:rgba(20,25,30,0.95)}body.theme-crickets .ioMessageDialog{background:rgba(20,25,30,0.95)}body.theme-honeycomb .ioMessageDialog{background:rgba(20,25,30,0.95)}body.theme-mint .ioMessageDialog{background:rgba(20,25,30,0.95)}body.theme-overcast .ioMessageDialog{background:rgba(20,25,30,0.95)}body.theme-quartz .ioMessageDialog{background:rgba(20,25,30,0.95)}.ioMessageDialog{color:#91b9cd}body.theme-tide .ioMessageDialog{color:#91b9cd}body.theme-tigerlily .ioMessageDialog{color:#9ccdf8}body.theme-crickets .ioMessageDialog{color:#8be7b5}body.theme-honeycomb .ioMessageDialog{color:#fab797}body.theme-mint .ioMessageDialog{color:#a7e9b3}body.theme-overcast .ioMessageDialog{color:#73f2fc}body.theme-quartz .ioMessageDialog{color:#d7e8fe}.ioMessageDialog .ioDialogCancel{float:right}.ioMessageDialog .ioDescription{float:left}.ioMessageDialog h3{font-weight:400}.ioMessageDialog .ioBody{clear:both;float:left;text-align:left}.ioHelpDialog{z-index:1000;max-height:calc(100% - 100px);max-width:400px;position:absolute;margin:auto;overflow:hidden;padding:10px;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px;text-align:center}.ioHelpDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tide .ioHelpDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tigerlily .ioHelpDialog{border:1px solid rgba(135,90,134,0.95)}body.theme-crickets .ioHelpDialog{border:1px solid rgba(83,123,118,0.95)}body.theme-honeycomb .ioHelpDialog{border:1px solid rgba(98,51,55,0.95)}body.theme-mint .ioHelpDialog{border:1px solid rgba(33,69,41,0.95)}body.theme-overcast .ioHelpDialog{border:1px solid rgba(64,64,64,0.95)}body.theme-quartz .ioHelpDialog{border:1px solid rgba(136,91,134,0.95)}.ioHelpDialog{background:rgba(20,25,30,0.95)}body.theme-tide .ioHelpDialog{background:rgba(20,25,30,0.95)}body.theme-tigerlily .ioHelpDialog{background:rgba(20,25,30,0.95)}body.theme-crickets .ioHelpDialog{background:rgba(20,25,30,0.95)}body.theme-honeycomb .ioHelpDialog{background:rgba(20,25,30,0.95)}body.theme-mint .ioHelpDialog{background:rgba(20,25,30,0.95)}body.theme-overcast .ioHelpDialog{background:rgba(20,25,30,0.95)}body.theme-quartz .ioHelpDialog{background:rgba(20,25,30,0.95)}.ioHelpDialog{color:#91b9cd}body.theme-tide .ioHelpDialog{color:#91b9cd}body.theme-tigerlily .ioHelpDialog{color:#9ccdf8}body.theme-crickets .ioHelpDialog{color:#8be7b5}body.theme-honeycomb .ioHelpDialog{color:#fab797}body.theme-mint .ioHelpDialog{color:#a7e9b3}body.theme-overcast .ioHelpDialog{color:#73f2fc}body.theme-quartz .ioHelpDialog{color:#d7e8fe}.ioHelpDialog h3,.ioHelpDialog label{font-weight:400}.ioHelpDialog .ioDialogCancel{float:right}.ioHelpDialog .ioDescription{float:left}.ioHelpDialog .ioBody{float:left;text-align:left}.ioTextInputDialog{z-index:1000;max-height:calc(100% - 100px);max-width:calc(100% - 100px);position:absolute;margin:auto;margin:auto;overflow:hidden;padding:10px;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px;text-align:center}.ioTextInputDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tide .ioTextInputDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tigerlily .ioTextInputDialog{border:1px solid rgba(135,90,134,0.95)}body.theme-crickets .ioTextInputDialog{border:1px solid rgba(83,123,118,0.95)}body.theme-honeycomb .ioTextInputDialog{border:1px solid rgba(98,51,55,0.95)}body.theme-mint .ioTextInputDialog{border:1px solid rgba(33,69,41,0.95)}body.theme-overcast .ioTextInputDialog{border:1px solid rgba(64,64,64,0.95)}body.theme-quartz .ioTextInputDialog{border:1px solid rgba(136,91,134,0.95)}.ioTextInputDialog{background:rgba(20,25,30,0.95)}body.theme-tide .ioTextInputDialog{background:rgba(20,25,30,0.95)}body.theme-tigerlily .ioTextInputDialog{background:rgba(20,25,30,0.95)}body.theme-crickets .ioTextInputDialog{background:rgba(20,25,30,0.95)}body.theme-honeycomb .ioTextInputDialog{background:rgba(20,25,30,0.95)}body.theme-mint .ioTextInputDialog{background:rgba(20,25,30,0.95)}body.theme-overcast .ioTextInputDialog{background:rgba(20,25,30,0.95)}body.theme-quartz .ioTextInputDialog{background:rgba(20,25,30,0.95)}.ioTextInputDialog{color:#91b9cd}body.theme-tide .ioTextInputDialog{color:#91b9cd}body.theme-tigerlily .ioTextInputDialog{color:#9ccdf8}body.theme-crickets .ioTextInputDialog{color:#8be7b5}body.theme-honeycomb .ioTextInputDialog{color:#fab797}body.theme-mint .ioTextInputDialog{color:#a7e9b3}body.theme-overcast .ioTextInputDialog{color:#73f2fc}body.theme-quartz .ioTextInputDialog{color:#d7e8fe}.ioTextInputDialog .ioDialogCancel{float:right}.ioTextInputDialog .ioDescription{float:left}.ioTextInputDialog h3{font-weight:400}.ioTextInputDialog .ioTextInputOptions{padding:10px 0}.ioTextInputDialog .ioTextInputOptions label{clear:both;float:left}.ioTextInputDialog .ioTextInput{margin-left:5px}.ioTextInputDialog .ioBody{float:left;text-align:left}.ioTextInputDialog .ioDialogConfirm{float:center}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}.volumeManagementDialog{z-index:1000;max-height:calc(100% - 50px);max-width:calc(100% - 100px);position:absolute;margin:auto;padding-right:10px;padding-left:10px;padding-top:10px;padding-bottom:10px;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px;text-align:center}.volumeManagementDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tide .volumeManagementDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tigerlily .volumeManagementDialog{border:1px solid rgba(135,90,134,0.95)}body.theme-crickets .volumeManagementDialog{border:1px solid rgba(83,123,118,0.95)}body.theme-honeycomb .volumeManagementDialog{border:1px solid rgba(98,51,55,0.95)}body.theme-mint .volumeManagementDialog{border:1px solid rgba(33,69,41,0.95)}body.theme-overcast .volumeManagementDialog{border:1px solid rgba(64,64,64,0.95)}body.theme-quartz .volumeManagementDialog{border:1px solid rgba(136,91,134,0.95)}.volumeManagementDialog{background:rgba(20,25,30,0.95)}body.theme-tide .volumeManagementDialog{background:rgba(20,25,30,0.95)}body.theme-tigerlily .volumeManagementDialog{background:rgba(20,25,30,0.95)}body.theme-crickets .volumeManagementDialog{background:rgba(20,25,30,0.95)}body.theme-honeycomb .volumeManagementDialog{background:rgba(20,25,30,0.95)}body.theme-mint .volumeManagementDialog{background:rgba(20,25,30,0.95)}body.theme-overcast .volumeManagementDialog{background:rgba(20,25,30,0.95)}body.theme-quartz .volumeManagementDialog{background:rgba(20,25,30,0.95)}.volumeManagementDialog{color:#91b9cd}body.theme-tide .volumeManagementDialog{color:#91b9cd}body.theme-tigerlily .volumeManagementDialog{color:#9ccdf8}body.theme-crickets .volumeManagementDialog{color:#8be7b5}body.theme-honeycomb .volumeManagementDialog{color:#fab797}body.theme-mint .volumeManagementDialog{color:#a7e9b3}body.theme-overcast .volumeManagementDialog{color:#73f2fc}body.theme-quartz .volumeManagementDialog{color:#d7e8fe}.volumeManagementDialog .volumeManagementHeader{display:-webkit-flex;display:-ms-flexbox;display:flex;justify-content:space-between}.volumeManagementDialog h3{font-weight:400;text-align:left}.volumeManagementDialog .volumeManagementCancel{text-align:right;margin-top:16px}.volumeManagementDialog .volumeManagementNewButton{float:center;width:100%}.volumeManagementDialog .volumeManagementTableButton{width:100%}.volumeManagementDialog .roiCollectionListBody{max-height:calc(80vh - 300px);padding-right:18px;overflow-y:auto;overflow-x:hidden;display:inline-block}.volumeManagementDialog .roiCollectionListBody tr,.volumeManagementDialog th{padding:0px 5px;float:center;white-space:nowrap}.volumeManagementDialog .volumeListHeader{border-width:1px;border-top-style:solid;border-bottom-style:solid}.volumeManagementDialog .centeredCell{text-align:center}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}.roiImportListDialog{z-index:1000;max-height:calc(100% - 300px);max-width:calc(100% - 100px);position:absolute;margin:auto;padding-right:10px;padding-left:10px;padding-top:5px;padding-bottom:10px;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px;text-align:center}.roiImportListDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tide .roiImportListDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tigerlily .roiImportListDialog{border:1px solid rgba(135,90,134,0.95)}body.theme-crickets .roiImportListDialog{border:1px solid rgba(83,123,118,0.95)}body.theme-honeycomb .roiImportListDialog{border:1px solid rgba(98,51,55,0.95)}body.theme-mint .roiImportListDialog{border:1px solid rgba(33,69,41,0.95)}body.theme-overcast .roiImportListDialog{border:1px solid rgba(64,64,64,0.95)}body.theme-quartz .roiImportListDialog{border:1px solid rgba(136,91,134,0.95)}.roiImportListDialog{background:rgba(20,25,30,0.95)}body.theme-tide .roiImportListDialog{background:rgba(20,25,30,0.95)}body.theme-tigerlily .roiImportListDialog{background:rgba(20,25,30,0.95)}body.theme-crickets .roiImportListDialog{background:rgba(20,25,30,0.95)}body.theme-honeycomb .roiImportListDialog{background:rgba(20,25,30,0.95)}body.theme-mint .roiImportListDialog{background:rgba(20,25,30,0.95)}body.theme-overcast .roiImportListDialog{background:rgba(20,25,30,0.95)}body.theme-quartz .roiImportListDialog{background:rgba(20,25,30,0.95)}.roiImportListDialog{color:#91b9cd}body.theme-tide .roiImportListDialog{color:#91b9cd}body.theme-tigerlily .roiImportListDialog{color:#9ccdf8}body.theme-crickets .roiImportListDialog{color:#8be7b5}body.theme-honeycomb .roiImportListDialog{color:#fab797}body.theme-mint .roiImportListDialog{color:#a7e9b3}body.theme-overcast .roiImportListDialog{color:#73f2fc}body.theme-quartz .roiImportListDialog{color:#d7e8fe}.roiImportListDialog h5,.roiImportListDialog label{font-weight:400;float:left}.roiImportListDialog .roiImportListHeader{display:-webkit-flex;display:-ms-flexbox;display:flex;justify-content:space-between}.roiImportListDialog h3{font-weight:400;text-align:left}.roiImportListDialog .roiImportListCancel{text-align:right;margin-top:16px}.roiImportListDialog svg{background-color:transparent;width:32px;height:32px;fill:#fff}.roiImportListDialog .roiImportListTableButton{width:100%}.roiImportListDialog .roiImportListBody{max-height:calc(80vh - 300px);padding-right:18px;overflow-y:auto;overflow-x:hidden;display:inline-block}.roiImportListDialog .roiImportListBody table,.roiImportListDialog tr,.roiImportListDialog th{padding:0px 10px}.roiImportListDialog .roiImportListBody th{white-space:nowrap}.roiImportListDialog .roiImportListBody td{white-space:nowrap;padding:0px 10px}.roiImportListDialog .roiImportListFooter{display:-webkit-flex;display:-ms-flexbox;display:flex;justify-content:space-around;align-items:center}.roiImportListDialog .roiImportListImport{text-align:center;margin:5px}.roiImportListDialog .leftAlignedCell{text-align:left}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}.roiCollectionBuilderDialog{z-index:1000;max-height:calc(100% - 300px);max-width:calc(100% - 100px);position:absolute;margin:auto;padding-right:10px;padding-left:10px;padding-top:5px;padding-bottom:10px;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px;text-align:center}.roiCollectionBuilderDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tide .roiCollectionBuilderDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tigerlily .roiCollectionBuilderDialog{border:1px solid rgba(135,90,134,0.95)}body.theme-crickets .roiCollectionBuilderDialog{border:1px solid rgba(83,123,118,0.95)}body.theme-honeycomb .roiCollectionBuilderDialog{border:1px solid rgba(98,51,55,0.95)}body.theme-mint .roiCollectionBuilderDialog{border:1px solid rgba(33,69,41,0.95)}body.theme-overcast .roiCollectionBuilderDialog{border:1px solid rgba(64,64,64,0.95)}body.theme-quartz .roiCollectionBuilderDialog{border:1px solid rgba(136,91,134,0.95)}.roiCollectionBuilderDialog{background:rgba(20,25,30,0.95)}body.theme-tide .roiCollectionBuilderDialog{background:rgba(20,25,30,0.95)}body.theme-tigerlily .roiCollectionBuilderDialog{background:rgba(20,25,30,0.95)}body.theme-crickets .roiCollectionBuilderDialog{background:rgba(20,25,30,0.95)}body.theme-honeycomb .roiCollectionBuilderDialog{background:rgba(20,25,30,0.95)}body.theme-mint .roiCollectionBuilderDialog{background:rgba(20,25,30,0.95)}body.theme-overcast .roiCollectionBuilderDialog{background:rgba(20,25,30,0.95)}body.theme-quartz .roiCollectionBuilderDialog{background:rgba(20,25,30,0.95)}.roiCollectionBuilderDialog{color:#91b9cd}body.theme-tide .roiCollectionBuilderDialog{color:#91b9cd}body.theme-tigerlily .roiCollectionBuilderDialog{color:#9ccdf8}body.theme-crickets .roiCollectionBuilderDialog{color:#8be7b5}body.theme-honeycomb .roiCollectionBuilderDialog{color:#fab797}body.theme-mint .roiCollectionBuilderDialog{color:#a7e9b3}body.theme-overcast .roiCollectionBuilderDialog{color:#73f2fc}body.theme-quartz .roiCollectionBuilderDialog{color:#d7e8fe}.roiCollectionBuilderDialog h5,.roiCollectionBuilderDialog label{font-weight:400;float:left}.roiCollectionBuilderDialog .roiCollectionBuilderHeader{display:-webkit-flex;display:-ms-flexbox;display:flex;justify-content:space-between}.roiCollectionBuilderDialog h3{font-weight:400;text-align:left}.roiCollectionBuilderDialog .roiCollectionBuilderCancel{text-align:right;margin-top:16px}.roiCollectionBuilderDialog svg{background-color:transparent;width:32px;height:32px;fill:#fff}.roiCollectionBuilderDialog .roiCollectionBuilderTableButton{width:100%}.roiCollectionBuilderDialog .roiCollectionBuilderListBody{max-height:calc(80vh - 300px);overflow-y:auto;overflow-x:hidden;display:inline-block}.roiCollectionBuilderDialog .roiCollectionBuilderListBody table,.roiCollectionBuilderDialog tr,.roiCollectionBuilderDialog th{padding:0px 10px}.roiCollectionBuilderDialog .roiCollectionBuilderListBody th{white-space:nowrap}.roiCollectionBuilderDialog .roiCollectionBuilderFooter{display:-webkit-flex;display:-ms-flexbox;display:flex;justify-content:space-around;align-items:center}.roiCollectionBuilderDialog .roiCollectionBuilderTextInputOptions{margin:5px;text-align:left}.roiCollectionBuilderDialog .roiCollectionBuilderExport{text-align:right;margin:5px}.roiCollectionBuilderDialog .centeredCell{text-align:center}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}.helpDialog{z-index:1000;width:600px;max-height:calc(100% - 300px);position:absolute;margin:auto;padding-right:10px;padding-left:10px;padding-top:5px;padding-bottom:10px;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px;text-align:center}.helpDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tide .helpDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tigerlily .helpDialog{border:1px solid rgba(135,90,134,0.95)}body.theme-crickets .helpDialog{border:1px solid rgba(83,123,118,0.95)}body.theme-honeycomb .helpDialog{border:1px solid rgba(98,51,55,0.95)}body.theme-mint .helpDialog{border:1px solid rgba(33,69,41,0.95)}body.theme-overcast .helpDialog{border:1px solid rgba(64,64,64,0.95)}body.theme-quartz .helpDialog{border:1px solid rgba(136,91,134,0.95)}.helpDialog{background:rgba(20,25,30,0.95)}body.theme-tide .helpDialog{background:rgba(20,25,30,0.95)}body.theme-tigerlily .helpDialog{background:rgba(20,25,30,0.95)}body.theme-crickets .helpDialog{background:rgba(20,25,30,0.95)}body.theme-honeycomb .helpDialog{background:rgba(20,25,30,0.95)}body.theme-mint .helpDialog{background:rgba(20,25,30,0.95)}body.theme-overcast .helpDialog{background:rgba(20,25,30,0.95)}body.theme-quartz .helpDialog{background:rgba(20,25,30,0.95)}.helpDialog{color:#91b9cd}body.theme-tide .helpDialog{color:#91b9cd}body.theme-tigerlily .helpDialog{color:#9ccdf8}body.theme-crickets .helpDialog{color:#8be7b5}body.theme-honeycomb .helpDialog{color:#fab797}body.theme-mint .helpDialog{color:#a7e9b3}body.theme-overcast .helpDialog{color:#73f2fc}body.theme-quartz .helpDialog{color:#d7e8fe}.helpDialog .helpNavBar{float:left}.helpDialog .helpButton{float:left}.helpDialog .pressed{stroke:#fff;color:#fff;fill:#fff}.helpDialog .depressed{color:#91b9cd}body.theme-tide .helpDialog .depressed{color:#91b9cd}body.theme-tigerlily .helpDialog .depressed{color:#9ccdf8}body.theme-crickets .helpDialog .depressed{color:#8be7b5}body.theme-honeycomb .helpDialog .depressed{color:#fab797}body.theme-mint .helpDialog .depressed{color:#a7e9b3}body.theme-overcast .helpDialog .depressed{color:#73f2fc}body.theme-quartz .helpDialog .depressed{color:#d7e8fe}.helpDialog .depressed{stroke:#91b9cd}body.theme-tide .helpDialog .depressed{stroke:#91b9cd}body.theme-tigerlily .helpDialog .depressed{stroke:#9ccdf8}body.theme-crickets .helpDialog .depressed{stroke:#8be7b5}body.theme-honeycomb .helpDialog .depressed{stroke:#fab797}body.theme-mint .helpDialog .depressed{stroke:#a7e9b3}body.theme-overcast .helpDialog .depressed{stroke:#73f2fc}body.theme-quartz .helpDialog .depressed{stroke:#d7e8fe}.helpDialog .depressed{fill:#91b9cd}body.theme-tide .helpDialog .depressed{fill:#91b9cd}body.theme-tigerlily .helpDialog .depressed{fill:#9ccdf8}body.theme-crickets .helpDialog .depressed{fill:#8be7b5}body.theme-honeycomb .helpDialog .depressed{fill:#fab797}body.theme-mint .helpDialog .depressed{fill:#a7e9b3}body.theme-overcast .helpDialog .depressed{fill:#73f2fc}body.theme-quartz .helpDialog .depressed{fill:#d7e8fe}.helpDialog .helpTitle{float:left;margin-left:20px}.helpDialog h3{font-weight:400;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.helpDialog .helpDialogCancel{float:right}.helpDialog li{clear:both;text-align:left}.helpDialog h5{clear:both;text-align:left;float:left}.helpDialog .subHelpNavBar{float:left;clear:both}.helpDialog .subHelpButton{float:left}.helpDialog .subHelpTitle{float:left;margin-left:20px}.helpDialog h3{font-weight:400;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.helpDialog li{clear:both;text-align:left}.helpDialog .subHelpBody{height:200px;width:100%;overflow-y:auto;overflow-x:hidden;display:inline-block;float:left}.helpDialog .subHelpBody p{float:left;text-align:left}.helpDialog svg{background-color:transparent;width:21px;height:21px;fill:#fff}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}.viewerSection{display:flex;flex:1;flex-flow:row nowrap;align-items:stretch;height:calc(100vh - 118px);width:100%}.viewerSection .sidebarMenu{height:100%;-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-ms-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease}.viewerSection .sidebarMenu .sidebar-option{height:100%;max-width:inherit;position:absolute;-webkit-transform:translateX(100%);-moz-transform:translateX(100%);-ms-transform:translateX(100%);-o-transform:translateX(100%);transform:translateX(100%);-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-ms-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;width:100%}.viewerSection .sidebarMenu .sidebar-option.active{-webkit-transform:translateX(0%);-moz-transform:translateX(0%);-ms-transform:translateX(0%);-o-transform:translateX(0%);transform:translateX(0%)}.viewerSection .sidebar-left{flex:1;margin-left:-307px;max-width:307px;order:1}.viewerSection .sidebar-left{border-right:1px solid #44626f}body.theme-tide .viewerSection .sidebar-left{border-right:1px solid #44626f}body.theme-tigerlily .viewerSection .sidebar-left{border-right:1px solid #875a86}body.theme-crickets .viewerSection .sidebar-left{border-right:1px solid #537b76}body.theme-honeycomb .viewerSection .sidebar-left{border-right:1px solid #623337}body.theme-mint .viewerSection .sidebar-left{border-right:1px solid #214529}body.theme-overcast .viewerSection .sidebar-left{border-right:1px solid #404040}body.theme-quartz .viewerSection .sidebar-left{border-right:1px solid #885b86}.viewerSection .sidebar-left.sidebar-open{margin-left:0}.viewerSection .mainContent{flex:1;height:100%;order:2;overflow:hidden;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-ms-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease;width:100%}.viewerSection .sidebar-right{flex:1;margin-right:-450px;max-width:450px;order:3;position:relative}.viewerSection .sidebar-right[data-timepoints="3"]{margin-right:-585.5px;max-width:585.5px}.viewerSection .sidebar-right[data-timepoints="4"]{margin-right:-720px;max-width:720px}.viewerSection .sidebar-right.sidebar-open{margin-right:0}.viewerSection .studiesListedChanger{padding:20px 10px;text-align:center}.viewerSection .studiesListedChanger{border-bottom:1px solid #44626f}body.theme-tide .viewerSection .studiesListedChanger{border-bottom:1px solid #44626f}body.theme-tigerlily .viewerSection .studiesListedChanger{border-bottom:1px solid #875a86}body.theme-crickets .viewerSection .studiesListedChanger{border-bottom:1px solid #537b76}body.theme-honeycomb .viewerSection .studiesListedChanger{border-bottom:1px solid #623337}body.theme-mint .viewerSection .studiesListedChanger{border-bottom:1px solid #214529}body.theme-overcast .viewerSection .studiesListedChanger{border-bottom:1px solid #404040}body.theme-quartz .viewerSection .studiesListedChanger{border-bottom:1px solid #885b86}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}body>.header .brand{height:30px;display:inline-block;text-decoration:none}body>.header .brand .logo-image{display:inline-block;fill:transparent;float:left;height:100%;margin:0 8px 0 0;width:30px}body>.header .brand .logo-text{display:inline-block;font-family:"Sanchez";font-size:14px;font-weight:300;line-height:30px}body>.header .brand .logo-text{color:#fff}body.theme-tide body>.header .brand .logo-text{color:#fff}body.theme-tigerlily body>.header .brand .logo-text{color:#fff}body.theme-crickets body>.header .brand .logo-text{color:#fff}body.theme-honeycomb body>.header .brand .logo-text{color:#fff}body.theme-mint body>.header .brand .logo-text{color:#fff}body.theme-overcast body>.header .brand .logo-text{color:#fff}body.theme-quartz body>.header .brand .logo-text{color:#fff}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}.viewerMain{width:100%;height:100%}.viewerMain #layoutManagerTarget{width:100%;height:100%;-webkit-transition:all 0.3s ease;-moz-transition:all 0.3s ease;-ms-transition:all 0.3s ease;-o-transition:all 0.3s ease;transition:all 0.3s ease}.viewerMain #layoutManagerTarget #imageViewerViewports{padding-right:0 !important}.viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer{float:left;outline:0}.viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer{border:1px solid #3c5d80}body.theme-tide .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer{border:1px solid #3c5d80}body.theme-tigerlily .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer{border:1px solid #744b71}body.theme-crickets .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer{border:1px solid #3c5d80}body.theme-honeycomb .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer{border:1px solid #3c5d80}body.theme-mint .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer{border:1px solid #3c5d80}body.theme-overcast .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer{border:1px solid #3c5d80}body.theme-quartz .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer{border:1px solid #3c5d80}.viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover,.viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer.active,.viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover.active{outline:0}.viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover{border:1px solid #44626f}body.theme-tide .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover{border:1px solid #44626f}body.theme-tigerlily .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover{border:1px solid #875a86}body.theme-crickets .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover{border:1px solid #537b76}body.theme-honeycomb .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover{border:1px solid #623337}body.theme-mint .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover{border:1px solid #214529}body.theme-overcast .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover{border:1px solid #404040}body.theme-quartz .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover{border:1px solid #885b86}.viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer.active,.viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover.active{border:1px solid #00a4d9}body.theme-tide .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer.active{border:1px solid #00a4d9}body.theme-tide .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover.active{border:1px solid #00a4d9}body.theme-tigerlily .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer.active{border:1px solid #ff8a3d}body.theme-tigerlily .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover.active{border:1px solid #ff8a3d}body.theme-crickets .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer.active{border:1px solid #d4aaa5}body.theme-crickets .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover.active{border:1px solid #d4aaa5}body.theme-honeycomb .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer.active{border:1px solid #ce9e59}body.theme-honeycomb .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover.active{border:1px solid #ce9e59}body.theme-mint .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer.active{border:1px solid #23b15d}body.theme-mint .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover.active{border:1px solid #23b15d}body.theme-overcast .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer.active{border:1px solid #467c80}body.theme-overcast .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover.active{border:1px solid #467c80}body.theme-quartz .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer.active{border:1px solid #6843cc}body.theme-quartz .viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer:hover.active{border:1px solid #6843cc}.viewerMain #layoutManagerTarget #imageViewerViewports .viewportContainer .removable{width:100%;height:100%;position:relative}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}.toolbarSection{flex:0 0 auto;height:78px;padding-top:6px;position:relative;-webkit-transition:height 300ms ease;-moz-transition:height 300ms ease;-ms-transition:height 300ms ease;-o-transition:height 300ms ease;transition:height 300ms ease;width:100%}.toolbarSection{border-bottom:1px solid #44626f}body.theme-tide .toolbarSection{border-bottom:1px solid #44626f}body.theme-tigerlily .toolbarSection{border-bottom:1px solid #875a86}body.theme-crickets .toolbarSection{border-bottom:1px solid #537b76}body.theme-honeycomb .toolbarSection{border-bottom:1px solid #623337}body.theme-mint .toolbarSection{border-bottom:1px solid #214529}body.theme-overcast .toolbarSection{border-bottom:1px solid #404040}body.theme-quartz .toolbarSection{border-bottom:1px solid #885b86}.toolbarSection.expanded{height:140px}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}#viewer{background-color:#000;height:calc(100% - 40px);width:100%}.loadingTextDiv{font-size:30px}.loadingTextDiv{color:#91b9cd}body.theme-tide .loadingTextDiv{color:#91b9cd}body.theme-tigerlily .loadingTextDiv{color:#9ccdf8}body.theme-crickets .loadingTextDiv{color:#8be7b5}body.theme-honeycomb .loadingTextDiv{color:#fab797}body.theme-mint .loadingTextDiv{color:#a7e9b3}body.theme-overcast .loadingTextDiv{color:#73f2fc}body.theme-quartz .loadingTextDiv{color:#d7e8fe}html{width:100%;height:100%}body{width:100%;height:100%;overflow:hidden;position:fixed} \ No newline at end of file diff --git a/StandaloneViewer/testBuild/6affa343334b8d993531d948d79d9591e0b67b34.css b/StandaloneViewer/testBuild/6affa343334b8d993531d948d79d9591e0b67b34.css deleted file mode 100644 index 14bb7e4f1..000000000 --- a/StandaloneViewer/testBuild/6affa343334b8d993531d948d79d9591e0b67b34.css +++ /dev/null @@ -1 +0,0 @@ -.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}.studyTimepointBrowser{float:left;height:100%;position:relative;width:100%}.studyTimepointBrowser{background-color:#000}body.theme-tide .studyTimepointBrowser{background-color:#000}body.theme-tigerlily .studyTimepointBrowser{background-color:#000}body.theme-crickets .studyTimepointBrowser{background-color:#000}body.theme-honeycomb .studyTimepointBrowser{background-color:#000}body.theme-mint .studyTimepointBrowser{background-color:#000}body.theme-overcast .studyTimepointBrowser{background-color:#000}body.theme-quartz .studyTimepointBrowser{background-color:#000}.studyTimepointBrowser .timepointButtonContainer{display:none;height:55px;left:10px;position:absolute;right:10px;top:0;z-index:1}.studyTimepointBrowser .timepointButtonContainer{background-color:#000}body.theme-tide .studyTimepointBrowser .timepointButtonContainer{background-color:#000}body.theme-tigerlily .studyTimepointBrowser .timepointButtonContainer{background-color:#000}body.theme-crickets .studyTimepointBrowser .timepointButtonContainer{background-color:#000}body.theme-honeycomb .studyTimepointBrowser .timepointButtonContainer{background-color:#000}body.theme-mint .studyTimepointBrowser .timepointButtonContainer{background-color:#000}body.theme-overcast .studyTimepointBrowser .timepointButtonContainer{background-color:#000}body.theme-quartz .studyTimepointBrowser .timepointButtonContainer{background-color:#000}.studyTimepointBrowser .timepointButtonContainer{border-bottom:1px solid #44626f}body.theme-tide .studyTimepointBrowser .timepointButtonContainer{border-bottom:1px solid #44626f}body.theme-tigerlily .studyTimepointBrowser .timepointButtonContainer{border-bottom:1px solid #875a86}body.theme-crickets .studyTimepointBrowser .timepointButtonContainer{border-bottom:1px solid #537b76}body.theme-honeycomb .studyTimepointBrowser .timepointButtonContainer{border-bottom:1px solid #623337}body.theme-mint .studyTimepointBrowser .timepointButtonContainer{border-bottom:1px solid #214529}body.theme-overcast .studyTimepointBrowser .timepointButtonContainer{border-bottom:1px solid #404040}body.theme-quartz .studyTimepointBrowser .timepointButtonContainer{border-bottom:1px solid #885b86}.studyTimepointBrowser.viewTypeVisible .timepointButtonContainer{display:block}.studyTimepointBrowser.viewTypeVisible .studyTimepointScrollArea{padding-top:55px}.studyTimepointBrowser .studyTimepointScrollArea{height:100%;overflow-x:hidden;overflow-y:auto;margin-right:-36px;padding-bottom:20px;padding-right:36px;-ms-overflow-style:none}.studyTimepointBrowser .studyTimepointScrollArea::-webkit-scrollbar{display:none}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}.syncCheckbox{pointer-events:all}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}.stackSyncDialog{z-index:1000;max-height:calc(100% - 100px);max-width:400px;position:absolute;margin:auto;overflow:hidden;padding:10px;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px;text-align:center}.stackSyncDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tide .stackSyncDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tigerlily .stackSyncDialog{border:1px solid rgba(135,90,134,0.95)}body.theme-crickets .stackSyncDialog{border:1px solid rgba(83,123,118,0.95)}body.theme-honeycomb .stackSyncDialog{border:1px solid rgba(98,51,55,0.95)}body.theme-mint .stackSyncDialog{border:1px solid rgba(33,69,41,0.95)}body.theme-overcast .stackSyncDialog{border:1px solid rgba(64,64,64,0.95)}body.theme-quartz .stackSyncDialog{border:1px solid rgba(136,91,134,0.95)}.stackSyncDialog{background:rgba(20,25,30,0.95)}body.theme-tide .stackSyncDialog{background:rgba(20,25,30,0.95)}body.theme-tigerlily .stackSyncDialog{background:rgba(20,25,30,0.95)}body.theme-crickets .stackSyncDialog{background:rgba(20,25,30,0.95)}body.theme-honeycomb .stackSyncDialog{background:rgba(20,25,30,0.95)}body.theme-mint .stackSyncDialog{background:rgba(20,25,30,0.95)}body.theme-overcast .stackSyncDialog{background:rgba(20,25,30,0.95)}body.theme-quartz .stackSyncDialog{background:rgba(20,25,30,0.95)}.stackSyncDialog{color:#91b9cd}body.theme-tide .stackSyncDialog{color:#91b9cd}body.theme-tigerlily .stackSyncDialog{color:#9ccdf8}body.theme-crickets .stackSyncDialog{color:#8be7b5}body.theme-honeycomb .stackSyncDialog{color:#fab797}body.theme-mint .stackSyncDialog{color:#a7e9b3}body.theme-overcast .stackSyncDialog{color:#73f2fc}body.theme-quartz .stackSyncDialog{color:#d7e8fe}.stackSyncDialog h3{font-weight:400}.stackSyncDialog .stackSyncDescription{float:left;text-align:left}.stackSyncDialog .stackSyncBody{float:left;text-align:left;font-weight:normal}.stackSyncDialog .stackSyncBody table{border:1px;padding:2px;float:left;border-collapse:separate;border-spacing:10px 0px}.stackSyncDialog .stackSyncDialogCancel{float:right}.stackSyncDialog .js-syncScansByDefault-check{pointer-events:all}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}.smoothCheckbox{pointer-events:all}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*,*:before,*:after{color:#000 !important;text-shadow:none !important;background:transparent !important;-webkit-box-shadow:none !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{font-family:'Glyphicons Halflings';src:url('packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.eot');src:url('packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.woff') format('woff'), url('packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('packages/twbs_bootstrap/dist/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}body{font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width: 768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#286090}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width: 768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo, Monaco, Consolas, "Courier New", monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, .25);box-shadow:inset 0 -1px 0 rgba(0, 0, 0, .25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 768px){.container{width:750px}}@media (min-width: 992px){.container{width:970px}}@media (min-width: 1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width: 768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width: 992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width: 1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width: 767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);-webkit-transition:border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio: 0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:34px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:normal;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label ~ .form-control-feedback{top:25px}.has-feedback label.sr-only ~ .form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width: 768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width: 768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width: 768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width: 768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);box-shadow:inset 0 3px 5px rgba(0, 0, 0, .125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:normal;color:#337ab7;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, .15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0, 0, 0, .175);box-shadow:0 6px 12px rgba(0, 0, 0, .175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width: 768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);box-shadow:inset 0 3px 5px rgba(0, 0, 0, .125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width: 768px){.navbar{border-radius:4px}}@media (min-width: 768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, .1);box-shadow:inset 0 1px 0 rgba(255, 255, 255, .1)}.navbar-collapse.in{overflow-y:auto}@media (min-width: 768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width: 480px) and (orientation: landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width: 768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width: 768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width: 768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width: 768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width: 768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width: 767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width: 768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);box-shadow:inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1)}@media (min-width: 768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width: 767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width: 768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width: 768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width: 768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right ~ .navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width: 767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width: 767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width: 768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, .1);box-shadow:inset 0 1px 2px rgba(0, 0, 0, .1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, .15);box-shadow:inset 0 -1px 0 rgba(0, 0, 0, .15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, .05);box-shadow:0 1px 1px rgba(0, 0, 0, .05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, .05)}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, .15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:transparent;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%)}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0, 0, 0, .2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0, 0, 0, .5);box-shadow:0 3px 9px rgba(0, 0, 0, .5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0, 0, 0, .5);box-shadow:0 5px 15px rgba(0, 0, 0, .5)}.modal-sm{width:300px}}@media (min-width: 992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:12px;font-style:normal;font-weight:normal;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-style:normal;font-weight:normal;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, .2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, .2);box-shadow:0 5px 10px rgba(0, 0, 0, .2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0, 0, 0, .25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0, 0, 0, .25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0, 0, 0, .25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0, 0, 0, .25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d), (-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{left:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{left:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{left:0;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0, 0, 0, .6);background-color:rgba(0, 0, 0, 0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);background-image:-o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));background-image:linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);background-image:-o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));background-image:linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0, 0, 0, 0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0, 0, 0, .6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width: 768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width: 767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width: 767px){.visible-xs-block{display:block !important}}@media (max-width: 767px){.visible-xs-inline{display:inline !important}}@media (max-width: 767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-block{display:block !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline{display:inline !important}}@media (min-width: 768px) and (max-width: 991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-block{display:block !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline{display:inline !important}}@media (min-width: 992px) and (max-width: 1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width: 1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width: 1200px){.visible-lg-block{display:block !important}}@media (min-width: 1200px){.visible-lg-inline{display:inline !important}}@media (min-width: 1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width: 767px){.hidden-xs{display:none !important}}@media (min-width: 768px) and (max-width: 991px){.hidden-sm{display:none !important}}@media (min-width: 992px) and (max-width: 1199px){.hidden-md{display:none !important}}@media (min-width: 1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.daterangepicker{position:absolute;background:#fff;top:100px;left:20px;padding:4px;margin-top:1px;border-radius:4px;width:278px}.daterangepicker.opensleft:before{position:absolute;top:-7px;right:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0, 0, 0, 0.2);content:''}.daterangepicker.opensleft:after{position:absolute;top:-6px;right:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.daterangepicker.openscenter:before{position:absolute;top:-7px;left:0;right:0;width:0;margin-left:auto;margin-right:auto;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0, 0, 0, 0.2);content:''}.daterangepicker.openscenter:after{position:absolute;top:-6px;left:0;right:0;width:0;margin-left:auto;margin-right:auto;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.daterangepicker.opensright:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0, 0, 0, 0.2);content:''}.daterangepicker.opensright:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.daterangepicker.dropup{margin-top:-5px}.daterangepicker.dropup:before{top:initial;bottom:-7px;border-bottom:initial;border-top:7px solid #ccc}.daterangepicker.dropup:after{top:initial;bottom:-6px;border-bottom:initial;border-top:6px solid #fff}.daterangepicker.dropdown-menu{max-width:none;z-index:3000}.daterangepicker.single .ranges,.daterangepicker.single .calendar{float:none}.daterangepicker .calendar{display:none;max-width:270px;margin:4px}.daterangepicker.show-calendar .calendar{display:block}.daterangepicker .calendar.single .calendar-table{border:none}.daterangepicker .calendar th,.daterangepicker .calendar td{white-space:nowrap;text-align:center;min-width:32px}.daterangepicker .calendar-table{border:1px solid #ddd;padding:4px;border-radius:4px;background:#fff}.daterangepicker table{width:100%;margin:0}.daterangepicker td,.daterangepicker th{text-align:center;width:20px;height:20px;border-radius:4px;white-space:nowrap;cursor:pointer}.daterangepicker td.off,.daterangepicker td.off.in-range,.daterangepicker td.off.start-date,.daterangepicker td.off.end-date{color:#999;background:#fff}.daterangepicker td.disabled,.daterangepicker option.disabled{color:#999;cursor:not-allowed;text-decoration:line-through}.daterangepicker td.available:hover,.daterangepicker th.available:hover{background:#eee}.daterangepicker td.in-range{background:#ebf4f8;border-radius:0}.daterangepicker td.start-date{border-radius:4px 0 0 4px}.daterangepicker td.end-date{border-radius:0 4px 4px 0}.daterangepicker td.start-date.end-date{border-radius:4px}.daterangepicker td.active,.daterangepicker td.active:hover{background-color:#357ebd;border-color:#3071a9;color:#fff}.daterangepicker td.week,.daterangepicker th.week{font-size:80%;color:#ccc}.daterangepicker select.monthselect,.daterangepicker select.yearselect{font-size:12px;padding:1px;height:auto;margin:0;cursor:default}.daterangepicker select.monthselect{margin-right:2%;width:56%}.daterangepicker select.yearselect{width:40%}.daterangepicker select.hourselect,.daterangepicker select.minuteselect,.daterangepicker select.secondselect,.daterangepicker select.ampmselect{width:50px;margin-bottom:0}.daterangepicker th.month{width:auto}.daterangepicker .input-mini{border:1px solid #ccc;border-radius:4px;color:#555;display:block;height:30px;line-height:30px;vertical-align:middle;margin:0 0 5px 0;padding:0 6px 0 28px;width:100%}.daterangepicker .input-mini.active{border:1px solid #357ebd}.daterangepicker .daterangepicker_input i{position:absolute;left:8px;top:8px}.daterangepicker .daterangepicker_input{position:relative}.daterangepicker .calendar-time{text-align:center;margin:5px auto;line-height:30px;position:relative;padding-left:28px}.daterangepicker .calendar-time select.disabled{color:#ccc;cursor:not-allowed}.daterangepicker .ranges{font-size:11px;float:none;margin:4px;text-align:left}.daterangepicker .ranges ul{list-style:none;margin:0 auto;padding:0;width:100%}.daterangepicker .ranges li{font-size:13px;background:#f5f5f5;border:1px solid #f5f5f5;color:#08c;padding:3px 12px;margin-bottom:8px;border-radius:5px;cursor:pointer}.daterangepicker .ranges li.active,.daterangepicker .ranges li:hover{background:#08c;border:1px solid #08c;color:#fff}@media (min-width: 564px){.daterangepicker{width:auto}.daterangepicker .ranges ul{width:160px}.daterangepicker.single .ranges ul{width:100%}.daterangepicker .calendar.left .calendar-table{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.daterangepicker .calendar.right .calendar-table{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.daterangepicker .calendar.left{clear:left;margin-right:0}.daterangepicker.single .calendar.left{clear:none}.daterangepicker.single .ranges,.daterangepicker.single .calendar{float:left}.daterangepicker .calendar.right{margin-left:0}.daterangepicker .left .daterangepicker_input{padding-right:12px}.daterangepicker .calendar.left .calendar-table{padding-right:12px}.daterangepicker .ranges,.daterangepicker .calendar{float:left}}@media (min-width: 730px){.daterangepicker .ranges{width:auto;float:left}.daterangepicker .calendar.left{clear:none}}#matchedProtocols ul.dropdown-menu li a{cursor:pointer}#matchedProtocols ul.dropdown-menu li a:selected{color:#4fbfff}#matchedProtocols ul.dropdown-menu li h5{display:block;padding:3px 20px;clear:both;line-height:1.42857143}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}#protocolEditor{height:100%;width:450px;padding:10px 0;position:absolute;top:0}#protocolEditor{background:#000}body.theme-tide #protocolEditor{background:#000}body.theme-tigerlily #protocolEditor{background:#000}body.theme-crickets #protocolEditor{background:#000}body.theme-honeycomb #protocolEditor{background:#000}body.theme-mint #protocolEditor{background:#000}body.theme-overcast #protocolEditor{background:#000}body.theme-quartz #protocolEditor{background:#000}#protocolEditor .navigationButtonsContainer{margin-left:0;margin-right:0}#protocolEditor .navigationButtonsContainer .navigationButtons ul{margin:0 auto;width:300px}#protocolEditor .navigationButtonsContainer .navigationButtons li{text-align:center;width:150px;margin:0}#protocolEditor .navigationButtonsContainer .navigationButtons li:first-child:not(:last-child) a{-webkit-border-top-right-radius:0;-moz-border-top-right-radius:0;-ms-border-top-right-radius:0;-o-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;-moz-border-bottom-right-radius:0;-ms-border-bottom-right-radius:0;-o-border-bottom-right-radius:0;border-bottom-right-radius:0}#protocolEditor .navigationButtonsContainer .navigationButtons li:last-child:not(:first-child) a{-webkit-border-top-left-radius:0;-moz-border-top-left-radius:0;-ms-border-top-left-radius:0;-o-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-bottom-left-radius:0;-ms-border-bottom-left-radius:0;-o-border-bottom-left-radius:0;border-bottom-left-radius:0}#protocolEditor .navigationButtonsContainer .navigationButtons li a{padding:3px 9px;cursor:pointer;text-decoration:none;outline:none;-webkit-transition:transition: all 0.3s ease;-moz-transition:transition: all 0.3s ease;-ms-transition:transition: all 0.3s ease;-o-transition:transition: all 0.3s ease;transition:transition: all 0.3s ease;-webkit-border-radius:20px;-moz-border-radius:20px;-ms-border-radius:20px;-o-border-radius:20px;border-radius:20px}#protocolEditor .navigationButtonsContainer .navigationButtons li a{background-color:#16202b}body.theme-tide #protocolEditor .navigationButtonsContainer .navigationButtons li a{background-color:#16202b}body.theme-tigerlily #protocolEditor .navigationButtonsContainer .navigationButtons li a{background-color:#26333f}body.theme-crickets #protocolEditor .navigationButtonsContainer .navigationButtons li a{background-color:#2b141b}body.theme-honeycomb #protocolEditor .navigationButtonsContainer .navigationButtons li a{background-color:#252228}body.theme-mint #protocolEditor .navigationButtonsContainer .navigationButtons li a{background-color:#1d232a}body.theme-overcast #protocolEditor .navigationButtonsContainer .navigationButtons li a{background-color:#252228}body.theme-quartz #protocolEditor .navigationButtonsContainer .navigationButtons li a{background-color:#2b2e3f}#protocolEditor .navigationButtonsContainer .navigationButtons li a{border:2px solid #3c5d80}body.theme-tide #protocolEditor .navigationButtonsContainer .navigationButtons li a{border:2px solid #3c5d80}body.theme-tigerlily #protocolEditor .navigationButtonsContainer .navigationButtons li a{border:2px solid #744b71}body.theme-crickets #protocolEditor .navigationButtonsContainer .navigationButtons li a{border:2px solid #3c5d80}body.theme-honeycomb #protocolEditor .navigationButtonsContainer .navigationButtons li a{border:2px solid #3c5d80}body.theme-mint #protocolEditor .navigationButtonsContainer .navigationButtons li a{border:2px solid #3c5d80}body.theme-overcast #protocolEditor .navigationButtonsContainer .navigationButtons li a{border:2px solid #3c5d80}body.theme-quartz #protocolEditor .navigationButtonsContainer .navigationButtons li a{border:2px solid #3c5d80}#protocolEditor .navigationButtonsContainer .navigationButtons li a{color:#91b9cd}body.theme-tide #protocolEditor .navigationButtonsContainer .navigationButtons li a{color:#91b9cd}body.theme-tigerlily #protocolEditor .navigationButtonsContainer .navigationButtons li a{color:#9ccdf8}body.theme-crickets #protocolEditor .navigationButtonsContainer .navigationButtons li a{color:#8be7b5}body.theme-honeycomb #protocolEditor .navigationButtonsContainer .navigationButtons li a{color:#fab797}body.theme-mint #protocolEditor .navigationButtonsContainer .navigationButtons li a{color:#a7e9b3}body.theme-overcast #protocolEditor .navigationButtonsContainer .navigationButtons li a{color:#73f2fc}body.theme-quartz #protocolEditor .navigationButtonsContainer .navigationButtons li a{color:#d7e8fe}#protocolEditor .navigationButtonsContainer .navigationButtons li.active a{-webkit-transition:transition: all 0.3s ease;-moz-transition:transition: all 0.3s ease;-ms-transition:transition: all 0.3s ease;-o-transition:transition: all 0.3s ease;transition:transition: all 0.3s ease}#protocolEditor .navigationButtonsContainer .navigationButtons li.active a{background-color:#20a5d6}body.theme-tide #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{background-color:#20a5d6}body.theme-tigerlily #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{background-color:#fa8947}body.theme-crickets #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{background-color:#d4c3c1}body.theme-honeycomb #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{background-color:#cda56b}body.theme-mint #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{background-color:#31b166}body.theme-overcast #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{background-color:#507d80}body.theme-quartz #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{background-color:#7858ce}#protocolEditor .navigationButtonsContainer .navigationButtons li.active a{border-color:#00a4d9}body.theme-tide #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{border-color:#00a4d9}body.theme-tigerlily #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{border-color:#ff8a3d}body.theme-crickets #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{border-color:#d4aaa5}body.theme-honeycomb #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{border-color:#ce9e59}body.theme-mint #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{border-color:#23b15d}body.theme-overcast #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{border-color:#467c80}body.theme-quartz #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{border-color:#6843cc}#protocolEditor .navigationButtonsContainer .navigationButtons li.active a{color:#000}body.theme-tide #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{color:#000}body.theme-tigerlily #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{color:#000}body.theme-crickets #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{color:#000}body.theme-honeycomb #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{color:#000}body.theme-mint #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{color:#000}body.theme-overcast #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{color:#000}body.theme-quartz #protocolEditor .navigationButtonsContainer .navigationButtons li.active a{color:#000}#protocolEditor p,#protocolEditor h2,#protocolEditor h3,#protocolEditor h4{color:#9ccef9}body.theme-tide #protocolEditor p{color:#9ccef9}body.theme-tide #protocolEditor h2{color:#9ccef9}body.theme-tide #protocolEditor h3{color:#9ccef9}body.theme-tide #protocolEditor h4{color:#9ccef9}body.theme-tigerlily #protocolEditor p{color:#9acffd}body.theme-tigerlily #protocolEditor h2{color:#9acffd}body.theme-tigerlily #protocolEditor h3{color:#9acffd}body.theme-tigerlily #protocolEditor h4{color:#9acffd}body.theme-crickets #protocolEditor p{color:#92c2da}body.theme-crickets #protocolEditor h2{color:#92c2da}body.theme-crickets #protocolEditor h3{color:#92c2da}body.theme-crickets #protocolEditor h4{color:#92c2da}body.theme-honeycomb #protocolEditor p{color:#b5b5b5}body.theme-honeycomb #protocolEditor h2{color:#b5b5b5}body.theme-honeycomb #protocolEditor h3{color:#b5b5b5}body.theme-honeycomb #protocolEditor h4{color:#b5b5b5}body.theme-mint #protocolEditor p{color:#a7e9b3}body.theme-mint #protocolEditor h2{color:#a7e9b3}body.theme-mint #protocolEditor h3{color:#a7e9b3}body.theme-mint #protocolEditor h4{color:#a7e9b3}body.theme-overcast #protocolEditor p{color:#9cbecf}body.theme-overcast #protocolEditor h2{color:#9cbecf}body.theme-overcast #protocolEditor h3{color:#9cbecf}body.theme-overcast #protocolEditor h4{color:#9cbecf}body.theme-quartz #protocolEditor p{color:#8ea2a4}body.theme-quartz #protocolEditor h2{color:#8ea2a4}body.theme-quartz #protocolEditor h3{color:#8ea2a4}body.theme-quartz #protocolEditor h4{color:#8ea2a4}#protocolEditor label,#protocolEditor ul{font-weight:400}#protocolEditor label,#protocolEditor ul{color:#9ccef9}body.theme-tide #protocolEditor label{color:#9ccef9}body.theme-tide #protocolEditor ul{color:#9ccef9}body.theme-tigerlily #protocolEditor label{color:#9acffd}body.theme-tigerlily #protocolEditor ul{color:#9acffd}body.theme-crickets #protocolEditor label{color:#92c2da}body.theme-crickets #protocolEditor ul{color:#92c2da}body.theme-honeycomb #protocolEditor label{color:#b5b5b5}body.theme-honeycomb #protocolEditor ul{color:#b5b5b5}body.theme-mint #protocolEditor label{color:#a7e9b3}body.theme-mint #protocolEditor ul{color:#a7e9b3}body.theme-overcast #protocolEditor label{color:#9cbecf}body.theme-overcast #protocolEditor ul{color:#9cbecf}body.theme-quartz #protocolEditor label{color:#8ea2a4}body.theme-quartz #protocolEditor ul{color:#8ea2a4}#protocolEditor label{margin-right:10px;width:25%}#protocolEditor input[type='number'],#protocolEditor input[type='text']{min-width:50px;width:40%;border:none;background:#212121;text-align:center}#protocolEditor input[type='number'],#protocolEditor input[type='text']{color:#9ccef9}body.theme-tide #protocolEditor input[type='number']{color:#9ccef9}body.theme-tide #protocolEditor input[type='text']{color:#9ccef9}body.theme-tigerlily #protocolEditor input[type='number']{color:#9acffd}body.theme-tigerlily #protocolEditor input[type='text']{color:#9acffd}body.theme-crickets #protocolEditor input[type='number']{color:#92c2da}body.theme-crickets #protocolEditor input[type='text']{color:#92c2da}body.theme-honeycomb #protocolEditor input[type='number']{color:#b5b5b5}body.theme-honeycomb #protocolEditor input[type='text']{color:#b5b5b5}body.theme-mint #protocolEditor input[type='number']{color:#a7e9b3}body.theme-mint #protocolEditor input[type='text']{color:#a7e9b3}body.theme-overcast #protocolEditor input[type='number']{color:#9cbecf}body.theme-overcast #protocolEditor input[type='text']{color:#9cbecf}body.theme-quartz #protocolEditor input[type='number']{color:#8ea2a4}body.theme-quartz #protocolEditor input[type='text']{color:#8ea2a4}#protocolEditor button.btn{background:#fff;color:#3e3e3e}#protocolEditor .tab-content{height:calc(100% - 60px);overflow:auto}#protocolEditor .protocolEditorSection{padding:10px;margin:10px 0}#protocolEditor #protocolOptions{text-align:center;position:absolute;bottom:0;width:100%;margin-bottom:0}#protocolEditor #protocolOptions{background:#151a1f}body.theme-tide #protocolEditor #protocolOptions{background:#151a1f}body.theme-tigerlily #protocolEditor #protocolOptions{background:#151a1f}body.theme-crickets #protocolEditor #protocolOptions{background:#231c1e}body.theme-honeycomb #protocolEditor #protocolOptions{background:#18161a}body.theme-mint #protocolEditor #protocolOptions{background:#15191e}body.theme-overcast #protocolEditor #protocolOptions{background:#15191e}body.theme-quartz #protocolEditor #protocolOptions{background:#151a1f}#protocolEditor #protocolOptions p{font-size:8pt;margin:0 10px;display:inline-block}#protocolEditor #protocolOptions p{color:#9ccef9}body.theme-tide #protocolEditor #protocolOptions p{color:#9ccef9}body.theme-tigerlily #protocolEditor #protocolOptions p{color:#9acffd}body.theme-crickets #protocolEditor #protocolOptions p{color:#92c2da}body.theme-honeycomb #protocolEditor #protocolOptions p{color:#b5b5b5}body.theme-mint #protocolEditor #protocolOptions p{color:#a7e9b3}body.theme-overcast #protocolEditor #protocolOptions p{color:#9cbecf}body.theme-quartz #protocolEditor #protocolOptions p{color:#8ea2a4}#protocolEditor #editProtocol{overflow-y:auto;overflow-x:hidden;padding-right:16px;padding-left:20px;margin-right:-16px;width:100%;height:calc(100% - 50px)}#protocolEditor #editProtocol::-webkit-scrollbar{display:none}#protocolEditor #selectProtocol{text-align:center}#protocolEditor #selectProtocol .btn-file{position:relative;overflow:hidden}#protocolEditor #selectProtocol .btn-file input[type=file]{position:absolute;top:0;right:0;min-width:100%;min-height:100%;font-size:100px;text-align:right;filter:'alpha(opacity=0)';opacity:0;outline:none;background:#fff;cursor:inherit;display:block}#protocolEditor #selectProtocol .protocolDropdown{display:inline-block}#protocolEditor #selectProtocol .protocolDropdown ul li a{cursor:pointer}#protocolEditor #activeViewportEditor{padding:10px}#protocolEditor #activeViewportEditor .noActiveViewport{padding:40px}#protocolEditor #activeViewportEditor .noActiveViewport h3{color:#9ccef9}body.theme-tide #protocolEditor #activeViewportEditor .noActiveViewport h3{color:#9ccef9}body.theme-tigerlily #protocolEditor #activeViewportEditor .noActiveViewport h3{color:#9acffd}body.theme-crickets #protocolEditor #activeViewportEditor .noActiveViewport h3{color:#92c2da}body.theme-honeycomb #protocolEditor #activeViewportEditor .noActiveViewport h3{color:#b5b5b5}body.theme-mint #protocolEditor #activeViewportEditor .noActiveViewport h3{color:#a7e9b3}body.theme-overcast #protocolEditor #activeViewportEditor .noActiveViewport h3{color:#9cbecf}body.theme-quartz #protocolEditor #activeViewportEditor .noActiveViewport h3{color:#8ea2a4}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}table.ruleTable thead tr th{text-align:center}table.ruleTable thead tr th{color:#9ccef9}body.theme-tide table.ruleTable thead tr th{color:#9ccef9}body.theme-tigerlily table.ruleTable thead tr th{color:#9acffd}body.theme-crickets table.ruleTable thead tr th{color:#92c2da}body.theme-honeycomb table.ruleTable thead tr th{color:#b5b5b5}body.theme-mint table.ruleTable thead tr th{color:#a7e9b3}body.theme-overcast table.ruleTable thead tr th{color:#9cbecf}body.theme-quartz table.ruleTable thead tr th{color:#8ea2a4}table.ruleTable thead tr th:first-child{text-align:left}table.ruleTable tbody tr td{text-align:center}table.ruleTable tbody tr td{color:#9ccef9}body.theme-tide table.ruleTable tbody tr td{color:#9ccef9}body.theme-tigerlily table.ruleTable tbody tr td{color:#9acffd}body.theme-crickets table.ruleTable tbody tr td{color:#92c2da}body.theme-honeycomb table.ruleTable tbody tr td{color:#b5b5b5}body.theme-mint table.ruleTable tbody tr td{color:#a7e9b3}body.theme-overcast table.ruleTable tbody tr td{color:#9cbecf}body.theme-quartz table.ruleTable tbody tr td{color:#8ea2a4}table.ruleTable tbody tr td .failWarning{color:#f00}table.ruleTable tbody tr td .editRule:hover,table.ruleTable tbody tr td .deleteRule:hover,table.ruleTable tbody tr td .editRule:active,table.ruleTable tbody tr td .deleteRule:active{cursor:pointer;-webkit-transition:all 0.1s ease;-moz-transition:all 0.1s ease;-ms-transition:all 0.1s ease;-o-transition:all 0.1s ease;transition:all 0.1s ease}table.ruleTable tbody tr td .editRule:hover:hover,table.ruleTable tbody tr td .deleteRule:hover:hover,table.ruleTable tbody tr td .editRule:active:hover,table.ruleTable tbody tr td .deleteRule:active:hover{color:#fff}body.theme-tide table.ruleTable tbody tr td .editRule:hover:hover{color:#fff}body.theme-tide table.ruleTable tbody tr td .deleteRule:hover:hover{color:#fff}body.theme-tide table.ruleTable tbody tr td .editRule:active:hover{color:#fff}body.theme-tide table.ruleTable tbody tr td .deleteRule:active:hover{color:#fff}body.theme-tigerlily table.ruleTable tbody tr td .editRule:hover:hover{color:#fff}body.theme-tigerlily table.ruleTable tbody tr td .deleteRule:hover:hover{color:#fff}body.theme-tigerlily table.ruleTable tbody tr td .editRule:active:hover{color:#fff}body.theme-tigerlily table.ruleTable tbody tr td .deleteRule:active:hover{color:#fff}body.theme-crickets table.ruleTable tbody tr td .editRule:hover:hover{color:#fff}body.theme-crickets table.ruleTable tbody tr td .deleteRule:hover:hover{color:#fff}body.theme-crickets table.ruleTable tbody tr td .editRule:active:hover{color:#fff}body.theme-crickets table.ruleTable tbody tr td .deleteRule:active:hover{color:#fff}body.theme-honeycomb table.ruleTable tbody tr td .editRule:hover:hover{color:#fff}body.theme-honeycomb table.ruleTable tbody tr td .deleteRule:hover:hover{color:#fff}body.theme-honeycomb table.ruleTable tbody tr td .editRule:active:hover{color:#fff}body.theme-honeycomb table.ruleTable tbody tr td .deleteRule:active:hover{color:#fff}body.theme-mint table.ruleTable tbody tr td .editRule:hover:hover{color:#fff}body.theme-mint table.ruleTable tbody tr td .deleteRule:hover:hover{color:#fff}body.theme-mint table.ruleTable tbody tr td .editRule:active:hover{color:#fff}body.theme-mint table.ruleTable tbody tr td .deleteRule:active:hover{color:#fff}body.theme-overcast table.ruleTable tbody tr td .editRule:hover:hover{color:#fff}body.theme-overcast table.ruleTable tbody tr td .deleteRule:hover:hover{color:#fff}body.theme-overcast table.ruleTable tbody tr td .editRule:active:hover{color:#fff}body.theme-overcast table.ruleTable tbody tr td .deleteRule:active:hover{color:#fff}body.theme-quartz table.ruleTable tbody tr td .editRule:hover:hover{color:#fff}body.theme-quartz table.ruleTable tbody tr td .deleteRule:hover:hover{color:#fff}body.theme-quartz table.ruleTable tbody tr td .editRule:active:hover{color:#fff}body.theme-quartz table.ruleTable tbody tr td .deleteRule:active:hover{color:#fff}table.ruleTable tbody tr td .editRule:hover:active,table.ruleTable tbody tr td .deleteRule:hover:active,table.ruleTable tbody tr td .editRule:active:active,table.ruleTable tbody tr td .deleteRule:active:active{color:#20a5d6}body.theme-tide table.ruleTable tbody tr td .editRule:hover:active{color:#20a5d6}body.theme-tide table.ruleTable tbody tr td .deleteRule:hover:active{color:#20a5d6}body.theme-tide table.ruleTable tbody tr td .editRule:active:active{color:#20a5d6}body.theme-tide table.ruleTable tbody tr td .deleteRule:active:active{color:#20a5d6}body.theme-tigerlily table.ruleTable tbody tr td .editRule:hover:active{color:#fa8947}body.theme-tigerlily table.ruleTable tbody tr td .deleteRule:hover:active{color:#fa8947}body.theme-tigerlily table.ruleTable tbody tr td .editRule:active:active{color:#fa8947}body.theme-tigerlily table.ruleTable tbody tr td .deleteRule:active:active{color:#fa8947}body.theme-crickets table.ruleTable tbody tr td .editRule:hover:active{color:#d4c3c1}body.theme-crickets table.ruleTable tbody tr td .deleteRule:hover:active{color:#d4c3c1}body.theme-crickets table.ruleTable tbody tr td .editRule:active:active{color:#d4c3c1}body.theme-crickets table.ruleTable tbody tr td .deleteRule:active:active{color:#d4c3c1}body.theme-honeycomb table.ruleTable tbody tr td .editRule:hover:active{color:#cda56b}body.theme-honeycomb table.ruleTable tbody tr td .deleteRule:hover:active{color:#cda56b}body.theme-honeycomb table.ruleTable tbody tr td .editRule:active:active{color:#cda56b}body.theme-honeycomb table.ruleTable tbody tr td .deleteRule:active:active{color:#cda56b}body.theme-mint table.ruleTable tbody tr td .editRule:hover:active{color:#31b166}body.theme-mint table.ruleTable tbody tr td .deleteRule:hover:active{color:#31b166}body.theme-mint table.ruleTable tbody tr td .editRule:active:active{color:#31b166}body.theme-mint table.ruleTable tbody tr td .deleteRule:active:active{color:#31b166}body.theme-overcast table.ruleTable tbody tr td .editRule:hover:active{color:#507d80}body.theme-overcast table.ruleTable tbody tr td .deleteRule:hover:active{color:#507d80}body.theme-overcast table.ruleTable tbody tr td .editRule:active:active{color:#507d80}body.theme-overcast table.ruleTable tbody tr td .deleteRule:active:active{color:#507d80}body.theme-quartz table.ruleTable tbody tr td .editRule:hover:active{color:#7858ce}body.theme-quartz table.ruleTable tbody tr td .deleteRule:hover:active{color:#7858ce}body.theme-quartz table.ruleTable tbody tr td .editRule:active:active{color:#7858ce}body.theme-quartz table.ruleTable tbody tr td .deleteRule:active:active{color:#7858ce}table.ruleTable tbody tr td:first-child{text-align:left;overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-word;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.addRuleContainer{margin:10px 0;text-align:center}.addRuleContainer{color:#9ccef9}body.theme-tide .addRuleContainer{color:#9ccef9}body.theme-tigerlily .addRuleContainer{color:#9acffd}body.theme-crickets .addRuleContainer{color:#92c2da}body.theme-honeycomb .addRuleContainer{color:#b5b5b5}body.theme-mint .addRuleContainer{color:#a7e9b3}body.theme-overcast .addRuleContainer{color:#9cbecf}body.theme-quartz .addRuleContainer{color:#8ea2a4}.addRuleContainer .addRule{cursor:pointer;-webkit-transition:all 0.1s ease;-moz-transition:all 0.1s ease;-ms-transition:all 0.1s ease;-o-transition:all 0.1s ease;transition:all 0.1s ease}.addRuleContainer .addRule:hover{color:#fff}body.theme-tide .addRuleContainer .addRule:hover{color:#fff}body.theme-tigerlily .addRuleContainer .addRule:hover{color:#fff}body.theme-crickets .addRuleContainer .addRule:hover{color:#fff}body.theme-honeycomb .addRuleContainer .addRule:hover{color:#fff}body.theme-mint .addRuleContainer .addRule:hover{color:#fff}body.theme-overcast .addRuleContainer .addRule:hover{color:#fff}body.theme-quartz .addRuleContainer .addRule:hover{color:#fff}.addRuleContainer .addRule:active{color:#20a5d6}body.theme-tide .addRuleContainer .addRule:active{color:#20a5d6}body.theme-tigerlily .addRuleContainer .addRule:active{color:#fa8947}body.theme-crickets .addRuleContainer .addRule:active{color:#d4c3c1}body.theme-honeycomb .addRuleContainer .addRule:active{color:#cda56b}body.theme-mint .addRuleContainer .addRule:active{color:#31b166}body.theme-overcast .addRuleContainer .addRule:active{color:#507d80}body.theme-quartz .addRuleContainer .addRule:active{color:#7858ce}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}.ruleEntryDialog{position:absolute;top:0;bottom:0;left:0;right:0;z-index:100;width:350px;height:230px;margin:auto;padding:10px;background-color:#fff;outline:none;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px}.ruleEntryDialog{background:rgba(20,25,30,0.95)}body.theme-tide .ruleEntryDialog{background:rgba(20,25,30,0.95)}body.theme-tigerlily .ruleEntryDialog{background:rgba(20,25,30,0.95)}body.theme-crickets .ruleEntryDialog{background:rgba(20,25,30,0.95)}body.theme-honeycomb .ruleEntryDialog{background:rgba(20,25,30,0.95)}body.theme-mint .ruleEntryDialog{background:rgba(20,25,30,0.95)}body.theme-overcast .ruleEntryDialog{background:rgba(20,25,30,0.95)}body.theme-quartz .ruleEntryDialog{background:rgba(20,25,30,0.95)}.ruleEntryDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tide .ruleEntryDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tigerlily .ruleEntryDialog{border:1px solid rgba(135,90,134,0.95)}body.theme-crickets .ruleEntryDialog{border:1px solid rgba(83,123,118,0.95)}body.theme-honeycomb .ruleEntryDialog{border:1px solid rgba(98,51,55,0.95)}body.theme-mint .ruleEntryDialog{border:1px solid rgba(33,69,41,0.95)}body.theme-overcast .ruleEntryDialog{border:1px solid rgba(64,64,64,0.95)}body.theme-quartz .ruleEntryDialog{border:1px solid rgba(136,91,134,0.95)}.ruleEntryDialog{color:#91b9cd}body.theme-tide .ruleEntryDialog{color:#91b9cd}body.theme-tigerlily .ruleEntryDialog{color:#9ccdf8}body.theme-crickets .ruleEntryDialog{color:#8be7b5}body.theme-honeycomb .ruleEntryDialog{color:#fab797}body.theme-mint .ruleEntryDialog{color:#a7e9b3}body.theme-overcast .ruleEntryDialog{color:#73f2fc}body.theme-quartz .ruleEntryDialog{color:#d7e8fe}.ruleEntryDialog .dialogContent{text-align:center;margin-bottom:10px}.ruleEntryDialog .dialogContent .row{margin:15px 0}.ruleEntryDialog .btn{text-decoration:none}.ruleEntryDialog #cancel{float:left}.ruleEntryDialog #save{float:right}.ruleEntryDialog input.currentValue{width:95%;text-align:center;padding:4px;color:#000;height:30px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;border:0}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}.settingEntryDialog{position:absolute;top:0;bottom:0;left:0;right:0;z-index:100;width:300px;height:200px;margin:auto;padding:10px;outline:none;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px}.settingEntryDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tide .settingEntryDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tigerlily .settingEntryDialog{border:1px solid rgba(135,90,134,0.95)}body.theme-crickets .settingEntryDialog{border:1px solid rgba(83,123,118,0.95)}body.theme-honeycomb .settingEntryDialog{border:1px solid rgba(98,51,55,0.95)}body.theme-mint .settingEntryDialog{border:1px solid rgba(33,69,41,0.95)}body.theme-overcast .settingEntryDialog{border:1px solid rgba(64,64,64,0.95)}body.theme-quartz .settingEntryDialog{border:1px solid rgba(136,91,134,0.95)}.settingEntryDialog{background:rgba(20,25,30,0.95)}body.theme-tide .settingEntryDialog{background:rgba(20,25,30,0.95)}body.theme-tigerlily .settingEntryDialog{background:rgba(20,25,30,0.95)}body.theme-crickets .settingEntryDialog{background:rgba(20,25,30,0.95)}body.theme-honeycomb .settingEntryDialog{background:rgba(20,25,30,0.95)}body.theme-mint .settingEntryDialog{background:rgba(20,25,30,0.95)}body.theme-overcast .settingEntryDialog{background:rgba(20,25,30,0.95)}body.theme-quartz .settingEntryDialog{background:rgba(20,25,30,0.95)}.settingEntryDialog{color:#91b9cd}body.theme-tide .settingEntryDialog{color:#91b9cd}body.theme-tigerlily .settingEntryDialog{color:#9ccdf8}body.theme-crickets .settingEntryDialog{color:#8be7b5}body.theme-honeycomb .settingEntryDialog{color:#fab797}body.theme-mint .settingEntryDialog{color:#a7e9b3}body.theme-overcast .settingEntryDialog{color:#73f2fc}body.theme-quartz .settingEntryDialog{color:#d7e8fe}.settingEntryDialog .dialogContent{text-align:center;margin-bottom:10px}.settingEntryDialog .dialogContent .row{margin:15px 0}.settingEntryDialog .btn{text-decoration:none}.settingEntryDialog #cancel{float:left}.settingEntryDialog #save{float:right}.settingEntryDialog input.currentValue{width:95%;text-align:center;padding:4px;color:#000;height:30px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;border:0}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}.textEntryDialog{position:absolute;top:0;bottom:0;left:0;right:0;z-index:100;width:300px;height:170px;margin:auto;padding:10px;outline:none;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;border-radius:8px}.textEntryDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tide .textEntryDialog{border:1px solid rgba(68,98,111,0.95)}body.theme-tigerlily .textEntryDialog{border:1px solid rgba(135,90,134,0.95)}body.theme-crickets .textEntryDialog{border:1px solid rgba(83,123,118,0.95)}body.theme-honeycomb .textEntryDialog{border:1px solid rgba(98,51,55,0.95)}body.theme-mint .textEntryDialog{border:1px solid rgba(33,69,41,0.95)}body.theme-overcast .textEntryDialog{border:1px solid rgba(64,64,64,0.95)}body.theme-quartz .textEntryDialog{border:1px solid rgba(136,91,134,0.95)}.textEntryDialog{background:rgba(20,25,30,0.95)}body.theme-tide .textEntryDialog{background:rgba(20,25,30,0.95)}body.theme-tigerlily .textEntryDialog{background:rgba(20,25,30,0.95)}body.theme-crickets .textEntryDialog{background:rgba(20,25,30,0.95)}body.theme-honeycomb .textEntryDialog{background:rgba(20,25,30,0.95)}body.theme-mint .textEntryDialog{background:rgba(20,25,30,0.95)}body.theme-overcast .textEntryDialog{background:rgba(20,25,30,0.95)}body.theme-quartz .textEntryDialog{background:rgba(20,25,30,0.95)}.textEntryDialog{color:#91b9cd}body.theme-tide .textEntryDialog{color:#91b9cd}body.theme-tigerlily .textEntryDialog{color:#9ccdf8}body.theme-crickets .textEntryDialog{color:#8be7b5}body.theme-honeycomb .textEntryDialog{color:#fab797}body.theme-mint .textEntryDialog{color:#a7e9b3}body.theme-overcast .textEntryDialog{color:#73f2fc}body.theme-quartz .textEntryDialog{color:#d7e8fe}.textEntryDialog .dialogContent{margin-bottom:10px}.textEntryDialog .cancel{float:left}.textEntryDialog .save{float:right}.textEntryDialog input.currentValue{width:95%;text-align:left;padding:4px;color:#000;height:30px;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;border:0}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}table.settingsTable thead tr th{text-align:center}table.settingsTable thead tr th{color:#9ccef9}body.theme-tide table.settingsTable thead tr th{color:#9ccef9}body.theme-tigerlily table.settingsTable thead tr th{color:#9acffd}body.theme-crickets table.settingsTable thead tr th{color:#92c2da}body.theme-honeycomb table.settingsTable thead tr th{color:#b5b5b5}body.theme-mint table.settingsTable thead tr th{color:#a7e9b3}body.theme-overcast table.settingsTable thead tr th{color:#9cbecf}body.theme-quartz table.settingsTable thead tr th{color:#8ea2a4}table.settingsTable thead tr th:first-child{text-align:left}table.settingsTable tbody{background:#3e3e3e}table.settingsTable tbody tr td{text-align:center}table.settingsTable tbody tr td{color:#9ccef9}body.theme-tide table.settingsTable tbody tr td{color:#9ccef9}body.theme-tigerlily table.settingsTable tbody tr td{color:#9acffd}body.theme-crickets table.settingsTable tbody tr td{color:#92c2da}body.theme-honeycomb table.settingsTable tbody tr td{color:#b5b5b5}body.theme-mint table.settingsTable tbody tr td{color:#a7e9b3}body.theme-overcast table.settingsTable tbody tr td{color:#9cbecf}body.theme-quartz table.settingsTable tbody tr td{color:#8ea2a4}table.settingsTable tbody tr td .editSetting,table.settingsTable tbody tr td .deleteSetting{cursor:pointer;-webkit-transition:all 0.1s ease;-moz-transition:all 0.1s ease;-ms-transition:all 0.1s ease;-o-transition:all 0.1s ease;transition:all 0.1s ease}table.settingsTable tbody tr td .editSetting:hover,table.settingsTable tbody tr td .deleteSetting:hover{color:#fff}body.theme-tide table.settingsTable tbody tr td .editSetting:hover{color:#fff}body.theme-tide table.settingsTable tbody tr td .deleteSetting:hover{color:#fff}body.theme-tigerlily table.settingsTable tbody tr td .editSetting:hover{color:#fff}body.theme-tigerlily table.settingsTable tbody tr td .deleteSetting:hover{color:#fff}body.theme-crickets table.settingsTable tbody tr td .editSetting:hover{color:#fff}body.theme-crickets table.settingsTable tbody tr td .deleteSetting:hover{color:#fff}body.theme-honeycomb table.settingsTable tbody tr td .editSetting:hover{color:#fff}body.theme-honeycomb table.settingsTable tbody tr td .deleteSetting:hover{color:#fff}body.theme-mint table.settingsTable tbody tr td .editSetting:hover{color:#fff}body.theme-mint table.settingsTable tbody tr td .deleteSetting:hover{color:#fff}body.theme-overcast table.settingsTable tbody tr td .editSetting:hover{color:#fff}body.theme-overcast table.settingsTable tbody tr td .deleteSetting:hover{color:#fff}body.theme-quartz table.settingsTable tbody tr td .editSetting:hover{color:#fff}body.theme-quartz table.settingsTable tbody tr td .deleteSetting:hover{color:#fff}table.settingsTable tbody tr td .editSetting:active,table.settingsTable tbody tr td .deleteSetting:active{color:#20a5d6}body.theme-tide table.settingsTable tbody tr td .editSetting:active{color:#20a5d6}body.theme-tide table.settingsTable tbody tr td .deleteSetting:active{color:#20a5d6}body.theme-tigerlily table.settingsTable tbody tr td .editSetting:active{color:#fa8947}body.theme-tigerlily table.settingsTable tbody tr td .deleteSetting:active{color:#fa8947}body.theme-crickets table.settingsTable tbody tr td .editSetting:active{color:#d4c3c1}body.theme-crickets table.settingsTable tbody tr td .deleteSetting:active{color:#d4c3c1}body.theme-honeycomb table.settingsTable tbody tr td .editSetting:active{color:#cda56b}body.theme-honeycomb table.settingsTable tbody tr td .deleteSetting:active{color:#cda56b}body.theme-mint table.settingsTable tbody tr td .editSetting:active{color:#31b166}body.theme-mint table.settingsTable tbody tr td .deleteSetting:active{color:#31b166}body.theme-overcast table.settingsTable tbody tr td .editSetting:active{color:#507d80}body.theme-overcast table.settingsTable tbody tr td .deleteSetting:active{color:#507d80}body.theme-quartz table.settingsTable tbody tr td .editSetting:active{color:#7858ce}body.theme-quartz table.settingsTable tbody tr td .deleteSetting:active{color:#7858ce}table.settingsTable tbody tr td:first-child{text-align:left}.addSettingContainer{margin:10px 0;text-align:center}.addSettingContainer{color:#9ccef9}body.theme-tide .addSettingContainer{color:#9ccef9}body.theme-tigerlily .addSettingContainer{color:#9acffd}body.theme-crickets .addSettingContainer{color:#92c2da}body.theme-honeycomb .addSettingContainer{color:#b5b5b5}body.theme-mint .addSettingContainer{color:#a7e9b3}body.theme-overcast .addSettingContainer{color:#9cbecf}body.theme-quartz .addSettingContainer{color:#8ea2a4}.addSettingContainer .addSetting{cursor:pointer;-webkit-transition:all 0.1s ease;-moz-transition:all 0.1s ease;-ms-transition:all 0.1s ease;-o-transition:all 0.1s ease;transition:all 0.1s ease}.addSettingContainer .addSetting:hover{color:#fff}body.theme-tide .addSettingContainer .addSetting:hover{color:#fff}body.theme-tigerlily .addSettingContainer .addSetting:hover{color:#fff}body.theme-crickets .addSettingContainer .addSetting:hover{color:#fff}body.theme-honeycomb .addSettingContainer .addSetting:hover{color:#fff}body.theme-mint .addSettingContainer .addSetting:hover{color:#fff}body.theme-overcast .addSettingContainer .addSetting:hover{color:#fff}body.theme-quartz .addSettingContainer .addSetting:hover{color:#fff}.addSettingContainer .addSetting:active{color:#20a5d6}body.theme-tide .addSettingContainer .addSetting:active{color:#20a5d6}body.theme-tigerlily .addSettingContainer .addSetting:active{color:#fa8947}body.theme-crickets .addSettingContainer .addSetting:active{color:#d4c3c1}body.theme-honeycomb .addSettingContainer .addSetting:active{color:#cda56b}body.theme-mint .addSettingContainer .addSetting:active{color:#31b166}body.theme-overcast .addSettingContainer .addSetting:active{color:#507d80}body.theme-quartz .addSettingContainer .addSetting:active{color:#7858ce}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}#stageDetails{overflow-y:auto;overflow-x:hidden;padding-right:16px;padding-left:20px;margin-right:-16px;width:100%;height:100%}#stageDetails::-webkit-scrollbar{display:none}#stageDetails h3,#stageDetails label{color:#9ccef9}body.theme-tide #stageDetails h3{color:#9ccef9}body.theme-tide #stageDetails label{color:#9ccef9}body.theme-tigerlily #stageDetails h3{color:#9acffd}body.theme-tigerlily #stageDetails label{color:#9acffd}body.theme-crickets #stageDetails h3{color:#92c2da}body.theme-crickets #stageDetails label{color:#92c2da}body.theme-honeycomb #stageDetails h3{color:#b5b5b5}body.theme-honeycomb #stageDetails label{color:#b5b5b5}body.theme-mint #stageDetails h3{color:#a7e9b3}body.theme-mint #stageDetails label{color:#a7e9b3}body.theme-overcast #stageDetails h3{color:#9cbecf}body.theme-overcast #stageDetails label{color:#9cbecf}body.theme-quartz #stageDetails h3{color:#8ea2a4}body.theme-quartz #stageDetails label{color:#8ea2a4}#stageDetails label{margin-right:10px;width:25%}#stageDetails input{min-width:50px;width:40%;border:none;text-align:center}#stageDetails input{background-color:#344a61}body.theme-tide #stageDetails input{background-color:#344a61}body.theme-tigerlily #stageDetails input{background-color:#5b3a59}body.theme-crickets #stageDetails input{background-color:#344a61}body.theme-honeycomb #stageDetails input{background-color:#344a61}body.theme-mint #stageDetails input{background-color:#344a61}body.theme-overcast #stageDetails input{background-color:#344a61}body.theme-quartz #stageDetails input{background-color:#344a61}#stageDetails input{color:#9ccef9}body.theme-tide #stageDetails input{color:#9ccef9}body.theme-tigerlily #stageDetails input{color:#9acffd}body.theme-crickets #stageDetails input{color:#92c2da}body.theme-honeycomb #stageDetails input{color:#b5b5b5}body.theme-mint #stageDetails input{color:#a7e9b3}body.theme-overcast #stageDetails input{color:#9cbecf}body.theme-quartz #stageDetails input{color:#8ea2a4}#stageDetails .stageEditorSection{margin:30px 0}.theme-icon-crickets,.theme-icon-tide,.theme-icon-tigerlily,.theme-icon-quartz,.theme-icon-overcast,.theme-icon-mint,.theme-icon-honeycomb{display:inline-block;background:url("packages/ohif_design/assets/theme-icons.png") no-repeat;overflow:hidden;text-indent:-9999px;text-align:left}.theme-icon-crickets{background-position:0px 0px;width:64px;height:56px}.theme-icon-tide{background-position:0px -56px;width:64px;height:54px}.theme-icon-tigerlily{background-position:0px -110px;width:62px;height:61px}.theme-icon-quartz{background-position:0px -171px;width:59px;height:64px}.theme-icon-overcast{background-position:0px -235px;width:58px;height:37px}.theme-icon-mint{background-position:0px -272px;width:57px;height:61px}.theme-icon-honeycomb{background-position:0px -333px;width:50px;height:58px}#stageSortingContainer{padding:0 20px}#stageSortingContainer #stageSortable .sortable-item{padding:3px}#stageSortingContainer #stageSortable .sortable-item span{cursor:pointer}#stageSortingContainer #stageSortable .sortable-item span{color:#9ccef9}body.theme-tide #stageSortingContainer #stageSortable .sortable-item span{color:#9ccef9}body.theme-tigerlily #stageSortingContainer #stageSortable .sortable-item span{color:#9acffd}body.theme-crickets #stageSortingContainer #stageSortable .sortable-item span{color:#92c2da}body.theme-honeycomb #stageSortingContainer #stageSortable .sortable-item span{color:#b5b5b5}body.theme-mint #stageSortingContainer #stageSortable .sortable-item span{color:#a7e9b3}body.theme-overcast #stageSortingContainer #stageSortable .sortable-item span{color:#9cbecf}body.theme-quartz #stageSortingContainer #stageSortable .sortable-item span{color:#8ea2a4}#stageSortingContainer #stageSortable .sortable-item span:hover{color:#fff}body.theme-tide #stageSortingContainer #stageSortable .sortable-item span:hover{color:#fff}body.theme-tigerlily #stageSortingContainer #stageSortable .sortable-item span:hover{color:#fff}body.theme-crickets #stageSortingContainer #stageSortable .sortable-item span:hover{color:#fff}body.theme-honeycomb #stageSortingContainer #stageSortable .sortable-item span:hover{color:#fff}body.theme-mint #stageSortingContainer #stageSortable .sortable-item span:hover{color:#fff}body.theme-overcast #stageSortingContainer #stageSortable .sortable-item span:hover{color:#fff}body.theme-quartz #stageSortingContainer #stageSortable .sortable-item span:hover{color:#fff}#stageSortingContainer #stageSortable .sortable-item span.active{color:#20a5d6}body.theme-tide #stageSortingContainer #stageSortable .sortable-item span.active{color:#20a5d6}body.theme-tigerlily #stageSortingContainer #stageSortable .sortable-item span.active{color:#fa8947}body.theme-crickets #stageSortingContainer #stageSortable .sortable-item span.active{color:#d4c3c1}body.theme-honeycomb #stageSortingContainer #stageSortable .sortable-item span.active{color:#cda56b}body.theme-mint #stageSortingContainer #stageSortable .sortable-item span.active{color:#31b166}body.theme-overcast #stageSortingContainer #stageSortable .sortable-item span.active{color:#507d80}body.theme-quartz #stageSortingContainer #stageSortable .sortable-item span.active{color:#7858ce}#stageSortingContainer #stageSortable .sortable-handle{cursor:move;cursor:-webkit-grabbing;width:15px;height:15px;margin:0 5px;filter:invert(100%);-webkit-filter:invert(100%);background-image:url(packages/hangingprotocols/assets/dots.svg)}#stageSortingContainer #stageSortable .sortable.target{flex:1 1 auto;margin-left:1em}#stageSortingContainer #stageSortable .sortable-ghost{opacity:0.6}#stageSortingContainer #stageSortable .deleteStage{cursor:pointer;-webkit-transition:all 0.1s ease;-moz-transition:all 0.1s ease;-ms-transition:all 0.1s ease;-o-transition:all 0.1s ease;transition:all 0.1s ease}#stageSortingContainer #stageSortable .deleteStage{color:#9ccef9}body.theme-tide #stageSortingContainer #stageSortable .deleteStage{color:#9ccef9}body.theme-tigerlily #stageSortingContainer #stageSortable .deleteStage{color:#9acffd}body.theme-crickets #stageSortingContainer #stageSortable .deleteStage{color:#92c2da}body.theme-honeycomb #stageSortingContainer #stageSortable .deleteStage{color:#b5b5b5}body.theme-mint #stageSortingContainer #stageSortable .deleteStage{color:#a7e9b3}body.theme-overcast #stageSortingContainer #stageSortable .deleteStage{color:#9cbecf}body.theme-quartz #stageSortingContainer #stageSortable .deleteStage{color:#8ea2a4}#stageSortingContainer #stageSortable .deleteStage:hover{color:#fff}body.theme-tide #stageSortingContainer #stageSortable .deleteStage:hover{color:#fff}body.theme-tigerlily #stageSortingContainer #stageSortable .deleteStage:hover{color:#fff}body.theme-crickets #stageSortingContainer #stageSortable .deleteStage:hover{color:#fff}body.theme-honeycomb #stageSortingContainer #stageSortable .deleteStage:hover{color:#fff}body.theme-mint #stageSortingContainer #stageSortable .deleteStage:hover{color:#fff}body.theme-overcast #stageSortingContainer #stageSortable .deleteStage:hover{color:#fff}body.theme-quartz #stageSortingContainer #stageSortable .deleteStage:hover{color:#fff}#stageSortingContainer #stageSortable .deleteStage:active{color:#20a5d6}body.theme-tide #stageSortingContainer #stageSortable .deleteStage:active{color:#20a5d6}body.theme-tigerlily #stageSortingContainer #stageSortable .deleteStage:active{color:#fa8947}body.theme-crickets #stageSortingContainer #stageSortable .deleteStage:active{color:#d4c3c1}body.theme-honeycomb #stageSortingContainer #stageSortable .deleteStage:active{color:#cda56b}body.theme-mint #stageSortingContainer #stageSortable .deleteStage:active{color:#31b166}body.theme-overcast #stageSortingContainer #stageSortable .deleteStage:active{color:#507d80}body.theme-quartz #stageSortingContainer #stageSortable .deleteStage:active{color:#7858ce}#stageSortingContainer .addStage{margin:10px 0;text-align:center}#stageSortingContainer .addStage{color:#9ccef9}body.theme-tide #stageSortingContainer .addStage{color:#9ccef9}body.theme-tigerlily #stageSortingContainer .addStage{color:#9acffd}body.theme-crickets #stageSortingContainer .addStage{color:#92c2da}body.theme-honeycomb #stageSortingContainer .addStage{color:#b5b5b5}body.theme-mint #stageSortingContainer .addStage{color:#a7e9b3}body.theme-overcast #stageSortingContainer .addStage{color:#9cbecf}body.theme-quartz #stageSortingContainer .addStage{color:#8ea2a4}#stageSortingContainer .addStage #addStage{-webkit-transition:all 0.1s ease;-moz-transition:all 0.1s ease;-ms-transition:all 0.1s ease;-o-transition:all 0.1s ease;transition:all 0.1s ease}#stageSortingContainer .addStage #addStage:hover{color:#fff}body.theme-tide #stageSortingContainer .addStage #addStage:hover{color:#fff}body.theme-tigerlily #stageSortingContainer .addStage #addStage:hover{color:#fff}body.theme-crickets #stageSortingContainer .addStage #addStage:hover{color:#fff}body.theme-honeycomb #stageSortingContainer .addStage #addStage:hover{color:#fff}body.theme-mint #stageSortingContainer .addStage #addStage:hover{color:#fff}body.theme-overcast #stageSortingContainer .addStage #addStage:hover{color:#fff}body.theme-quartz #stageSortingContainer .addStage #addStage:hover{color:#fff}#stageSortingContainer .addStage #addStage:active{color:#20a5d6}body.theme-tide #stageSortingContainer .addStage #addStage:active{color:#20a5d6}body.theme-tigerlily #stageSortingContainer .addStage #addStage:active{color:#fa8947}body.theme-crickets #stageSortingContainer .addStage #addStage:active{color:#d4c3c1}body.theme-honeycomb #stageSortingContainer .addStage #addStage:active{color:#cda56b}body.theme-mint #stageSortingContainer .addStage #addStage:active{color:#31b166}body.theme-overcast #stageSortingContainer .addStage #addStage:active{color:#507d80}body.theme-quartz #stageSortingContainer .addStage #addStage:active{color:#7858ce}#stageSortingContainer .moveStageButtons{margin:10px 0;text-align:center}#stageSortingContainer .moveStageButtons a{cursor:pointer;text-decoration:none;-webkit-transition:all 0.1s ease;-moz-transition:all 0.1s ease;-ms-transition:all 0.1s ease;-o-transition:all 0.1s ease;transition:all 0.1s ease}#stageSortingContainer .moveStageButtons a{color:#9ccef9}body.theme-tide #stageSortingContainer .moveStageButtons a{color:#9ccef9}body.theme-tigerlily #stageSortingContainer .moveStageButtons a{color:#9acffd}body.theme-crickets #stageSortingContainer .moveStageButtons a{color:#92c2da}body.theme-honeycomb #stageSortingContainer .moveStageButtons a{color:#b5b5b5}body.theme-mint #stageSortingContainer .moveStageButtons a{color:#a7e9b3}body.theme-overcast #stageSortingContainer .moveStageButtons a{color:#9cbecf}body.theme-quartz #stageSortingContainer .moveStageButtons a{color:#8ea2a4}#stageSortingContainer .moveStageButtons a:hover{color:#fff}body.theme-tide #stageSortingContainer .moveStageButtons a:hover{color:#fff}body.theme-tigerlily #stageSortingContainer .moveStageButtons a:hover{color:#fff}body.theme-crickets #stageSortingContainer .moveStageButtons a:hover{color:#fff}body.theme-honeycomb #stageSortingContainer .moveStageButtons a:hover{color:#fff}body.theme-mint #stageSortingContainer .moveStageButtons a:hover{color:#fff}body.theme-overcast #stageSortingContainer .moveStageButtons a:hover{color:#fff}body.theme-quartz #stageSortingContainer .moveStageButtons a:hover{color:#fff}#stageSortingContainer .moveStageButtons a:active{color:#20a5d6}body.theme-tide #stageSortingContainer .moveStageButtons a:active{color:#20a5d6}body.theme-tigerlily #stageSortingContainer .moveStageButtons a:active{color:#fa8947}body.theme-crickets #stageSortingContainer .moveStageButtons a:active{color:#d4c3c1}body.theme-honeycomb #stageSortingContainer .moveStageButtons a:active{color:#cda56b}body.theme-mint #stageSortingContainer .moveStageButtons a:active{color:#31b166}body.theme-overcast #stageSortingContainer .moveStageButtons a:active{color:#507d80}body.theme-quartz #stageSortingContainer .moveStageButtons a:active{color:#7858ce}#stageSortingContainer .moveStageButtons a[disabled="true"]{opacity:0.7;cursor:disabled;pointer-events:none}@font-face{font-family:'FontAwesome';src:url('packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.eot?v=4.7.0');src:url('packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:0.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:0.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid 0.08em #eeeeee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#ffffff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"} \ No newline at end of file diff --git a/StandaloneViewer/testBuild/c612d22bc068486bdea0fa7e7b80702ebb1d8df5.js b/StandaloneViewer/testBuild/c612d22bc068486bdea0fa7e7b80702ebb1d8df5.js deleted file mode 100644 index 639a29e83..000000000 --- a/StandaloneViewer/testBuild/c612d22bc068486bdea0fa7e7b80702ebb1d8df5.js +++ /dev/null @@ -1,230 +0,0 @@ -!function(){var t,e,n;(function(){t=this}).call(this),function(){e=__meteor_runtime_config__.meteorEnv,n={isProduction:"production"===e.NODE_ENV,isDevelopment:"production"!==e.NODE_ENV,isClient:!0,isServer:!1,isCordova:!1},"object"==typeof __meteor_runtime_config__&&__meteor_runtime_config__.PUBLIC_SETTINGS&&(n.settings={public:__meteor_runtime_config__.PUBLIC_SETTINGS})}.call(this),function(){function t(t){if(t)return n._debug("Exception in callback of async function",t.stack?t.stack:t)}if(n.isServer)var e=Npm.require("fibers/future");"object"==typeof __meteor_runtime_config__&&__meteor_runtime_config__.meteorRelease&&(n.release=__meteor_runtime_config__.meteorRelease),n._get=function(t){for(var e=1;e=0;r--){var o=arguments[r+1];if(n)n=!1;else for(var i in e[r][o])return;delete e[r][o]}},n.wrapAsync=function(r,o){return function(){for(var i=o||this,a=Array.prototype.slice.call(arguments),s,u=a.length-1;u>=0;--u){var c=a[u],l=typeof c;if("undefined"!==l){"function"===l&&(s=c);break}}if(!s){if(n.isClient)s=t;else{var f=new e;s=f.resolver()}++u}a[u]=n.bindEnvironment(s);var p=r.apply(i,a);return f?f.wait():p}};var r=Object.prototype.hasOwnProperty;n._inherits=function(t,e){for(var n in e)r.call(e,n)&&(t[n]=e[n]);var o=function(){this.constructor=t};return o.prototype=e.prototype,t.prototype=new o,t.__super__=e.prototype,t};var o=!1;n._wrapAsync=function(t,e){return o||(n._debug("Meteor._wrapAsync has been renamed to Meteor.wrapAsync"),o=!0),n.wrapAsync.apply(n,arguments)}}.call(this),function(){"use strict";function t(){if(o.setImmediate){var t=function(t){o.setImmediate(t)};return t.implementation="setImmediate",t}return null}function e(){function t(t,e){return"string"==typeof t&&t.substring(0,e.length)===e}function e(e){if(e.source===o&&t(e.data,s)){var n=e.data.substring(s.length);try{a[n]&&a[n]()}finally{delete a[n]}}}if(!o.postMessage||o.importScripts)return null;var n=!0,r=o.onmessage;if(o.onmessage=function(){n=!1},o.postMessage("","*"),o.onmessage=r,!n)return null;var i=0,a={},s="Meteor._setImmediate."+Math.random()+".";o.addEventListener?o.addEventListener("message",e,!1):o.attachEvent("onmessage",e);var u=function(t){a[++i]=t,o.postMessage(s+i,"*")};return u.implementation="postMessage",u}function r(){var t=function(t){o.setTimeout(t,0)};return t.implementation="setTimeout",t}var o=this;n._setImmediate=t()||e()||r()}.call(this),function(){function t(t){if(Package.ddp){var e=Package.ddp.DDP,n=e._CurrentMethodInvocation||e._CurrentInvocation,r=n.get();if(r&&r.isSimulation)throw new Error("Can't set timers inside simulations");return function(){n.withValue(null,t)}}return t}function e(e,r){return n.bindEnvironment(t(r),e)}n.setTimeout=function(t,n){return setTimeout(e("setTimeout callback",t),n)},n.setInterval=function(t,n){return setInterval(e("setInterval callback",t),n)},n.clearInterval=function(t){return clearInterval(t)},n.clearTimeout=function(t){return clearTimeout(t)},n.defer=function(t){n._setImmediate(e("defer callback",t))}}.call(this),function(){n.makeErrorType=function(t,e){var r=function(){Error.captureStackTrace?Error.captureStackTrace(this,r):this.stack=(new Error).stack,e.apply(this,arguments),this.errorType=t};return n._inherits(r,Error),r},n.Error=n.makeErrorType("Meteor.Error",function(t,e,n){var r=this;r.isClientSafe=!0,r.error=t,r.reason=e,r.details=n,r.reason?r.message=r.reason+" ["+r.error+"]":r.message="["+r.error+"]"}),n.Error.prototype.clone=function(){var t=this;return new n.Error(t.error,t.reason,t.details)}}.call(this),function(){n._noYieldsAllowed=function(t){return t()},n._SynchronousQueue=function(){var t=this;t._tasks=[],t._running=!1,t._runTimeout=null};var t=n._SynchronousQueue.prototype;t.runTask=function(t){var e=this;if(!e.safeToRunTask())throw new Error("Could not synchronously run a task from a running task");e._tasks.push(t);var r=e._tasks;e._tasks=[],e._running=!0,e._runTimeout&&(clearTimeout(e._runTimeout),e._runTimeout=null);try{for(;r.length>0;){var o=r.shift();try{o()}catch(t){if(0===r.length)throw t;n._debug("Exception in queued task: "+(t.stack||t))}}}finally{e._running=!1}},t.queueTask=function(t){var e=this;e._tasks.push(t),e._runTimeout||(e._runTimeout=setTimeout(function(){return e.flush.apply(e,arguments)},0))},t.flush=function(){this.runTask(function(){})},t.drain=function(){var t=this;if(t.safeToRunTask())for(;t._tasks.length>0;)t.flush()},t.safeToRunTask=function(){return!this._running}}.call(this),function(){var t=[],e=!1,r=!1,o=0,i=function(){o++},a=function(){o--,s()},s=function(){if(!(r||!e||o>0)){for(r=!0;t.length;)t.shift()();n.isCordova&&WebAppLocalServer.startupDidComplete()}},u=function(){e||(e=!0,s())};n.isCordova&&(i(),document.addEventListener("deviceready",a,!1)),"complete"===document.readyState||"loaded"===document.readyState?window.setTimeout(u):document.addEventListener?(document.addEventListener("DOMContentLoaded",u,!1),window.addEventListener("load",u,!1)):(document.attachEvent("onreadystatechange",function(){"complete"===document.readyState&&u()}),window.attachEvent("load",u)),n.startup=function(e){var o=!document.addEventListener&&document.documentElement.doScroll;if(o&&window===top){try{o("left")}catch(t){return void setTimeout(function(){n.startup(e)},50)}e()}else r?e():t.push(e)}}.call(this),function(){var t=0;n._debug=function(){if(t)t--;else if("undefined"!=typeof console&&void 0!==console.log)if(0==arguments.length)console.log("");else if("function"==typeof console.log.apply){for(var e=!0,n=0;n2;if(null==n&&(n=[]),v&&n.reduce===v)return e&&(t=A.bind(t,e)),i?n.reduce(t,r):n.reduce(t);if(E(n,function(n,u,a){i?r=t.call(e,r,n,u,a):(r=n,i=!0)}),!i)throw new TypeError(F);return r},A.reduceRight=A.foldr=function(n,t,r,e){var i=arguments.length>2;if(null==n&&(n=[]),y&&n.reduceRight===y)return e&&(t=A.bind(t,e)),i?n.reduceRight(t,r):n.reduceRight(t);var u=n.length;if(!O(n)){var a=A.keys(n);u=a.length}if(E(n,function(c,o,l){o=a?a[--u]:--u,i?r=t.call(e,r,n[o],o,l):(r=n[o],i=!0)}),!i)throw new TypeError(F);return r},A.find=A.detect=function(n,t,r){var e;return M(n,function(n,i,u){if(t.call(r,n,i,u))return e=n,!0}),e},A.filter=A.select=function(n,t,r){var e=[];return null==n?e:d&&n.filter===d?n.filter(t,r):(E(n,function(n,i,u){t.call(r,n,i,u)&&e.push(n)}),e)},A.reject=function(n,t,r){return A.filter(n,function(n,e,i){return!t.call(r,n,e,i)},r)},A.every=A.all=function(n,t,r){t||(t=A.identity);var i=!0;return null==n?i:g&&n.every===g?n.every(t,r):(E(n,function(n,u,a){if(!(i=i&&t.call(r,n,u,a)))return e}),!!i)};var M=A.some=A.any=function(n,t,r){t||(t=A.identity);var i=!1;return null==n?i:m&&n.some===m?n.some(t,r):(E(n,function(n,u,a){if(i||(i=t.call(r,n,u,a)))return e}),!!i)};A.contains=A.include=function(n,t){return null!=n&&(b&&n.indexOf===b?-1!=n.indexOf(t):M(n,function(n){return n===t}))},A.invoke=function(n,t){var r=o.call(arguments,2),e=A.isFunction(t);return A.map(n,function(n){return(e?t:n[t]).apply(n,r)})},A.pluck=function(n,t){return A.map(n,function(n){return n[t]})},A.where=function(n,t,r){return A.isEmpty(t)?r?void 0:[]:A[r?"find":"filter"](n,function(n){for(var r in t)if(t[r]!==n[r])return!1;return!0})},A.findWhere=function(n,t){return A.where(n,t,!0)},A.max=function(n,t,r){if(!t&&A.isArray(n)&&n[0]===+n[0]&&n.length<65535)return Math.max.apply(Math,n);if(!t&&A.isEmpty(n))return-1/0;var e={computed:-1/0,value:-1/0};return E(n,function(n,i,u){var a=t?t.call(r,n,i,u):n;a>e.computed&&(e={value:n,computed:a})}),e.value},A.min=function(n,t,r){if(!t&&A.isArray(n)&&n[0]===+n[0]&&n.length<65535)return Math.min.apply(Math,n);if(!t&&A.isEmpty(n))return 1/0;var e={computed:1/0,value:1/0};return E(n,function(n,i,u){var a=t?t.call(r,n,i,u):n;ae||void 0===r)return 1;if(r>>1;r.call(e,n[c])=0})})},A.difference=function(n){var t=l.apply(i,o.call(arguments,1));return A.filter(n,function(n){return!A.contains(t,n)})},A.zip=function(){for(var n=A.max(A.pluck(arguments,"length").concat(0)),t=new Array(n),r=0;r=0;r--)t=[n[r].apply(this,t)];return t[0]}},A.after=function(n,t){return function(){if(--n<1)return t.apply(this,arguments)}},A.keys=x||function(n){if(n!==Object(n))throw new TypeError("Invalid object");var t=[];for(var r in n)A.has(n,r)&&t.push(r);return t},A.values=function(n){for(var t=A.keys(n),r=t.length,e=new Array(r),i=0;i":">",'"':""","'":"'"}};q.unescape=A.invert(q.escape);var B={escape:new RegExp("["+A.keys(q.escape).join("")+"]","g"),unescape:new RegExp("("+A.keys(q.unescape).join("|")+")","g")};A.each(["escape","unescape"],function(n){A[n]=function(t){return null==t?"":(""+t).replace(B[n],function(t){return q[n][t]})}}),A.result=function(n,t){if(null!=n){var r=n[t];return A.isFunction(r)?r.call(n):r}},A.mixin=function(n){E(A.functions(n),function(t){var r=A[t]=n[t];A.prototype[t]=function(){var n=[this._wrapped];return c.apply(n,arguments),U.call(this,r.apply(A,n))}})};var D=0;A.uniqueId=function(n){var t=++D+"";return n?n+t:t},A.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var P=/(.)^/,z={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},C=/\\|'|\r|\n|\t|\u2028|\u2029/g;A.template=function(n,t,r){var e;r=A.defaults({},r,A.templateSettings);var i=new RegExp([(r.escape||P).source,(r.interpolate||P).source,(r.evaluate||P).source].join("|")+"|$","g"),u=0,a="__p+='";n.replace(i,function(t,r,e,i,c){return a+=n.slice(u,c).replace(C,function(n){return"\\"+z[n]}),r&&(a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'"),e&&(a+="'+\n((__t=("+e+"))==null?'':__t)+\n'"),i&&(a+="';\n"+i+"\n__p+='"),u=c+t.length,t}),a+="';\n",r.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{e=new Function(r.variable||"obj","_",a)}catch(n){throw n.source=a,n}if(t)return e(t,A);var c=function(n){return e.call(this,n,A)};return c.source="function("+(r.variable||"obj")+"){\n"+a+"}",c},A.chain=function(n){return A(n).chain()};var U=function(n){return this._chain?A(n).chain():n};A.mixin(A),E(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=i[n];A.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!=n&&"splice"!=n||0!==r.length||delete r[0],U.call(this,r)}}),E(["concat","join","slice"],function(n){var t=i[n];A.prototype[n]=function(){return U.call(this,t.apply(this._wrapped,arguments))}}),A.extend(A.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this)}.call(this),function(){t=n._}.call(this),"undefined"==typeof Package&&(Package={}),function(n,t){for(var r in t)r in n||(n[r]=t[r])}(Package.underscore={},{_:t})}(); - -!function(){var r=Package.meteor.Meteor,n=Package.meteor.global,e=Package.meteor.meteorEnv,a;(function(){for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n={},e=0;e255)throw new Error("Not ascii. Base64.encode can only take ascii strings.");r[e]=l}}for(var u=[],i=null,o=null,c=null,f=null,e=0;e>2&63,o=(3&r[e])<<4;break;case 1:o|=r[e]>>4&15,c=(15&r[e])<<2;break;case 2:c|=r[e]>>6&3,f=63&r[e],u.push(t(i)),u.push(t(o)),u.push(t(c)),u.push(t(f)),i=null,o=null,c=null,f=null;break}return null!=i&&(u.push(t(i)),u.push(t(o)),null==c?u.push("="):u.push(t(c)),null==f&&u.push("=")),u.join("")};var t=function(n){return r.charAt(n)},l=function(r){return"="===r?-1:n[r]};a.newBinary=function(r){if("undefined"==typeof Uint8Array||"undefined"==typeof ArrayBuffer){for(var n=[],e=0;e>4,e[o++]=t,u=(15&s)<<4;break;case 2:s>=0&&(u|=s>>2,e[o++]=u,i=(3&s)<<6);break;case 3:s>=0&&(e[o++]=i|s);break}}return e}}).call(this),"undefined"==typeof Package&&(Package={}),function(r,n){for(var e in n)e in r||(r[e]=n[e])}(Package.base64={},{Base64:a})}(); - -!function(){var n=Package.meteor.Meteor,e=Package.meteor.global,r=Package.meteor.meteorEnv,t,o,i;t=function(n){"use strict";function e(n,e){return o(n)&&(p(A,n,e),i(k)&&k(B)),B}function r(n){this.id=n,this.children=[],this.childrenById={}}function t(n,e){return O.call(n,e)&&n[e]}function o(n){return"object"==typeof n&&null!==n}function i(n){return"function"==typeof n}function u(n){return"string"==typeof n}function c(n){return new Error("Cannot find module '"+n+"'")}function s(n){function e(e){var r=w(n,e);if(r)return l(r,n.module);var t=c(e);if(i(E))return E(e,n.module.id,t);throw t}return i(x)&&(e=x(e,n.module)),e.extensions=h(n).slice(0),e.resolve=function(e){var r=w(n,e);if(r)return r.module.id;var t=c(e);if(E&&i(E.resolve))return E.resolve(e,n.module.id,t);throw t},e}function f(n,e){var t=this;t.parent=e=e||null,t.module=new r(n),q[n]=t,t.contents=null,t.deps={}}function l(n,e){var r=n.module;if(!O.call(r,"exports")){var t=n.contents;if(!t){if(n.stub)return n.stub;throw c(r.id)}if(e){r.parent=e;var o=e.children;Array.isArray(o)&&o.push(r)}i(r.useNode)&&r.useNode()||t(r.require=r.require||s(n),r.exports=n.stub||{},r,n.module.id,n.parent.module.id),r.loaded=!0}var u=r.runSetters||r.runModuleSetters;return i(u)&&u.call(r),r.exports}function a(n){return n&&o(n.contents)}function d(n){return n&&null===n.contents}function p(n,e,r){Array.isArray(e)?(e.forEach(function(r){u(r)?n.deps[r]=n.module.id:i(r)?e=r:o(r)&&(n.stub=n.stub||{},v(r,function(e,r){n.stub[r]=e}))}),i(e)||(e=null)):i(e)||u(e)||o(e)||(e=null),e&&(n.contents=n.contents||(o(e)?{}:e),o(e)&&a(n)&&v(e,function(e,o){if(".."===o)i=n.parent;else{var i=t(n.contents,o);i||((i=n.contents[o]=new f(n.module.id.replace(/\/*$/,"/")+o,n)).options=r)}p(i,e,r)}))}function v(n,e,r){Object.keys(n).forEach(function(r){e.call(this,n[r],r)},r)}function h(n){return n.options&&n.options.extensions||P}function m(n,e,r){for(;n&&!a(n);)n=n.parent;if(!n||!e||"."===e)return n;if(".."===e)return n.parent;var o=t(n.contents,e);if(r&&(!o||a(o)))for(var i=0;i=0&&t.splice(r,1),t}function a(e,t){var r=!1;d.getESModule(e.exports)||(e.namespace.default=e.exports,r=!0),d.isObjectLike(e.exports)&&((void 0===t||t.indexOf("*")>=0)&&(t=Object.keys(e.exports)),t.forEach(function(t){g.call(e.getters,t)||r&&"default"===t||!g.call(e.exports,t)||d.copyKey(t,e.namespace,e.exports)}))}function s(e,t,r,n){function o(t,r){var n=r;return n!==n?n=p:void 0===n&&(n=m),e.last[t]!==n&&(e.last[t]=n,!0)}if("__esModule"!==t){var a=!1;if(void 0===e.last&&(e.last=Object.create(null),a=!0),"*"===t)for(var s=i(r),u=s.length,c=0;c0&&m.constant&&delete u[h]}}}function c(e,t){if("*"===t)return e.namespace;if(g.call(e.namespace,t))return e.namespace[t];var r=e.exports;if("default"===t&&!(d.getESModule(r)&&"default"in r))return r;if(null!=r)return r[t]}function l(){return Math.random().toString(36).replace("0.",++v+"$")}function f(e,t){var r=e.getters[t];try{var n=r();return++r.runCount,n}catch(e){}return h}var d=e("./utils.js"),h={},p={},m={},g=Object.prototype.hasOwnProperty,v=0,_=d.setPrototypeOf(n.prototype,null),b="function"==typeof WeakMap?new WeakMap:new function e(){var t=[],r=[];this.get=function(e){var n=t.indexOf(e);if(n>=0)return r[n]},this.set=function(e,n){var o=t.indexOf(e);o>=0?r[o]=n:(t.push(e),r.push(n))}};n.get=function(e){if(d.isObjectLike(e)){var t=b.get(e);if(void 0!==t)return t}return null},n.getOrCreate=function(e,t){var r=o(e);return d.isObject(t)&&(r.ownerModules[t.id]=t),r},_.addGetters=function(e,t){var r=i(e),n=r.length;t=!!t;for(var o=0;o=0)&&(e=Object.keys(this.getters));for(var t=e.length,r=0;r2&&void 0!==arguments[2]?arguments[2]:null,n=void 0;return"function"==typeof window.CustomEvent?n=new CustomEvent(t,{detail:r,cancelable:!0}):(n=document.createEvent("CustomEvent")).initCustomEvent(t,!0,!0,r),e.dispatchEvent(n)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(void 0===e)throw new Error("getDefaultViewport: parameter canvas must not be undefined");if(void 0===t)return{scale:1,translation:{x:0,y:0},voi:{windowWidth:void 0,windowCenter:void 0},invert:!1,pixelReplication:!1,rotation:0,hflip:!1,vflip:!1,modalityLUT:void 0,voiLUT:void 0,colormap:void 0,labelmap:!1};var r=e.height/t.rows,n=e.width/t.columns;return{scale:Math.min(n,r),translation:{x:0,y:0},voi:{windowWidth:t.windowWidth,windowCenter:t.windowCenter},invert:t.invert,pixelReplication:!1,rotation:0,hflip:!1,vflip:!1,modalityLUT:t.modalityLUT,voiLUT:t.voiLUT,colormap:t.colormap,labelmap:Boolean(t.labelmap)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(void 0===e)throw new Error("setToPixelCoordinateSystem: parameter enabledElement must not be undefined");if(void 0===t)throw new Error("setToPixelCoordinateSystem: parameter context must not be undefined");var o=(0,n.default)(e,r);t.setTransform(o.m[0],o.m[1],o.m[2],o.m[3],o.m[4],o.m[5])};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(24))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=(0,n.getEnabledElement)(e);if(void 0===r.image&&!r.layers.length)throw new Error("updateImage: image has not been loaded yet");(0,o.default)(r,t)};var n=r(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r(6))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.needsRedraw=!0,t&&(e.invalid=!0)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(28),o=function(e){return e&&e.__esModule?e:{default:e}}(r(29));t.default={getColormap:n.getColormap,getColormapsList:n.getColormapsList,LookupTable:o.default}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return void 0!==e.cachedLut&&e.cachedLut.windowCenter===t.voi.windowCenter&&e.cachedLut.windowWidth===t.voi.windowWidth&&e.cachedLut.invert===t.invert?e.cachedLut.lutArray:((0,c.default)(e,t.voi.windowWidth,t.voi.windowCenter,t.invert),e.cachedLut.windowWidth=t.voi.windowWidth,e.cachedLut.windowCenter=t.voi.windowCenter,e.cachedLut.invert=t.invert,e.cachedLut.lutArray)}function i(e,t,r){e.renderingTools.renderCanvas||(e.renderingTools.renderCanvas=document.createElement("canvas"));var n=e.renderingTools.renderCanvas;if(255===e.viewport.voi.windowWidth&&128===e.viewport.voi.windowCenter&&!1===e.viewport.invert&&t.getCanvas&&t.getCanvas())return t.getCanvas();if(!1===(0,p.default)(e,t)&&!0!==r)return n;n.width===t.width&&n.height===t.height||(0,m.default)(e,t);var i=(0,u.default)(),a=o(t,e.viewport);t.stats=t.stats||{},t.stats.lastLutGenerateTime=(0,u.default)()-i;var s=e.renderingTools.renderCanvasData,c=e.renderingTools.renderCanvasContext;return t.rgba?(0,f.default)(t,a,s.data):(0,l.default)(t,a,s.data),i=(0,u.default)(),c.putImageData(s,0,0),t.stats.lastPutImageDataTime=(0,u.default)()-i,n}function a(e,t){if(void 0===e)throw new Error("renderColorImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("renderColorImage: image must be loaded before it can be drawn");var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,(0,d.default)(e,n);var o=void 0;o=e.options&&e.options.renderer&&"webgl"===e.options.renderer.toLowerCase()?h.default.renderer.render(e):i(e,r,t),n.drawImage(o,0,0,r.width,r.height,0,0,r.width,r.height),e.renderingTools=(0,g.default)(e)}function s(e,t){if(void 0===e)throw new Error("addColorLayer: layer parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("addColorLayer: image must be loaded before it can be drawn");r.rgba=!0,e.canvas=i(e,r,t);var n=e.canvas.getContext("2d");n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,e.renderingTools=(0,g.default)(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.renderColorImage=a,t.addColorLayer=s;var u=n(r(1)),c=n(r(45)),l=n(r(21)),f=n(r(46)),d=n(r(4)),h=n(r(15)),p=n(r(13)),m=n(r(11)),g=n(r(12))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,n.default)(e)};var n=function(e){return e&&e.__esModule?e:{default:e}}(r(24))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t,r){e.renderingTools.renderCanvas||(e.renderingTools.renderCanvas=document.createElement("canvas"));var n=e.renderingTools.renderCanvas,o=e.viewport.colormap||e.options.colormap;if(o&&"string"==typeof o&&(o=h.default.getColormap(o)),!o)throw new Error("renderLabelMapImage: colormap not found.");var i=o.getId();if(!1===(0,f.default)(e,t)&&!0!==r&&e.renderingTools.colormapId===i)return n;n.width===t.width&&n.height===t.height||(0,c.default)(e,t);var a=(0,u.default)();e.renderingTools.colorLut&&!r&&e.renderingTools.colormapId===i||(e.renderingTools.colorLut=o.createLookupTable(),e.renderingTools.colormapId=i),t.stats=t.stats||{},t.stats.lastLutGenerateTime=(0,u.default)()-a;var s=e.renderingTools.colorLut,l=e.renderingTools.renderCanvasData,p=e.renderingTools.renderCanvasContext;return(0,d.default)(t,s,l.data),a=(0,u.default)(),p.putImageData(l,0,0),t.stats.lastPutImageDataTime=(0,u.default)()-a,n}function i(e,t){if(void 0===e)throw new Error("renderLabelMapImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("renderLabelMapImage: image must be loaded before it can be drawn");var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,(0,s.default)(e,n);var i=o(e,r,t),a=r.width,u=r.height;n.drawImage(i,0,0,a,u,0,0,a,u),e.renderingTools=(0,l.default)(e)}function a(e,t){if(void 0===e)throw new Error("addLabelMapLayer: layer parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("addLabelMapLayer: image must be loaded before it can be drawn");e.canvas=o(e,r,t);var n=e.canvas.getContext("2d");n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,e.renderingTools=(0,l.default)(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.renderLabelMapImage=i,t.addLabelMapLayer=a;var s=n(r(4)),u=n(r(1)),c=n(r(11)),l=n(r(12)),f=n(r(13)),d=n(r(22)),h=n(r(7))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=e.renderingTools.renderCanvas;r.width=t.width,r.height=t.height;var n=r.getContext("2d");n.fillStyle="white",n.fillRect(0,0,r.width,r.height);var o=n.getImageData(0,0,t.width,t.height);e.renderingTools.renderCanvasContext=n,e.renderingTools.renderCanvasData=o}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.image.imageId,r=e.viewport;return e.renderingTools.lastRenderedImageId=t,e.renderingTools.lastRenderedViewport={windowCenter:r.voi.windowCenter,windowWidth:r.voi.windowWidth,invert:r.invert,rotation:r.rotation,hflip:r.hflip,vflip:r.vflip,modalityLUT:r.modalityLUT,voiLUT:r.voiLUT,colormap:r.colormap},e.renderingTools}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=e.renderingTools.lastRenderedImageId,n=e.renderingTools.lastRenderedViewport;return t.imageId!==r||!n||n.windowCenter!==e.viewport.voi.windowCenter||n.windowWidth!==e.viewport.voi.windowWidth||n.invert!==e.viewport.invert||n.rotation!==e.viewport.rotation||n.hflip!==e.viewport.hflip||n.vflip!==e.viewport.vflip||n.modalityLUT!==e.viewport.modalityLUT||n.voiLUT!==e.viewport.voiLUT||n.colormap!==e.viewport.colormap}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t,r){e.renderingTools.renderCanvas||(e.renderingTools.renderCanvas=document.createElement("canvas"));var n=e.renderingTools.renderCanvas,o=e.viewport.colormap||e.options.colormap;if(o&&"string"==typeof o&&(o=p.default.getColormap(o)),!o)throw new Error("renderPseudoColorImage: colormap not found.");var i=o.getId();if(!1===(0,d.default)(e,t)&&!0!==r&&e.renderingTools.colormapId===i)return n;n.width===t.width&&n.height===t.height||(0,c.default)(e,t);var a=(0,u.default)();e.renderingTools.colorLut&&!r&&e.renderingTools.colormapId===i||(o.setNumberOfColors(256),e.renderingTools.colorLut=o.createLookupTable(),e.renderingTools.colormapId=i);var s=(0,l.default)(t,e.viewport,r);t.stats=t.stats||{},t.stats.lastLutGenerateTime=(0,u.default)()-a;var f=e.renderingTools.colorLut,m=e.renderingTools.renderCanvasData,g=e.renderingTools.renderCanvasContext;return(0,h.default)(t,s,f,m.data),a=(0,u.default)(),g.putImageData(m,0,0),t.stats.lastPutImageDataTime=(0,u.default)()-a,n}function i(e,t){if(void 0===e)throw new Error("drawImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("drawImage: image must be loaded before it can be drawn");var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,(0,s.default)(e,n);var i=o(e,r,t),a=r.width,u=r.height;n.drawImage(i,0,0,a,u,0,0,a,u),e.renderingTools=(0,f.default)(e)}function a(e,t){if(void 0===e)throw new Error("addPseudoColorLayer: layer parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("addPseudoColorLayer: image must be loaded before it can be drawn");e.canvas=o(e,r,t);var n=e.canvas.getContext("2d");n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,e.renderingTools=(0,f.default)(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.renderPseudoColorImage=i,t.addPseudoColorLayer=a;var s=n(r(4)),u=n(r(1)),c=n(r(11)),l=n(r(32)),f=n(r(12)),d=n(r(13)),h=n(r(23)),p=n(r(7))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=r(47),i=n(r(34)),a=n(r(33)),s={createProgramFromString:i.default,renderer:{render:o.render,initRenderer:o.initRenderer,getRenderCanvas:o.getRenderCanvas,isWebGLAvailable:o.isWebGLAvailable},textureCache:a.default};Object.defineProperty(s,"isWebGLInitialized",{enumerable:!0,configurable:!1,get:function(){return o.isWebGLInitialized}}),t.default=s},function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var r=0;r0?this.addEventNamespaceListener(e,t):(e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(t))}},{key:"removeEventListener",value:function(e,t){if(e.indexOf(".")>0)this.removeEventNamespaceListener(e);else if(e in this.listeners)for(var r=this.listeners[e],n=0,o=r.length;n3&&void 0!==arguments[3])||arguments[3];e.renderingTools.renderCanvas||(e.renderingTools.renderCanvas=document.createElement("canvas"));var o=e.renderingTools.renderCanvas;if(!1===(0,h.default)(e,t)&&!0!==r)return o;o.width===t.width&&o.height===t.height||(0,p.default)(e,t);var i=(0,l.default)(),a=(0,d.default)(t,e.viewport,r);t.stats=t.stats||{},t.stats.lastLutGenerateTime=(0,l.default)()-i;var c=e.renderingTools.renderCanvasData,f=e.renderingTools.renderCanvasContext;return n?(0,s.default)(t,a,c.data):(0,u.default)(t,a,c.data),i=(0,l.default)(),f.putImageData(c,0,0),t.stats.lastPutImageDataTime=(0,l.default)()-i,o}function i(e,t){if(void 0===e)throw new Error("drawImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("drawImage: image must be loaded before it can be drawn");var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,(0,c.default)(e,n);var i=void 0;i=e.options&&e.options.renderer&&"webgl"===e.options.renderer.toLowerCase()?f.default.renderer.render(e):o(e,r,t),n.drawImage(i,0,0,r.width,r.height,0,0,r.width,r.height),e.renderingTools=(0,m.default)(e)}function a(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(void 0===e)throw new Error("addGrayscaleLayer: layer parameter must not be undefined");var n=e.image;if(void 0===n)throw new Error("addGrayscaleLayer: image must be loaded before it can be drawn");e.canvas=o(e,n,t,r);var i=e.canvas.getContext("2d");i.imageSmoothingEnabled=!e.viewport.pixelReplication,i.mozImageSmoothingEnabled=i.imageSmoothingEnabled,e.renderingTools=(0,m.default)(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.renderGrayscaleImage=i,t.addGrayscaleLayer=a;var s=n(r(20)),u=n(r(30)),c=n(r(4)),l=n(r(1)),f=n(r(15)),d=n(r(32)),h=n(r(13)),p=n(r(11)),m=n(r(12))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n,a,s){var u=e.maxPixelValue,c=e.minPixelValue,l=Math.min(c,0);if(void 0===e.cachedLut){var f=u-l+1;e.cachedLut={},e.cachedLut.lutArray=new Uint8ClampedArray(f)}var d=e.cachedLut.lutArray,h=(0,o.default)(e.slope,e.intercept,a),p=(0,i.default)(t,r,s);if(!0===n)for(var m=c;m<=u;m++)d[m+-l]=255-p(h(m));else for(var g=c;g<=u;g++)d[g+-l]=p(h(g));return d};var o=n(r(26)),i=n(r(27))},function(e,t,r){"use strict";function n(e){window.setTimeout(e,1e3/60)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return window.requestAnimationFrame(e)||window.webkitRequestAnimationFrame(e)||window.mozRequestAnimationFrame(e)||window.oRequestAnimationFrame(e)||window.msRequestAnimationFrame(e)||n(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){var o=(0,n.default)(),i=e.getPixelData();e.stats.lastGetPixelDataTime=(0,n.default)()-o;var a=i.length,s=e.minPixelValue,u=3,c=0;if(o=(0,n.default)(),i instanceof Int16Array)if(s<0)for(;c=n?r:e.lut[o]}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){return r?o(r):n(e,t)}},function(e,t,r){"use strict";function n(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t>t,o=e.lut[e.lut.length-1]>>t,i=e.firstValueMapped+e.lut.length-1;return function(n){return n=i?o:e.lut[n-e.firstValueMapped]>>t}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){return r?i(r):o(e,t)}},function(e,t,r){"use strict";function n(e,t,r){for(var n=(t-e)/((r=null===r?100:r)-1),o=[];r-- >0;)o.push(e),e+=n;return o[o.length-1]=t,o}function o(e,t){for(var r=0,n=e.length-1;r<=n;){var o=r+Math.floor((n-r)/2),i=e[o];if(i===t)return o;t=0&&e1)throw new Error("HSVToRGB expects hue < 1");var n=[];if(0===t)return n[0]=r,n[1]=r,n[2]=r,n;var o=Math.floor(6*e),i=6*e-o,a=r*(1-t),s=r*(1-t*i),u=r*(1-t*(1-i));switch(o){case 0:case 6:n[0]=r,n[1]=u,n[2]=a;break;case 1:n[0]=s,n[1]=r,n[2]=a;break;case 2:n[0]=a,n[1]=r,n[2]=u;break;case 3:n[0]=a,n[1]=s,n[2]=r;break;case 4:n[0]=u,n[1]=a,n[2]=r;break;case 5:n[0]=r,n[1]=a,n[2]=s}return n}function i(e,t){var r=void 0;return r=et.Range[1]?t.MaxIndex+u+1.5:(e+t.Shift)*t.Scale,Math.floor(r)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var r=0;r1)||e){this.Table=[];var t=this.NumberOfColors-1,r=void 0,n=void 0,i=void 0,a=void 0;t?(r=(this.HueRange[1]-this.HueRange[0])/t,n=(this.SaturationRange[1]-this.SaturationRange[0])/t,i=(this.ValueRange[1]-this.ValueRange[0])/t,a=(this.AlphaRange[1]-this.AlphaRange[0])/t):r=n=i=a=0;for(var s=0;s<=t;s++){var u=this.HueRange[0]+s*r,c=this.SaturationRange[0]+s*n,l=this.ValueRange[0]+s*i,f=this.AlphaRange[0]+s*a,d=o(u,c,l),h=[];switch(this.Ramp){case"scurve":h[0]=Math.floor(127.5*(1+Math.cos((1-d[0])*Math.PI))),h[1]=Math.floor(127.5*(1+Math.cos((1-d[1])*Math.PI))),h[2]=Math.floor(127.5*(1+Math.cos((1-d[2])*Math.PI))),h[3]=Math.floor(255*f);break;case"linear":h[0]=Math.floor(255*d[0]+.5),h[1]=Math.floor(255*d[1]+.5),h[2]=Math.floor(255*d[2]+.5),h[3]=Math.floor(255*f+.5);break;case"sqrt":h[0]=Math.floor(255*Math.sqrt(d[0])+.5),h[1]=Math.floor(255*Math.sqrt(d[1])+.5),h[2]=Math.floor(255*Math.sqrt(d[2])+.5),h[3]=Math.floor(255*Math.sqrt(f)+.5);break;default:throw new Error("Invalid Ramp value ("+this.Ramp+")")}this.Table.push(h)}this.buildSpecialColors()}}},{key:"buildSpecialColors",value:function(){var e=this.NumberOfColors,t=e+s,r=e+u,n=e+2;this.UseBelowRangeColor||0===e?this.Table[t]=this.BelowRangeColor:this.Table[t]=this.Table[0],this.UseAboveRangeColor||0===e?this.Table[r]=this.AboveRangeColor:this.Table[r]=this.Table[e-1],this.Table[n]=this.NaNColor}},{key:"mapValue",value:function(e){var t=this.getIndex(e);if(t<0)return this.NaNColor;if(0===t){if(this.UseBelowRangeColor&&ethis.TableRange[1])return this.AboveRangeColor;return this.Table[t]}},{key:"getIndex",value:function(e){var t={};if(t.Range=[],t.MaxIndex=this.NumberOfColors-1,t.Shift=-this.TableRange[0],this.TableRange[1]<=this.TableRange[0]?t.Scale=Number.MAX_VALUE:t.Scale=t.MaxIndex/(this.TableRange[1]-this.TableRange[0]),t.Range[0]=this.TableRange[0],t.Range[1]=this.TableRange[1],isNaN(e))return-1;var r=i(e,t);return r===this.NumberOfColors+s?r=0:r===this.NumberOfColors+u&&(r=this.NumberOfColors-1),r}},{key:"setTableValue",value:function(e,t){if(5===arguments.length&&(t=Array.prototype.slice.call(arguments,1)),e<0)throw new Error("Can't set the table value for negative index ("+e+")");e>=this.NumberOfColors&&new Error("Index "+e+" is greater than the number of colors "+this.NumberOfColors),this.Table[e]=t,0!==e&&e!==this.NumberOfColors-1||this.buildSpecialColors()}}]),e}();t.default=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){var o=(0,n.default)(),i=e.getPixelData();e.stats.lastGetPixelDataTime=(0,n.default)()-o;var a=i.length,s=e.minPixelValue,u=0,c=0,l=void 0;if(o=(0,n.default)(),i instanceof Int16Array)if(s<0)for(;ct.timeStamp?-1:e.timeStampm;){var t=p[p.length-1];g-=t.sizeInBytes,delete h[t.imageId],p.pop(),(0,d.default)(f.default,"cornerstonewebgltextureremoved",{imageId:t.imageId})}var r=o();(0,d.default)(f.default,"cornerstonewebgltexturecachefull",r)}}function a(e){if(void 0===e)throw new Error("setMaximumSizeBytes: parameter numBytes must not be undefined");if(void 0===e.toFixed)throw new Error("setMaximumSizeBytes: parameter numBytes must be a number");m=e,i()}function s(e,t){var r=e.imageId;if(void 0===e)throw new Error("putImageTexture: image must not be undefined");if(void 0===r)throw new Error("putImageTexture: imageId must not be undefined");if(void 0===t)throw new Error("putImageTexture: imageTexture must not be undefined");if(!0===Object.prototype.hasOwnProperty.call(h,r))throw new Error("putImageTexture: imageId already in cache");var n={imageId:r,imageTexture:t,timeStamp:new Date,sizeInBytes:t.sizeInBytes};if(h[r]=n,p.push(n),void 0===t.sizeInBytes)throw new Error("putImageTexture: imageTexture.sizeInBytes must not be undefined");if(void 0===t.sizeInBytes.toFixed)throw new Error("putImageTexture: imageTexture.sizeInBytes is not a number");g+=n.sizeInBytes,i()}function u(e){if(void 0===e)throw new Error("getImageTexture: imageId must not be undefined");var t=h[e];if(void 0!==t)return t.timeStamp=new Date,t.imageTexture}function c(e){if(void 0===e)throw new Error("removeImageTexture: imageId must not be undefined");var t=h[e];if(void 0===t)throw new Error("removeImageTexture: imageId must not be undefined");return p.splice(p.indexOf(t),1),g-=t.sizeInBytes,delete h[e],t.imageTexture}function l(){for(;p.length>0;){var e=p.pop();delete h[e.imageId]}g=0}Object.defineProperty(t,"__esModule",{value:!0});var f=n(r(16)),d=n(r(2)),h={},p=[],m=268435456,g=0;t.default={purgeCache:l,getImageTexture:u,putImageTexture:s,removeImageTexture:c,setMaximumSizeBytes:a}},function(e,t,r){"use strict";function n(e,t,r){var n=e.createShader(r);if(e.shaderSource(n,t),e.compileShader(n),!e.getShaderParameter(n,e.COMPILE_STATUS)&&!e.isContextLost()){var o=e.getShaderInfoLog(n);console.error("Could not compile shader:\n"+o)}return n}function o(e,t,r){var n=e.createProgram();if(e.attachShader(n,t),e.attachShader(n,r),e.linkProgram(n),!e.getProgramParameter(n,e.LINK_STATUS)&&!e.isContextLost()){var o=e.getProgramInfoLog(n);console.error("WebGL program filed to link:\n"+o)}return n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){return o(e,n(e,t,e.VERTEX_SHADER),n(e,r,e.FRAGMENT_SHADER))}},function(e,t,r){"use strict";function n(e,t){if(void 0===e)throw new Error("renderWebImage: enabledElement parameter must not be undefined");var r=e.image;if(void 0===r)throw new Error("renderWebImage: image must be loaded before it can be drawn");if(e.viewport.voi.windowWidth===e.image.windowWidth&&e.viewport.voi.windowCenter===e.image.windowCenter&&!1===e.viewport.invert){var n=e.canvas.getContext("2d");n.setTransform(1,0,0,1,0,0),n.fillStyle="black",n.fillRect(0,0,e.canvas.width,e.canvas.height),n.imageSmoothingEnabled=!e.viewport.pixelReplication,n.mozImageSmoothingEnabled=n.imageSmoothingEnabled,(0,o.default)(e,n),n.drawImage(r.getImage(),0,0,r.width,r.height,0,0,r.width,r.height)}else(0,i.renderColorImage)(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.renderWebImage=n;var o=function(e){return e&&e.__esModule?e:{default:e}}(r(4)),i=r(8)},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){t.width!==e.clientWidth&&(t.width=e.clientWidth,t.style.width=e.clientWidth+"px"),t.height!==e.clientHeight&&(t.height=e.clientHeight,t.style.height=e.clientHeight+"px")}function i(e,t,r){var n=e.viewport.scale,o=(0,f.default)(e),i=Math.round(o.width*n),a=Math.round(o.height*n),s=e.viewport.translation.x,u=e.viewport.translation.y;return i===t&&a<=r||i<=t&&a===r&&0===s&&0===u}function a(e,t,r){var n=e.viewport.scale,o=e.canvas.width/t,i=e.canvas.height/r,a=Math.sqrt(o*i);e.viewport.scale=a*n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=(0,s.getEnabledElement)(e),n=r.canvas.width,f=r.canvas.height;o(e,r.canvas);var d={element:e};if((0,l.default)(e,"cornerstoneelementresized",d),void 0!==r.image)return!0===t?void(0,u.default)(e):void(i(r,n,f)?(0,u.default)(e):(a(r,n,f),(0,c.default)(e)))};var s=r(0),u=n(r(37)),c=n(r(5)),l=n(r(2)),f=n(r(38))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=(0,o.getEnabledElement)(e),r=(0,a.default)(t),n=t.canvas.height/r.height,s=t.canvas.width/r.width;t.viewport.scale=Math.min(s,n),t.viewport.translation.x=0,t.viewport.translation.y=0,(0,i.default)(e)};var o=r(0),i=n(r(5)),a=n(r(38))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return 0===e.viewport.rotation||180===e.viewport.rotation?{width:e.image.width,height:e.image.height}:{width:e.image.height,height:e.image.width}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,o,i){if(void 0===e)throw new Error("getStoredPixels: parameter element must not be undefined");t=Math.round(t),r=Math.round(r);for(var a=(0,n.getEnabledElement)(e),s=[],u=0,c=a.image.getPixelData(),l=0;lt.timeStamp?-1:e.timeStampm;){var t=_[_.length-1].imageId;u(t),(0,p.default)(h.default,"cornerstoneimagecachepromiseremoved",{imageId:t})}var r=c();(0,p.default)(h.default,"cornerstoneimagecachefull",r)}}function a(e,t){if(void 0===e)throw new Error("putImageLoadObject: imageId must not be undefined");if(void 0===t.promise)throw new Error("putImageLoadObject: imageLoadObject.promise must not be undefined");if(!0===v.hasOwnProperty(e))throw new Error("putImageLoadObject: imageId already in cache");if(t.cancelFn&&"function"!=typeof t.cancelFn)throw new Error("putImageLoadObject: imageLoadObject.cancelFn must be a function");var r={loaded:!1,imageId:e,sharedCacheKey:void 0,imageLoadObject:t,timeStamp:Date.now(),sizeInBytes:0};v[e]=r,_.push(r),t.promise.then(function(e){if(-1!==_.indexOf(r)){if(r.loaded=!0,r.image=e,void 0===e.sizeInBytes)throw new Error("putImageLoadObject: image.sizeInBytes must not be undefined");if(void 0===e.sizeInBytes.toFixed)throw new Error("putImageLoadObject: image.sizeInBytes is not a number");r.sizeInBytes=e.sizeInBytes,g+=r.sizeInBytes;var t={action:"addImage",image:r};(0,p.default)(h.default,"cornerstoneimagecachechanged",t),r.sharedCacheKey=e.sharedCacheKey,i()}},function(){var t=v[e];_.splice(_.indexOf(t),1),delete v[e]})}function s(e){if(void 0===e)throw new Error("getImageLoadObject: imageId must not be undefined");var t=v[e];if(void 0!==t)return t.timeStamp=Date.now(),t.imageLoadObject}function u(e){if(void 0===e)throw new Error("removeImageLoadObject: imageId must not be undefined");var t=v[e];if(void 0===t)throw new Error("removeImageLoadObject: imageId was not present in imageCache");_.splice(_.indexOf(t),1),g-=t.sizeInBytes;var r={action:"deleteImage",image:t};(0,p.default)(h.default,"cornerstoneimagecachechanged",r),l(t.imageLoadObject),delete v[e]}function c(){return{maximumSizeInBytes:m,cacheSizeInBytes:g,numberOfImagesCached:_.length}}function l(e){e.promise.then(function(){e.decache&&e.decache()},function(){e.decache&&e.decache()})}function f(){for(;_.length>0;)u(_[0].imageId)}function d(e,t){var r=v[e];r&&r.imageLoadObject.promise.then(function(e){var n=t-e.sizeInBytes;e.sizeInBytes=t,r.sizeInBytes=t,g+=n;var o={action:"changeImageSize",image:e};(0,p.default)(h.default,"cornerstoneimagecachechanged",o)})}Object.defineProperty(t,"__esModule",{value:!0}),t.cachedImages=void 0,t.setMaximumSizeBytes=o,t.putImageLoadObject=a,t.getImageLoadObject=s,t.removeImageLoadObject=u,t.getCacheInfo=c,t.purgeCache=f,t.changeImageIdCacheSize=d;var h=n(r(16)),p=n(r(2)),m=1073741824,g=0,v={},_=t.cachedImages=[];t.default={imageCache:v,cachedImages:_,setMaximumSizeBytes:o,putImageLoadObject:a,getImageLoadObject:s,removeImageLoadObject:u,getCacheInfo:c,purgeCache:f,changeImageIdCacheSize:d}},function(e,t,r){"use strict";function n(e,t){if(e.color&&!e.falseColor)throw new Error("Color transforms are not implemented yet");var r=e.minPixelValue,n=0,i=0,a=e.width*e.height,s=e.origPixelData||e.getPixelData(),u=new Uint8Array(4*a),c=void 0,l=void 0;if(e.color=!0,e.falseColor=!0,e.origPixelData=s,t instanceof o.default.LookupTable)for(t.build();i=0&&(t="u"+t),e.maxPixelValue>255?t+="16":t+="8",t}function d(e){var t=f(e);return b.shaders.hasOwnProperty(t)?b.shaders[t]:b.shaders.rgb}function h(e){var t={uint8:E.LUMINANCE,int8:E.LUMINANCE_ALPHA,uint16:E.LUMINANCE_ALPHA,int16:E.RGB,rgb:E.RGB},r={int8:1,uint16:2,int16:3,rgb:3},n=f(e),o=t[n],i=E.createTexture();E.bindTexture(E.TEXTURE_2D,i),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_MIN_FILTER,E.NEAREST),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_MAG_FILTER,E.NEAREST),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_WRAP_S,E.CLAMP_TO_EDGE),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_WRAP_T,E.CLAMP_TO_EDGE),E.pixelStorei(E.UNPACK_ALIGNMENT,1);var a=b.dataUtilities[n].storedPixelDataToImageData(e,e.width,e.height);return E.texImage2D(E.TEXTURE_2D,0,o,e.width,e.height,0,o,E.UNSIGNED_BYTE,a),{texture:i,sizeInBytes:e.width*e.height*r[n]}}function p(e){var t=j.default.getImageTexture(e.imageId);return t||(t=h(e),j.default.putImageTexture(e,t)),t.texture}function m(){O=E.createBuffer(),E.bindBuffer(E.ARRAY_BUFFER,O),E.bufferData(E.ARRAY_BUFFER,new Float32Array([1,1,0,1,1,0,0,0]),E.STATIC_DRAW),P=E.createBuffer(),E.bindBuffer(E.ARRAY_BUFFER,P),E.bufferData(E.ARRAY_BUFFER,new Float32Array([1,1,0,1,1,0,0,0]),E.STATIC_DRAW)}function g(e,t,r,n,o){E.clearColor(1,0,0,1),E.viewport(0,0,n,o),E.clear(E.COLOR_BUFFER_BIT|E.DEPTH_BUFFER_BIT),E.useProgram(e.program),E.bindBuffer(E.ARRAY_BUFFER,P),E.vertexAttribPointer(e.attributes.texCoordLocation,2,E.FLOAT,!1,0,0),E.bindBuffer(E.ARRAY_BUFFER,O),E.vertexAttribPointer(e.attributes.positionLocation,2,E.FLOAT,!1,0,0);for(var i in t){var a=E.getUniformLocation(e.program,i);if(a){var u=t[i],c=u.type,l=u.value;"i"===c?E.uniform1i(a,l):"f"===c?E.uniform1f(a,l):"2f"===c&&E.uniform2f(a,l[0],l[1])}}s(E,n,o),E.activeTexture(E.TEXTURE0),E.bindTexture(E.TEXTURE_2D,r),E.drawArrays(E.TRIANGLE_STRIP,0,4)}function v(e){var t=e.image;x.width=t.width,x.height=t.height;var r=e.viewport,n=d(t),o=p(t);return g(n,{u_resolution:{type:"2f",value:[t.width,t.height]},wc:{type:"f",value:r.voi.windowCenter},ww:{type:"f",value:r.voi.windowWidth},slope:{type:"f",value:t.slope},intercept:{type:"f",value:t.intercept},minPixelValue:{type:"f",value:t.minPixelValue},invert:{type:"i",value:r.invert?1:0}},o,t.width,t.height),x}function _(){var e={failIfMajorPerformanceCaveat:!0};try{var t=document.createElement("canvas");return Boolean(window.WebGLRenderingContext)&&(t.getContext("webgl",e)||t.getContext("experimental-webgl",e))}catch(e){return!1}}Object.defineProperty(t,"__esModule",{value:!0}),t.isWebGLInitialized=void 0,t.getRenderCanvas=o,t.initRenderer=a,t.render=v,t.isWebGLAvailable=_;var b=r(48),y=r(54),j=n(r(33)),w=n(r(34)),x=document.createElement("canvas"),E=void 0,P=void 0,O=void 0,S=!1;t.isWebGLInitialized=S},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dataUtilities=t.shaders=void 0;var n=r(49),o=r(50),i=r(51),a=r(52),s=r(53),u={int16:n.int16Shader,int8:o.int8Shader,rgb:i.rgbShader,uint16:a.uint16Shader,uint8:s.uint8Shader},c={int16:n.int16DataUtilities,int8:o.int8DataUtilities,rgb:i.rgbDataUtilities,uint16:a.uint16DataUtilities,uint8:s.uint8DataUtilities};t.shaders=u,t.dataUtilities=c},function(e,t,r){"use strict";function n(e){for(var t=e.getPixelData(),r=new Uint8Array(e.width*e.height*3),n=0,o=0;o>8,r[n++]=t[o]<0?0:1}return r}Object.defineProperty(t,"__esModule",{value:!0});var o={};t.int16DataUtilities={storedPixelDataToImageData:n},o.frag="precision mediump float;uniform sampler2D u_image;uniform float ww;uniform float wc;uniform float slope;uniform float intercept;uniform int invert;varying vec2 v_texCoord;void main() {vec4 color = texture2D(u_image, v_texCoord);float intensity = color.r*256.0 + color.g*65536.0;if (color.b == 0.0)intensity = -intensity;intensity = intensity * slope + intercept;float center0 = wc - 0.5;float width0 = max(ww, 1.0);intensity = (intensity - center0) / width0 + 0.5;intensity = clamp(intensity, 0.0, 1.0);gl_FragColor = vec4(intensity, intensity, intensity, 1.0);if (invert == 1)gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;}",t.int16Shader=o},function(e,t,r){"use strict";function n(e){for(var t=e.getPixelData(),r=new Uint8Array(e.width*e.height*2),n=0,o=0;o>8}return r}Object.defineProperty(t,"__esModule",{value:!0});var o={};t.uint16DataUtilities={storedPixelDataToImageData:n},o.frag="precision mediump float;uniform sampler2D u_image;uniform float ww;uniform float wc;uniform float slope;uniform float intercept;uniform int invert;varying vec2 v_texCoord;void main() {vec4 color = texture2D(u_image, v_texCoord);float intensity = color.r*256.0 + color.a*65536.0;intensity = intensity * slope + intercept;float center0 = wc - 0.5;float width0 = max(ww, 1.0);intensity = (intensity - center0) / width0 + 0.5;intensity = clamp(intensity, 0.0, 1.0);gl_FragColor = vec4(intensity, intensity, intensity, 1.0);if (invert == 1)gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;}",t.uint16Shader=o},function(e,t,r){"use strict";function n(e){return e.getPixelData()}Object.defineProperty(t,"__esModule",{value:!0});var o={};t.uint8DataUtilities={storedPixelDataToImageData:n},o.frag="precision mediump float;uniform sampler2D u_image;uniform float ww;uniform float wc;uniform float slope;uniform float intercept;uniform int invert;varying vec2 v_texCoord;void main() {vec4 color = texture2D(u_image, v_texCoord);float intensity = color.r*256.0;intensity = intensity * slope + intercept;float center0 = wc - 0.5;float width0 = max(ww, 1.0);intensity = (intensity - center0) / width0 + 0.5;intensity = clamp(intensity, 0.0, 1.0);gl_FragColor = vec4(intensity, intensity, intensity, 1.0);if (invert == 1)gl_FragColor.rgb = 1.0 - gl_FragColor.rgb;}",t.uint8Shader=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.vertexShader="attribute vec2 a_position;attribute vec2 a_texCoord;uniform vec2 u_resolution;varying vec2 v_texCoord;void main() {vec2 zeroToOne = a_position / u_resolution;vec2 zeroToTwo = zeroToOne * 2.0;vec2 clipSpace = zeroToTwo - 1.0;gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);v_texCoord = a_texCoord;}"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=(0,n.getEnabledElement)(e),i=(0,o.default)(r);return i.invert(),i.transformPoint(t.x,t.y)};var n=r(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r(9))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(void 0===e)throw new Error("disable: element must not be undefined");for(var t=(0,n.getEnabledElements)(),r=0;r0}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){function r(e){if(void 0!==n.canvas){var t={enabledElement:n,timestamp:e};(0,l.default)(n.element,"cornerstoneprerender",t),n.needsRedraw&&o(n)&&(0,s.default)(n,n.invalid),(0,u.default)(r)}}if(void 0===e)throw new Error("enable: parameter element cannot be undefined");t&&t.renderer&&"webgl"===t.renderer.toLowerCase()&&(c.default.renderer.isWebGLAvailable()?(c.default.renderer.initRenderer(),t.renderer="webgl"):(console.error("WebGL not available, falling back to Canvas renderer"),delete t.renderer));var n={element:e,canvas:(0,f.default)(e),image:void 0,invalid:!1,needsRedraw:!0,options:t,layers:[],data:{},renderingTools:{}};(0,i.addEnabledElement)(n),(0,a.default)(e,!0),r()};var i=r(0),a=n(r(36)),s=n(r(62)),u=n(r(19)),c=n(r(15)),l=n(r(2)),f=n(r(64))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=e.image,n=e.element,f=e.layers||[];if(e.canvas&&(e.image||f.length)){var d=(0,o.default)();if(r.stats={lastGetPixelDataTime:-1,lastStoredPixelDataToCanvasImageDataTime:-1,lastPutImageDataTime:-1,lastRenderTime:-1,lastLutGenerateTime:-1},f&&f.length)(0,i.default)(e,t);else if(r){var h=r.render;h||(h=e.viewport.colormap&&""!==e.viewport.colormap&&!0===e.image.labelmap?c.renderLabelMapImage:e.viewport.colormap&&""!==e.viewport.colormap?u.renderPseudoColorImage:r.color?a.renderColorImage:s.renderGrayscaleImage),h(e,t)}var p=(0,o.default)()-d,m={viewport:e.viewport,element:n,image:r,enabledElement:e,canvasContext:e.canvas.getContext("2d"),renderTimeInMs:p};r.stats.lastRenderTime=p,e.invalid=!1,e.needsRedraw=!1,(0,l.default)(n,"cornerstoneimagerendered",m)}};var o=n(r(1)),i=n(r(63)),a=r(8),s=r(17),u=r(14),c=r(10),l=n(r(2))},function(e,t,r){"use strict";function n(e,t){return d[t]/d[e]}function o(e,t){e.forEach(function(e){if(e!==t&&e.viewport&&t.viewport){d[e.layerId]||(d[e.layerId]=e.viewport.scale);var r=n(t.layerId,e.layerId);e.viewport.scale=t.viewport.scale*r,e.viewport.rotation=t.viewport.rotation,e.viewport.translation={x:t.viewport.translation.x/r,y:t.viewport.translation.y/r},e.viewport.hflip=t.viewport.hflip,e.viewport.vflip=t.viewport.vflip}})}function i(e,t,r){t.forEach(function(t,n){if(t.image){e.save(),t.canvas=e.canvas,(0,f.default)(t,e);var o=t.viewport.colormap||t.options.colormap,i=t.viewport.labelmap,a=t.invalid||r;if(o&&""!==o&&!0===i)(0,l.addLabelMapLayer)(t,a);else if(o&&""!==o)(0,c.addPseudoColorLayer)(t,a);else if(!0===t.image.color)(0,u.addColorLayer)(t,a);else{var d=0===n;(0,s.addGrayscaleLayer)(t,a,d)}t.options&&t.options.opacity?e.globalAlpha=t.options.opacity:e.globalAlpha=1,t.options&&t.options.fillStyle&&(e.fillStyle=t.options.fillStyle),e.imageSmoothingEnabled=!t.viewport.pixelReplication,e.mozImageSmoothingEnabled=e.imageSmoothingEnabled;var h=t.image,p=h.width,m=h.height;e.drawImage(t.canvas,0,0,p,m,0,0,p,m),e.restore(),t.invalid=!1}})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=e.element,n=(0,a.getLayers)(r),s=(0,a.getActiveLayer)(r),u=(0,a.getVisibleLayers)(r),c=!e.lastSyncViewportsState&&e.syncViewports;e.lastSyncViewportsState=e.syncViewports,c&&n.forEach(function(e){e.viewport&&(d[e.layerId]=e.viewport.scale)}),!0===e.syncViewports&&o(u,s);var l=e.canvas.getContext("2d");l.setTransform(1,0,0,1,0,0),l.fillStyle="black",l.fillRect(0,0,e.canvas.width,e.canvas.height),i(l,u,t)};var a=r(25),s=r(17),u=r(8),c=r(14),l=r(10),f=function(e){return e&&e.__esModule?e:{default:e}}(r(4)),d={}},function(e,t,r){"use strict";function n(e){var t=document.createElement("canvas");return t.style.display="block",t.classList.add(i),e.appendChild(t),t}function o(e){var t="canvas."+i;return e.querySelector(t)||n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o;var i="cornerstone-canvas"},function(e,t,r){"use strict";function n(e,t){var r=(0,i.getEnabledElement)(e);return!1===r.data.hasOwnProperty(t)&&(r.data[t]={}),r.data[t]}function o(e,t){delete(0,i.getEnabledElement)(e).data[t]}Object.defineProperty(t,"__esModule",{value:!0}),t.getElementData=n,t.removeElementData=o;var i=r(0)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=(0,n.getEnabledElement)(e);return(0,o.default)(r.canvas,t)};var n=r(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r(3))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,n.getEnabledElement)(e).image};var n=r(0)},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n,s){var u=(0,i.default)(e,t,r,n,s),c=(0,o.getEnabledElement)(e),l=(0,a.default)(c.image.slope,c.image.intercept,c.viewport.modalityLUT);return u.map(l)};var o=r(0),i=n(r(39)),a=n(r(26))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=(0,n.getEnabledElement)(e).viewport;if(void 0!==t)return Object.assign({},t)};var n=r(0)},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var r=e.indexOf(":"),n=e.substring(0,r),o=d[n];if(void 0===o||null===o){if(void 0!==h)return h(e);throw new Error("loadImageFromImageLoader: no image loader for imageId")}var i=o(e,t);return i.promise.then(function(e){(0,f.default)(l.default,"cornerstoneimageloaded",{image:e})},function(t){var r={imageId:e,error:t};(0,f.default)(l.default,"cornerstoneimageloadfailed",r)}),i}function i(e,t){if(void 0===e)throw new Error("loadImage: parameter imageId must not be undefined");var r=(0,c.getImageLoadObject)(e);return void 0!==r?r.promise:o(e,t).promise}function a(e,t){if(void 0===e)throw new Error("loadAndCacheImage: parameter imageId must not be undefined");var r=(0,c.getImageLoadObject)(e);return void 0!==r?r.promise:(r=o(e,t),(0,c.putImageLoadObject)(e,r),r.promise)}function s(e,t){d[e]=t}function u(e){var t=h;return h=e,t}Object.defineProperty(t,"__esModule",{value:!0}),t.loadImage=i,t.loadAndCacheImage=a,t.registerImageLoader=s,t.registerUnknownImageLoader=u;var c=r(40),l=n(r(16)),f=n(r(2)),d={},h=void 0},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=(0,n.getEnabledElement)(e);t.invalid=!0,t.needsRedraw=!0;var r={element:e};(0,o.default)(e,"cornerstoneinvalidated",r)};var n=r(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r(2))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){(0,n.getEnabledElementsByImageId)(e).forEach(function(e){(0,o.default)(e,!0)})};var n=r(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r(6))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){var i=(0,n.getEnabledElement)(e);if(void 0===i.image)throw new Error("image has not been loaded yet");var a=e.getBoundingClientRect(),s={x:t-a.left-window.pageXOffset,y:r-a.top-window.pageYOffset},u=(0,o.default)(i);return u.invert(),u.transformPoint(s.x,s.y)};var n=r(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r(9))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=(0,n.getEnabledElement)(e);return(0,o.default)(r).transformPoint(t.x,t.y)};var n=r(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r(9))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=(0,o.getEnabledElement)(e);t.viewport=(0,i.default)(t.canvas,t.image),(0,a.default)(e)};var o=r(0),i=n(r(3)),a=n(r(5))},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=(0,i.getEnabledElement)(e);if(void 0===r.viewport&&(r.viewport=(0,o.default)(r.canvas)),t)for(var n in t)null!==t[n]&&(r.viewport[n]=t[n]);r.viewport.voi.windowWidth&&(r.viewport.voi.windowWidth=Math.max(t.voi.windowWidth,s)),r.viewport.scale&&(r.viewport.scale=Math.max(t.scale,u)),r.viewport.rotation%=360,r.viewport.rotation<0&&(r.viewport.rotation+=360),r.image&&(0,a.default)(e)};var o=n(r(3)),i=r(0),a=n(r(5)),s=1e-6,u=1e-4},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(8),o=r(17),i=r(35),a=r(14),s=r(10);t.default={colorImage:n.renderColorImage,grayscaleImage:o.renderGrayscaleImage,webImage:i.renderWebImage,pseudoColorImage:a.renderPseudoColorImage,labelMapImage:s.renderLabelMapImage}},function(e,t,r){"use strict";function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=void 0;for(r=0;ro?r:o;return{minPixelValue:t,maxPixelValue:r}}function o(e){if(e.restore)return e.restore;var t=e.color,r=e.rgba,n=e.cachedLut,o=e.slope,i=e.windowWidth,a=e.windowCenter,s=e.minPixelValue,u=e.maxPixelValue;return function(){if(e.color=t,e.rgba=r,e.cachedLut=n,e.slope=o,e.windowWidth=i,e.windowCenter=a,e.minPixelValue=s,e.maxPixelValue=u,e.origPixelData){var c=e.origPixelData;e.getPixelData=function(){return c}}e.origPixelData=void 0,e.colormapId=void 0,e.falseColor=void 0}}function i(e){return e&&"string"==typeof e&&(e=(0,f.getColormap)(e)),e}function a(e){return!(!e.restore||"function"!=typeof e.restore||(e.restore(),0))}function s(e,t){if(e.color&&!e.falseColor)throw new Error("Color transforms are not implemented yet");var r=(t=i(t)).getId();if(e.colormapId===r)return!1;if(a(e),r){var s=e.minPixelValue||0,u=e.maxPixelValue||255;e.restore=o(e);var c=t.createLookupTable();c.setTableRange(s,u),(0,l.default)(e,c);var f=n(e.getPixelData());e.minPixelValue=f.minPixelValue,e.maxPixelValue=f.maxPixelValue,e.windowWidth=255,e.windowCenter=128,e.colormapId=r}return!0}function u(e,t){return s((0,c.getEnabledElement)(e).image,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.restoreImage=t.convertToFalseColorImage=t.convertImageToFalseColorImage=void 0;var c=r(0),l=function(e){return e&&e.__esModule?e:{default:e}}(r(41)),f=r(28);t.convertImageToFalseColorImage=s,t.convertToFalseColorImage=u,t.restoreImage=a}])})}}},"babel-runtime":{regenerator:{"index.js":function(e,t,r){r.exports=e("regenerator-runtime")}},helpers:{"typeof.js":function(e,t){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var n=r(e("../core-js/symbol/iterator")),o=r(e("../core-js/symbol")),i="function"==typeof o.default&&"symbol"==typeof n.default?function(e){return typeof e}:function(e){return e&&"function"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?"symbol":typeof e};t.default="function"==typeof o.default&&"symbol"===i(n.default)?function(e){return void 0===e?"undefined":i(e)}:function(e){return e&&"function"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?"symbol":void 0===e?"undefined":i(e)}},"toConsumableArray.js":function(e,t){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var n=r(e("../core-js/array/from"));t.default=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t=0,i=o&&n.regeneratorRuntime;if(n.regeneratorRuntime=void 0,r.exports=e("./runtime"),o)n.regeneratorRuntime=i;else try{delete n.regeneratorRuntime}catch(e){n.regeneratorRuntime=void 0}},"runtime.js":function(e,t,r){!function(e){"use strict";function t(e,t,r,n){var i=t&&t.prototype instanceof o?t:o,a=Object.create(i.prototype),s=new h(n||[]);return a._invoke=c(e,r,s),a}function n(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}function o(){}function i(){}function a(){}function s(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function u(e){function t(r,o,i,a){var s=n(e[r],e,o);if("throw"!==s.type){var u=s.arg,c=u.value;return c&&"object"==typeof c&&v.call(c,"__await")?Promise.resolve(c.__await).then(function(e){t("next",e,i,a)},function(e){t("throw",e,i,a)}):Promise.resolve(c).then(function(e){u.value=e,i(u)},a)}a(s.arg)}function r(e,r){function n(){return new Promise(function(n,o){t(e,r,n,o)})}return o=o?o.then(n,n):n()}var o;this._invoke=r}function c(e,t,r){var o=P;return function i(a,s){if(o===S)throw new Error("Generator is already running");if(o===I){if("throw"===a)throw s;return m()}for(r.method=a,r.arg=s;;){var u=r.delegate;if(u){var c=l(u,r);if(c){if(c===T)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===P)throw o=I,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=S;var f=n(e,t,r);if("normal"===f.type){if(o=r.done?I:O,f.arg===T)continue;return{value:f.arg,done:r.done}}"throw"===f.type&&(o=I,r.method="throw",r.arg=f.arg)}}}function l(e,t){var r=e.iterator[t.method];if(r===_){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=_,l(e,t),"throw"===t.method))return T;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return T}var o=n(r,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,T;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=_),t.delegate=null,T):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,T)}function f(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function d(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function h(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(f,this),this.reset(!0)}function p(e){if(e){var t=e[y];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r=0;--n){var o=this.tryEntries[n],i=o.completion;if("root"===o.tryLoc)return t("end");if(o.tryLoc<=this.prev){var a=v.call(o,"catchLoc"),s=v.call(o,"finallyLoc");if(a&&s){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&v.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),d(r),T}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;d(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:p(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=_),T}}}}(function(){return this}()||Function("return this")())}},"core-js":{modules:{"es6.symbol.js":function(e){"use strict";var t=e("./_global"),r=e("./_has"),n=e("./_descriptors"),o=e("./_export"),i=e("./_redefine"),a=e("./_meta").KEY,s=e("./_fails"),u=e("./_shared"),c=e("./_set-to-string-tag"),l=e("./_uid"),f=e("./_wks"),d=e("./_wks-ext"),h=e("./_wks-define"),p=e("./_enum-keys"),m=e("./_is-array"),g=e("./_an-object"),v=e("./_is-object"),_=e("./_to-iobject"),b=e("./_to-primitive"),y=e("./_property-desc"),j=e("./_object-create"),w=e("./_object-gopn-ext"),x=e("./_object-gopd"),E=e("./_object-dp"),P=e("./_object-keys"),O=x.f,S=E.f,I=w.f,T=t.Symbol,M=t.JSON,C=M&&M.stringify,L="prototype",k=f("_hidden"),A=f("toPrimitive"),R={}.propertyIsEnumerable,D=u("symbol-registry"),F=u("symbols"),N=u("op-symbols"),U=Object[L],V="function"==typeof T,W=t.QObject,B=!W||!W[L]||!W[L].findChild,z=n&&s(function(){return 7!=j(S({},"a",{get:function(){return S(this,"a",{value:7}).a}})).a})?function(e,t,r){var n=O(U,t);n&&delete U[t],S(e,t,r),n&&e!==U&&S(U,t,n)}:S,G=function(e){var t=F[e]=j(T[L]);return t._k=e,t},q=V&&"symbol"==typeof T.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof T},H=function e(t,n,o){return t===U&&H(N,n,o),g(t),n=b(n,!0),g(o),r(F,n)?(o.enumerable?(r(t,k)&&t[k][n]&&(t[k][n]=!1),o=j(o,{enumerable:y(0,!1)})):(r(t,k)||S(t,k,y(1,{})),t[k][n]=!0),z(t,n,o)):S(t,n,o)},Y=function e(t,r){g(t);for(var n=p(r=_(r)),o=0,i=n.length,a;i>o;)H(t,a=n[o++],r[a]);return t},X=function e(t,r){return void 0===r?j(t):Y(j(t),r)},K=function e(t){var n=R.call(this,t=b(t,!0));return!(this===U&&r(F,t)&&!r(N,t))&&(!(n||!r(this,t)||!r(F,t)||r(this,k)&&this[k][t])||n)},J=function e(t,n){if(t=_(t),n=b(n,!0),t!==U||!r(F,n)||r(N,n)){var o=O(t,n);return!o||!r(F,n)||r(t,k)&&t[k][n]||(o.enumerable=!0),o}},$=function e(t){for(var n=I(_(t)),o=[],i=0,s;n.length>i;)r(F,s=n[i++])||s==k||s==a||o.push(s);return o},Q=function e(t){for(var n=t===U,o=I(n?N:_(t)),i=[],a=0,s;o.length>a;)!r(F,s=o[a++])||n&&!r(U,s)||i.push(F[s]);return i};V||(i((T=function e(){if(this instanceof T)throw TypeError("Symbol is not a constructor!");var t=l(arguments.length>0?arguments[0]:void 0),o=function(e){this===U&&o.call(N,e),r(this,k)&&r(this[k],t)&&(this[k][t]=!1),z(this,t,y(1,e))};return n&&B&&z(U,t,{configurable:!0,set:o}),G(t)})[L],"toString",function e(){return this._k}),x.f=J,E.f=H,e("./_object-gopn").f=w.f=$,e("./_object-pie").f=K,e("./_object-gops").f=Q,n&&!e("./_library")&&i(U,"propertyIsEnumerable",K,!0),d.f=function(e){return G(f(e))}),o(o.G+o.W+o.F*!V,{Symbol:T});for(var Z="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),ee=0;Z.length>ee;)f(Z[ee++]);for(var te=P(f.store),re=0;te.length>re;)h(te[re++]);o(o.S+o.F*!V,"Symbol",{for:function(e){return r(D,e+="")?D[e]:D[e]=T(e)},keyFor:function e(t){if(!q(t))throw TypeError(t+" is not a symbol!");for(var r in D)if(D[r]===t)return r},useSetter:function(){B=!0},useSimple:function(){B=!1}}),o(o.S+o.F*!V,"Object",{create:X,defineProperty:H,defineProperties:Y,getOwnPropertyDescriptor:J,getOwnPropertyNames:$,getOwnPropertySymbols:Q}),M&&o(o.S+o.F*(!V||s(function(){var e=T();return"[null]"!=C([e])||"{}"!=C({a:e})||"{}"!=C(Object(e))})),"JSON",{stringify:function e(t){for(var r=[t],n=1,o,i;arguments.length>n;)r.push(arguments[n++]);if(i=o=r[1],(v(o)||void 0!==t)&&!q(t))return m(o)||(o=function(e,t){if("function"==typeof i&&(t=i.call(this,e,t)),!q(t))return t}),r[1]=o,C.apply(M,r)}}),T[L][A]||e("./_hide")(T[L],A,T[L].valueOf),c(T,"Symbol"),c(Math,"Math",!0),c(t.JSON,"JSON",!0)},"_global.js":function(e,t,r){var n=r.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"_has.js":function(e,t,r){var n={}.hasOwnProperty;r.exports=function(e,t){return n.call(e,t)}},"_descriptors.js":function(e,t,r){r.exports=!e("./_fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},"_fails.js":function(e,t,r){r.exports=function(e){try{return!!e()}catch(e){return!0}}},"_export.js":function(e,t,r){var n=e("./_global"),o=e("./_core"),i=e("./_hide"),a=e("./_redefine"),s=e("./_ctx"),u="prototype",c=function(e,t,r){var l=e&c.F,f=e&c.G,d=e&c.S,h=e&c.P,p=e&c.B,m=f?n:d?n[t]||(n[t]={}):(n[t]||{})[u],g=f?o:o[t]||(o[t]={}),v=g[u]||(g[u]={}),_,b,y,j;f&&(r=t);for(_ in r)y=((b=!l&&m&&void 0!==m[_])?m:r)[_],j=p&&b?s(y,n):h&&"function"==typeof y?s(Function.call,y):y,m&&a(m,_,y,e&c.U),g[_]!=y&&i(g,_,j),h&&v[_]!=y&&(v[_]=y)};n.core=o,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,r.exports=c},"_core.js":function(e,t,r){var n=r.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},"_hide.js":function(e,t,r){var n=e("./_object-dp"),o=e("./_property-desc");r.exports=e("./_descriptors")?function(e,t,r){return n.f(e,t,o(1,r))}:function(e,t,r){return e[t]=r,e}},"_object-dp.js":function(e,t){var r=e("./_an-object"),n=e("./_ie8-dom-define"),o=e("./_to-primitive"),i=Object.defineProperty;t.f=e("./_descriptors")?Object.defineProperty:function e(t,a,s){if(r(t),a=o(a,!0),r(s),n)try{return i(t,a,s)}catch(e){}if("get"in s||"set"in s)throw TypeError("Accessors not supported!");return"value"in s&&(t[a]=s.value),t}},"_an-object.js":function(e,t,r){var n=e("./_is-object");r.exports=function(e){if(!n(e))throw TypeError(e+" is not an object!");return e}},"_is-object.js":function(e,t,r){r.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},"_ie8-dom-define.js":function(e,t,r){r.exports=!e("./_descriptors")&&!e("./_fails")(function(){return 7!=Object.defineProperty(e("./_dom-create")("div"),"a",{get:function(){return 7}}).a})},"_dom-create.js":function(e,t,r){var n=e("./_is-object"),o=e("./_global").document,i=n(o)&&n(o.createElement);r.exports=function(e){return i?o.createElement(e):{}}},"_to-primitive.js":function(e,t,r){var n=e("./_is-object");r.exports=function(e,t){if(!n(e))return e;var r,o;if(t&&"function"==typeof(r=e.toString)&&!n(o=r.call(e)))return o;if("function"==typeof(r=e.valueOf)&&!n(o=r.call(e)))return o;if(!t&&"function"==typeof(r=e.toString)&&!n(o=r.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},"_property-desc.js":function(e,t,r){r.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"_redefine.js":function(e,t,r){var n=e("./_global"),o=e("./_hide"),i=e("./_has"),a=e("./_uid")("src"),s="toString",u=Function[s],c=(""+u).split(s);e("./_core").inspectSource=function(e){return u.call(e)},(r.exports=function(e,t,r,s){var u="function"==typeof r;u&&(i(r,"name")||o(r,"name",t)),e[t]!==r&&(u&&(i(r,a)||o(r,a,e[t]?""+e[t]:c.join(String(t)))),e===n?e[t]=r:s?e[t]?e[t]=r:o(e,t,r):(delete e[t],o(e,t,r)))})(Function.prototype,s,function e(){return"function"==typeof this&&this[a]||u.call(this)})},"_uid.js":function(e,t,r){var n=0,o=Math.random();r.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+o).toString(36))}},"_ctx.js":function(e,t,r){var n=e("./_a-function");r.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,o){return e.call(t,r,n,o)}}return function(){return e.apply(t,arguments)}}},"_a-function.js":function(e,t,r){r.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"_meta.js":function(e,t,r){var n=e("./_uid")("meta"),o=e("./_is-object"),i=e("./_has"),a=e("./_object-dp").f,s=0,u=Object.isExtensible||function(){return!0},c=!e("./_fails")(function(){return u(Object.preventExtensions({}))}),l=function(e){a(e,n,{value:{i:"O"+ ++s,w:{}}})},f=function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,n)){if(!u(e))return"F";if(!t)return"E";l(e)}return e[n].i},d=function(e,t){if(!i(e,n)){if(!u(e))return!0;if(!t)return!1;l(e)}return e[n].w},h=function(e){return c&&p.NEED&&u(e)&&!i(e,n)&&l(e),e},p=r.exports={KEY:n,NEED:!1,fastKey:f,getWeak:d,onFreeze:h}},"_shared.js":function(e,t,r){var n=e("./_global"),o="__core-js_shared__",i=n[o]||(n[o]={});r.exports=function(e){return i[e]||(i[e]={})}},"_set-to-string-tag.js":function(e,t,r){var n=e("./_object-dp").f,o=e("./_has"),i=e("./_wks")("toStringTag");r.exports=function(e,t,r){e&&!o(e=r?e:e.prototype,i)&&n(e,i,{configurable:!0,value:t})}},"_wks.js":function(e,t,r){var n=e("./_shared")("wks"),o=e("./_uid"),i=e("./_global").Symbol,a="function"==typeof i;(r.exports=function(e){return n[e]||(n[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=n},"_wks-ext.js":function(e,t){t.f=e("./_wks")},"_wks-define.js":function(e,t,r){var n=e("./_global"),o=e("./_core"),i=e("./_library"),a=e("./_wks-ext"),s=e("./_object-dp").f;r.exports=function(e){var t=o.Symbol||(o.Symbol=i?{}:n.Symbol||{});"_"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},"_library.js":function(e,t,r){r.exports=!1},"_enum-keys.js":function(e,t,r){var n=e("./_object-keys"),o=e("./_object-gops"),i=e("./_object-pie");r.exports=function(e){var t=n(e),r=o.f;if(r)for(var a=r(e),s=i.f,u=0,c;a.length>u;)s.call(e,c=a[u++])&&t.push(c);return t}},"_object-keys.js":function(e,t,r){var n=e("./_object-keys-internal"),o=e("./_enum-bug-keys");r.exports=Object.keys||function e(t){return n(t,o)}},"_object-keys-internal.js":function(e,t,r){var n=e("./_has"),o=e("./_to-iobject"),i=e("./_array-includes")(!1),a=e("./_shared-key")("IE_PROTO");r.exports=function(e,t){var r=o(e),s=0,u=[],c;for(c in r)c!=a&&n(r,c)&&u.push(c);for(;t.length>s;)n(r,c=t[s++])&&(~i(u,c)||u.push(c));return u}},"_to-iobject.js":function(e,t,r){var n=e("./_iobject"),o=e("./_defined");r.exports=function(e){return n(o(e))}},"_iobject.js":function(e,t,r){var n=e("./_cof");r.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},"_cof.js":function(e,t,r){var n={}.toString;r.exports=function(e){return n.call(e).slice(8,-1)}},"_defined.js":function(e,t,r){r.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},"_array-includes.js":function(e,t,r){var n=e("./_to-iobject"),o=e("./_to-length"),i=e("./_to-absolute-index");r.exports=function(e){return function(t,r,a){var s=n(t),u=o(s.length),c=i(a,u),l;if(e&&r!=r){for(;u>c;)if((l=s[c++])!=l)return!0}else for(;u>c;c++)if((e||c in s)&&s[c]===r)return e||c||0;return!e&&-1}}},"_to-length.js":function(e,t,r){var n=e("./_to-integer"),o=Math.min;r.exports=function(e){return e>0?o(n(e),9007199254740991):0}},"_to-integer.js":function(e,t,r){var n=Math.ceil,o=Math.floor;r.exports=function(e){return isNaN(e=+e)?0:(e>0?o:n)(e)}},"_to-absolute-index.js":function(e,t,r){var n=e("./_to-integer"),o=Math.max,i=Math.min;r.exports=function(e,t){return(e=n(e))<0?o(e+t,0):i(e,t)}},"_shared-key.js":function(e,t,r){var n=e("./_shared")("keys"),o=e("./_uid");r.exports=function(e){return n[e]||(n[e]=o(e))}},"_enum-bug-keys.js":function(e,t,r){r.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"_object-gops.js":function(e,t){t.f=Object.getOwnPropertySymbols},"_object-pie.js":function(e,t){t.f={}.propertyIsEnumerable},"_is-array.js":function(e,t,r){var n=e("./_cof");r.exports=Array.isArray||function e(t){return"Array"==n(t)}},"_object-create.js":function(e,t,r){var n=e("./_an-object"),o=e("./_object-dps"),i=e("./_enum-bug-keys"),a=e("./_shared-key")("IE_PROTO"),s=function(){},u="prototype",c=function(){var t=e("./_dom-create")("iframe"),r=i.length,n="<",o=">",a;for(t.style.display="none",e("./_html").appendChild(t),t.src="javascript:",(a=t.contentWindow.document).open(),a.write(" - - - diff --git a/legacy/Packages/ohif-wadoproxy/both/convertURL.js b/legacy/Packages/ohif-wadoproxy/both/convertURL.js deleted file mode 100644 index 781ba1d42..000000000 --- a/legacy/Packages/ohif-wadoproxy/both/convertURL.js +++ /dev/null @@ -1,18 +0,0 @@ -import queryString from 'query-string'; - -WADOProxy.convertURL = (url, serverConfiguration) => { - if (!url) { - return null; - } - - if (serverConfiguration.requestOptions && - serverConfiguration.requestOptions.requestFromBrowser === true) { - return url; - } - - const { settings } = WADOProxy; - const serverId = serverConfiguration._id; - const query = queryString.stringify({url, serverId}); - - return `${settings.uri}?${query}`; -} diff --git a/legacy/Packages/ohif-wadoproxy/both/initialize.js b/legacy/Packages/ohif-wadoproxy/both/initialize.js deleted file mode 100755 index 3ff419f95..000000000 --- a/legacy/Packages/ohif-wadoproxy/both/initialize.js +++ /dev/null @@ -1,6 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { OHIF } from 'meteor/ohif:core'; - -WADOProxy.settings = Object.assign({ - uri : OHIF.utils.absoluteUrl("/__wado_proxy"), -}, (Meteor.settings && Meteor.settings.proxy) ? Meteor.settings.proxy : {}); diff --git a/legacy/Packages/ohif-wadoproxy/both/namespace.js b/legacy/Packages/ohif-wadoproxy/both/namespace.js deleted file mode 100755 index 88b012705..000000000 --- a/legacy/Packages/ohif-wadoproxy/both/namespace.js +++ /dev/null @@ -1 +0,0 @@ -WADOProxy = {}; diff --git a/legacy/Packages/ohif-wadoproxy/package.js b/legacy/Packages/ohif-wadoproxy/package.js deleted file mode 100755 index 26e9fa51a..000000000 --- a/legacy/Packages/ohif-wadoproxy/package.js +++ /dev/null @@ -1,28 +0,0 @@ -Package.describe({ - name: 'ohif:wadoproxy', - summary: 'WADO-URI Proxy', - version: '0.0.1' -}); - -Npm.depends({ - 'query-string': '5.1.1', - 'performance-now': '2.1.0' -}); - -Package.onUse(function(api) { - api.versionsFrom('1.7'); - - api.use('ecmascript'); - api.use('clinical:router@2.0.19'); - - api.use('ohif:core'); - api.use('ohif:servers'); - - api.addFiles('both/namespace.js', ['client', 'server']); - api.addFiles('both/convertURL.js', ['client', 'server']); - api.addFiles('both/initialize.js', ['client', 'server']); - api.addFiles('server/routes.js', 'server'); - - // Global exports - api.export('WADOProxy'); -}); diff --git a/legacy/Packages/ohif-wadoproxy/server/routes.js b/legacy/Packages/ohif-wadoproxy/server/routes.js deleted file mode 100755 index 0e91e9dfb..000000000 --- a/legacy/Packages/ohif-wadoproxy/server/routes.js +++ /dev/null @@ -1,166 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Router } from 'meteor/clinical:router'; -import { OHIF } from 'meteor/ohif:core'; -import { Servers } from 'meteor/ohif:servers/both/collections'; - -const url = require('url'); -const http = require('http'); -const https = require('https'); -const now = require('performance-now'); - -// The WADO Proxy can perform user authentication if desired. -// In order to use this, create a function to override -// OHIF.user.authenticateUser(request), which returns a Boolean. -let doAuth = false; -let authenticateUser = null; - -if (OHIF.user && - OHIF.user.authenticateUser) { - doAuth = true; - authenticateUser = OHIF.user.authenticateUser; -} - -const handleRequest = function() { - const request = this.request; - const response = this.response; - const params = this.params; - - let start = now(); - let user; - if (doAuth) { - user = authenticateUser(request); - if (!user) { - response.writeHead(401); - response.end('Error: You must be logged in to perform this action.\n'); - return; - } - } - - let end = now(); - const authenticationTime = end - start; - - start = now(); - - const server = Servers.findOne(params.query.serverId); - if (!server) { - response.writeHead(500); - response.end('Error: No Server with the specified Server ID was found.\n'); - return; - } - - const requestOpt = server.requestOptions; - - // If no Web Access to DICOM Objects (WADO) Service URL is provided - // return an error for the request. - const wadoUrl = params.query.url; - if (!wadoUrl) { - response.writeHead(500); - response.end('Error: No WADO URL was provided.\n'); - return; - } - - if (requestOpt.logRequests) { - console.log(request.url); - } - - start = now(); - if (requestOpt.logTiming) { - console.time(request.url); - } - - // Use Node's URL parse to decode the query URL - const parsed = url.parse(wadoUrl); - - // Create an object to hold the information required - // for the request to the PACS. - let options = { - headers: {}, - method: request.method, - hostname: parsed.hostname, - path: parsed.path - }; - - let requester; - if (parsed.protocol === 'https:') { - requester = https.request; - - const allowUnauthorizedAgent = new https.Agent({ rejectUnauthorized: false }); - options.agent = allowUnauthorizedAgent; - } else { - requester = http.request; - } - - if (parsed.port) { - options.port = parsed.port; - } - - Object.keys(request.headers).forEach(entry => { - const value = request.headers[entry]; - if (entry) { - options.headers[entry] = value; - } - }); - - // Retrieve the authorization user:password string for the PACS, - // if one is required, and include it in the request to the PACS. - if (requestOpt.auth) { - options.auth = requestOpt.auth; - } - - end = now(); - const prepRequestTime = end - start; - - // Use Node's HTTP API to send a request to the PACS - const proxyRequest = requester(options, proxyResponse => { - // When we receive data from the PACS, stream it as the - // response to the original request. - // console.log(`Got response: ${proxyResponse.statusCode}`); - end = now(); - const proxyReqTime = end - start; - const totalProxyTime = authenticationTime + prepRequestTime + proxyReqTime; - const serverTimingHeaders = ` - auth;dur=${authenticationTime};desc="Authenticate User";, - prep-req;dur=${prepRequestTime};desc="Prepare Request Headers", - proxy-req;dur=${proxyReqTime};desc="Request to WADO server", - total-proxy;dur=${totalProxyTime};desc="Total" - `.replace(/\n/g, '') - - proxyResponse.headers['Server-Timing'] = serverTimingHeaders; - - response.writeHead(proxyResponse.statusCode, proxyResponse.headers); - - if (requestOpt.logTiming) { - console.timeEnd(request.url); - } - - return proxyResponse.pipe(response, { end: true }); - }); - - // If our request to the PACS fails, log the error message - proxyRequest.on('error', error => { - end = now(); - const proxyReqTime = end - start; - const totalProxyTime = authenticationTime + prepRequestTime + proxyReqTime; - console.timeEnd(request.url); - - const serverTimingHeaders = { - 'Server-Timing': ` - auth;dur=${authenticationTime};desc="Authenticate User";, - prep-req;dur=${prepRequestTime};desc="Prepare Request Headers", - proxy-req;dur=${proxyReqTime};desc="Request to WADO server", - total-proxy;dur=${totalProxyTime};desc="Total" - `.replace(/\n/g, '') - }; - - response.writeHead(500, serverTimingHeaders); - response.end(`Error: Problem with request to PACS: ${error.message}\n`); - }); - - // Stream the original request information into the request - // to the PACS - request.pipe(proxyRequest); -} - -// Setup a Route using Iron Router to avoid Cross-origin resource sharing -// (CORS) errors. We only handle this route on the Server. -Router.route(WADOProxy.settings.uri.replace(OHIF.utils.absoluteUrl(), ''), handleRequest, { where: 'server' }); diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 851cb319a..000000000 --- a/package-lock.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "ohif-viewers-meta", - "version": "0.0.1", - "lockfileVersion": 1 -} diff --git a/package.json b/package.json index 96724d992..3231cbfe6 100644 --- a/package.json +++ b/package.json @@ -1,25 +1,131 @@ { - "name": "ohif-viewers-meta", - "version": "0.0.1", - "description": "NPM Package for running scripts in the OHIF/Viewers Repository", - "directories": { - "doc": "docs", - "test": "test" - }, - "dependencies": {}, - "devDependencies": {}, - "scripts": { - "test": "./test/testApp.sh", - "staticDeploy": "./generateStaticSite.sh" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/OHIF/Viewers.git" - }, - "author": "Open Health Imaging Foundation", + "name": "ohif-viewer", + "version": "0.0.20", + "description": "OHIF Viewer", + "author": "OHIF Contributors", "license": "MIT", - "bugs": { - "url": "https://github.com/OHIF/Viewers/issues" + "repository": "OHIF/Viewers", + "main": "dist/index.umd.js", + "browser": "dist/index.umd.js", + "module": "dist/index.es.js", + "jsnext:main": "dist/index.es.js", + "homepage": "http://localhost:5000", + "engines": { + "node": ">=8", + "npm": ">=5" }, - "homepage": "https://github.com/OHIF/Viewers#readme" + "scripts": { + "build": "node --max-old-space-size=8192 node_modules/rollup/bin/rollup -c", + "prepublishOnly": "npm run build", + "lint": "eslint -c .eslintrc --fix src && prettier --single-quote --write src/**/*.{js,jsx,json,css}", + "prepare": "npm run build", + "predeploy": "cd example && npm install && npm run build", + "deploy": "gh-pages -d example/build", + "generateStaticSite": "./generateStaticSite.sh", + "staticDeploy": "./generateStaticSite.sh", + "test:watch": "react-scripts test --env=jsdom", + "test": "cross-env CI=1 react-scripts test --env=jsdom", + "copy:webworkers": "cpx 'node_modules/cornerstone-wado-image-loader/dist/*.min.js*' public", + "version": "node -p -e \"'export default \\'' + require('./package.json').version + '\\';'\" > src/version.js", + "sha": "echo \"export default '\"$(git rev-parse HEAD)\"';\" > src/sha.js", + "details": "npm run version && npm run sha", + "prep": "npm run details && npm run copy:webworkers", + "start": "npm run prep && cross-env PORT=5000 react-scripts start", + "start:debug": "cross-env PORT=5000 react-scripts start" + }, + "peerDependencies": { + "react": "^15.0.0 || ^16.0.0", + "react-dom": "^15.0.0 || ^16.0.0" + }, + "dependencies": { + "@babel/polyfill": "^7.2.5", + "@babel/runtime": "^7.2.0", + "classnames": "^2.2.6", + "cornerstone-core": "^2.2.8", + "cornerstone-math": "^0.1.8", + "cornerstone-tools": "^3.2.4", + "cornerstone-wado-image-loader": "^2.2.3", + "dcmjs": "^0.3.8", + "dicom-parser": "^1.8.3", + "dicomweb-client": "^0.4.2", + "hammerjs": "^2.0.8", + "lodash.isequal": "^4.5.0", + "moment": "^2.24.0", + "ohif-core": "^0.3.5", + "ohif-cornerstone-extension": "^0.0.26", + "ohif-dicom-html-extension": "^0.0.2", + "ohif-dicom-microscopy-extension": "^0.0.5", + "ohif-dicom-pdf-extension": "^0.0.6", + "ohif-vtk-extension": "^0.0.1", + "oidc-client": "^1.6.1", + "prop-types": "^15.6.2", + "react-bootstrap-modal": "^4.2.0", + "react-dnd": "^7.0.2", + "react-dnd-html5-backend": "^7.0.2", + "react-redux": "^6.0.0", + "react-resize-detector": "^3.4.0", + "react-router": "^4.3.1", + "react-router-dom": "^4.3.1", + "react-viewerbase": "0.2.17", + "react-vtkjs-viewport": "^0.0.7", + "redux": "^4.0.1", + "redux-oidc": "^3.1.0" + }, + "devDependencies": { + "@babel/core": "^7.2.2", + "@babel/plugin-external-helpers": "^7.2.0", + "@babel/plugin-proposal-class-properties": "^7.2.3", + "@babel/plugin-transform-runtime": "^7.2.0", + "@babel/preset-env": "^7.2.3", + "@babel/preset-react": "^7.0.0", + "@svgr/rollup": "^4.1.0", + "babel-eslint": "^9.0.0", + "cpx": "1.5.0", + "cross-env": "^5.2.0", + "eslint": "5.12.0", + "eslint-plugin-import": "^2.14.0", + "eslint-plugin-node": "^8.0.0", + "eslint-plugin-promise": "^4.0.1", + "eslint-plugin-react": "^7.11.1", + "gh-pages": "^2.0.1", + "husky": "^1.3.1", + "lint-staged": "^8.1.0", + "lodash.clonedeep": "^4.5.0", + "prettier": "^1.15.3", + "react": "^16.7.0", + "react-dom": "^16.7.0", + "react-scripts": "^2.1.5", + "rollup": "^1.1.2", + "rollup-plugin-babel": "^4.2.0", + "rollup-plugin-commonjs": "^9.2.0", + "rollup-plugin-json": "^3.1.0", + "rollup-plugin-node-builtins": "^2.1.2", + "rollup-plugin-node-resolve": "^4.0.0", + "rollup-plugin-peer-deps-external": "^2.2.0", + "rollup-plugin-postcss": "^2.0.3", + "rollup-plugin-url": "^2.1.0", + "stylelint": "^9.9.0", + "stylelint-config-recommended": "^2.1.0", + "stylus": "^0.54.5" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "src/**/*.{js,jsx,json,css}": [ + "prettier --single-quote --write", + "git add" + ] + }, + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ], + "files": [ + "dist" + ] } diff --git a/Packages-react/ohif-viewer/example/cornerstoneWADOImageLoader.min.js b/public/cornerstoneWADOImageLoader.min.js similarity index 100% rename from Packages-react/ohif-viewer/example/cornerstoneWADOImageLoader.min.js rename to public/cornerstoneWADOImageLoader.min.js diff --git a/Packages-react/ohif-viewer/public/cornerstoneWADOImageLoader.min.js.map b/public/cornerstoneWADOImageLoader.min.js.map similarity index 100% rename from Packages-react/ohif-viewer/public/cornerstoneWADOImageLoader.min.js.map rename to public/cornerstoneWADOImageLoader.min.js.map diff --git a/Packages-react/ohif-viewer/example/cornerstoneWADOImageLoaderCodecs.min.js b/public/cornerstoneWADOImageLoaderCodecs.min.js similarity index 100% rename from Packages-react/ohif-viewer/example/cornerstoneWADOImageLoaderCodecs.min.js rename to public/cornerstoneWADOImageLoaderCodecs.min.js diff --git a/Packages-react/ohif-viewer/example/cornerstoneWADOImageLoaderWebWorker.min.js b/public/cornerstoneWADOImageLoaderWebWorker.min.js similarity index 100% rename from Packages-react/ohif-viewer/example/cornerstoneWADOImageLoaderWebWorker.min.js rename to public/cornerstoneWADOImageLoaderWebWorker.min.js diff --git a/Packages-react/ohif-viewer/public/cornerstoneWADOImageLoaderWebWorker.min.js.map b/public/cornerstoneWADOImageLoaderWebWorker.min.js.map similarity index 100% rename from Packages-react/ohif-viewer/public/cornerstoneWADOImageLoaderWebWorker.min.js.map rename to public/cornerstoneWADOImageLoaderWebWorker.min.js.map diff --git a/Packages-react/ohif-viewer/public/es6-shim.min.js b/public/es6-shim.min.js similarity index 100% rename from Packages-react/ohif-viewer/public/es6-shim.min.js rename to public/es6-shim.min.js diff --git a/Packages-react/ohif-viewer/public/icons.svg b/public/icons.svg similarity index 100% rename from Packages-react/ohif-viewer/public/icons.svg rename to public/icons.svg diff --git a/Packages-react/ohif-viewer/public/index.html b/public/index.html similarity index 100% rename from Packages-react/ohif-viewer/public/index.html rename to public/index.html diff --git a/Packages-react/ohif-viewer/public/logout-redirect.html b/public/logout-redirect.html similarity index 100% rename from Packages-react/ohif-viewer/public/logout-redirect.html rename to public/logout-redirect.html diff --git a/Packages-react/ohif-viewer/public/manifest.json b/public/manifest.json similarity index 100% rename from Packages-react/ohif-viewer/public/manifest.json rename to public/manifest.json diff --git a/Packages-react/ohif-viewer/public/oidc-client.min.js b/public/oidc-client.min.js similarity index 100% rename from Packages-react/ohif-viewer/public/oidc-client.min.js rename to public/oidc-client.min.js diff --git a/Packages-react/ohif-viewer/public/polyfill.min.js b/public/polyfill.min.js similarity index 100% rename from Packages-react/ohif-viewer/public/polyfill.min.js rename to public/polyfill.min.js diff --git a/Packages-react/ohif-viewer/public/silent-refresh.html b/public/silent-refresh.html similarity index 100% rename from Packages-react/ohif-viewer/public/silent-refresh.html rename to public/silent-refresh.html diff --git a/Packages-react/ohif-viewer/rollup.config.js b/rollup.config.js similarity index 100% rename from Packages-react/ohif-viewer/rollup.config.js rename to rollup.config.js diff --git a/Packages-react/ohif-viewer/src/App.js b/src/App.js similarity index 100% rename from Packages-react/ohif-viewer/src/App.js rename to src/App.js diff --git a/Packages-react/ohif-viewer/src/CallbackPage.js b/src/CallbackPage.js similarity index 100% rename from Packages-react/ohif-viewer/src/CallbackPage.js rename to src/CallbackPage.js diff --git a/Packages-react/ohif-viewer/src/OHIFStandaloneViewer.css b/src/OHIFStandaloneViewer.css similarity index 100% rename from Packages-react/ohif-viewer/src/OHIFStandaloneViewer.css rename to src/OHIFStandaloneViewer.css diff --git a/Packages-react/ohif-viewer/src/OHIFStandaloneViewer.js b/src/OHIFStandaloneViewer.js similarity index 100% rename from Packages-react/ohif-viewer/src/OHIFStandaloneViewer.js rename to src/OHIFStandaloneViewer.js diff --git a/Packages-react/ohif-viewer/src/WhiteLabellingContext.js b/src/WhiteLabellingContext.js similarity index 100% rename from Packages-react/ohif-viewer/src/WhiteLabellingContext.js rename to src/WhiteLabellingContext.js diff --git a/Packages-react/ohif-viewer/src/components/Header/Header.css b/src/components/Header/Header.css similarity index 100% rename from Packages-react/ohif-viewer/src/components/Header/Header.css rename to src/components/Header/Header.css diff --git a/Packages-react/ohif-viewer/src/components/Header/Header.js b/src/components/Header/Header.js similarity index 100% rename from Packages-react/ohif-viewer/src/components/Header/Header.js rename to src/components/Header/Header.js diff --git a/Packages-react/ohif-viewer/src/components/Header/index.js b/src/components/Header/index.js similarity index 100% rename from Packages-react/ohif-viewer/src/components/Header/index.js rename to src/components/Header/index.js diff --git a/Packages-react/ohif-viewer/src/components/OHIFLogo/OHIFLogo.css b/src/components/OHIFLogo/OHIFLogo.css similarity index 100% rename from Packages-react/ohif-viewer/src/components/OHIFLogo/OHIFLogo.css rename to src/components/OHIFLogo/OHIFLogo.css diff --git a/Packages-react/ohif-viewer/src/components/OHIFLogo/OHIFLogo.js b/src/components/OHIFLogo/OHIFLogo.js similarity index 100% rename from Packages-react/ohif-viewer/src/components/OHIFLogo/OHIFLogo.js rename to src/components/OHIFLogo/OHIFLogo.js diff --git a/Packages-react/ohif-viewer/src/components/StudyLoadingMonitor.js b/src/components/StudyLoadingMonitor.js similarity index 100% rename from Packages-react/ohif-viewer/src/components/StudyLoadingMonitor.js rename to src/components/StudyLoadingMonitor.js diff --git a/Packages-react/ohif-viewer/src/components/StudyPrefetcher.js b/src/components/StudyPrefetcher.js similarity index 100% rename from Packages-react/ohif-viewer/src/components/StudyPrefetcher.js rename to src/components/StudyPrefetcher.js diff --git a/Packages-react/ohif-viewer/src/config.js b/src/config.js similarity index 100% rename from Packages-react/ohif-viewer/src/config.js rename to src/config.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ConnectedFlexboxLayout.js b/src/connectedComponents/ConnectedFlexboxLayout.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ConnectedFlexboxLayout.js rename to src/connectedComponents/ConnectedFlexboxLayout.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ConnectedHeader.js b/src/connectedComponents/ConnectedHeader.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ConnectedHeader.js rename to src/connectedComponents/ConnectedHeader.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ConnectedLayoutButton.js b/src/connectedComponents/ConnectedLayoutButton.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ConnectedLayoutButton.js rename to src/connectedComponents/ConnectedLayoutButton.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ConnectedLayoutManager.js b/src/connectedComponents/ConnectedLayoutManager.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ConnectedLayoutManager.js rename to src/connectedComponents/ConnectedLayoutManager.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ConnectedMeasurementTable.js b/src/connectedComponents/ConnectedMeasurementTable.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ConnectedMeasurementTable.js rename to src/connectedComponents/ConnectedMeasurementTable.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ConnectedPluginSwitch.js b/src/connectedComponents/ConnectedPluginSwitch.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ConnectedPluginSwitch.js rename to src/connectedComponents/ConnectedPluginSwitch.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ConnectedStudyBrowser.js b/src/connectedComponents/ConnectedStudyBrowser.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ConnectedStudyBrowser.js rename to src/connectedComponents/ConnectedStudyBrowser.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ConnectedStudyLoadingMonitor.js b/src/connectedComponents/ConnectedStudyLoadingMonitor.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ConnectedStudyLoadingMonitor.js rename to src/connectedComponents/ConnectedStudyLoadingMonitor.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ConnectedToolbarRow.js b/src/connectedComponents/ConnectedToolbarRow.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ConnectedToolbarRow.js rename to src/connectedComponents/ConnectedToolbarRow.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ConnectedToolbarSection.js b/src/connectedComponents/ConnectedToolbarSection.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ConnectedToolbarSection.js rename to src/connectedComponents/ConnectedToolbarSection.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ConnectedUserPreferencesModal.js b/src/connectedComponents/ConnectedUserPreferencesModal.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ConnectedUserPreferencesModal.js rename to src/connectedComponents/ConnectedUserPreferencesModal.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ConnectedViewer.js b/src/connectedComponents/ConnectedViewer.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ConnectedViewer.js rename to src/connectedComponents/ConnectedViewer.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ConnectedViewerRetrieveStudyData.js b/src/connectedComponents/ConnectedViewerRetrieveStudyData.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ConnectedViewerRetrieveStudyData.js rename to src/connectedComponents/ConnectedViewerRetrieveStudyData.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/FlexboxLayout.css b/src/connectedComponents/FlexboxLayout.css similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/FlexboxLayout.css rename to src/connectedComponents/FlexboxLayout.css diff --git a/Packages-react/ohif-viewer/src/connectedComponents/FlexboxLayout.js b/src/connectedComponents/FlexboxLayout.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/FlexboxLayout.js rename to src/connectedComponents/FlexboxLayout.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/PluginSwitch.css b/src/connectedComponents/PluginSwitch.css similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/PluginSwitch.css rename to src/connectedComponents/PluginSwitch.css diff --git a/Packages-react/ohif-viewer/src/connectedComponents/PluginSwitch.js b/src/connectedComponents/PluginSwitch.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/PluginSwitch.js rename to src/connectedComponents/PluginSwitch.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ToolbarRow.css b/src/connectedComponents/ToolbarRow.css similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ToolbarRow.css rename to src/connectedComponents/ToolbarRow.css diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ToolbarRow.js b/src/connectedComponents/ToolbarRow.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ToolbarRow.js rename to src/connectedComponents/ToolbarRow.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/Viewer.css b/src/connectedComponents/Viewer.css similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/Viewer.css rename to src/connectedComponents/Viewer.css diff --git a/Packages-react/ohif-viewer/src/connectedComponents/Viewer.js b/src/connectedComponents/Viewer.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/Viewer.js rename to src/connectedComponents/Viewer.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ViewerMain.css b/src/connectedComponents/ViewerMain.css similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ViewerMain.css rename to src/connectedComponents/ViewerMain.css diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ViewerMain.js b/src/connectedComponents/ViewerMain.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ViewerMain.js rename to src/connectedComponents/ViewerMain.js diff --git a/Packages-react/ohif-viewer/src/connectedComponents/ViewerRetrieveStudyData.js b/src/connectedComponents/ViewerRetrieveStudyData.js similarity index 100% rename from Packages-react/ohif-viewer/src/connectedComponents/ViewerRetrieveStudyData.js rename to src/connectedComponents/ViewerRetrieveStudyData.js diff --git a/OHIFViewer/client/head.html b/src/head.html similarity index 100% rename from OHIFViewer/client/head.html rename to src/head.html diff --git a/Packages-react/ohif-viewer/example/icons.svg b/src/images/icons.svg similarity index 100% rename from Packages-react/ohif-viewer/example/icons.svg rename to src/images/icons.svg diff --git a/Packages-react/ohif-viewer/src/index.js b/src/index.js similarity index 100% rename from Packages-react/ohif-viewer/src/index.js rename to src/index.js diff --git a/Packages-react/ohif-viewer/src/index_publish.js b/src/index_publish.js similarity index 100% rename from Packages-react/ohif-viewer/src/index_publish.js rename to src/index_publish.js diff --git a/Packages-react/ohif-viewer/src/log.js b/src/log.js similarity index 100% rename from Packages-react/ohif-viewer/src/log.js rename to src/log.js diff --git a/Packages-react/ohif-viewer/src/redux/actions.js b/src/redux/actions.js similarity index 100% rename from Packages-react/ohif-viewer/src/redux/actions.js rename to src/redux/actions.js diff --git a/Packages-react/ohif-viewer/src/redux/ui.js b/src/redux/ui.js similarity index 100% rename from Packages-react/ohif-viewer/src/redux/ui.js rename to src/redux/ui.js diff --git a/Packages-react/ohif-viewer/src/routes/IHEInvokeImageDisplay.js b/src/routes/IHEInvokeImageDisplay.js similarity index 100% rename from Packages-react/ohif-viewer/src/routes/IHEInvokeImageDisplay.js rename to src/routes/IHEInvokeImageDisplay.js diff --git a/Packages-react/ohif-viewer/src/routes/StandaloneRouting.js b/src/routes/StandaloneRouting.js similarity index 100% rename from Packages-react/ohif-viewer/src/routes/StandaloneRouting.js rename to src/routes/StandaloneRouting.js diff --git a/Packages-react/ohif-viewer/src/routes/ViewerRouting.js b/src/routes/ViewerRouting.js similarity index 100% rename from Packages-react/ohif-viewer/src/routes/ViewerRouting.js rename to src/routes/ViewerRouting.js diff --git a/Packages-react/ohif-viewer/src/routes/index.js b/src/routes/index.js similarity index 100% rename from Packages-react/ohif-viewer/src/routes/index.js rename to src/routes/index.js diff --git a/Packages-react/ohif-viewer/src/studylist/ConnectedStudyList.js b/src/studylist/ConnectedStudyList.js similarity index 100% rename from Packages-react/ohif-viewer/src/studylist/ConnectedStudyList.js rename to src/studylist/ConnectedStudyList.js diff --git a/Packages-react/ohif-viewer/src/studylist/StudyListRouting.js b/src/studylist/StudyListRouting.js similarity index 100% rename from Packages-react/ohif-viewer/src/studylist/StudyListRouting.js rename to src/studylist/StudyListRouting.js diff --git a/Packages-react/ohif-viewer/src/studylist/StudyListWithData.js b/src/studylist/StudyListWithData.js similarity index 100% rename from Packages-react/ohif-viewer/src/studylist/StudyListWithData.js rename to src/studylist/StudyListWithData.js diff --git a/Packages-react/ohif-viewer/src/theme-tide.css b/src/theme-tide.css similarity index 100% rename from Packages-react/ohif-viewer/src/theme-tide.css rename to src/theme-tide.css diff --git a/Packages-react/ohif-viewer/src/variables.css b/src/variables.css similarity index 100% rename from Packages-react/ohif-viewer/src/variables.css rename to src/variables.css diff --git a/test/README.md b/test/README.md deleted file mode 100644 index 872204e5f..000000000 --- a/test/README.md +++ /dev/null @@ -1,50 +0,0 @@ -# Tests suite - -## Tools -+ mocha as test runner. - + ~~meteor package: practicalmeteor:mocha - https://github.com/practicalmeteor/meteor-mocha~~ - + meteor package: cultofcoders:mocha - https://github.com/cult-of-coders/meteor-mocha - + Using cultofcoders because of this issue: https://github.com/practicalmeteor/meteor-mocha/issues/100 - -+ chai as assertion library meteor package: - + practicalmeteor:chai https://github.com/practicalmeteor/meteor-chai - -+ sinon as stubs, spies & mocking lib - + practicalmeteor:meteor-sinon - -+ meteor-coverage as tests coverage report (istanbul.js based) - + https://atmospherejs.com/lmieulet/meteor-coverage - -+ xolvio:template-isolator - + Used for mock events on client side, like 'button click'. - -+ spacejam: - + Use it when you want run tests in a CI server. It has no browser dependency. - + https://www.npmjs.com/package/spacejam - -## Useful links -1. https://guide.meteor.com/testing.html -2. https://guide.meteor.com/writing-atmosphere-packages.html#testing - -## Usage - -``` -$ cd Viewers -$ ./test/testPackages.sh [-c] -s -# -c for coverage | -s for spacejam -``` - -You can add more packages to be tested changing the line 7 in `testPackages.sh`: -``` -TEST_PACKAGES=./Packages/ohif-viewerbase ./Packages/ohif-core ./Packages/ohif-etc -``` - -it does not work using path patterns like `./Packages/*` or `./Packages/` - -Just open `http://localhost:3000` in your browser. The page going to be refreshed everytime you change the code. - -Note: if you want to use spacejam, just install it before running. - - diff --git a/test/testApp.sh b/test/testApp.sh deleted file mode 100755 index ad0c963d5..000000000 --- a/test/testApp.sh +++ /dev/null @@ -1,7 +0,0 @@ -export TEST_BROWSER_DRIVER=puppeteer -export METEOR_PACKAGE_DIRS=../Packages - -cd OHIFViewer - -meteor npm install -meteor test --once --driver-package meteortesting:mocha \ No newline at end of file diff --git a/test/testPackages.sh b/test/testPackages.sh deleted file mode 100755 index bc2cc9ae1..000000000 --- a/test/testPackages.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - -################################################## -# Runs the packages tests -################################################## - -TEST_PACKAGES=./Packages/ohif-viewerbase -export METEOR_PACKAGE_DIRS="./Packages" - -# check execution arguments -while [ "$1" != "" ]; do - PARAM=`echo $1 | awk -F= '{print $1}'` - case $PARAM in - -c | --coverage) - export RUN_COVERAGE=1 - ;; - -v | --verbose) - export COVERAGE_VERBOSE=1 - ;; - -s | --spacejam) - export RUN_SPACEJAM=1 - ;; - *) - esac - shift -done - -if [ "$RUN_COVERAGE" == 1 ]; -then - # Setting coverage variables - app_folder=$(pwd) - app_folder+=TEST_PACKAGES - export COVERAGE_APP_FOLDER=$app_folder - export COVERAGE=1 - echo 'Running meteor-coverage' -fi - -if [ "$RUN_SPACEJAM" == 1 ]; -then - spacejam-mocha $TEST_PACKAGES -else - meteor test-packages --driver-package='cultofcoders:mocha' $TEST_PACKAGES -fi \ No newline at end of file diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index fb57ccd13..000000000 --- a/yarn.lock +++ /dev/null @@ -1,4 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - -